зеркало из 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
|
||||
{
|
||||
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
|
||||
|
|
|
@ -159,6 +159,8 @@ enum {
|
|||
- (nsCocoaBrowserListener*)getCocoaBrowserListener;
|
||||
- (void)setWebBrowser:(nsIWebBrowser*)browser;
|
||||
|
||||
- (NSString*)getFocusedURLString;
|
||||
|
||||
// given a point in window coordinates, find the Gecko event sink of the ChildView the
|
||||
// point is over.
|
||||
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;
|
||||
|
|
|
@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
|
|||
defaultFileName = mDefaultFilename;
|
||||
}
|
||||
|
||||
if (defaultFileName.IsEmpty())
|
||||
if (defaultFileName.IsEmpty() && mURL)
|
||||
// (5) Use the host.
|
||||
mURL->GetHost(defaultFileName);
|
||||
|
||||
|
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
|
|||
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
|
||||
{
|
||||
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
|
||||
|
|
|
@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
|
|||
-(IBAction) viewSource:(id)aSender
|
||||
{
|
||||
NSWindow* mainWindow = [mApplication mainWindow];
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] )
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
|
||||
[[mainWindow windowController] viewSource: self];
|
||||
}
|
||||
|
||||
|
|
|
@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
|
|||
-(IBAction) viewSource:(id)aSender
|
||||
{
|
||||
NSWindow* mainWindow = [mApplication mainWindow];
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] )
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
|
||||
[[mainWindow windowController] viewSource: self];
|
||||
}
|
||||
|
||||
|
|
|
@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
|
|||
|
||||
- (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
|
||||
|
|
|
@ -159,6 +159,8 @@ enum {
|
|||
- (nsCocoaBrowserListener*)getCocoaBrowserListener;
|
||||
- (void)setWebBrowser:(nsIWebBrowser*)browser;
|
||||
|
||||
- (NSString*)getFocusedURLString;
|
||||
|
||||
// given a point in window coordinates, find the Gecko event sink of the ChildView the
|
||||
// point is over.
|
||||
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;
|
||||
|
|
|
@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
|
|||
defaultFileName = mDefaultFilename;
|
||||
}
|
||||
|
||||
if (defaultFileName.IsEmpty())
|
||||
if (defaultFileName.IsEmpty() && mURL)
|
||||
// (5) Use the host.
|
||||
mURL->GetHost(defaultFileName);
|
||||
|
||||
|
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
|
|||
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
|
||||
{
|
||||
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
|
||||
|
|
|
@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
|
|||
|
||||
- (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
|
||||
|
|
|
@ -159,6 +159,8 @@ enum {
|
|||
- (nsCocoaBrowserListener*)getCocoaBrowserListener;
|
||||
- (void)setWebBrowser:(nsIWebBrowser*)browser;
|
||||
|
||||
- (NSString*)getFocusedURLString;
|
||||
|
||||
// given a point in window coordinates, find the Gecko event sink of the ChildView the
|
||||
// point is over.
|
||||
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;
|
||||
|
|
|
@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
|
|||
defaultFileName = mDefaultFilename;
|
||||
}
|
||||
|
||||
if (defaultFileName.IsEmpty())
|
||||
if (defaultFileName.IsEmpty() && mURL)
|
||||
// (5) Use the host.
|
||||
mURL->GetHost(defaultFileName);
|
||||
|
||||
|
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
|
|||
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
|
||||
{
|
||||
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
|
||||
|
|
|
@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
|
|||
-(IBAction) viewSource:(id)aSender
|
||||
{
|
||||
NSWindow* mainWindow = [mApplication mainWindow];
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] )
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
|
||||
[[mainWindow windowController] viewSource: self];
|
||||
}
|
||||
|
||||
|
|
|
@ -412,7 +412,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
|
|||
-(IBAction) viewSource:(id)aSender
|
||||
{
|
||||
NSWindow* mainWindow = [mApplication mainWindow];
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource)] )
|
||||
if (mainWindow && [[mainWindow windowController] respondsToSelector:@selector(viewSource:)] )
|
||||
[[mainWindow windowController] viewSource: self];
|
||||
}
|
||||
|
||||
|
|
|
@ -494,6 +494,14 @@ static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item";
|
|||
|
||||
- (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
|
||||
|
|
|
@ -159,6 +159,8 @@ enum {
|
|||
- (nsCocoaBrowserListener*)getCocoaBrowserListener;
|
||||
- (void)setWebBrowser:(nsIWebBrowser*)browser;
|
||||
|
||||
- (NSString*)getFocusedURLString;
|
||||
|
||||
// given a point in window coordinates, find the Gecko event sink of the ChildView the
|
||||
// point is over.
|
||||
- (void) findEventSink:(nsIEventSink**)outSink forPoint:(NSPoint)inPoint inWindow:(NSWindow*)inWind;
|
||||
|
|
|
@ -791,7 +791,7 @@ void nsHeaderSniffer::PerformSave()
|
|||
defaultFileName = mDefaultFilename;
|
||||
}
|
||||
|
||||
if (defaultFileName.IsEmpty())
|
||||
if (defaultFileName.IsEmpty() && mURL)
|
||||
// (5) Use the host.
|
||||
mURL->GetHost(defaultFileName);
|
||||
|
||||
|
@ -1291,6 +1291,32 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress,
|
|||
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
|
||||
{
|
||||
nsCOMPtr<nsIWebBrowserFocus> wbf(do_QueryInterface(_webBrowser));
|
||||
|
|
Загрузка…
Ссылка в новой задаче