зеркало из https://github.com/mozilla/gecko-dev.git
Implemented view source.
This commit is contained in:
Родитель
8817311d8c
Коммит
68747a87d8
|
@ -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));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче