| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // Small DLL shim to register and unregister all CEEE components. | 5 // Small DLL shim to register and unregister all CEEE components. |
| 6 | 6 |
| 7 #include "ceee/installer_dll/installer_helper.h" | 7 #include "ceee/installer_dll/installer_helper.h" |
| 8 | 8 |
| 9 #include "base/at_exit.h" | 9 #include "base/at_exit.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 | 291 |
| 292 // Returns a class factory to create an object of the requested type. | 292 // Returns a class factory to create an object of the requested type. |
| 293 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { | 293 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { |
| 294 return _AtlModule.DllGetClassObject(rclsid, riid, ppv); | 294 return _AtlModule.DllGetClassObject(rclsid, riid, ppv); |
| 295 } | 295 } |
| 296 | 296 |
| 297 // Adds entries to the system registry. | 297 // Adds entries to the system registry. |
| 298 // | 298 // |
| 299 // This is not the actual entrypoint; see the macro right below this | 299 // This is not the actual entrypoint; see the macro right below this |
| 300 // function, which keeps us safe from ever forgetting to check for | 300 // function, which keeps us safe from ever forgetting to check for |
| 301 // the --enable-ceee flag. | 301 // the --ceee flag. |
| 302 STDAPI DllRegisterServerImpl(void) { | 302 STDAPI DllRegisterServerImpl(void) { |
| 303 HRESULT hr = _AtlModule.DllRegisterServer(FALSE); | 303 HRESULT hr = _AtlModule.DllRegisterServer(FALSE); |
| 304 | 304 |
| 305 // This function assumes the DLL is being registered with admin privileges. | 305 // This function assumes the DLL is being registered with admin privileges. |
| 306 | 306 |
| 307 // In case of error, we abort the rest of registration - we're in bad | 307 // In case of error, we abort the rest of registration - we're in bad |
| 308 // shape anyway. | 308 // shape anyway. |
| 309 if (SUCCEEDED(hr)) { | 309 if (SUCCEEDED(hr)) { |
| 310 hr = RegisterIeBroker(true); | 310 hr = RegisterIeBroker(true); |
| 311 DCHECK(SUCCEEDED(hr)) << "Could not register CEEE IE Broker" << | 311 DCHECK(SUCCEEDED(hr)) << "Could not register CEEE IE Broker" << |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 << com::LogHr(hr); | 344 << com::LogHr(hr); |
| 345 } | 345 } |
| 346 | 346 |
| 347 return hr; | 347 return hr; |
| 348 } | 348 } |
| 349 | 349 |
| 350 CEEE_DEFINE_DLL_REGISTER_SERVER() | 350 CEEE_DEFINE_DLL_REGISTER_SERVER() |
| 351 | 351 |
| 352 // Removes entries from the system registry. | 352 // Removes entries from the system registry. |
| 353 STDAPI DllUnregisterServer(void) { | 353 STDAPI DllUnregisterServer(void) { |
| 354 // We always allow unregistration, even if no --enable-ceee install flag. | 354 // We always allow unregistration, even if no --ceee install flag. |
| 355 // | 355 // |
| 356 // We also always unregister Firefox components, regardless of whether the | 356 // We also always unregister Firefox components, regardless of whether the |
| 357 // --enable-ff-ceee flag is set; unregistration is idempotent. | 357 // --enable-ff-ceee flag is set; unregistration is idempotent. |
| 358 | 358 |
| 359 HRESULT combined_result = S_OK; | 359 HRESULT combined_result = S_OK; |
| 360 HRESULT hr = _AtlModule.DllUnregisterServer(FALSE); | 360 HRESULT hr = _AtlModule.DllUnregisterServer(FALSE); |
| 361 AggregateComError(hr, &combined_result); | 361 AggregateComError(hr, &combined_result); |
| 362 | 362 |
| 363 // This function assumes the DLL is being unregistered with admin privileges. | 363 // This function assumes the DLL is being unregistered with admin privileges. |
| 364 | 364 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 LOG(WARNING) << "Call to unimplemented DllRegisterUserServer."; | 396 LOG(WARNING) << "Call to unimplemented DllRegisterUserServer."; |
| 397 return S_OK; | 397 return S_OK; |
| 398 } | 398 } |
| 399 | 399 |
| 400 // No-op entry point to keep user-level unregistration happy. | 400 // No-op entry point to keep user-level unregistration happy. |
| 401 // TODO(robertshield): Remove this as part of registration re-org. | 401 // TODO(robertshield): Remove this as part of registration re-org. |
| 402 STDAPI DllUnregisterUserServer() { | 402 STDAPI DllUnregisterUserServer() { |
| 403 LOG(WARNING) << "Call to unimplemented DllUnregisterUserServer."; | 403 LOG(WARNING) << "Call to unimplemented DllUnregisterUserServer."; |
| 404 return S_OK; | 404 return S_OK; |
| 405 } | 405 } |
| OLD | NEW |