This commit is contained in:
hyatt%netscape.com 2002-04-28 22:53:27 +00:00
Родитель 8817311d8c
Коммит 68747a87d8
16 изменённых файлов: 152 добавлений и 8 удалений

Просмотреть файл

@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
- (IBAction)viewSource:(id)aSender - (IBAction)viewSource:(id)aSender
{ {
NSString* urlStr = [[mBrowserView getBrowserView] getFocusedURLString];
NSString* viewSource = [@"view-source:" stringByAppendingString: urlStr];
NSURL* urlToLoad = [NSURL URLWithString: viewSource];
PRBool loadInBackground;
nsCOMPtr<nsIPrefBranch> pref(do_GetService("@mozilla.org/preferences-service;1"));
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
} }
- (void)printDocument - (void)printDocument

Просмотреть файл

@ -159,6 +159,8 @@ enum {
- (nsCocoaBrowserListener*)getCocoaBrowserListener; - (nsCocoaBrowserListener*)getCocoaBrowserListener;
- (void)setWebBrowser:(nsIWebBrowser*)browser; - (void)setWebBrowser:(nsIWebBrowser*)browser;
- (NSString*)getFocusedURLString;
// given a point in window coordinates, find the Gecko event sink of the ChildView the // given a point in window coordinates, find the Gecko event sink of the ChildView the
// point is over. // point is over.
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind; - (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;

Просмотреть файл

@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
defaultFileName = mDefaultFilename; defaultFileName = mDefaultFilename;
} }
if (defaultFileName.IsEmpty()) if (defaultFileName.IsEmpty() && mURL)
// (5) Use the host. // (5) Use the host.
mURL->GetHost(defaultFileName); mURL->GetHost(defaultFileName);
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
filterList: aFilterList]; filterList: aFilterList];
} }
-(NSString*)getFocusedURLString
{
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
nsCOMPtr<nsIDOMWindow> domWindow;
wbf->GetFocusedWindow(getter_AddRefs(domWindow));
if (!domWindow)
_webBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
if (!domWindow)
return @"";
nsCOMPtr<nsIDOMDocument> domDocument;
domWindow->GetDocument(getter_AddRefs(domDocument));
if (!domDocument)
return @"";
nsCOMPtr<nsIDOMNSDocument> nsDoc(do_QueryInterface(domDocument));
if (!nsDoc)
return @"";
nsCOMPtr<nsIDOMLocation> location;
nsDoc->GetLocation(getter_AddRefs(location));
if (!location)
return @"";
nsAutoString urlStr;
location->GetHref(urlStr);
return [NSString stringWithCharacters: urlStr.get() length: nsCRT::strlen(urlStr.get())];
}
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
{ {
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser)); nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));

Просмотреть файл

@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
-(IBAction) viewSource:(id)aSender -(IBAction) viewSource:(id)aSender
{ {
NSWindow* mainWindow = [mApplication mainWindow]; NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] ) if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
[[mainWindow windowController] viewSource: self]; [[mainWindow windowController] viewSource: self];
} }

Просмотреть файл

@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
-(IBAction) viewSource:(id)aSender -(IBAction) viewSource:(id)aSender
{ {
NSWindow* mainWindow = [mApplication mainWindow]; NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] ) if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
[[mainWindow windowController] viewSource: self]; [[mainWindow windowController] viewSource: self];
} }

Просмотреть файл

@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
- (IBAction)viewSource:(id)aSender - (IBAction)viewSource:(id)aSender
{ {
NSString* urlStr = [[mBrowserView getBrowserView] getFocusedURLString];
NSString* viewSource = [@"view-source:" stringByAppendingString: urlStr];
NSURL* urlToLoad = [NSURL URLWithString: viewSource];
PRBool loadInBackground;
nsCOMPtr<nsIPrefBranch> pref(do_GetService("@mozilla.org/preferences-service;1"));
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
} }
- (void)printDocument - (void)printDocument

Просмотреть файл

@ -159,6 +159,8 @@ enum {
- (nsCocoaBrowserListener*)getCocoaBrowserListener; - (nsCocoaBrowserListener*)getCocoaBrowserListener;
- (void)setWebBrowser:(nsIWebBrowser*)browser; - (void)setWebBrowser:(nsIWebBrowser*)browser;
- (NSString*)getFocusedURLString;
// given a point in window coordinates, find the Gecko event sink of the ChildView the // given a point in window coordinates, find the Gecko event sink of the ChildView the
// point is over. // point is over.
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind; - (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;

Просмотреть файл

@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
defaultFileName = mDefaultFilename; defaultFileName = mDefaultFilename;
} }
if (defaultFileName.IsEmpty()) if (defaultFileName.IsEmpty() && mURL)
// (5) Use the host. // (5) Use the host.
mURL->GetHost(defaultFileName); mURL->GetHost(defaultFileName);
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
filterList: aFilterList]; filterList: aFilterList];
} }
-(NSString*)getFocusedURLString
{
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
nsCOMPtr<nsIDOMWindow> domWindow;
wbf->GetFocusedWindow(getter_AddRefs(domWindow));
if (!domWindow)
_webBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
if (!domWindow)
return @"";
nsCOMPtr<nsIDOMDocument> domDocument;
domWindow->GetDocument(getter_AddRefs(domDocument));
if (!domDocument)
return @"";
nsCOMPtr<nsIDOMNSDocument> nsDoc(do_QueryInterface(domDocument));
if (!nsDoc)
return @"";
nsCOMPtr<nsIDOMLocation> location;
nsDoc->GetLocation(getter_AddRefs(location));
if (!location)
return @"";
nsAutoString urlStr;
location->GetHref(urlStr);
return [NSString stringWithCharacters: urlStr.get() length: nsCRT::strlen(urlStr.get())];
}
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
{ {
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser)); nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));

Просмотреть файл

@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
- (IBAction)viewSource:(id)aSender - (IBAction)viewSource:(id)aSender
{ {
NSString* urlStr = [[mBrowserView getBrowserView] getFocusedURLString];
NSString* viewSource = [@"view-source:" stringByAppendingString: urlStr];
NSURL* urlToLoad = [NSURL URLWithString: viewSource];
PRBool loadInBackground;
nsCOMPtr<nsIPrefBranch> pref(do_GetService("@mozilla.org/preferences-service;1"));
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
} }
- (void)printDocument - (void)printDocument

Просмотреть файл

@ -159,6 +159,8 @@ enum {
- (nsCocoaBrowserListener*)getCocoaBrowserListener; - (nsCocoaBrowserListener*)getCocoaBrowserListener;
- (void)setWebBrowser:(nsIWebBrowser*)browser; - (void)setWebBrowser:(nsIWebBrowser*)browser;
- (NSString*)getFocusedURLString;
// given a point in window coordinates, find the Gecko event sink of the ChildView the // given a point in window coordinates, find the Gecko event sink of the ChildView the
// point is over. // point is over.
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind; - (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;

Просмотреть файл

@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
defaultFileName = mDefaultFilename; defaultFileName = mDefaultFilename;
} }
if (defaultFileName.IsEmpty()) if (defaultFileName.IsEmpty() && mURL)
// (5) Use the host. // (5) Use the host.
mURL->GetHost(defaultFileName); mURL->GetHost(defaultFileName);
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
filterList: aFilterList]; filterList: aFilterList];
} }
-(NSString*)getFocusedURLString
{
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
nsCOMPtr<nsIDOMWindow> domWindow;
wbf->GetFocusedWindow(getter_AddRefs(domWindow));
if (!domWindow)
_webBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
if (!domWindow)
return @"";
nsCOMPtr<nsIDOMDocument> domDocument;
domWindow->GetDocument(getter_AddRefs(domDocument));
if (!domDocument)
return @"";
nsCOMPtr<nsIDOMNSDocument> nsDoc(do_QueryInterface(domDocument));
if (!nsDoc)
return @"";
nsCOMPtr<nsIDOMLocation> location;
nsDoc->GetLocation(getter_AddRefs(location));
if (!location)
return @"";
nsAutoString urlStr;
location->GetHref(urlStr);
return [NSString stringWithCharacters: urlStr.get() length: nsCRT::strlen(urlStr.get())];
}
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
{ {
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser)); nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));

Просмотреть файл

@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
-(IBAction) viewSource:(id)aSender -(IBAction) viewSource:(id)aSender
{ {
NSWindow* mainWindow = [mApplication mainWindow]; NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] ) if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
[[mainWindow windowController] viewSource: self]; [[mainWindow windowController] viewSource: self];
} }

Просмотреть файл

@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
-(IBAction) viewSource:(id)aSender -(IBAction) viewSource:(id)aSender
{ {
NSWindow* mainWindow = [mApplication mainWindow]; NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] ) if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
[[mainWindow windowController] viewSource: self]; [[mainWindow windowController] viewSource: self];
} }

Просмотреть файл

@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
- (IBAction)viewSource:(id)aSender - (IBAction)viewSource:(id)aSender
{ {
NSString* urlStr = [[mBrowserView getBrowserView] getFocusedURLString];
NSString* viewSource = [@"view-source:" stringByAppendingString: urlStr];
NSURL* urlToLoad = [NSURL URLWithString: viewSource];
PRBool loadInBackground;
nsCOMPtr<nsIPrefBranch> pref(do_GetService("@mozilla.org/preferences-service;1"));
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
} }
- (void)printDocument - (void)printDocument

Просмотреть файл

@ -159,6 +159,8 @@ enum {
- (nsCocoaBrowserListener*)getCocoaBrowserListener; - (nsCocoaBrowserListener*)getCocoaBrowserListener;
- (void)setWebBrowser:(nsIWebBrowser*)browser; - (void)setWebBrowser:(nsIWebBrowser*)browser;
- (NSString*)getFocusedURLString;
// given a point in window coordinates, find the Gecko event sink of the ChildView the // given a point in window coordinates, find the Gecko event sink of the ChildView the
// point is over. // point is over.
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind; - (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;

Просмотреть файл

@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
defaultFileName = mDefaultFilename; defaultFileName = mDefaultFilename;
} }
if (defaultFileName.IsEmpty()) if (defaultFileName.IsEmpty() && mURL)
// (5) Use the host. // (5) Use the host.
mURL->GetHost(defaultFileName); mURL->GetHost(defaultFileName);
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
filterList: aFilterList]; filterList: aFilterList];
} }
-(NSString*)getFocusedURLString
{
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
nsCOMPtr<nsIDOMWindow> domWindow;
wbf->GetFocusedWindow(getter_AddRefs(domWindow));
if (!domWindow)
_webBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
if (!domWindow)
return @"";
nsCOMPtr<nsIDOMDocument> domDocument;
domWindow->GetDocument(getter_AddRefs(domDocument));
if (!domDocument)
return @"";
nsCOMPtr<nsIDOMNSDocument> nsDoc(do_QueryInterface(domDocument));
if (!nsDoc)
return @"";
nsCOMPtr<nsIDOMLocation> location;
nsDoc->GetLocation(getter_AddRefs(location));
if (!location)
return @"";
nsAutoString urlStr;
location->GetHref(urlStr);
return [NSString stringWithCharacters: urlStr.get() length: nsCRT::strlen(urlStr.get())];
}
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
{ {
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser)); nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));