diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-19 16:50:43 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-19 16:50:43 +0000 |
commit | 80b5a8d9ebf236533f154e87b18c9130835ccf06 (patch) | |
tree | 72db1dce801baa370e4f9536820edd7f8f1048a3 /chrome_frame/extra_system_apis.h | |
parent | 84e1dff96238dfede15aed36ee2a9bf5a71dd9f9 (diff) | |
download | chromium_src-80b5a8d9ebf236533f154e87b18c9130835ccf06.zip chromium_src-80b5a8d9ebf236533f154e87b18c9130835ccf06.tar.gz chromium_src-80b5a8d9ebf236533f154e87b18c9130835ccf06.tar.bz2 |
Initial support for IE View->Privacy. To support this menu option the active document now implements
the Exec command for the CGID_ShellDocView group and command id 75. We invoke the DoPrivacyDlg function
exported by shdocvw and pass in our implementation of the IEnumPrivacyServices interface.
The actual privacy data is gathered and maintained by the UrlmonUrlRequestManager. If we detect a privacy
violation we notify the shell browser via the ITridentService2::FirePrivacyImpactedStateChange function
which ensures that IE displays the privacy icon.
Thanks to stoyan for his help in getting this done.
I will add tests in a followup CL.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=25479
Bug=25479
Review URL: http://codereview.chromium.org/1127003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42113 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/extra_system_apis.h')
-rw-r--r-- | chrome_frame/extra_system_apis.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/chrome_frame/extra_system_apis.h b/chrome_frame/extra_system_apis.h index 93aad26..6a53bd6 100644 --- a/chrome_frame/extra_system_apis.h +++ b/chrome_frame/extra_system_apis.h @@ -84,6 +84,37 @@ IDocObjectService : public IUnknown { STDMETHOD(IsErrorUrl)(LPCTSTR url, BOOL* is_error) = 0; }; +// This interface is used to notify the shellbrowser about events. +interface __declspec(uuid("f62d9369-75ef-4578-8856-232802c76468")) +ITridentService2 : public IUnknown { + STDMETHOD(FireBeforeNavigate2)(IDispatch* dispatch, + LPCTSTR url, DWORD flags, LPCTSTR frame_name, BYTE* post_data, + DWORD post_data_len, LPCTSTR headers, BOOL play_nav_sound, + BOOL* cancel) = 0; + STDMETHOD(FireNavigateComplete2)(IHTMLWindow2*, uint32); + STDMETHOD(FireDownloadBegin)(VOID); + STDMETHOD(FireDownloadComplete)(VOID); + STDMETHOD(FireDocumentComplete)(IHTMLWindow2*, uint32); + STDMETHOD(UpdateDesktopComponent)(IHTMLWindow2*); + STDMETHOD(GetPendingUrl)(uint16**); + STDMETHOD(ActiveElementChanged)(IHTMLElement*); + STDMETHOD(GetUrlSearchComponent)(uint16**); + STDMETHOD(IsErrorUrl)(uint16 const*, int32*); + STDMETHOD(AttachMyPics)(VOID *, VOID**); + STDMETHOD(ReleaseMyPics)(VOID*); + STDMETHOD(IsGalleryMeta)(int32, VOID*); + STDMETHOD(EmailPicture)(uint16*); + STDMETHOD(FireNavigateError)(IHTMLWindow2*, + uint16*, + uint16*, + uint32, int*); + STDMETHOD(FirePrintTemplateEvent)(IHTMLWindow2*, int32); + STDMETHOD(FireUpdatePageStatus)(IHTMLWindow2*, uint32, int32); + STDMETHOD(FirePrivacyImpactedStateChange)(int32 privacy_violated); + STDMETHOD(InitAutoImageResize)(VOID); + STDMETHOD(UnInitAutoImageResize)(VOID); +}; + // Flags for ITravelLogEx::CountEntryNodes, CreateEnumEntry. #define TLEF_RELATIVE_INCLUDE_CURRENT (0x01) // count the current entry #define TLEF_RELATIVE_BACK (0x10) // count backward entries |