NS_IMETHODIMP
nsContentDLF::CreateInstanceForDocument(nsISupports* aContainer,
                                        nsIDocument* aDocument,
                                        const char *aCommand,
                                        nsIContentViewer** aContentViewer)
{
  nsCOMPtr<nsIContentViewer> contentViewer;
  nsresult rv = NS_NewContentViewer(getter_AddRefs(contentViewer));
  NS_ENSURE_SUCCESS(rv, rv);

  // Bind the document to the Content Viewer
  rv = contentViewer->LoadStart(aDocument);
  contentViewer.forget(aContentViewer);
  return rv;
}
NS_IMETHODIMP
nsContentDLF::CreateInstanceForDocument(nsISupports* aContainer,
                                        nsIDocument* aDocument,
                                        const char *aCommand,
                                        nsIContentViewer** aContentViewer)
{
  MOZ_ASSERT(aDocument);

  nsCOMPtr<nsIContentViewer> contentViewer = NS_NewContentViewer();

  // Bind the document to the Content Viewer
  contentViewer->LoadStart(aDocument);
  contentViewer.forget(aContentViewer);
  return NS_OK;
}
Example #3
0
nsresult
nsContentDLF::CreateDocument(const char* aCommand,
                             nsIChannel* aChannel,
                             nsILoadGroup* aLoadGroup,
                             nsISupports* aContainer,
                             const nsCID& aDocumentCID,
                             nsIStreamListener** aDocListener,
                             nsIContentViewer** aContentViewer)
{
    NS_TIME_FUNCTION;

    nsresult rv = NS_ERROR_FAILURE;

    nsCOMPtr<nsIURI> aURL;
    rv = aChannel->GetURI(getter_AddRefs(aURL));
    if (NS_FAILED(rv)) return rv;

#ifdef NOISY_CREATE_DOC
    if (nullptr != aURL) {
        nsAutoString tmp;
        aURL->ToString(tmp);
        fputs(NS_LossyConvertUTF16toASCII(tmp).get(), stdout);
        printf(": creating document\n");
    }
#endif

    // Create the document
    nsCOMPtr<nsIDocument> doc = do_CreateInstance(aDocumentCID, &rv);
    NS_ENSURE_SUCCESS(rv, rv);

    // Create the content viewer  XXX: could reuse content viewer here!
    nsCOMPtr<nsIContentViewer> contentViewer;
    rv = NS_NewContentViewer(getter_AddRefs(contentViewer));
    NS_ENSURE_SUCCESS(rv, rv);

    doc->SetContainer(aContainer);

    // Initialize the document to begin loading the data.  An
    // nsIStreamListener connected to the parser is returned in
    // aDocListener.
    rv = doc->StartDocumentLoad(aCommand, aChannel, aLoadGroup, aContainer, aDocListener, true);
    NS_ENSURE_SUCCESS(rv, rv);

    // Bind the document to the Content Viewer
    rv = contentViewer->LoadStart(doc);
    contentViewer.forget(aContentViewer);
    return rv;
}
Example #4
0
nsresult
nsContentDLF::CreateXULDocument(const char* aCommand,
                                nsIChannel* aChannel,
                                nsILoadGroup* aLoadGroup,
                                const char* aContentType,
                                nsISupports* aContainer,
                                nsISupports* aExtraInfo,
                                nsIStreamListener** aDocListener,
                                nsIContentViewer** aContentViewer)
{
    NS_TIME_FUNCTION;

    nsresult rv;
    nsCOMPtr<nsIDocument> doc = do_CreateInstance(kXULDocumentCID, &rv);
    if (NS_FAILED(rv)) return rv;

    nsCOMPtr<nsIContentViewer> contentViewer;
    rv = NS_NewContentViewer(getter_AddRefs(contentViewer));
    if (NS_FAILED(rv)) return rv;

    nsCOMPtr<nsIURI> aURL;
    rv = aChannel->GetURI(getter_AddRefs(aURL));
    if (NS_FAILED(rv)) return rv;

    /*
     * Initialize the document to begin loading the data...
     *
     * An nsIStreamListener connected to the parser is returned in
     * aDocListener.
     */

    doc->SetContainer(aContainer);

    rv = doc->StartDocumentLoad(aCommand, aChannel, aLoadGroup, aContainer, aDocListener, true);
    if (NS_FAILED(rv)) return rv;

    /*
     * Bind the document to the Content Viewer...
     */
    rv = contentViewer->LoadStart(doc);
    contentViewer.forget(aContentViewer);
    return rv;
}