| OLD | NEW |
| 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 <atlbase.h> | 5 #include <atlbase.h> |
| 6 #include <atlcom.h> | 6 #include <atlcom.h> |
| 7 #include <atlctl.h> | 7 #include <atlctl.h> |
| 8 #include <ShObjIdl.h> | 8 #include <ShObjIdl.h> |
| 9 #include <WinInet.h> | 9 #include <WinInet.h> |
| 10 | 10 |
| 11 #include <string> | 11 #include <string> |
| 12 | 12 |
| 13 #include "base/command_line.h" | 13 #include "base/command_line.h" |
| 14 #include "base/files/file_path.h" | 14 #include "base/files/file_path.h" |
| 15 #include "base/process/process_handle.h" | 15 #include "base/process/process_handle.h" |
| 16 #include "win8/delegate_execute/resource.h" // main symbols | 16 #include "win8/delegate_execute/resource.h" // main symbols |
| 17 | 17 |
| 18 using namespace ATL; | 18 using namespace ATL; |
| 19 | 19 |
| 20 EXTERN_C const GUID CLSID_CommandExecuteImpl; | 20 EXTERN_C const GUID CLSID_CommandExecuteImpl; |
| 21 | 21 |
| 22 // CommandExecuteImpl | 22 // CommandExecuteImpl |
| 23 // This class implements the IExecuteCommand and related interfaces for | 23 // This class implements the IExecuteCommand and related interfaces for |
| 24 // handling ShellExecute launches of the Chrome browser, i.e. whether to | 24 // handling ShellExecute launches of the Chrome browser, i.e. whether to |
| 25 // launch Chrome in metro mode or desktop mode. | 25 // launch Chrome in metro mode or desktop mode. |
| 26 #if defined(GOOGLE_CHROME_BUILD) | 26 // The CLSID here is a dummy CLSID not used for anything, since we register |
| 27 class ATL_NO_VTABLE DECLSPEC_UUID("5C65F4B0-3651-4514-B207-D10CB699B14B") | 27 // the class with a dynamic CLSID. However, a static CLSID is necessary |
| 28 // so that we can force at least one entry into ATL's object map (it will |
| 29 // treat a 0-element object map as an initialization failure case). |
| 30 class ATL_NO_VTABLE DECLSPEC_UUID("071BB5F2-85A4-424F-BFE7-5F1609BE4C2C") |
| 28 CommandExecuteImpl | 31 CommandExecuteImpl |
| 29 #else // GOOGLE_CHROME_BUILD | |
| 30 class ATL_NO_VTABLE DECLSPEC_UUID("A2DF06F9-A21A-44A8-8A99-8B9C84F29160") | |
| 31 CommandExecuteImpl | |
| 32 #endif // GOOGLE_CHROME_BUILD | |
| 33 : public CComObjectRootEx<CComSingleThreadModel>, | 32 : public CComObjectRootEx<CComSingleThreadModel>, |
| 34 public CComCoClass<CommandExecuteImpl, &CLSID_CommandExecuteImpl>, | 33 public CComCoClass<CommandExecuteImpl, &CLSID_CommandExecuteImpl>, |
| 35 public IExecuteCommand, | 34 public IExecuteCommand, |
| 36 public IObjectWithSiteImpl<CommandExecuteImpl>, | 35 public IObjectWithSiteImpl<CommandExecuteImpl>, |
| 37 public IInitializeCommand, | 36 public IInitializeCommand, |
| 38 public IObjectWithSelection, | 37 public IObjectWithSelection, |
| 39 public IExecuteCommandApplicationHostEnvironment, | 38 public IExecuteCommandApplicationHostEnvironment, |
| 40 public IForegroundTransfer { | 39 public IForegroundTransfer { |
| 41 public: | 40 public: |
| 42 CommandExecuteImpl(); | 41 CommandExecuteImpl(); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 STARTUPINFO start_info_; | 99 STARTUPINFO start_info_; |
| 101 string16 verb_; | 100 string16 verb_; |
| 102 string16 display_name_; | 101 string16 display_name_; |
| 103 INTERNET_SCHEME launch_scheme_; | 102 INTERNET_SCHEME launch_scheme_; |
| 104 | 103 |
| 105 base::IntegrityLevel integrity_level_; | 104 base::IntegrityLevel integrity_level_; |
| 106 EC_HOST_UI_MODE chrome_mode_; | 105 EC_HOST_UI_MODE chrome_mode_; |
| 107 }; | 106 }; |
| 108 | 107 |
| 109 OBJECT_ENTRY_AUTO(__uuidof(CommandExecuteImpl), CommandExecuteImpl) | 108 OBJECT_ENTRY_AUTO(__uuidof(CommandExecuteImpl), CommandExecuteImpl) |
| OLD | NEW |