[ActiveX] HTMLDocumentEvents.OnClick implementation

RESOLVED EXPIRED

Status

Core Graveyard
Embedding: ActiveX Wrapper
--
enhancement
RESOLVED EXPIRED
14 years ago
6 years ago

People

(Reporter: Alexandre Trémon, Assigned: Adam Lock)

Tracking

Trunk
x86
Windows 2000

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments)

(Reporter)

Description

14 years ago
User-Agent:       
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113

I would like to receive events through the HTMLDocumentEvents (e.g. OnClick ...)
For this to be possible, MozillaControl should not reference MSHTML, but we
should have a MozillaHtml.idl, with a HTMLDocument Coclass with a different
classId than the one defined in MSHTML.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
(Reporter)

Comment 1

14 years ago
Created attachment 140150 [details]
Like Mshtml.idl, but with diffrent classid for HtmlDocument coclass
(Reporter)

Comment 2

14 years ago
Created attachment 140152 [details] [diff] [review]
changes references from MsHtml.h to MozillaHtml.h

Changes references from MsHtml.h to MozillaHtml.h
Adds a domMouseListener
And IHtmlDocument.designMode property implementation

need HtmlDomAction.cpp and .h, MozillaHtmlCP.h
(Reporter)

Comment 3

14 years ago
Created attachment 140153 [details]
HtmlDomAction.cpp and .h, MozillaHtmlCP.h
(Reporter)

Comment 4

14 years ago
Created attachment 140155 [details]
like MsHtmHst, but without reference to MsHtml
(Reporter)

Updated

14 years ago
Attachment #140155 - Attachment is patch: false
(Reporter)

Comment 5

14 years ago
Comment on attachment 140152 [details] [diff] [review]
changes references from MsHtml.h to MozillaHtml.h

>Index: common/IEHtmlElement.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/common/IEHtmlElement.h,v
>retrieving revision 1.2
>diff -u -r1.2 IEHtmlElement.h
>--- common/IEHtmlElement.h	28 Sep 2003 21:18:29 -0000	1.2
>+++ common/IEHtmlElement.h	29 Jan 2004 10:21:15 -0000
>@@ -42,9 +42,11 @@
> #include "IEHtmlNode.h"
> #include "IEHtmlElementCollection.h"
> 
>+#include "..\Control\MozillaHtml.h"
>+
> class CIEHtmlElement :
>     public CIEHtmlNode,
>-    public IDispatchImpl<IHTMLElement, &IID_IHTMLElement, &LIBID_MSHTML>
>+    public IDispatchImpl<IHTMLElement, &IID_IHTMLElement, &LIBID_MOZILLAHTMLLib>
> {
> public:
>     CIEHtmlElement();
>Index: common/IEHtmlElementCollection.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/common/IEHtmlElementCollection.h,v
>retrieving revision 1.2
>diff -u -r1.2 IEHtmlElementCollection.h
>--- common/IEHtmlElementCollection.h	28 Sep 2003 21:18:29 -0000	1.2
>+++ common/IEHtmlElementCollection.h	29 Jan 2004 10:21:15 -0000
>@@ -44,11 +44,13 @@
> 
> #include "IEHtmlNode.h"
> 
>+#include "..\Control\MozillaHtml.h"
>+
> class CIEHtmlElement;
> 
> class CIEHtmlElementCollection :
>     public CIEHtmlNode,
>-    public IDispatchImpl<IHTMLElementCollection, &IID_IHTMLElementCollection, &LIBID_MSHTML>
>+    public IDispatchImpl<IHTMLElementCollection, &IID_IHTMLElementCollection, &LIBID_MOZILLAHTMLLib>
> {
> private:
>     // Hold a DOM node list
>Index: common/IWebBrowserImpl.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/common/IWebBrowserImpl.h,v
>retrieving revision 1.2
>diff -u -r1.2 IWebBrowserImpl.h
>--- common/IWebBrowserImpl.h	28 Sep 2003 21:18:29 -0000	1.2
>+++ common/IWebBrowserImpl.h	29 Jan 2004 10:21:16 -0000
>@@ -40,7 +40,7 @@
> #ifndef IWEBBROWSERIMPL_H
> #define IWEBBROWSERIMPL_H
> 
>-#include <mshtml.h>
>+#include "MozillaHtml.h"
> 
> #include "nsIWebNavigation.h"
> #include "nsIPref.h"
>Index: common/StdAfx.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/common/StdAfx.h,v
>retrieving revision 1.2
>diff -u -r1.2 StdAfx.h
>--- common/StdAfx.h	28 Sep 2003 21:18:29 -0000	1.2
>+++ common/StdAfx.h	29 Jan 2004 10:21:16 -0000
>@@ -93,8 +93,8 @@
> extern CComModule _Module;
> #include <atlcom.h>
> #include <atlctl.h>
>-#include <mshtml.h>
>-#include <mshtmhst.h>
>+//#include <mshtml.h>
>+//#include <mshtmhst.h>
> #include <docobj.h>
> 
> // New winsock2.h doesn't define this anymore
>Index: control/IEHtmlDocument.cpp
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/IEHtmlDocument.cpp,v
>retrieving revision 1.15
>diff -u -r1.15 IEHtmlDocument.cpp
>--- control/IEHtmlDocument.cpp	28 Sep 2003 21:17:24 -0000	1.15
>+++ control/IEHtmlDocument.cpp	29 Jan 2004 10:21:16 -0000
>@@ -47,8 +47,10 @@
> 
> #include "MozillaBrowser.h"
> 
>+#include "nsContentCID.h" // for NS_HTMLDOCUMENT_CID
>+
> CIEHtmlDocument::CIEHtmlDocument() :
>-    mControl(NULL)
>+    mControl(NULL), mDOMDocument(nsnull)
> {
> }
> 
>@@ -57,19 +59,37 @@
> {
> }
> 
>+HRESULT CIEHtmlDocument::FinalConstruct()
>+{
>+	// Uncomment this when NS_InitEmbedding/NS_TermEmbedding is
>+	// in singleton class (see bug #209787) to be able to create a dom without
>+	// having a control instance:
>+
>+	/*static NS_DEFINE_IID(kHTMLDocumentCID, NS_HTMLDOCUMENT_CID);
>+	mDOMDocument = do_CreateInstance(kHTMLDocumentCID, &rv);
>+	if (NS_FAILED(rv))
>+		return E_FAIL;
>+	nsCOMPtr<nsIDOMNode> docAsNode = do_QueryInterface(mDOMDocument);
>+	SetDOMNode(docAsNode);*/
>+	return S_OK;
>+}
> 
> void CIEHtmlDocument::SetParent(CMozillaBrowser *parent)
> {
>     mControl = parent;
> }
> 
>-
>-void CIEHtmlDocument::SetNative(nsIDOMHTMLDocument *native)
>+void CIEHtmlDocument::SetNative(nsIDOMDocument *native)
> {
>-    mDOMDocument = native;
>+	// Remove the references created in FinalConstruct:
>+	mDOMDocument = nsnull;
>+	SetDOMNode(nsnull);
>+	// Store the new ones:
>+	mDOMDocument = do_QueryInterface(native);
>+	nsCOMPtr<nsIDOMNode> nativeAsNode = do_QueryInterface(native);
>+	SetDOMNode(nativeAsNode);
> }
> 
>-
> ///////////////////////////////////////////////////////////////////////////////
> // IHTMLDocument methods
> 
>@@ -310,13 +330,46 @@
> 
> HRESULT STDMETHODCALLTYPE CIEHtmlDocument::put_designMode(BSTR v)
> {
>-    return E_NOTIMPL;
>+	static NS_NAMED_LITERAL_STRING(strDesignModeOn,"On");
>+	static NS_NAMED_LITERAL_STRING(strDesignModeOff,"Off");
>+	static NS_NAMED_LITERAL_STRING(strDesignModeInherit,"Inherit");
>+	
>+	nsDependentString strV = nsDependentString(v);
>+
>+	NG_TRACE_METHOD(CIEHtmlDocument::put_designMode);
>+
>+	if (mControl == NULL)
>+		return E_UNEXPECTED;
>+	if ((strV == strDesignModeOff ||
>+		strV == strDesignModeInherit))
>+		mControl->SetEditorMode(FALSE);
>+	else
>+		if (strV == strDesignModeOn)
>+			mControl->SetEditorMode(TRUE);
>+		else
>+			return E_INVALIDARG;
>+
>+    return S_OK;
> }
> 
> 
> HRESULT STDMETHODCALLTYPE CIEHtmlDocument::get_designMode(BSTR __RPC_FAR *p)
> {
>-    *p = NULL;
>+	static NS_NAMED_LITERAL_STRING(strDesignModeOn,"On");
>+	static NS_NAMED_LITERAL_STRING(strDesignModeOff,"Off");
>+
>+    if (p == NULL)
>+		return E_INVALIDARG;
>+	*p = NULL;
>+
>+	if (mControl == NULL)
>+		return E_UNEXPECTED;
>+
>+	BOOL bIsEditorMode = false;
>+	mControl->GetEditorMode(bIsEditorMode);
>+	*p = SysAllocString(bIsEditorMode? strDesignModeOn.get(): strDesignModeOff.get()); 
>+    return p ? S_OK : E_OUTOFMEMORY;
>+
>     return E_NOTIMPL;
> }
> 
>@@ -1080,4 +1133,3 @@
>     }
>     return hr;
> }
>-
>Index: control/IEHtmlDocument.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/IEHtmlDocument.h,v
>retrieving revision 1.10
>diff -u -r1.10 IEHtmlDocument.h
>--- control/IEHtmlDocument.h	28 Sep 2003 21:17:24 -0000	1.10
>+++ control/IEHtmlDocument.h	29 Jan 2004 10:21:16 -0000
>@@ -44,15 +44,24 @@
> 
> #include "IEHtmlNode.h"
> 
>+#include "MozillaHtml.h"
>+#include "MozillaHtmlCP.h"
>+
> class CMozillaBrowser;
> 
> class CIEHtmlDocument :
>     public CIEHtmlNode,
>-    public IDispatchImpl<IHTMLDocument2, &IID_IHTMLDocument2, &LIBID_MSHTML, 4, 0>,
>-    public IOleCommandTarget
>+    public IDispatchImpl<IHTMLDocument2, &IID_IHTMLDocument2, &LIBID_MOZILLAHTMLLib, 1, 0>,
>+    public IOleCommandTarget,
>+    public IConnectionPointContainerImpl<CIEHtmlDocument>,
>+	public CProxyHTMLDocumentEvents<CIEHtmlDocument>,
>+	//public IOleInPlaceObjectWindowlessImpl<CIEHtmlDocument>
>+	public CComCoClass<CIEHtmlDocument, &CLSID_HTMLDocument>
>+	//public CComObjectRootEx<CComSingleThreadModel> See CIEHtmlNode definition
> {
> public:
>     CIEHtmlDocument();
>+	HRESULT FinalConstruct();
> protected:
>     virtual ~CIEHtmlDocument();
> 
>@@ -64,14 +73,21 @@
> 
> public:
>     virtual void SetParent(CMozillaBrowser *parent);
>-    virtual void SetNative(nsIDOMHTMLDocument *native);
>+    virtual void SetNative(nsIDOMDocument *native);
>+
>+DECLARE_REGISTRY_RESOURCEID(IDR_MOZILLAHTML)
> 
> BEGIN_COM_MAP(CIEHtmlDocument)
>     COM_INTERFACE_ENTRY_IID(IID_IDispatch, IHTMLDocument2)
>     COM_INTERFACE_ENTRY_IID(IID_IHTMLDocument, IHTMLDocument2)
>     COM_INTERFACE_ENTRY_IID(IID_IHTMLDocument2, IHTMLDocument2)
>     COM_INTERFACE_ENTRY(IOleCommandTarget)
>+	COM_INTERFACE_ENTRY(IConnectionPointContainer)
> END_COM_MAP()
>+
>+BEGIN_CONNECTION_POINT_MAP(CIEHtmlDocument)
>+	CONNECTION_POINT_ENTRY(DIID_HTMLDocumentEvents)
>+END_CONNECTION_POINT_MAP()
> 
>     // IOleCommandTarget methods
>     virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID __RPC_FAR *pguidCmdGroup, ULONG cCmds, OLECMD __RPC_FAR prgCmds[], OLECMDTEXT __RPC_FAR *pCmdText);
>Index: control/Makefile.in
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/Makefile.in,v
>retrieving revision 1.25
>diff -u -r1.25 Makefile.in
>--- control/Makefile.in	28 Sep 2003 21:17:24 -0000	1.25
>+++ control/Makefile.in	29 Jan 2004 10:21:16 -0000
>@@ -72,6 +72,7 @@
>     PromptService.cpp      \
>     HelperAppDlg.cpp       \
>     WindowCreator.cpp      \
>+    HtmlDomAction.cpp	\
>     $(NULL)
> 
> 
>@@ -108,7 +109,7 @@
> 
> LOCAL_INCLUDES += -I.
> 
>-export:: $(DEFFILE) done_gen
>+export:: $(DEFFILE) done_gen done_gen1 done_gen2
> 
> $(DEFFILE): mkctldef.sh
> 	$(srcdir)/mkctldef.sh $@
>@@ -116,6 +117,12 @@
> done_gen: MozillaControl.idl
> 	$(MIDL) $(MIDL_FLAGS) /Oicf /h MozillaControl.h /iid MozillaControl_i.c $(srcdir)/MozillaControl.idl
> 	touch $@
>+done_gen1: MozillaHtml.idl
>+	$(MIDL) $(MIDL_FLAGS) /Oicf /h MozillaHtml.h /iid MozillaHtml_i.c $(srcdir)/MozillaHtml.idl
>+	touch $@
>+done_gen2: MozillaHtmHst.idl
>+	$(MIDL) $(MIDL_FLAGS) /Oicf /h MozillaHtmHst.h /iid MozillaHtmHst_i.c $(srcdir)/MozillaHtmHst.idl
>+	touch $@
> 
>-$(MIDL_GENERATED_FILES): done_gen
>+$(MIDL_GENERATED_FILES): done_gen done_gen1 done_gen2
> 
>Index: control/MozillaBrowser.cpp
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/MozillaBrowser.cpp,v
>retrieving revision 1.99
>diff -u -r1.99 MozillaBrowser.cpp
>--- control/MozillaBrowser.cpp	28 Sep 2003 21:17:24 -0000	1.99
>+++ control/MozillaBrowser.cpp	29 Jan 2004 10:21:17 -0000
>@@ -74,6 +74,11 @@
> 
> #include "nsEmbedAPI.h"
> 
>+#include "nsPIDOMWindow.h"
>+#include "nsIDOMWindowInternal.h"
>+#include "nsIChromeEventHandler.h"
>+#include "HtmlDomAction.h"
>+
> #define HACK_NON_REENTRANCY
> #ifdef HACK_NON_REENTRANCY
> static HANDLE s_hHackedNonReentrancy = NULL;
>@@ -180,6 +185,8 @@
>     mBrowserHelperList = NULL;
>     mBrowserHelperListCount = 0;
> 
>+	m_pMozCtlDOMMouseListener = NULL;
>+
>     // Initialise the web browser
>     Initialize();
> }
>@@ -1107,10 +1114,39 @@
>     return S_OK;
> }
> 
>+HRESULT CMozillaBrowser::AddDomMouseListener() {
>+	//Navigates the tricky path from a |nsWebBrowser| to
>+	// a |nsIDOMEventReceiver| via the window root and chrome event handler
>+	nsCOMPtr<nsIDOMWindow> domWindow;
>+	mWebBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
>+	if (!domWindow)
>+		return E_FAIL;
>+	nsCOMPtr<nsPIDOMWindow> domWindowPrivate = do_QueryInterface(domWindow);
>+	if (!domWindowPrivate)
>+		return E_FAIL;
>+	nsCOMPtr<nsIDOMWindowInternal> rootWindow;
>+	domWindowPrivate->GetPrivateRoot(getter_AddRefs(rootWindow));
>+	if (!rootWindow)
>+		return E_FAIL;
>+	nsCOMPtr<nsPIDOMWindow> piWin(do_QueryInterface(rootWindow));
>+	if (!piWin)
>+		return E_FAIL;
>+	nsCOMPtr<nsIChromeEventHandler> chromeHandler;
>+	piWin->GetChromeEventHandler(getter_AddRefs(chromeHandler));
>+	if (!chromeHandler)
>+		return E_FAIL;
>+	mDOMEventReceiver = do_QueryInterface(chromeHandler);
>+	if (!mDOMEventReceiver)
>+		return E_FAIL;
>+	//Now we can add a MouseListener:
>+	m_pMozCtlDOMMouseListener = new CMozCtlDOMMouseListener(this);
>+	mDOMEventReceiver->AddEventListenerByIID(m_pMozCtlDOMMouseListener, NS_GET_IID(nsIDOMMouseListener));
>+	return S_OK;
>+}
> 
> // Create and initialise the web browser
> HRESULT CMozillaBrowser::CreateBrowser() 
>-{    
>+{	
>     NG_TRACE_METHOD(CMozillaBrowser::CreateBrowser);
>     
>     if (mWebBrowser != nsnull)
>@@ -1179,6 +1215,9 @@
>     // Visible
>     mWebBrowserAsWin->SetVisibility(PR_TRUE);
> 
>+	//Add a MouseListener
>+	AddDomMouseListener();
>+
>     // Activated
>     nsCOMPtr<nsIWebBrowserFocus> browserAsFocus = do_QueryInterface(mWebBrowser);
>     browserAsFocus->Activate();
>@@ -1200,6 +1239,8 @@
> {
>     // TODO unregister drop target
> 
>+	mDOMEventReceiver->RemoveEventListenerByIID(m_pMozCtlDOMMouseListener, NS_GET_IID(nsIDOMMouseListener));
>+
>     mValidBrowserFlag = FALSE;
> 
>     // Remove browser from browser list
>@@ -1246,11 +1287,43 @@
>     if (NS_FAILED(rv))
>         return E_FAIL;
> 
>-    rv = mEditingSession->MakeWindowEditable(domWindow, "html", PR_FALSE);
>- 
>+	if (bEnabled) {
>+		rv = mEditingSession->MakeWindowEditable(domWindow, "html", PR_FALSE);
>+		if (NS_FAILED(rv))
>+			return E_FAIL;
>+	} else {
>+		// To do
>+		/*rv = mEditingSession->TearDownEditorOnWindow(domWindow);
>+		if (NS_FAILED(rv))
>+			return E_FAIL;
>+		PRBool isEditable;
>+		rv = mEditingSession->WindowIsEditable(domWindow, &isEditable);*/
>+	}
>+
>     return S_OK;
> }
> 
>+HRESULT CMozillaBrowser::GetEditorMode(BOOL& bEnabled)
>+{
>+    NG_TRACE_METHOD(CMozillaBrowser::GetEditorMode);
>+
>+    if (!mEditingSession || !mCommandManager)
>+        return E_FAIL;
>+  
>+    nsCOMPtr<nsIDOMWindow> domWindow;
>+    nsresult rv = GetDOMWindow(getter_AddRefs(domWindow));
>+    if (NS_FAILED(rv))
>+        return E_FAIL;
>+
>+	PRBool isEditable;
>+    rv = mEditingSession->WindowIsEditable(domWindow, &isEditable);
>+    if (NS_FAILED(rv))
>+        return E_FAIL;
>+
>+	bEnabled = isEditable;
>+ 
>+    return S_OK;
>+}
> 
> HRESULT CMozillaBrowser::OnEditorCommand(DWORD nCmdID)
> {
>@@ -1760,34 +1833,30 @@
>     }
> 
>     if (mIERootDocument == NULL)
>-     {    
>-        nsCOMPtr <nsIDOMHTMLDocument> pIDOMHTMLDocument =
>-                do_QueryInterface(pIDOMDocument);
>-
>+    {		
>         if (!pIDOMDocument)
>         {
>             return SetErrorInfo(E_FAIL, L"get_Document: not HTML");
>         }
>-
>-         CIEHtmlDocumentInstance::CreateInstance(&mIERootDocument);
>-          if (mIERootDocument == NULL)
>-         {
>+		
>+        CIEHtmlDocumentInstance::CreateInstance(&mIERootDocument);
>+        if (mIERootDocument == NULL)
>+        {
>             return SetErrorInfo(E_OUTOFMEMORY, L"get_Document: can't create IERootDocument");
>-         }
>-         
>+        }
>+		
>         // addref it so it doesn't go away on us.
>-         mIERootDocument->AddRef();
>- 
>-         // give it a pointer to us.  note that we shouldn't be addref'd by this call, or it would be 
>-         // a circular reference.
>-         mIERootDocument->SetParent(this);
>-        mIERootDocument->SetDOMNode(pIDOMDocument);
>-        mIERootDocument->SetNative(pIDOMHTMLDocument);
>+        mIERootDocument->AddRef();
>+		
>+        // give it a pointer to us.  note that we shouldn't be addref'd by this call, or it would be 
>+        // a circular reference.
>+        mIERootDocument->SetParent(this);
>+        mIERootDocument->SetNative(pIDOMDocument);
>     }
>-
>+	
>     mIERootDocument->QueryInterface(IID_IDispatch, (void **) ppDisp);
>-    pIDOMDocument->Release();
>-
>+	pIDOMDocument->Release();
>+	
>     return S_OK;
> }
> 
>Index: control/MozillaBrowser.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/MozillaBrowser.h,v
>retrieving revision 1.31
>diff -u -r1.31 MozillaBrowser.h
>--- control/MozillaBrowser.h	28 Sep 2003 21:17:24 -0000	1.31
>+++ control/MozillaBrowser.h	29 Jan 2004 10:21:17 -0000
>@@ -68,6 +68,8 @@
> class CWebBrowserContainer;
> class CPromptService;
> 
>+class CMozCtlDOMMouseListener;
>+
> /////////////////////////////////////////////////////////////////////////////
> // CMozillaBrowser
> class ATL_NO_VTABLE CMozillaBrowser : 
>@@ -384,6 +386,8 @@
>     // List of registered browser helper objects
>     CComUnkPtr             *mBrowserHelperList;
>     ULONG                   mBrowserHelperListCount;
>+	
>+	nsCOMPtr<nsIDOMEventReceiver> mDOMEventReceiver;
> 
>     virtual HRESULT Initialize();
>     virtual HRESULT Terminate();
>@@ -391,13 +395,14 @@
>     virtual HRESULT DestroyBrowser();
>     virtual HRESULT SetStartupErrorMessage(UINT nStringID);
>     virtual HRESULT GetDOMDocument(nsIDOMDocument **pDocument);
>-    virtual HRESULT SetEditorMode(BOOL bEnabled);
>     virtual HRESULT OnEditorCommand(DWORD nCmdID);
>     virtual HRESULT PrintDocument(BOOL promptUser);
> 
>     virtual HRESULT LoadBrowserHelpers();
>     virtual HRESULT UnloadBrowserHelpers();
> 
>+	virtual HRESULT AddDomMouseListener();
>+
>     // User interface methods
>     virtual int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption = _T(""), UINT nType = MB_OK);
>     virtual void ShowContextMenu(PRUint32 aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode);
>@@ -405,6 +410,8 @@
>     virtual void NextDlgControl();
>     virtual void PrevDlgControl();
> 
>+	CMozCtlDOMMouseListener* m_pMozCtlDOMMouseListener;
>+
> public:
> // IOleObjectImpl overrides
>     HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect);
>@@ -425,6 +432,9 @@
>     virtual HRESULT STDMETHODCALLTYPE get_Document(IDispatch __RPC_FAR *__RPC_FAR *ppDisp);
>     virtual HRESULT STDMETHODCALLTYPE get_RegisterAsDropTarget(VARIANT_BOOL __RPC_FAR *pbRegister);
>     virtual HRESULT STDMETHODCALLTYPE put_RegisterAsDropTarget(VARIANT_BOOL bRegister);
>+	
>+    virtual HRESULT SetEditorMode(BOOL bEnabled);
>+	virtual HRESULT GetEditorMode(BOOL& bEnabled);
> 
> public:
>     HRESULT OnDraw(ATL_DRAWINFO& di);
>Index: control/MozillaControl.cpp
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/MozillaControl.cpp,v
>retrieving revision 1.9
>diff -u -r1.9 MozillaControl.cpp
>--- control/MozillaControl.cpp	28 Sep 2003 21:17:24 -0000	1.9
>+++ control/MozillaControl.cpp	29 Jan 2004 10:21:17 -0000
>@@ -52,10 +52,14 @@
> #include "MozillaControl_i.c"
> #include "MozillaBrowser.h"
> 
>+#include "MozillaHtml.h"
>+#include "MozillaHtml_i.c"
>+
> CComModule _Module;
> 
> BEGIN_OBJECT_MAP(ObjectMap)
>     OBJECT_ENTRY(CLSID_MozillaBrowser, CMozillaBrowser)
>+    OBJECT_ENTRY(CLSID_HTMLDocument, CIEHtmlDocument)
> END_OBJECT_MAP()
> 
> /////////////////////////////////////////////////////////////////////////////
>Index: control/MozillaControl.dsp
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/MozillaControl.dsp,v
>retrieving revision 1.11
>diff -u -r1.11 MozillaControl.dsp
>--- control/MozillaControl.dsp	28 Sep 2003 21:19:45 -0000	1.11
>+++ control/MozillaControl.dsp	29 Jan 2004 10:21:18 -0000
>@@ -98,6 +98,10 @@
> # End Source File
> # Begin Source File
> 
>+SOURCE=.\HtmlDomAction.cpp
>+# End Source File
>+# Begin Source File
>+
> SOURCE=.\IEHtmlDocument.cpp
> # End Source File
> # Begin Source File
>@@ -114,6 +118,10 @@
> # End Source File
> # Begin Source File
> 
>+SOURCE=.\MozillaHtml.idl
>+# End Source File
>+# Begin Source File
>+
> SOURCE=.\PromptService.cpp
> # End Source File
> # Begin Source File
>@@ -162,6 +170,10 @@
> # End Source File
> # Begin Source File
> 
>+SOURCE=.\HtmlDomAction.h
>+# End Source File
>+# Begin Source File
>+
> SOURCE=.\IEHtmlDocument.h
> # End Source File
> # Begin Source File
>@@ -170,6 +182,10 @@
> # End Source File
> # Begin Source File
> 
>+SOURCE=.\MozillaHtmlCP.h
>+# End Source File
>+# Begin Source File
>+
> SOURCE=.\PromptService.h
> # End Source File
> # Begin Source File
>@@ -207,6 +223,10 @@
> # Begin Source File
> 
> SOURCE=.\MozillaControl.rc
>+# End Source File
>+# Begin Source File
>+
>+SOURCE=.\MozillaHtml.rgs
> # End Source File
> # End Group
> # Begin Group "Common Source Files"
>Index: control/StdAfx.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/StdAfx.h,v
>retrieving revision 1.27
>diff -u -r1.27 StdAfx.h
>--- control/StdAfx.h	28 Sep 2003 21:17:24 -0000	1.27
>+++ control/StdAfx.h	29 Jan 2004 10:21:18 -0000
>@@ -130,8 +130,6 @@
> extern CComModule _Module;
> #include <atlcom.h>
> #include <atlctl.h>
>-#include <mshtml.h>
>-#include <mshtmhst.h>
> #include <docobj.h>
> 
> // STL headers
>@@ -154,6 +152,8 @@
> #include "DHTMLCmdIds.h"
> 
> #include "MozillaControl.h"
>+#include "MozillaHtml.h"
>+#include "MozillaHtmHst.h"
> #include "PropertyList.h"
> #include "PropertyBag.h"
> #include "ItemContainer.h"
>Index: control/resource.h
>===================================================================
>RCS file: /cvsroot/mozilla/embedding/browser/activex/src/control/resource.h,v
>retrieving revision 1.5
>diff -u -r1.5 resource.h
>--- control/resource.h	18 Jun 2002 20:47:40 -0000	1.5
>+++ control/resource.h	29 Jan 2004 10:21:18 -0000
>@@ -30,6 +30,7 @@
> #define IDC_VALUE                       213
> #define IDD_PROGRESS                    213
> #define IDC_USERNAME                    214
>+#define IDR_MOZILLAHTML                 214
> #define IDC_PASSWORD                    215
> #define IDC_CHOOSE                      218
> #define IDC_URL                         222
>@@ -89,7 +90,7 @@
> // 
> #ifdef APSTUDIO_INVOKED
> #ifndef APSTUDIO_READONLY_SYMBOLS
>-#define _APS_NEXT_RESOURCE_VALUE        214
>+#define _APS_NEXT_RESOURCE_VALUE        215
> #define _APS_NEXT_COMMAND_VALUE         32792
> #define _APS_NEXT_CONTROL_VALUE         228
> #define _APS_NEXT_SYMED_VALUE           102
(Reporter)

Comment 6

14 years ago
MozillaHtml.idl should be in /common, not in /control

Comment 7

13 years ago
4xp 

Comment 8

13 years ago
asdfasdfasdfsewer  2,sasdfasdfasdfsewer  2,sasdfasdfasdfsewer  
2,sasdfasdfasdfsewer  2,sasdfasdfasdfsewer  2,sasdfasdfasdfsewer  
2,sasdfasdfasdfsewer  2,s

Comment 9

13 years ago
zgcui@126.com: err, what are you doing? please stop that.
This is an automated message, with ID "auto-resolve01".

This bug has had no comments for a long time. Statistically, we have found that
bug reports that have not been confirmed by a second user after three months are
highly unlikely to be the source of a fix to the code.

While your input is very important to us, our resources are limited and so we
are asking for your help in focussing our efforts. If you can still reproduce
this problem in the latest version of the product (see below for how to obtain a
copy) or, for feature requests, if it's not present in the latest version and
you still believe we should implement it, please visit the URL of this bug
(given at the top of this mail) and add a comment to that effect, giving more
reproduction information if you have it.

If it is not a problem any longer, you need take no action. If this bug is not
changed in any way in the next two weeks, it will be automatically resolved.
Thank you for your help in this matter.

The latest beta releases can be obtained from:
Firefox:     http://www.mozilla.org/projects/firefox/
Thunderbird: http://www.mozilla.org/products/thunderbird/releases/1.5beta1.html
Seamonkey:   http://www.mozilla.org/projects/seamonkey/
This bug has been automatically resolved after a period of inactivity (see above
comment). If anyone thinks this is incorrect, they should feel free to reopen it.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → EXPIRED
Component: Embedding: ActiveX Wrapper → Embedding: ActiveX Wrapper
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.