Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Unified Diff: webkit/activex_shim/web_activex_site.h

Issue 200031: Take out the activex control. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/activex_shim/web_activex_container.cc ('k') | webkit/activex_shim/web_activex_site.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/activex_shim/web_activex_site.h
===================================================================
--- webkit/activex_shim/web_activex_site.h (revision 25626)
+++ webkit/activex_shim/web_activex_site.h (working copy)
@@ -1,225 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_ACTIVEX_SHIM_WEB_ACTIVEX_SITE_H__
-#define WEBKIT_ACTIVEX_SHIM_WEB_ACTIVEX_SITE_H__
-
-#include <objsafe.h>
-#include <map>
-#include <vector>
-
-#include "base/scoped_comptr_win.h"
-#include "webkit/activex_shim/activex_util.h"
-
-namespace activex_shim {
-
-class WebActiveXContainer;
-class ActiveXPlugin;
-
-// Control creation parameters
-struct ControlParam {
- ControlParam(const std::wstring& new_name, const std::wstring& new_value) {
- name = new_name;
- value = new_value;
- }
- ControlParam() { }
- std::wstring name;
- std::wstring value;
-};
-
-// ActiveX control site to receive requests etc from the ActiveX control,
-// and interact the container to host a control.
-// Implemented interfaces:
-// IDispatch:
-// Required for ambient properties.
-// IOleClientSite:
-// Required interface.
-// IOleControlSite:
-// Required interface.
-// IOleInPlaceSiteWindowless:
-// Required for windowless activation.
-// IServiceProvider:
-// Some controls use this interface to get interface to the IBindHost,
-// IWebBrowserApp interfaces. e.g., Flash needs the IBindHost to create
-// a moniker to the movie. Thus this is a required interface.
-// IPropertyBag:
-// If the control supports IPersistPropertyBag, we could use this interface
-// to initialize the control with param values.
-class WebActiveXSite : public MinimumIDispatchImpl,
- public IOleClientSite,
- public IOleControlSite,
- public IOleInPlaceSiteWindowless,
- public IServiceProvider,
- public IPropertyBag,
- public IPropertyBag2 {
- public:
- WebActiveXSite();
- // It's necessary to make it virtual because we do not directly create
- // this object. Instead we usually create NoRefIUnknownImpl<WebActiveXSite>
- virtual ~WebActiveXSite();
-
- // Container calls this to init a site. The container should assume passing
- // the ownership of IUnknown to site, and not try to release control there
- // after. Site will release control in FinalRelease.
- void Init(WebActiveXContainer* container, IUnknown* control);
- // Deactive and release ActiveX control. Cleanup everything.
- void FinalRelease();
- // Sets the extent of the control, params and inplace activates it.
- HRESULT ActivateControl(int x, int y, int width, int height,
- const std::vector<ControlParam>& params);
- // A simplified version of calling control's DoVerb.
- HRESULT DoVerb(long verb);
- // Changes the position/size of the control. The container/plugin is
- // responsible to call this everytime the control's position/size changed.
- void SetRect(const RECT* rect);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid,
- void** object);
-
- // IOleClientSite
- virtual HRESULT STDMETHODCALLTYPE SaveObject();
- virtual HRESULT STDMETHODCALLTYPE GetMoniker(
- DWORD assign,
- DWORD which_moniker,
- IMoniker** moniker);
- virtual HRESULT STDMETHODCALLTYPE GetContainer(IOleContainer** container);
- virtual HRESULT STDMETHODCALLTYPE ShowObject();
- virtual HRESULT STDMETHODCALLTYPE OnShowWindow(BOOL show);
- virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout();
-
- // IOleControlSite
- virtual HRESULT STDMETHODCALLTYPE OnControlInfoChanged();
- virtual HRESULT STDMETHODCALLTYPE LockInPlaceActive(BOOL lock);
- virtual HRESULT STDMETHODCALLTYPE GetExtendedControl(IDispatch** disp);
- virtual HRESULT STDMETHODCALLTYPE TransformCoords(POINTL* ptl_himetric,
- POINTF* ptf_container,
- DWORD flags);
- virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(MSG* msg,
- DWORD modifiers);
- virtual HRESULT STDMETHODCALLTYPE OnFocus(BOOL got_focus);
- virtual HRESULT STDMETHODCALLTYPE ShowPropertyFrame();
-
- // IOleWindow
- virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND* wnd);
- virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL enter_mode);
-
- // IOleInPlaceSite
- virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate();
- virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate();
- virtual HRESULT STDMETHODCALLTYPE OnUIActivate();
- virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
- IOleInPlaceFrame** frame,
- IOleInPlaceUIWindow** doc,
- LPRECT pos,
- LPRECT clip,
- LPOLEINPLACEFRAMEINFO frame_info);
- virtual HRESULT STDMETHODCALLTYPE Scroll(SIZE scroll_extant);
- virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(BOOL undoable);
- virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate();
- virtual HRESULT STDMETHODCALLTYPE DiscardUndoState();
- virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo();
- virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(LPCRECT pos);
-
- // IOleInPlaceSiteEx
- virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivateEx(
- BOOL* no_redraw,
- DWORD flags);
- virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivateEx(BOOL no_redraw);
- virtual HRESULT STDMETHODCALLTYPE RequestUIActivate();
-
- // IOleInPlaceSiteWindowless
- virtual HRESULT STDMETHODCALLTYPE CanWindowlessActivate();
- virtual HRESULT STDMETHODCALLTYPE GetCapture();
- virtual HRESULT STDMETHODCALLTYPE SetCapture(BOOL capture);
- virtual HRESULT STDMETHODCALLTYPE GetFocus();
- virtual HRESULT STDMETHODCALLTYPE SetFocus(BOOL focus);
- virtual HRESULT STDMETHODCALLTYPE GetDC(
- LPCRECT rect,
- DWORD flags,
- HDC* dc);
- virtual HRESULT STDMETHODCALLTYPE ReleaseDC(HDC dc);
- virtual HRESULT STDMETHODCALLTYPE InvalidateRect(
- LPCRECT rect,
- BOOL erase);
- virtual HRESULT STDMETHODCALLTYPE InvalidateRgn(
- HRGN rgn,
- BOOL erase);
- virtual HRESULT STDMETHODCALLTYPE ScrollRect(
- INT dx,
- INT dy,
- LPCRECT scroll,
- LPCRECT clip);
- virtual HRESULT STDMETHODCALLTYPE AdjustRect(LPRECT rc);
- virtual HRESULT STDMETHODCALLTYPE OnDefWindowMessage(
- UINT msg,
- WPARAM wparam,
- LPARAM lparam,
- LRESULT* result);
-
- // IServiceProvider
- virtual HRESULT STDMETHODCALLTYPE QueryService(
- REFGUID guid,
- REFIID riid,
- void** object);
-
- // IPropertyBag
- virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR prop_name, VARIANT* var,
- IErrorLog* err_log);
- virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR prop_name, VARIANT* var);
-
- // IPropertyBag2
- virtual HRESULT STDMETHODCALLTYPE Read(ULONG c_properties,
- PROPBAG2* prop_bag,
- IErrorLog* err_log,
- VARIANT* value,
- HRESULT* error);
- virtual HRESULT STDMETHODCALLTYPE Write(ULONG c_properties,
- PROPBAG2* prop_bag,
- VARIANT* value);
- virtual HRESULT STDMETHODCALLTYPE CountProperties(ULONG* c_properties);
- virtual HRESULT STDMETHODCALLTYPE GetPropertyInfo(ULONG iproperty,
- ULONG c_properties,
- PROPBAG2* prop_bag,
- ULONG* properties_returned);
- virtual HRESULT STDMETHODCALLTYPE LoadObject(LPCOLESTR pstr_name,
- DWORD hint,
- IUnknown* unk_object,
- IErrorLog* err_log);
-
- friend WebActiveXContainer;
- friend ActiveXPlugin;
-
- private:
- // Call IOleObject::SetExtent to change the size of the control. width and
- // height should be in pixels.
- HRESULT SetExtent(int width, int height);
-
- WebActiveXContainer* container_;
- // Theorectically the control could support only IUnknown interface. This is
- // the minimum requirement.
- ScopedComPtr<IUnknown> control_;
- // These are all optional interfaces and they could be NULL even if we have
- // created the control successfully.
- ScopedComPtr<IDispatch> dispatch_;
- ScopedComPtr<IOleObject> ole_object_;
- ScopedComPtr<IOleInPlaceObject> inplace_object_;
- ScopedComPtr<IViewObject> view_object_;
- ScopedComPtr<IOleInPlaceObjectWindowless> inplace_object_windowless_;
- RECT rect_;
- // We need to remember whether we are activated so we can decide whether to
- // deactivate during destruction.
- bool inplace_activated_;
- bool has_capture_;
- // We need to save the initial properties so that during control
- // initialization, the control can query us (IPropertyBag) for those
- // properties.
- std::vector<ControlParam> initial_params_;
-
- DISALLOW_EVIL_CONSTRUCTORS(WebActiveXSite);
-};
-
-} // namespace activex_shim
-
-#endif // #ifndef WEBKIT_ACTIVEX_SHIM_WEB_ACTIVEX_SITE_H__
« no previous file with comments | « webkit/activex_shim/web_activex_container.cc ('k') | webkit/activex_shim/web_activex_site.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698