summaryrefslogtreecommitdiffstats
path: root/chrome/common/nacl_messages.h
Commit message (Collapse)AuthorAgeFilesLines
* NaCl: Pass process info through to the Windows debug exception handlermseaborn@chromium.org2012-05-041-2/+3
| | | | | | | | | | | | | | | | | | | This removes the assumption that NaCl's data structures are located at the same addresses in the debugger and debuggee processes, because we pass the addresses of the data structures through IPC instead. This fixes the debug exception handler to work in cases where chrome.dll or nacl64.exe get relocated, which tends to happen for chrome.dll on Windows XP. (However, since there are no trybots for 32-bit Windows, I will enable the test on 32-bit Windows in a separate change.) BUG=http://code.google.com/p/nativeclient/issues/detail?id=2695 TEST=run_inbrowser_exception_test in nacl_integration Review URL: https://chromiumcodereview.appspot.com/10351016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135361 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Attach the Windows debug exception handler on demandmseaborn@chromium.org2012-05-031-2/+11
| | | | | | | | | | | | | | | | | | | | This uses the callback that I added on the NaCl side in an earlier change. We add a "success" parameter to various interfaces to indicate whether the debug exception handler was attached successfully. With this change, the convoluted logic for delaying the start message goes away. We remove the DebugContext class. It is replaced by the implementation in chrome/common/nacl_debug_exception_handler_win.cc. BUG=http://code.google.com/p/nativeclient/issues/detail?id=2618 TEST=run_inbrowser_exception_test in nacl_integration Review URL: http://codereview.chromium.org/10267013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135105 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Pass the process handle to the broker rather than reopening itmseaborn@chromium.org2012-04-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we would open the NaCl loader's Windows process handle by its PID in the NaCl broker (when attaching a Windows debug exception handler). But there is a potential race condition here: if the NaCl loader dies, and its PID is reused, we could be opening the wrong process. Fix this by opening the process handle in the browser process and passing it to the 64-bit NaCl broker. This requires fixing a bug in ipc_message_utils.h. This code could cope with sending a handle from a 64-bit process to a 32-bit process (NaCl broker to browser), but the DCHECK would fail when sending a handle from a 32-bit process to a 64-bit process (browser to NaCl broker). This change is in preparation for changing NaCl's Windows debug exception handler to attach on demand, which would allow untrusted NaCl code to cause the NaCl process to exit before OnDebugExceptionHandlerLaunched() runs. BUG=http://code.google.com/p/nativeclient/issues/detail?id=2618 TEST=run_inbrowser_exception_test in nacl_integration Review URL: https://chromiumcodereview.appspot.com/10174031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134189 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the nacl start parameters as a struct.brettw@chromium.org2012-04-171-10/+9
| | | | | | | | | | | This convers the NaCl load message to use a struct since I plan on adding more stuff here that may vary depending on which proxy configuration you're using. BUG=116317 TEST= Review URL: https://chromiumcodereview.appspot.com/10020002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132685 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl validation caching: plumb through HMAC key and version info.ncbray@google.com2012-03-301-1/+3
| | | | | | | | | BUG= http://code.google.com/p/nativeclient/issues/detail?id=2515 TEST= Run NaCl w/ NACL_VALIDATION_CACHE=1 Review URL: https://chromiumcodereview.appspot.com/9863012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129920 0039d316-1c4b-4281-b951-d872f2087c98
* Reland - Create a database for NaCl validation caching that is shared ↵nduca@google.com2012-03-271-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | between processes. Originally reverted in 129077 due to perf regression. Followup commit will fix up expectations. http://chromegw.corp.google.com/i/chromium/builders/Linux%20x64/builds/25780 This change primarily entails creating a SyncChannel between sel_ldr and the browser. Queries to the database could be made from any thread inside sel_ldr, so the query mechanism needs to be thread safe. This feature is currently disabled by default, and requires an environment variable to enable. A few changes need to be made before this features is safe and can be enabled, such as making sure each installation has a unique, crypographically secure key. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2515 TEST= Run NaCl w/ NACL_VALIDATION_CACHE=1 Review URL: http://codereview.chromium.org/9796006 TBR=ncbray@chromium.org Review URL: https://chromiumcodereview.appspot.com/9808113 TBR=nduca@google.com Review URL: https://chromiumcodereview.appspot.com/9860020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129082 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 129061 - Create a database for NaCl validation caching that is shared ↵nduca@google.com2012-03-271-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | between processes. Reverted due to perf regression, see http://chromegw.corp.google.com/i/chromium/builders/Linux%20x64/builds/25780 This change primarily entails creating a SyncChannel between sel_ldr and the browser. Queries to the database could be made from any thread inside sel_ldr, so the query mechanism needs to be thread safe. This feature is currently disabled by default, and requires an environment variable to enable. A few changes need to be made before this features is safe and can be enabled, such as making sure each installation has a unique, crypographically secure key. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2515 TEST= Run NaCl w/ NACL_VALIDATION_CACHE=1 Review URL: http://codereview.chromium.org/9796006 TBR=ncbray@chromium.org Review URL: https://chromiumcodereview.appspot.com/9808113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129077 0039d316-1c4b-4281-b951-d872f2087c98
* Create a database for NaCl validation caching that is shared between processes.ncbray@chromium.org2012-03-271-1/+12
| | | | | | | | | | | | | | | | | | | This change primarily entails creating a SyncChannel between sel_ldr and the browser. Queries to the database could be made from any thread inside sel_ldr, so the query mechanism needs to be thread safe. This feature is currently disabled by default, and requires an environment variable to enable. A few changes need to be made before this features is safe and can be enabled, such as making sure each installation has a unique, crypographically secure key. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2515 TEST= Run NaCl w/ NACL_VALIDATION_CACHE=1 Review URL: http://codereview.chromium.org/9796006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129061 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Remove needless use of std::wstring for channel IDsmseaborn@chromium.org2012-03-251-2/+2
| | | | | | | | | | | | | | | The motivation for this is to stop the commit queue from refusing changes to these files that touch lines containing "wstring". :-) This addresses a TODO. BUG=none TEST=nacl_integration Review URL: http://codereview.chromium.org/9839083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128799 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Make hardware exception handling work on 64-bit Windowsmseaborn@chromium.org2012-03-241-0/+11
| | | | | | | | | | | | | | | | | | In order to support untrusted hardware exception handling on 64-bit Windows, we need to have a 64-bit process attach as a debugger to the 64-bit NaCl loader process, so we extend the NaCl broker process to do this. The new code in nacl_broker_listener.cc for attaching a 64-bit debugger is similar to the 32-bit code in nacl_process_host.cc. I intend to unify the two in a later change. BUG=http://code.google.com/p/nativeclient/issues/detail?id=2651 TEST=run_inbrowser_exception_test in nacl_integration Review URL: https://chromiumcodereview.appspot.com/9835003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128764 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Allow hardware exception handling to be enabled on Linux and Macmseaborn@chromium.org2012-03-211-3/+4
| | | | | | | | | | | | | | | | | | | | | | On Linux and Mac, enabling exception handling is just a matter of passing a flag through to NaClChromeMainStart(). This change also fixes exception handling on x86-32 Windows, which we broke a while ago when we made the exception handling syscalls conditionally enabled on the NaCl side. Exception handling on x86-64 Windows will require further work to hook up the debug helper process. Because of this, and because x86-32 Windows is not covered by the Chromium trybots, I'm not enabling NaCl's exception handling test for Windows yet. BUG=http://code.google.com/p/nativeclient/issues/detail?id=2651 TEST=run_inbrowser_exception_test in nacl_integration Review URL: http://codereview.chromium.org/9724002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128040 0039d316-1c4b-4281-b951-d872f2087c98
* Open NaCl IRT file only once at startupmcgrathr@chromium.org2011-11-151-4/+2
| | | | | | | | | | | | | | | | | | | | | | This changes the NaCl startup dance so that the IRT file is opened just once at browser startup. That file descriptor is kept around and passed repeatedly to each NaCl process launched. This ensures that when autoupdate replaces the file on disk with a new version, we continue to use the original file that corresponds to the old browser version that's still running. We also eliminate the cases for not having an IRT file, which is now a hard error (i.e. prevents NaCl launches). It's been a hard requirement for NaCl that the IRT be available since Chromium 14. BUG= http://code.google.com/p/nativeclient/issues/detail?id=1772 TEST= hand-tested in Chromium build on Linux, Mac, and Windows R=brettw@chromium.org Review URL: http://codereview.chromium.org/8397001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110136 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Send the integrated runtime (IRT) library to NaClmseaborn@chromium.org2011-05-031-3/+4
| | | | | | | | | | | | | | | | | | Change the browser process to open the IRT file and send it to the nascent NaCl process. If the IRT file is not present, handle this gracefully while still allowing the NaCl process to run. This is because there may be corner cases to sort out for getting the IRT into the various Chrome install images. In the mean time, NaCl executables that are not built to use the IRT should continue to work. BUG=http://code.google.com/p/nativeclient/issues/detail?id=1595 TEST=nacl_integration on the Chrome trybot Review URL: http://codereview.chromium.org/6873133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83855 0039d316-1c4b-4281-b951-d872f2087c98
* Convert devtools messages, nacl messages to new message format.tsepez@chromium.org2011-03-141-3/+28
| | | | | | Review URL: http://codereview.chromium.org/6686054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78070 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: Simplify the magic required to create IPC message headers.This gets rid ↵jam@chromium.org2010-12-081-6/+1
| | | | | | | | | of having to include the files in a magic place because of xcode dependency issues, and just makes it simpler to create new IPC message classes. It also gets rid of including the X_messages_internal.h file multiple times, which simplifies things and should make the build a little faster. In a future change, I will remove the "internal.h" files since they're no longer needed. Review URL: http://codereview.chromium.org/5526008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68664 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove "obviously" unneeded standard C++ library #includes.viettrungluu@chromium.org2010-08-151-3/+1
| | | | | | | | | BUG=none TEST=builds Review URL: http://codereview.chromium.org/3179017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56171 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-291-0/+19
| | | | | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27397 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27445 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27397 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-281-19/+0
| | | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Review URL: http://codereview.chromium.org/153002 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/235042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27400 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-281-0/+19
| | | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27397 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27324 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-261-19/+0
| | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Review URL: http://codereview.chromium.org/153002 TBR=bradnelson@google.com Review URL: http://codereview.chromium.org/244017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27326 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-261-0/+19
| | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27324 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27315 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-261-19/+0
| | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandbox Review URL: http://codereview.chromium.org/153002 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/244014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27317 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-261-0/+19
| | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandbox Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27315 0039d316-1c4b-4281-b951-d872f2087c98
* Preparing rollback in case things don't work out.bradnelson@google.com2009-09-181-19/+0
| | | | | | | | | | | This rolls back 26540, gregoryd's attempt at a nacl landing. BUG=None TEST=None Review URL: http://codereview.chromium.org/213019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26543 0039d316-1c4b-4281-b951-d872f2087c98
* This is a copy of http://codereview.chromium.org/153002/showgregoryd@google.com2009-09-181-0/+19
First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. This CL relies on another CL that contains the changes on the Native Client side: http://codereview.chromium.org/1501904. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin.5. NaCl still cannot run in Chrome sandbox, so the "--no-sandbox" flag is also required TBR=bradnelson Review URL: http://codereview.chromium.org/207025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26540 0039d316-1c4b-4281-b951-d872f2087c98