Skip to content

Commit

Permalink
Reland "Update Google Update COM interface definitions in google_upda…
Browse files Browse the repository at this point in the history
…te_idl.idl."

This is a reland of 21489fa.

Original change's description:
> Update Google Update COM interface definitions in google_update_idl.idl.
>
> This update is required for work that is underway related to management
> of Chrome browsers for enterprise users.
>
> The google_update_idl.idl file was originally provided by the Google
> Update team. It has been modified as described in the README.chromium
> file in this CL.
>
> The change was tested with Chrome-branded builds with target_cpu set to
> "x86" and "x64". I followed these steps to make sure that this change
> does not break Chrome updates.
>
> 1. Manully set the version of Chrome in src/chrome/VERSION to a version
>    prior to that which is currently served on the Dev channel.
> 2. Compile with is_chrome_branded=true and target_cpu set to one of
>    "x86" or "x64".
> 3. Install the build as a Dev-channel Chrome using setup.exe on a 64-bit
>    Win10 machine.
> 4. Navigate to chrome://help and make sure that the update process works
>    as expected.
>
> Bug: 796270
> Change-Id: I6962b8874a7e825d41834860de0eb0fe92f5a6e3
> Reviewed-on: https://chromium-review.googlesource.com/924474
> Commit-Queue: Ali Tofigh <alito@chromium.org>
> Reviewed-by: Will Harris <wfh@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Greg Thompson <grt@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#539457}

Bug: 796270
Change-Id: I13c1fd5446ca8278ba43f57181fa5994e89608a8
Reviewed-on: https://chromium-review.googlesource.com/939656
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Commit-Queue: Ali Tofigh <alito@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539956}
  • Loading branch information
Ali Tofigh authored and Commit Bot committed Mar 1, 2018
1 parent 612feb7 commit 2376c7e
Show file tree
Hide file tree
Showing 11 changed files with 5,384 additions and 2,554 deletions.
6 changes: 6 additions & 0 deletions chrome/browser/google/google_update_win_unittest.cc
Expand Up @@ -229,6 +229,12 @@ class MockApp : public CComObjectRootEx<CComSingleThreadModel>, public IAppWeb {
MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
uninstall, uninstall,
HRESULT()); HRESULT());
MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
get_serverInstallDataIndex,
HRESULT(BSTR *));
MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
put_serverInstallDataIndex,
HRESULT(BSTR));


// IDispatch: // IDispatch:
MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
Expand Down
9 changes: 2 additions & 7 deletions google_update/README.chromium
@@ -1,10 +1,5 @@
Originally this IDL was provided by the Google Update team so that we could use The IDL in this directory is provided by the Google Update team. The original
the On-Demand checking for updates. Now it is copied from the public Omaha file was modified by removing the following two coclasses:
repository with minor modifications. See
http://omaha.googlecode.com/svn/trunk/official/goopdate/omaha3_idl.idl.

This copy is based on http://omaha.googlecode.com/svn/trunk/official/goopdate/omaha3_idl.idl@120
with the following two coclasses removed:


[ [
uuid(___AUTO_GENERATED_GUID___), uuid(___AUTO_GENERATED_GUID___),
Expand Down
70 changes: 69 additions & 1 deletion google_update/google_update_idl.idl
Expand Up @@ -313,6 +313,18 @@ interface IApp : IDispatch {
[propget] HRESULT currentState([out, retval] IDispatch**); [propget] HRESULT currentState([out, retval] IDispatch**);
}; };


[
object,
dual,
uuid(084D78A8-B084-4E14-A629-A2C419B0E3D9),
helpstring("IApp2 Interface"),
pointer_default(unique)
]
interface IApp2 : IApp {
[propget] HRESULT untrustedData([out, retval] BSTR*);
[propput] HRESULT untrustedData([in] BSTR);
};

[ [
object, object,
dual, dual,
Expand All @@ -336,6 +348,17 @@ interface IAppCommand : IDispatch {
[in, optional] VARIANT arg9); [in, optional] VARIANT arg9);
}; };


[
object,
dual,
uuid(3D05F64F-71E3-48A5-BF6B-83315BC8AE1F),
helpstring("IAppCommand2 Interface"),
pointer_default(unique)
]
interface IAppCommand2 : IAppCommand {
[propget] HRESULT output([out, retval] BSTR*);
};

[ [
object, object,
dual, dual,
Expand Down Expand Up @@ -582,22 +605,28 @@ interface IAppWeb : IDispatch {
[out, retval] IDispatch** command); [out, retval] IDispatch** command);


HRESULT cancel(); HRESULT cancel();

[propget] HRESULT currentState([out, retval] IDispatch** current_state); [propget] HRESULT currentState([out, retval] IDispatch** current_state);

HRESULT launch(); HRESULT launch();
HRESULT uninstall(); HRESULT uninstall();

[propget] HRESULT serverInstallDataIndex([out, retval] BSTR*);
[propput] HRESULT serverInstallDataIndex([in] BSTR);
}; };


[ [
object, object,
dual, dual,
uuid(68D6C2BD-712E-4c96-93E8-49CB8A9AAEED), uuid(8476CE12-AE1F-4198-805C-BA0F9B783F57),
helpstring("IAppCommandWeb Interface"), helpstring("IAppCommandWeb Interface"),
pointer_default(unique) pointer_default(unique)
] ]
interface IAppCommandWeb : IDispatch { interface IAppCommandWeb : IDispatch {
// Use values from the AppCommandStatus enum. // Use values from the AppCommandStatus enum.
[propget] HRESULT status([out, retval] UINT*); [propget] HRESULT status([out, retval] UINT*);
[propget] HRESULT exitCode([out, retval] DWORD*); [propget] HRESULT exitCode([out, retval] DWORD*);
[propget] HRESULT output([out, retval] BSTR*);
HRESULT execute([in, optional] VARIANT arg1, HRESULT execute([in, optional] VARIANT arg1,
[in, optional] VARIANT arg2, [in, optional] VARIANT arg2,
[in, optional] VARIANT arg3, [in, optional] VARIANT arg3,
Expand Down Expand Up @@ -717,6 +746,29 @@ interface IProcessLauncher : IUnknown {
[out] ULONG_PTR* proc_handle); [out] ULONG_PTR* proc_handle);
}; };


[
object,
oleautomation,
uuid(D106AB5F-A70E-400E-A21B-96208C1D8DBB),
helpstring("Google Update IProcessLauncher2 Interface"),
pointer_default(unique)
]
interface IProcessLauncher2 : IProcessLauncher {
// Launches the command line, returning the COM server's process ID and
// handles to the launched process and its stdout. The caller is responsible
// for closing the returned handles (by passing DUPLICATE_CLOSE_SOURCE to
// DuplicateHandle, for instance).
// @param cmd_line The full command line to execute.
// @param server_proc_id The process id of the IProcessLauncher2 COM server.
// @param proc_handle The process handle valid in the server's context
// @param stdout_handle The child process's stdout handle valid in the
// server's context.
HRESULT LaunchCmdLineEx([in, string] const WCHAR* cmd_line,
[out] DWORD* server_proc_id,
[out] ULONG_PTR* proc_handle,
[out] ULONG_PTR* stdout_handle);
};

[ [
object, object,
oleautomation, oleautomation,
Expand Down Expand Up @@ -792,6 +844,20 @@ interface IJobObserver : IUnknown {
HRESULT SetEventSink([in] IProgressWndEvents* ui_sink); HRESULT SetEventSink([in] IProgressWndEvents* ui_sink);
}; };


[
object,
oleautomation,
uuid(19692F10-ADD2-4EFF-BE54-E61C62E40D13),
helpstring("IJobObserver2 Interface"),
pointer_default(unique)
]
interface IJobObserver2 : IUnknown {
// @param time_remaining_ms Remaining install time.
// @param pos Current install progress in percentage from 0 to 100. -1
// indicates unknown.
HRESULT OnInstalling2([in] int time_remaining_ms, [in] int pos);
};

[ [
object, object,
oleautomation, oleautomation,
Expand Down Expand Up @@ -849,7 +915,9 @@ library GoogleUpdate3Lib {
interface IGoogleUpdate3; interface IGoogleUpdate3;
interface IAppBundle; interface IAppBundle;
interface IApp; interface IApp;
interface IApp2;
interface IAppCommand; interface IAppCommand;
interface IAppCommand2;
interface IAppVersion; interface IAppVersion;
interface IPackage; interface IPackage;
interface ICurrentState; interface ICurrentState;
Expand Down

0 comments on commit 2376c7e

Please sign in to comment.