зеркало из https://github.com/mozilla/gecko-dev.git
- Implemented GetContentViewerContainer() in the nsDocLoaderImpl() object.
- Added charset parameters to LoadDocument(), a method defined in nsIWebShellServices
This commit is contained in:
Родитель
defad4500b
Коммит
9030c63eb2
|
@ -245,7 +245,9 @@ public:
|
|||
NS_IMETHOD FocusAvailable(nsIWebShell* aFocusedWebShell, PRBool& aFocusTaken);
|
||||
|
||||
// nsIWebShellServices
|
||||
NS_IMETHOD LoadDocument(const char* aURL);
|
||||
NS_IMETHOD LoadDocument(const char* aURL,
|
||||
const char* aCharset,
|
||||
nsCharsetSource aSource);
|
||||
NS_IMETHOD StopDocumentLoad(void);
|
||||
NS_IMETHOD SetRendering(PRBool aRender);
|
||||
|
||||
|
@ -1938,7 +1940,9 @@ nsWebShell::FocusAvailable(nsIWebShell* aFocusedWebShell, PRBool& aFocusTaken)
|
|||
// Web Shell Services API
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWebShell::LoadDocument(const char* aURL)
|
||||
nsWebShell::LoadDocument(const char* aURL,
|
||||
const char* aCharset,
|
||||
nsCharsetSource aSource)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -1946,6 +1950,7 @@ nsWebShell::LoadDocument(const char* aURL)
|
|||
NS_IMETHODIMP
|
||||
nsWebShell::StopDocumentLoad(void)
|
||||
{
|
||||
Stop();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -2289,7 +2294,7 @@ nsWebShell::OnStartDocumentLoad(nsIDocumentLoader* loader,
|
|||
|
||||
nsIDocumentViewer* docViewer;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
|
||||
if (nsnull != mScriptGlobal) {
|
||||
if (nsnull != mContentViewer &&
|
||||
NS_OK == mContentViewer->QueryInterface(kIDocumentViewerIID, (void**)&docViewer)) {
|
||||
|
|
|
@ -51,6 +51,8 @@
|
|||
#include "nsICSSParser.h"
|
||||
#include "nsICSSStyleSheet.h"
|
||||
#include "nsLayoutCID.h"
|
||||
#include "nsIPresShell.h"
|
||||
#include "nsIPresContext.h"
|
||||
|
||||
#include "nsRDFCID.h"
|
||||
#include "nsIXULParentDocument.h"
|
||||
|
@ -81,17 +83,19 @@ PRLogModuleInfo* gDocLoaderLog = nsnull;
|
|||
|
||||
|
||||
/* Define IIDs... */
|
||||
NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderFactoryIID, NS_IDOCUMENTLOADERFACTORY_IID);
|
||||
NS_DEFINE_IID(kDocumentBindInfoIID, NS_DOCUMENTBINDINFO_IID);
|
||||
NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID);
|
||||
NS_DEFINE_IID(kRefreshURLIID, NS_IREFRESHURL_IID);
|
||||
NS_DEFINE_IID(kHTTPURLIID, NS_IHTTPURL_IID);
|
||||
NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID);
|
||||
NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
|
||||
NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
||||
NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderFactoryIID, NS_IDOCUMENTLOADERFACTORY_IID);
|
||||
NS_DEFINE_IID(kDocumentBindInfoIID, NS_DOCUMENTBINDINFO_IID);
|
||||
NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID);
|
||||
NS_DEFINE_IID(kRefreshURLIID, NS_IREFRESHURL_IID);
|
||||
NS_DEFINE_IID(kHTTPURLIID, NS_IHTTPURL_IID);
|
||||
NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID);
|
||||
NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
|
||||
NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
||||
NS_DEFINE_IID(kIContentViewerContainerIID, NS_ICONTENT_VIEWER_CONTAINER_IID);
|
||||
|
||||
|
||||
/* Define CIDs... */
|
||||
NS_DEFINE_IID(kCHTMLDocumentCID, NS_HTMLDOCUMENT_CID);
|
||||
|
@ -1254,8 +1258,31 @@ NS_IMETHODIMP
|
|||
nsDocLoaderImpl::GetContentViewerContainer(PRUint32 aDocumentID,
|
||||
nsIContentViewerContainer** aResult)
|
||||
{
|
||||
*aResult = nsnull;
|
||||
return NS_OK;
|
||||
nsISupports* base = (nsISupports*) aDocumentID;
|
||||
nsIDocument* doc;
|
||||
nsresult rv;
|
||||
|
||||
rv = base->QueryInterface(kIDocumentIID, (void**)&doc);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsIPresShell* pres;
|
||||
pres = doc->GetShellAt(0);
|
||||
if (nsnull != pres) {
|
||||
nsIPresContext* presContext;
|
||||
rv = pres->GetPresContext(&presContext);
|
||||
if (NS_SUCCEEDED(rv) && nsnull != presContext) {
|
||||
nsISupports* supp;
|
||||
rv = presContext->GetContainer(&supp);
|
||||
if (NS_SUCCEEDED(rv) && nsnull != supp) {
|
||||
rv = supp->QueryInterface(kIContentViewerContainerIID, (void**)aResult);
|
||||
NS_RELEASE(supp);
|
||||
}
|
||||
NS_RELEASE(presContext);
|
||||
}
|
||||
NS_RELEASE(pres);
|
||||
}
|
||||
NS_RELEASE(doc);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -51,6 +51,8 @@
|
|||
#include "nsICSSParser.h"
|
||||
#include "nsICSSStyleSheet.h"
|
||||
#include "nsLayoutCID.h"
|
||||
#include "nsIPresShell.h"
|
||||
#include "nsIPresContext.h"
|
||||
|
||||
#include "nsRDFCID.h"
|
||||
#include "nsIXULParentDocument.h"
|
||||
|
@ -81,17 +83,19 @@ PRLogModuleInfo* gDocLoaderLog = nsnull;
|
|||
|
||||
|
||||
/* Define IIDs... */
|
||||
NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderFactoryIID, NS_IDOCUMENTLOADERFACTORY_IID);
|
||||
NS_DEFINE_IID(kDocumentBindInfoIID, NS_DOCUMENTBINDINFO_IID);
|
||||
NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID);
|
||||
NS_DEFINE_IID(kRefreshURLIID, NS_IREFRESHURL_IID);
|
||||
NS_DEFINE_IID(kHTTPURLIID, NS_IHTTPURL_IID);
|
||||
NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID);
|
||||
NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
|
||||
NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
||||
NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID);
|
||||
NS_DEFINE_IID(kIDocumentLoaderFactoryIID, NS_IDOCUMENTLOADERFACTORY_IID);
|
||||
NS_DEFINE_IID(kDocumentBindInfoIID, NS_DOCUMENTBINDINFO_IID);
|
||||
NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID);
|
||||
NS_DEFINE_IID(kRefreshURLIID, NS_IREFRESHURL_IID);
|
||||
NS_DEFINE_IID(kHTTPURLIID, NS_IHTTPURL_IID);
|
||||
NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID);
|
||||
NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
|
||||
NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
||||
NS_DEFINE_IID(kIContentViewerContainerIID, NS_ICONTENT_VIEWER_CONTAINER_IID);
|
||||
|
||||
|
||||
/* Define CIDs... */
|
||||
NS_DEFINE_IID(kCHTMLDocumentCID, NS_HTMLDOCUMENT_CID);
|
||||
|
@ -1254,8 +1258,31 @@ NS_IMETHODIMP
|
|||
nsDocLoaderImpl::GetContentViewerContainer(PRUint32 aDocumentID,
|
||||
nsIContentViewerContainer** aResult)
|
||||
{
|
||||
*aResult = nsnull;
|
||||
return NS_OK;
|
||||
nsISupports* base = (nsISupports*) aDocumentID;
|
||||
nsIDocument* doc;
|
||||
nsresult rv;
|
||||
|
||||
rv = base->QueryInterface(kIDocumentIID, (void**)&doc);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsIPresShell* pres;
|
||||
pres = doc->GetShellAt(0);
|
||||
if (nsnull != pres) {
|
||||
nsIPresContext* presContext;
|
||||
rv = pres->GetPresContext(&presContext);
|
||||
if (NS_SUCCEEDED(rv) && nsnull != presContext) {
|
||||
nsISupports* supp;
|
||||
rv = presContext->GetContainer(&supp);
|
||||
if (NS_SUCCEEDED(rv) && nsnull != supp) {
|
||||
rv = supp->QueryInterface(kIContentViewerContainerIID, (void**)aResult);
|
||||
NS_RELEASE(supp);
|
||||
}
|
||||
NS_RELEASE(presContext);
|
||||
}
|
||||
NS_RELEASE(pres);
|
||||
}
|
||||
NS_RELEASE(doc);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -245,7 +245,9 @@ public:
|
|||
NS_IMETHOD FocusAvailable(nsIWebShell* aFocusedWebShell, PRBool& aFocusTaken);
|
||||
|
||||
// nsIWebShellServices
|
||||
NS_IMETHOD LoadDocument(const char* aURL);
|
||||
NS_IMETHOD LoadDocument(const char* aURL,
|
||||
const char* aCharset,
|
||||
nsCharsetSource aSource);
|
||||
NS_IMETHOD StopDocumentLoad(void);
|
||||
NS_IMETHOD SetRendering(PRBool aRender);
|
||||
|
||||
|
@ -1938,7 +1940,9 @@ nsWebShell::FocusAvailable(nsIWebShell* aFocusedWebShell, PRBool& aFocusTaken)
|
|||
// Web Shell Services API
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWebShell::LoadDocument(const char* aURL)
|
||||
nsWebShell::LoadDocument(const char* aURL,
|
||||
const char* aCharset,
|
||||
nsCharsetSource aSource)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -1946,6 +1950,7 @@ nsWebShell::LoadDocument(const char* aURL)
|
|||
NS_IMETHODIMP
|
||||
nsWebShell::StopDocumentLoad(void)
|
||||
{
|
||||
Stop();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -2289,7 +2294,7 @@ nsWebShell::OnStartDocumentLoad(nsIDocumentLoader* loader,
|
|||
|
||||
nsIDocumentViewer* docViewer;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
|
||||
if (nsnull != mScriptGlobal) {
|
||||
if (nsnull != mContentViewer &&
|
||||
NS_OK == mContentViewer->QueryInterface(kIDocumentViewerIID, (void**)&docViewer)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче