version 1.17, 2002/02/09 01:24:11
|
version 1.22, 2002/02/25 08:44:17
|
Line 89 const char* dirServiceContractID = "@moz
|
Line 89 const char* dirServiceContractID = "@moz
|
|
|
class nsCocoaBrowserListener : public nsSupportsWeakReference, |
class nsCocoaBrowserListener : public nsSupportsWeakReference, |
public nsIInterfaceRequestor, |
public nsIInterfaceRequestor, |
public nsIWebBrowserChrome, | public nsIWebBrowserChrome, |
public nsIEmbeddingSiteWindow, | public nsIWindowCreator, |
| public nsIEmbeddingSiteWindow, |
public nsIWebProgressListener |
public nsIWebProgressListener |
{ |
{ |
public: |
public: |
Line 100 public:
|
Line 101 public:
|
NS_DECL_ISUPPORTS |
NS_DECL_ISUPPORTS |
NS_DECL_NSIINTERFACEREQUESTOR |
NS_DECL_NSIINTERFACEREQUESTOR |
NS_DECL_NSIWEBBROWSERCHROME |
NS_DECL_NSIWEBBROWSERCHROME |
|
NS_DECL_NSIWINDOWCREATOR |
NS_DECL_NSIEMBEDDINGSITEWINDOW |
NS_DECL_NSIEMBEDDINGSITEWINDOW |
NS_DECL_NSIWEBPROGRESSLISTENER |
NS_DECL_NSIWEBPROGRESSLISTENER |
|
|
Line 131 nsCocoaBrowserListener::~nsCocoaBrowserL
|
Line 133 nsCocoaBrowserListener::~nsCocoaBrowserL
|
} |
} |
} |
} |
|
|
NS_IMPL_ISUPPORTS5(nsCocoaBrowserListener, | NS_IMPL_ISUPPORTS6(nsCocoaBrowserListener, |
nsIInterfaceRequestor, |
nsIInterfaceRequestor, |
nsIWebBrowserChrome, |
nsIWebBrowserChrome, |
|
nsIWindowCreator, |
nsIEmbeddingSiteWindow, |
nsIEmbeddingSiteWindow, |
nsIWebProgressListener, |
nsIWebProgressListener, |
nsISupportsWeakReference) | nsISupportsWeakReference) |
|
|
// Implementation of nsIInterfaceRequestor |
// Implementation of nsIInterfaceRequestor |
NS_IMETHODIMP |
NS_IMETHODIMP |
Line 151 nsCocoaBrowserListener::GetInterface(con
|
Line 154 nsCocoaBrowserListener::GetInterface(con
|
return QueryInterface(aIID, aInstancePtr); |
return QueryInterface(aIID, aInstancePtr); |
} |
} |
|
|
|
// Implementation of nsIWindowCreator. The CocoaBrowserService forwards requests |
|
// for a new window that have a parent to us, and we take over from there. |
|
/* nsIWebBrowserChrome createChromeWindow (in nsIWebBrowserChrome parent, in PRUint32 chromeFlags); */ |
|
NS_IMETHODIMP |
|
nsCocoaBrowserListener::CreateChromeWindow(nsIWebBrowserChrome *parent, |
|
PRUint32 chromeFlags, |
|
nsIWebBrowserChrome **_retval) |
|
{ |
|
if (parent != this) { |
|
printf("Mismatch in nsCocoaBrowserListener::CreateChromeWindow. We should be the owning parent.\n"); |
|
return NS_ERROR_FAILURE; |
|
} |
|
|
|
NSBrowserView* childView = [mContainer createBrowserWindow: chromeFlags]; |
|
if (!childView) { |
|
printf("No NSBrowserView hooked up for a newly created window yet.\n"); |
|
return NS_ERROR_FAILURE; |
|
} |
|
|
|
nsCocoaBrowserListener* listener = [childView getCocoaBrowserListener]; |
|
if (!listener) { |
|
printf("Uh-oh! No listener yet for a newly created window (nsCocoaBrowserlistener)\n"); |
|
return NS_ERROR_FAILURE; |
|
} |
|
|
|
*_retval = listener; |
|
NS_IF_ADDREF(*_retval); |
|
return NS_OK; |
|
} |
|
|
// Implementation of nsIWebBrowserChrome |
// Implementation of nsIWebBrowserChrome |
/* void setStatus (in unsigned long statusType, in wstring status); */ |
/* void setStatus (in unsigned long statusType, in wstring status); */ |
NS_IMETHODIMP |
NS_IMETHODIMP |
Line 256 nsCocoaBrowserListener::ShowAsModal()
|
Line 289 nsCocoaBrowserListener::ShowAsModal()
|
} |
} |
|
|
mIsModal = PR_TRUE; |
mIsModal = PR_TRUE; |
int result = [NSApp runModalForWindow:window]; | //int result = [NSApp runModalForWindow:window]; |
mIsModal = PR_FALSE; |
mIsModal = PR_FALSE; |
|
|
return (nsresult)result; | return NS_OK; |
} |
} |
|
|
/* boolean isWindowModal (); */ |
/* boolean isWindowModal (); */ |
Line 277 nsCocoaBrowserListener::IsWindowModal(PR
|
Line 310 nsCocoaBrowserListener::IsWindowModal(PR
|
NS_IMETHODIMP |
NS_IMETHODIMP |
nsCocoaBrowserListener::ExitModalEventLoop(nsresult aStatus) |
nsCocoaBrowserListener::ExitModalEventLoop(nsresult aStatus) |
{ |
{ |
[NSApp stopModalWithCode:(int)aStatus]; | // [NSApp stopModalWithCode:(int)aStatus]; |
|
|
return NS_OK; |
return NS_OK; |
} |
} |
Line 564 nsCocoaBrowserListener::OnStatusChange(n
|
Line 597 nsCocoaBrowserListener::OnStatusChange(n
|
nsresult aStatus, |
nsresult aStatus, |
const PRUnichar *aMessage) |
const PRUnichar *aMessage) |
{ |
{ |
|
nsCAutoString msg; msg.AssignWithConversion(aMessage); |
|
|
|
NSString* str = [NSString stringWithCString:msg.get()]; |
|
|
|
NSEnumerator* enumerator = [mListeners objectEnumerator]; |
|
id obj; |
|
|
|
while ((obj = [enumerator nextObject])) { |
|
[obj onStatusChange: str]; |
|
} |
|
|
return NS_OK; |
return NS_OK; |
} |
} |
|
|
Line 923 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
Line 967 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
|
|
nsCocoaBrowserService::BrowserClosed(); |
nsCocoaBrowserService::BrowserClosed(); |
|
|
|
printf("NSBrowserView died.\n"); |
|
|
[super dealloc]; |
[super dealloc]; |
} |
} |
|
|
Line 1088 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
Line 1134 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
return url; |
return url; |
} |
} |
|
|
|
- (nsCocoaBrowserListener*)getCocoaBrowserListener |
|
{ |
|
return _listener; |
|
} |
|
|
- (nsIWebBrowser*)getWebBrowser |
- (nsIWebBrowser*)getWebBrowser |
{ |
{ |
NS_IF_ADDREF(_webBrowser); |
NS_IF_ADDREF(_webBrowser); |
Line 1172 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
Line 1223 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
print->Print(nsnull, nsnull); |
print->Print(nsnull, nsnull); |
} |
} |
|
|
-(void)printPreview |
|
{ |
|
nsCOMPtr<nsIDOMWindow> domWindow; |
|
_webBrowser->GetContentDOMWindow(getter_AddRefs(domWindow)); |
|
nsCOMPtr<nsIInterfaceRequestor> ir(do_QueryInterface(domWindow)); |
|
nsCOMPtr<nsIWebBrowserPrint> print; |
|
ir->GetInterface(NS_GET_IID(nsIWebBrowserPrint), getter_AddRefs(print)); |
|
print->PrintPreview(nsnull); |
|
} |
|
|
|
-(void)findInPage |
-(void)findInPage |
{ |
{ |
FindDlgController* findDialog = [[FindDlgController alloc] initWithWindowNibName: @"FindDialog"]; |
FindDlgController* findDialog = [[FindDlgController alloc] initWithWindowNibName: @"FindDialog"]; |
Line 1280 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
Line 1321 nsHeaderSniffer::OnSecurityChange(nsIWeb
|
clipboard->SelectAll(); |
clipboard->SelectAll(); |
} |
} |
|
|
|
-(NSString*)getCurrentURLSpec |
|
{ |
|
NSString* empty = @""; |
|
nsCOMPtr<nsIDOMWindow> domWindow; |
|
_webBrowser->GetContentDOMWindow(getter_AddRefs(domWindow)); |
|
if (!domWindow) |
|
return empty; |
|
|
|
nsCOMPtr<nsIDOMDocument> domDocument; |
|
domWindow->GetDocument(getter_AddRefs(domDocument)); |
|
if (!domDocument) |
|
return empty; |
|
nsCOMPtr<nsIDOMNSDocument> nsDoc(do_QueryInterface(domDocument)); |
|
if (!nsDoc) |
|
return empty; |
|
nsCOMPtr<nsIDOMLocation> location; |
|
nsDoc->GetLocation(getter_AddRefs(location)); |
|
if (!location) |
|
return empty; |
|
nsAutoString urlStr; |
|
location->GetHref(urlStr); |
|
nsCAutoString urlCStr; urlCStr.AssignWithConversion(urlStr); |
|
|
|
return [NSString stringWithCString: urlCStr.get()]; |
|
} |
|
|
|
- (void)setActive: (BOOL)aIsActive |
|
{ |
|
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser)); |
|
if (aIsActive) |
|
wbf->Activate(); |
|
else |
|
wbf->Deactivate(); |
|
} |
@end |
@end |
|
|