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
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,12 @@ class MockApp : public CComObjectRootEx<CComSingleThreadModel>, public IAppWeb {
MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
uninstall,
HRESULT());
MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
get_serverInstallDataIndex,
HRESULT(BSTR *));
MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
put_serverInstallDataIndex,
HRESULT(BSTR));

// IDispatch:
MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
Expand Down
9 changes: 2 additions & 7 deletions google_update/README.chromium
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
Originally this IDL was provided by the Google Update team so that we could use
the On-Demand checking for updates. Now it is copied from the public Omaha
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:
The IDL in this directory is provided by the Google Update team. The original
file was modified by removing the following two coclasses:

[
uuid(___AUTO_GENERATED_GUID___),
Expand Down
70 changes: 69 additions & 1 deletion google_update/google_update_idl.idl
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,18 @@ interface IApp : 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,
dual,
Expand All @@ -336,6 +348,17 @@ interface IAppCommand : IDispatch {
[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,
dual,
Expand Down Expand Up @@ -582,22 +605,28 @@ interface IAppWeb : IDispatch {
[out, retval] IDispatch** command);

HRESULT cancel();

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

HRESULT launch();
HRESULT uninstall();

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

[
object,
dual,
uuid(68D6C2BD-712E-4c96-93E8-49CB8A9AAEED),
uuid(8476CE12-AE1F-4198-805C-BA0F9B783F57),
helpstring("IAppCommandWeb Interface"),
pointer_default(unique)
]
interface IAppCommandWeb : IDispatch {
// Use values from the AppCommandStatus enum.
[propget] HRESULT status([out, retval] UINT*);
[propget] HRESULT exitCode([out, retval] DWORD*);
[propget] HRESULT output([out, retval] BSTR*);
HRESULT execute([in, optional] VARIANT arg1,
[in, optional] VARIANT arg2,
[in, optional] VARIANT arg3,
Expand Down Expand Up @@ -717,6 +746,29 @@ interface IProcessLauncher : IUnknown {
[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,
oleautomation,
Expand Down Expand Up @@ -792,6 +844,20 @@ interface IJobObserver : IUnknown {
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,
oleautomation,
Expand Down Expand Up @@ -849,7 +915,9 @@ library GoogleUpdate3Lib {
interface IGoogleUpdate3;
interface IAppBundle;
interface IApp;
interface IApp2;
interface IAppCommand;
interface IAppCommand2;
interface IAppVersion;
interface IPackage;
interface ICurrentState;
Expand Down
Loading

0 comments on commit 2376c7e

Please sign in to comment.