diff --git a/mozilla/xpfc/canvas/src/nsXPFCHTMLCanvas.cpp b/mozilla/xpfc/canvas/src/nsXPFCHTMLCanvas.cpp index 895e0a7318c..9ba729ab97e 100644 --- a/mozilla/xpfc/canvas/src/nsXPFCHTMLCanvas.cpp +++ b/mozilla/xpfc/canvas/src/nsXPFCHTMLCanvas.cpp @@ -24,14 +24,15 @@ #include "nsIFontMetrics.h" #include "nspr.h" #include "nsxpfcstrings.h" +#include "nsIStreamListener.h" static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kXPFCHTMLCanvasCID, NS_XPFC_HTML_CANVAS_CID); #define kNotFound -1 -#define DEFAULT_WIDTH 25 -#define DEFAULT_HEIGHT 25 +#define DEFAULT_WIDTH 400 +#define DEFAULT_HEIGHT 400 nsXPFCHTMLCanvas :: nsXPFCHTMLCanvas(nsISupports* outer) : nsXPFCCanvas(outer) { @@ -41,7 +42,10 @@ nsXPFCHTMLCanvas :: nsXPFCHTMLCanvas(nsISupports* outer) : nsXPFCCanvas(outer) nsXPFCHTMLCanvas :: ~nsXPFCHTMLCanvas() { - NS_IF_RELEASE(mWebShell); + if (nsnull != mWebShell) { + mWebShell->Destroy(); + NS_RELEASE(mWebShell); + } } nsresult nsXPFCHTMLCanvas::QueryInterface(REFNSIID aIID, void** aInstancePtr) @@ -87,6 +91,32 @@ nsresult nsXPFCHTMLCanvas :: Init() DEFAULT_WIDTH, DEFAULT_HEIGHT); + nsIWebShellContainer * container = nsnull; + + static NS_DEFINE_IID(kIWebShellContainerIID, NS_IWEB_SHELL_CONTAINER_IID); + static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); + + res = mWebShell->QueryInterface(kIWebShellContainerIID, (void**)&container); + + if (res == NS_OK) + { + //mWebShell->SetContainecontainer); + NS_RELEASE(container); + } + + nsIStreamObserver * observer = nsnull; + + res = mWebShell->QueryInterface(kIStreamObserverIID, (void**)&observer); + + if (res == NS_OK) + { + mWebShell->SetObserver(observer); + NS_RELEASE(observer); + } + + //mWebShell->SetPrefs(aPrefs); + mWebShell->SetBounds(0,0,400,400); + mWebShell->Show(); nsString url("about:blank"); diff --git a/mozilla/xpfc/shell/src/manifest.mn b/mozilla/xpfc/shell/src/manifest.mn index c51376a4272..254770f5dbb 100644 --- a/mozilla/xpfc/shell/src/manifest.mn +++ b/mozilla/xpfc/shell/src/manifest.mn @@ -26,5 +26,5 @@ CPPSRCS = \ nsStreamObject.cpp \ $(NULL) -REQUIRES = xpcom raptor pref js netlib +REQUIRES = dom xpcom raptor pref js netlib diff --git a/mozilla/xpfc/shell/src/nsShellInstance.cpp b/mozilla/xpfc/shell/src/nsShellInstance.cpp index 7c929a1b6a6..54acc13a467 100644 --- a/mozilla/xpfc/shell/src/nsShellInstance.cpp +++ b/mozilla/xpfc/shell/src/nsShellInstance.cpp @@ -48,6 +48,9 @@ #include "nsPluginsCID.h" #include "nsIDeviceContext.h" #include "nsINetService.h" +#include "nsDOMCID.h" +#include "nsLayoutCID.h" +#include "nsINetService.h" #ifdef NS_WIN32 #include "direct.h" @@ -112,6 +115,11 @@ nsresult nsShellInstance::Init() mPref->Startup(nsnull); + + res = NS_InitINetService((nsINetContainerApplication*) nsnull); + if (NS_OK != res) + return res; + // Create a Stream Manager res = nsRepository::CreateInstance(kCStreamManager, NULL, @@ -236,6 +244,8 @@ nsresult nsShellInstance::RegisterFactories() #define WEB_DLL "raptorweb.dll" #define PLUGIN_DLL "raptorplugin.dll" #define NETLIB_DLL "netlib.dll" + #define DOM_DLL "jsdom.dll" + #define LAYOUT_DLL "raptorhtml.dll" #else #define GFXWIN_DLL "libgfxunix.so" #define WIDGET_DLL "libwidgetunix.so" @@ -245,6 +255,8 @@ nsresult nsShellInstance::RegisterFactories() #define WEB_DLL "libraptorweb.so" #define PLUGIN_DLL "raptorplugin.so" #define NETLIB_DLL "netlib.so" + #define DOM_DLL "libjsdom.so" + #define LAYOUT_DLL "libraptorhtml.so" #endif @@ -289,6 +301,11 @@ nsresult nsShellInstance::RegisterFactories() static NS_DEFINE_IID(kCViewManagerCID, NS_VIEW_MANAGER_CID); static NS_DEFINE_IID(kCViewCID, NS_VIEW_CID); static NS_DEFINE_IID(kCScrollingViewCID, NS_SCROLLING_VIEW_CID); + static NS_DEFINE_IID(kCDOMScriptObjectFactory, NS_DOM_SCRIPT_OBJECT_FACTORY_CID); + static NS_DEFINE_IID(kCDOMNativeObjectRegistry, NS_DOM_NATIVE_OBJECT_REGISTRY_CID); + static NS_DEFINE_IID(kCHTMLDocument, NS_HTMLDOCUMENT_CID); + static NS_DEFINE_IID(kCImageDocument, NS_IMAGEDOCUMENT_CID); + static NS_DEFINE_IID(kCHTMLImageElementFactory, NS_HTMLIMAGEELEMENTFACTORY_CID); nsRepository::RegisterFactory(kCWindowCID, WIDGET_DLL, PR_FALSE, PR_FALSE); nsRepository::RegisterFactory(kCChildCID, WIDGET_DLL, PR_FALSE, PR_FALSE); @@ -319,6 +336,12 @@ nsresult nsShellInstance::RegisterFactories() nsRepository::RegisterFactory(kCViewCID, VIEW_DLL, PR_FALSE, PR_FALSE); nsRepository::RegisterFactory(kCScrollingViewCID, VIEW_DLL, PR_FALSE, PR_FALSE); + nsRepository::RegisterFactory(kCDOMScriptObjectFactory, DOM_DLL, PR_FALSE, PR_FALSE); + nsRepository::RegisterFactory(kCDOMNativeObjectRegistry, DOM_DLL, PR_FALSE, PR_FALSE); + nsRepository::RegisterFactory(kCHTMLDocument, LAYOUT_DLL, PR_FALSE, PR_FALSE); + nsRepository::RegisterFactory(kCImageDocument, LAYOUT_DLL, PR_FALSE, PR_FALSE); + nsRepository::RegisterFactory(kCHTMLImageElementFactory, LAYOUT_DLL, PR_FALSE, PR_FALSE); + nsRepository::RegisterFactory(kNetServiceCID, NETLIB_DLL, PR_FALSE, PR_FALSE); return NS_OK; diff --git a/mozilla/xpfc/shell/src/windows/manifest.mn b/mozilla/xpfc/shell/src/windows/manifest.mn index e5c29344de3..8f66e5b0d76 100644 --- a/mozilla/xpfc/shell/src/windows/manifest.mn +++ b/mozilla/xpfc/shell/src/windows/manifest.mn @@ -21,5 +21,5 @@ CPPSRCS = \ winmain.cpp \ $(NULL) -REQUIRES = xpcom raptor +REQUIRES = xpcom raptor dom