// Test06.cpp
#include "nsPIDOMWindow.h"
#include "nsIDocShell.h"
#include "nsIBaseWindow.h"
#include "nsCOMPtr.h"
NS_DEF_PTR(nsPIDOMWindow);
NS_DEF_PTR(nsIBaseWindow);
/*
Windows :
nsCOMPtr_optimized 176
nsCOMPtr_as_found 181
nsCOMPtr_optimized * 182
nsCOMPtr02 * 184
nsCOMPtr02 187
nsCOMPtr02 * 188
nsCOMPtr03 189
raw_optimized , nsCOMPtr00 191
nsCOMPtr00 * 199
nsCOMPtr_as_found * 201
raw 214
Macintosh :
nsCOMPtr_optimized 300 ( 1 . 0000 )
nsCOMPtr02 320 ( 1 . 0667 ) i . e . , 6 . 67 % bigger than
nsCOMPtr_optimized nsCOMPtr00 328 ( 1 . 0933 ) raw_optimized ,
nsCOMPtr03 332 ( 1 . 1067 ) nsCOMPtr_as_found 344 ( 1 . 1467 ) raw
388 ( 1 . 2933 )
*/
void // nsresult
Test06_raw(nsIDOMWindow* aDOMWindow, nsIBaseWindow** aBaseWindow)
// m388, w214
{
// if (!aDOMWindow)
// return NS_ERROR_NULL_POINTER;
nsPIDOMWindow* window = 0 ;
nsresult status =
aDOMWindow->QueryInterface(NS_GET_IID(nsPIDOMWindow), (void **)&window);
nsIDocShell* docShell = 0 ;
if (window) window->GetDocShell(&docShell);
nsIWebShell* rootWebShell = 0 ;
NS_IF_RELEASE(rootWebShell);
NS_IF_RELEASE(docShell);
NS_IF_RELEASE(window);
// return status;
}
void // nsresult
Test06_raw_optimized(nsIDOMWindow* aDOMWindow, nsIBaseWindow** aBaseWindow)
// m332, w191
{
// if (!aDOMWindow)
// return NS_ERROR_NULL_POINTER;
(*aBaseWindow) = 0 ;
nsPIDOMWindow* window;
nsresult status =
aDOMWindow->QueryInterface(NS_GET_IID(nsPIDOMWindow), (void **)&window);
if (NS_SUCCEEDED(status)) {
nsIDocShell* docShell = 0 ;
window->GetDocShell(&docShell);
if (docShell) {
NS_RELEASE(docShell);
}
NS_RELEASE(window);
}
// return status;
}
void Test06_nsCOMPtr_as_found(nsIDOMWindow* aDOMWindow,
nsCOMPtr<nsIBaseWindow>* aBaseWindow)
// m344, w181/201
{
// if (!aDOMWindow)
// return;
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aDOMWindow);
nsCOMPtr<nsIDocShell> docShell;
if (window) window->GetDocShell(getter_AddRefs(docShell));
}
void // nsresult
Test06_nsCOMPtr00(nsIDOMWindow* aDOMWindow, nsIBaseWindow** aBaseWindow)
// m328, w191/199
{
// if (!aDOMWindow)
// return NS_ERROR_NULL_POINTER;
nsresult status;
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aDOMWindow, &status);
nsIDocShell* temp0 = 0 ;
if (window) window->GetDocShell(&temp0);
nsCOMPtr<nsIDocShell> docShell = dont_AddRef(temp0);
(*aBaseWindow) = 0 ;
// return status;
}
void // nsresult
Test06_nsCOMPtr_optimized(nsIDOMWindow* aDOMWindow,
nsCOMPtr<nsIBaseWindow>* aBaseWindow)
// m300, w176/182
{
// if (!aDOMWindow)
// return NS_ERROR_NULL_POINTER;
nsresult status;
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aDOMWindow, &status);
nsIDocShell* temp0 = 0 ;
if (window) window->GetDocShell(&temp0);
(*aBaseWindow) = do_QueryInterface(nullptr, &status);
// return status;
}
void // nsresult
Test06_nsCOMPtr02(nsIDOMWindow* aDOMWindow, nsIBaseWindow** aBaseWindow)
// m320, w187/184
{
// if (!aDOMWindow)
// return NS_ERROR_NULL_POINTER;
(*aBaseWindow) = 0 ;
nsresult status;
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aDOMWindow, &status);
if (window) {
nsIDocShell* temp0;
window->GetDocShell(&temp0);
}
// return status;
}
void // nsresult
Test06_nsCOMPtr03(nsIDOMWindow* aDOMWindow,
nsCOMPtr<nsIBaseWindow>* aBaseWindow)
// m332, w189/188
{
// if (!aDOMWindow)
// return NS_ERROR_NULL_POINTER;
(*aBaseWindow) = 0 ;
nsresult status;
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aDOMWindow, &status);
if (window) {
nsIDocShell* temp0;
window->GetDocShell(&temp0);
nsCOMPtr<nsIDocShell> docShell = dont_AddRef(temp0);
if (docShell) {
}
}
// return status;
}
Messung V0.5 in Prozent C=77 H=100 G=89
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland