diff options
author | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-25 22:38:08 +0000 |
---|---|---|
committer | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-25 22:38:08 +0000 |
commit | 42a53a7982ca052c19c35562efc36e8b081f414b (patch) | |
tree | 7a364c0993aa9c7ce9229279f9f54082e659ef8a /sandbox | |
parent | 7f28a8df1e44c9991a3c012b0b7874c068e0e6e7 (diff) | |
download | chromium_src-42a53a7982ca052c19c35562efc36e8b081f414b.zip chromium_src-42a53a7982ca052c19c35562efc36e8b081f414b.tar.gz chromium_src-42a53a7982ca052c19c35562efc36e8b081f414b.tar.bz2 |
Make SandboxInterfaceInfo somewhat backwards compatible
Hack to allow a mismached chrome exe and dll (different versions) to not crash.
The older chrome exe will pass a union, the new chrome dll expects a struct.
BUG=74046
TEST=see bug
Review URL: http://codereview.chromium.org/6598013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76108 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox')
-rw-r--r-- | sandbox/src/sandbox_types.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sandbox/src/sandbox_types.h b/sandbox/src/sandbox_types.h index ee9da54..898f107 100644 --- a/sandbox/src/sandbox_types.h +++ b/sandbox/src/sandbox_types.h @@ -53,10 +53,15 @@ enum TerminationCodes { class TargetServices; class BrokerServices; -// Contains the pointer to a target or broker service. +// Contains the pointer to a target or broker service. Older code used +// a union so the |legacy| member is there for us to detect we are +// being passed a SandboxInterfaceInfo by old code. If legacy is not +// null it means we are dealing with old code a must copy this value +// into both |broker_services| and |target_services|. struct SandboxInterfaceInfo { - TargetServices* target_services; + void* legacy; BrokerServices* broker_services; + TargetServices* target_services; }; #if SANDBOX_EXPORTS |