Fixing the problem where URL's containing certain characters won't load, by removing uses of NSURL (which has escaping conventions that are incompatible with nsIURI) internally, replacing it with NSString. Bug 147914, r=pink.

git-svn-id: svn://10.0.0.236/trunk@124008 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bryner%netscape.com 2002-06-25 19:25:27 +00:00
parent 6b6816d5c4
commit 815bc9a462
46 changed files with 364 additions and 408 deletions

View File

@ -346,7 +346,7 @@
content->GetAttr(kNameSpaceID_None, BookmarksService::gHrefAtom, href);
if (!href.IsEmpty()) {
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI:[NSURL URLWithString: url] flags: NSLoadFlagsNone];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI: url flags: NSLoadFlagsNone];
// Focus and activate our content area.
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] setActive: YES];
}
@ -408,8 +408,8 @@
if (isExpandable) {
PRBool isOpen = content->HasAttr(kNameSpaceID_None, BookmarksService::gOpenAtom);
if (isOpen)
[mOutlineView expandItem: item];
else
[mOutlineView expandItem: item];
else
[mOutlineView collapseItem: item];
}
#endif
@ -626,12 +626,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[mBrowserWindowController openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[mBrowserWindowController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
}
@ -647,12 +646,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
nsAutoString group;
[item contentNode]->GetAttr(kNameSpaceID_None, BookmarksService::gGroupAtom, group);
if (group.IsEmpty())
[mBrowserWindowController openNewWindowWithURL: urlToLoad loadInBackground: NO];
[mBrowserWindowController openNewWindowWithURL: hrefStr loadInBackground: NO];
else {
nsCOMPtr<nsIDOMElement> elt(do_QueryInterface([item contentNode]));
[mBrowserWindowController openNewWindowWithGroup: elt loadInBackground: NO];
@ -1387,7 +1385,7 @@ BookmarksService::OpenMenuBookmark(BrowserWindowController* aController, id aMen
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
// Now load the URL in the window.
[aController loadURL:[NSURL URLWithString: url]];
[aController loadURL:url];
// Focus and activate our content area.
[[[aController getBrowserWrapper] getBrowserView] setActive: YES];
@ -1595,7 +1593,7 @@ BookmarksService::OpenBookmarkGroup(id aTabView, nsIDOMElement* aFolder)
else
tabViewItem = [aTabView tabViewItemAtIndex: currentIndex];
[[[tabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[tabViewItem view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
}
}

View File

@ -112,7 +112,7 @@ class nsIDOMNode;
NSToolbarItem *mSidebarToolbarItem;
BOOL mInitialized;
NSURL* mURL;
NSString* mURL;
CHBrowserWrapper* mBrowserView;
@ -146,7 +146,7 @@ class nsIDOMNode;
-(id)getTabBrowser;
-(CHBrowserWrapper*)getBrowserWrapper;
- (void)loadURL:(NSURL*)aURL;
- (void)loadURL:(NSString*)aURLSpec;
- (void)loadURLString:(NSString*)aStr;
- (void)updateLocationFields:(NSString *)locationString;
- (void)updateToolbarItems;
@ -170,7 +170,7 @@ class nsIDOMNode;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;
- (void)printPreview;
@ -184,7 +184,7 @@ class nsIDOMNode;
- (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder;
- (IBAction)manageBookmarks: (id)aSender;
- (void)importBookmarks: (NSURL*)aURL;
- (void)importBookmarks: (NSString*)aURLSpec;
- (IBAction)toggleSidebar:(id)aSender;
- (void)newTab;
@ -200,9 +200,9 @@ class nsIDOMNode;
-(void)enterModalSession;
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithGroup: (nsIDOMElement*)aFolderElement loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)autosaveWindowFrame;
-(void)disableAutosave;

View File

@ -282,7 +282,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)drawerDidOpen:(NSNotification *)aNotification
{
// XXXdwh This is temporary.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html" flags:NSLoadFlagsNone];
// Toggle the sidebar icon.
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarOpened"]];
@ -294,7 +294,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarClosed"]];
// XXXdwh ignore for now.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"about:blank"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
if (mDrawerCachedFrame) {
printf("Got here.\n");
@ -530,7 +530,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
{
[mLocationSheetWindow orderOut:self];
[NSApp endSheet:mLocationSheetWindow returnCode:1];
[self loadURL:[NSURL URLWithString:[mLocationSheetURLField stringValue]]];
[self loadURL:[mLocationSheetURLField stringValue]];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];
@ -569,7 +569,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarTabView selectFirstTabViewItem:self];
}
- (void)importBookmarks: (NSURL*)aURL
- (void)importBookmarks: (NSString*)aURLSpec
{
// Open the bookmarks sidebar.
[self manageBookmarks: self];
@ -579,7 +579,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newView setFrame: NSZeroRect];
[newView setIsBookmarksImport: YES];
[[[self window] contentView] addSubview: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
- (IBAction)goToLocationFromToolbarURLField:(id)sender
@ -587,7 +587,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
// trim off any whitespace around url
NSMutableString *theURL = [[NSMutableString alloc] initWithString:[sender stringValue]];
CFStringTrimWhitespace((CFMutableStringRef)theURL);
[self loadURL:[NSURL URLWithString:theURL]];
[self loadURL:theURL];
[theURL release];
// Focus and activate our content area.
@ -600,22 +600,21 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
[[mBrowserView getBrowserView] saveURL: aFilterView filterList: aFilterList
url: aURL suggestedFilename: aFilename];
url: aURLSpec suggestedFilename: aFilename];
}
- (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];
[self openNewTabWithURL: urlStr loadInBackground: loadInBackground];
}
- (void)printDocument
@ -631,7 +630,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)performSearch
{
// XXX go to the user's preferred search engine.
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString: @"http://dmoz.org/"] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone];
}
@ -754,7 +753,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (IBAction)home:(id)aSender
{
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString:[[CHPreferenceManager sharedInstance] homePage:NO]] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:[[CHPreferenceManager sharedInstance] homePage:NO] flags:NSLoadFlagsNone];
}
- (IBAction)toggleSidebar:(id)aSender
@ -775,17 +774,17 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
-(void)loadURLString:(NSString*)aStr
{
[self loadURL:[NSURL URLWithString:aStr]];
[self loadURL: aStr];
}
-(void)loadURL:(NSURL*)aURL
-(void)loadURL:(NSString*)aURLSpec
{
if (mInitialized) {
[[mBrowserView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
else {
mURL = aURL;
mURL = aURLSpec;
[mURL retain];
}
}
@ -818,7 +817,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setView: newView];
[mTabBrowser addTabViewItem: newTab];
[[newView getBrowserView] loadURI:[NSURL URLWithString:@"about:blank"] flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
[mTabBrowser selectLastTabViewItem: self];
@ -880,13 +879,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return mBrowserView;
}
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
// Autosave our dimensions before we open a new window. That ensures the size ends up matching.
[self autosaveWindowFrame];
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
[browser loadURL: aURLSpec];
if (aLoadInBG)
[[browser window] orderWindow: NSWindowBelow relativeTo: [[self window] windowNumber]];
else {
@ -915,7 +914,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarBookmarksDataSource openBookmarkGroup: tabBrowser groupElement: aFolderElement];
}
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
NSTabViewItem* newTab = [[[NSTabViewItem alloc] initWithIdentifier: nil] autorelease];
@ -929,7 +928,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setLabel: @"Loading..."];
[newTab setView: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
if (!aLoadInBG) {
[mTabBrowser selectTabViewItem: newTab];
@ -1114,15 +1113,14 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return; // Something bad happened if we can't get prefs.
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
if (aUseWindow)
[self openNewWindowWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
else
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
- (IBAction)savePageAs:(id)aSender
@ -1142,14 +1140,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return;
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
// The user wants to save this link.
nsAutoString text;
CHGeckoUtils::GatherTextUnder(mContextMenuNode, text);
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
@ -1163,10 +1160,9 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* hrefStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
}
@ -1194,9 +1190,8 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* urlStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToView = [NSURL URLWithString: urlStr];
[self loadURL: urlToView];
[self loadURL: urlStr];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];

View File

@ -63,7 +63,7 @@
NSString* url = [NSString stringWithCString: cref.get()];
// Now load the URL in the window.
[[[self window] windowController] loadURL:[NSURL URLWithString: url]];
[[[self window] windowController] loadURL: url];
// Focus and activate our content area.
[[[[[self window] windowController] getBrowserWrapper] getBrowserView] setActive: YES];

View File

@ -63,7 +63,7 @@ class nsIDragHelperService;
// in. If the total number of bytes expected is unknown,
// maxBytes is -1.
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
// Called when a context menu should be shown.
@ -126,7 +126,7 @@ enum {
- (nsIDOMWindow*)getContentWindow;
// nsIWebNavigation methods
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags;
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags;
- (void)reload:(unsigned int)flags;
- (BOOL)canGoBack;
- (BOOL)canGoForward;
@ -134,11 +134,11 @@ enum {
- (void)goForward;
- (void)gotoIndex:(int)index;
- (void)stop:(unsigned int)flags;
- (NSURL*)getCurrentURI;
- (NSString*)getCurrentURI;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;

View File

@ -608,12 +608,11 @@ nsCocoaBrowserListener::OnLocationChange(nsIWebProgress *aWebProgress, nsIReques
nsCAutoString spec;
location->GetSpec(spec);
NSString* str = [NSString stringWithCString:spec.get()];
NSURL* url = [NSURL URLWithString:str];
NSEnumerator* enumerator = [mListeners objectEnumerator];
id<NSBrowserListener> obj;
while ((obj = [enumerator nextObject]))
[obj onLocationChange:url];
[obj onLocationChange:str];
return NS_OK;
}
@ -1030,14 +1029,13 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
return window;
}
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags
{
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
NSString* spec = [url absoluteString];
int length = [spec length];
int length = [urlSpec length];
PRUnichar* specStr = nsMemory::Alloc((length+1) * sizeof(PRUnichar));
[spec getCharacters:specStr];
[urlSpec getCharacters:specStr];
specStr[length] = PRUnichar(0);
@ -1137,7 +1135,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
}
- (NSURL*)getCurrentURI
// XXXbryner This isn't used anywhere. how is it different from getCurrentURLSpec?
- (NSString*)getCurrentURI
{
nsCOMPtr<nsIURI> uri;
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
@ -1152,9 +1151,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
const char* cstr = spec.get();
NSString* str = [NSString stringWithCString:cstr];
NSURL* url = [NSURL URLWithString:str];
return url;
return str;
}
- (nsCocoaBrowserListener*)getCocoaBrowserListener
@ -1280,10 +1278,10 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
nsCOMPtr<nsIURI> url;
nsresult rv = NS_NewURI(getter_AddRefs(url), [[aURL absoluteString] cString]);
nsresult rv = NS_NewURI(getter_AddRefs(url), [aURLSpec cString]);
if (NS_FAILED(rv))
return;

View File

@ -95,7 +95,7 @@
- (void)onLoadingStarted;
- (void)onLoadingCompleted:(BOOL)succeeded;
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
- (void)onShowTooltip:(NSPoint)where withText:(NSString*)text;

View File

@ -84,7 +84,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
- (IBAction)load:(id)sender
{
[mBrowserView loadURI:[NSURL URLWithString:[urlbar stringValue]] flags:NSLoadFlagsNone];
[mBrowserView loadURI:[urlbar stringValue] flags:NSLoadFlagsNone];
}
-(void)disconnectView
@ -292,12 +292,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
}
}
- (void)onLocationChange:(NSURL*)url
- (void)onLocationChange:(NSString*)urlSpec
{
if ( mIsPrimary ) {
NSString* spec = [url absoluteString];
[mWindowController updateLocationFields:spec];
}
if (mIsPrimary)
[mWindowController updateLocationFields:urlSpec];
}
- (void)onStatusChange:(NSString*)aStatusString

View File

@ -174,10 +174,10 @@
BookmarksService::OpenBookmarkGroup(self, bookmarkElt);
} else {
if (overTabViewItem) {
[[[overTabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[overTabViewItem view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
} else if (overContentArea) {
[[[[self selectedTabViewItem] view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[[self selectedTabViewItem] view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
} else
[self addTabForURL:url];
@ -188,7 +188,7 @@
NSDictionary* data = [[sender draggingPasteboard] propertyListForType: @"MozURLType"];
if (overTabViewItem || overContentArea) {
[[[overTabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: [data objectForKey:@"url"]]
[[[overTabViewItem view] getBrowserView] loadURI:[data objectForKey:@"url"]
flags: NSLoadFlagsNone];
} else
[self addTabForURL:[data objectForKey:@"url"]];
@ -209,7 +209,7 @@
[tabViewItem setView: newView];
[self addTabViewItem: tabViewItem];
[[[tabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: aURL]
[[[tabViewItem view] getBrowserView] loadURI: aURL
flags: NSLoadFlagsNone];
}

View File

@ -62,6 +62,9 @@
#include "nsIFrame.h"
#include "nsIView.h"
#include "nsIWidget.h"
#include "nsIURI.h"
#include "nsIProtocolHandler.h"
#include "nsNetUtil.h"
// Common helper routines (also used by the context menu code)
#include "CHGeckoUtils.h"
@ -277,22 +280,25 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
mouseEvent->GetAltKey(&altKey);
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* linkURL = [NSURL URLWithString: hrefStr];
// Hack to determine specific protocols handled by Chimera in the frontend
// until I can determine why the general unknown protocol handler handoff
// between Necko and uriloader isn't happening.
if (([[linkURL scheme] isEqualToString:@"http"]) ||
([[linkURL scheme] isEqualToString:@"https"]) ||
([[linkURL scheme] isEqualToString:@"ftp"]) ||
([[linkURL scheme] isEqualToString:@"about"]) ||
([[linkURL scheme] isEqualToString:@"file"]) ||
([[linkURL scheme] isEqualToString:@"data"]) ||
([[linkURL scheme] isEqualToString:@"javascript"]))
{
nsCOMPtr<nsIURI> uri;
NS_NewURI(getter_AddRefs(uri), href);
nsCAutoString scheme;
uri->GetScheme(scheme);
nsCAutoString contractId(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX);
contractId.Append(scheme);
nsCOMPtr<nsIProtocolHandler> handler = do_GetService(contractId.get());
if (handler) {
// Fall through and do whatever we'd normally do with this kind of URL
} else
[[NSWorkspace sharedWorkspace] openURL:linkURL];
} else {
NSString* escapedString = (NSString*) CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef) hrefStr, NULL, NULL, kCFStringEncodingUTF8);
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString: escapedString]];
}
if ((metaKey && button == 0) || button == 1) {
// The command key is down or we got a middle click. Open the link in a new window or tab.
@ -303,9 +309,9 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
if (shiftKey)
loadInBackground = !loadInBackground;
if (useTab)
[mBrowserController openNewTabWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
else
[mBrowserController openNewWindowWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
}
else if (altKey) {
// The user wants to save this link.
@ -313,7 +319,7 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
CHGeckoUtils::GatherTextUnder(content, text);
[mBrowserController saveURL: nil filterList: nil
url: linkURL suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length: nsCRT::strlen(text.get())]];
}

View File

@ -112,8 +112,7 @@ class BookmarksService;
-(IBAction) newTab:(id)aSender;
-(IBAction) closeTab:(id)aSender;
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL;
- (MVPreferencesController *)preferencesController;
- (void)displayPreferencesWindow:sender;

View File

@ -146,7 +146,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// Now open the new window.
NSString* homePage = [mPreferenceManager homePage:YES];
BrowserWindowController* controller = [self openBrowserWindowWithURLString:homePage];
BrowserWindowController* controller = [self openBrowserWindowWithURL:homePage];
if ([homePage isEqualToString: @"about:blank"])
[controller focusURLBar];
else
@ -194,11 +194,11 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// ----------------------
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL: url];
[[mainWindow windowController] loadURL:[url absoluteString]];
[[[[mainWindow windowController] getBrowserWrapper] getBrowserView] setActive: YES];
}
else
[self openBrowserWindowWithURL: url];
[self openBrowserWindowWithURL:[url absoluteString]];
}
}
@ -206,7 +206,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -306,12 +306,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[[[mApplication mainWindow] windowController] home: aSender];
}
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL
{
return [self openBrowserWindowWithURL: [NSURL URLWithString:aURL]];
}
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL
{
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
@ -365,7 +360,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
window = [mApplication mainWindow];
}
[[window windowController] importBookmarks: url];
[[window windowController] importBookmarks: [url absoluteString]];
}
}
@ -387,7 +382,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWind = [mApplication mainWindow];
if (!mainWind) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWind = [mApplication mainWindow];
}
@ -398,7 +393,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -428,9 +423,9 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL:[NSURL fileURLWithPath:filename]];
[[mainWindow windowController] loadURL:[[NSURL fileURLWithPath:filename] absoluteString]];
} else {
[self openBrowserWindowWithURL:[NSURL fileURLWithPath:filename]];
[self openBrowserWindowWithURL:[[NSURL fileURLWithPath:filename] absoluteString]];
}
return YES;
@ -614,7 +609,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[urlString appendString:tmpString];
}
[self openBrowserWindowWithURLString:urlString];
[self openBrowserWindowWithURL:urlString];
}
@end

View File

@ -112,8 +112,7 @@ class BookmarksService;
-(IBAction) newTab:(id)aSender;
-(IBAction) closeTab:(id)aSender;
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL;
- (MVPreferencesController *)preferencesController;
- (void)displayPreferencesWindow:sender;

View File

@ -146,7 +146,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// Now open the new window.
NSString* homePage = [mPreferenceManager homePage:YES];
BrowserWindowController* controller = [self openBrowserWindowWithURLString:homePage];
BrowserWindowController* controller = [self openBrowserWindowWithURL:homePage];
if ([homePage isEqualToString: @"about:blank"])
[controller focusURLBar];
else
@ -194,11 +194,11 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// ----------------------
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL: url];
[[mainWindow windowController] loadURL:[url absoluteString]];
[[[[mainWindow windowController] getBrowserWrapper] getBrowserView] setActive: YES];
}
else
[self openBrowserWindowWithURL: url];
[self openBrowserWindowWithURL:[url absoluteString]];
}
}
@ -206,7 +206,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -306,12 +306,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[[[mApplication mainWindow] windowController] home: aSender];
}
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL
{
return [self openBrowserWindowWithURL: [NSURL URLWithString:aURL]];
}
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL
{
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
@ -365,7 +360,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
window = [mApplication mainWindow];
}
[[window windowController] importBookmarks: url];
[[window windowController] importBookmarks: [url absoluteString]];
}
}
@ -387,7 +382,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWind = [mApplication mainWindow];
if (!mainWind) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWind = [mApplication mainWindow];
}
@ -398,7 +393,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -428,9 +423,9 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL:[NSURL fileURLWithPath:filename]];
[[mainWindow windowController] loadURL:[[NSURL fileURLWithPath:filename] absoluteString]];
} else {
[self openBrowserWindowWithURL:[NSURL fileURLWithPath:filename]];
[self openBrowserWindowWithURL:[[NSURL fileURLWithPath:filename] absoluteString]];
}
return YES;
@ -614,7 +609,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[urlString appendString:tmpString];
}
[self openBrowserWindowWithURLString:urlString];
[self openBrowserWindowWithURL:urlString];
}
@end

View File

@ -63,7 +63,7 @@
NSString* url = [NSString stringWithCString: cref.get()];
// Now load the URL in the window.
[[[self window] windowController] loadURL:[NSURL URLWithString: url]];
[[[self window] windowController] loadURL: url];
// Focus and activate our content area.
[[[[[self window] windowController] getBrowserWrapper] getBrowserView] setActive: YES];

View File

@ -346,7 +346,7 @@
content->GetAttr(kNameSpaceID_None, BookmarksService::gHrefAtom, href);
if (!href.IsEmpty()) {
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI:[NSURL URLWithString: url] flags: NSLoadFlagsNone];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI: url flags: NSLoadFlagsNone];
// Focus and activate our content area.
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] setActive: YES];
}
@ -408,8 +408,8 @@
if (isExpandable) {
PRBool isOpen = content->HasAttr(kNameSpaceID_None, BookmarksService::gOpenAtom);
if (isOpen)
[mOutlineView expandItem: item];
else
[mOutlineView expandItem: item];
else
[mOutlineView collapseItem: item];
}
#endif
@ -626,12 +626,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[mBrowserWindowController openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[mBrowserWindowController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
}
@ -647,12 +646,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
nsAutoString group;
[item contentNode]->GetAttr(kNameSpaceID_None, BookmarksService::gGroupAtom, group);
if (group.IsEmpty())
[mBrowserWindowController openNewWindowWithURL: urlToLoad loadInBackground: NO];
[mBrowserWindowController openNewWindowWithURL: hrefStr loadInBackground: NO];
else {
nsCOMPtr<nsIDOMElement> elt(do_QueryInterface([item contentNode]));
[mBrowserWindowController openNewWindowWithGroup: elt loadInBackground: NO];
@ -1387,7 +1385,7 @@ BookmarksService::OpenMenuBookmark(BrowserWindowController* aController, id aMen
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
// Now load the URL in the window.
[aController loadURL:[NSURL URLWithString: url]];
[aController loadURL:url];
// Focus and activate our content area.
[[[aController getBrowserWrapper] getBrowserView] setActive: YES];
@ -1595,7 +1593,7 @@ BookmarksService::OpenBookmarkGroup(id aTabView, nsIDOMElement* aFolder)
else
tabViewItem = [aTabView tabViewItemAtIndex: currentIndex];
[[[tabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[tabViewItem view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
}
}

View File

@ -112,7 +112,7 @@ class nsIDOMNode;
NSToolbarItem *mSidebarToolbarItem;
BOOL mInitialized;
NSURL* mURL;
NSString* mURL;
CHBrowserWrapper* mBrowserView;
@ -146,7 +146,7 @@ class nsIDOMNode;
-(id)getTabBrowser;
-(CHBrowserWrapper*)getBrowserWrapper;
- (void)loadURL:(NSURL*)aURL;
- (void)loadURL:(NSString*)aURLSpec;
- (void)loadURLString:(NSString*)aStr;
- (void)updateLocationFields:(NSString *)locationString;
- (void)updateToolbarItems;
@ -170,7 +170,7 @@ class nsIDOMNode;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;
- (void)printPreview;
@ -184,7 +184,7 @@ class nsIDOMNode;
- (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder;
- (IBAction)manageBookmarks: (id)aSender;
- (void)importBookmarks: (NSURL*)aURL;
- (void)importBookmarks: (NSString*)aURLSpec;
- (IBAction)toggleSidebar:(id)aSender;
- (void)newTab;
@ -200,9 +200,9 @@ class nsIDOMNode;
-(void)enterModalSession;
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithGroup: (nsIDOMElement*)aFolderElement loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)autosaveWindowFrame;
-(void)disableAutosave;

View File

@ -282,7 +282,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)drawerDidOpen:(NSNotification *)aNotification
{
// XXXdwh This is temporary.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html" flags:NSLoadFlagsNone];
// Toggle the sidebar icon.
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarOpened"]];
@ -294,7 +294,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarClosed"]];
// XXXdwh ignore for now.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"about:blank"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
if (mDrawerCachedFrame) {
printf("Got here.\n");
@ -530,7 +530,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
{
[mLocationSheetWindow orderOut:self];
[NSApp endSheet:mLocationSheetWindow returnCode:1];
[self loadURL:[NSURL URLWithString:[mLocationSheetURLField stringValue]]];
[self loadURL:[mLocationSheetURLField stringValue]];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];
@ -569,7 +569,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarTabView selectFirstTabViewItem:self];
}
- (void)importBookmarks: (NSURL*)aURL
- (void)importBookmarks: (NSString*)aURLSpec
{
// Open the bookmarks sidebar.
[self manageBookmarks: self];
@ -579,7 +579,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newView setFrame: NSZeroRect];
[newView setIsBookmarksImport: YES];
[[[self window] contentView] addSubview: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
- (IBAction)goToLocationFromToolbarURLField:(id)sender
@ -587,7 +587,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
// trim off any whitespace around url
NSMutableString *theURL = [[NSMutableString alloc] initWithString:[sender stringValue]];
CFStringTrimWhitespace((CFMutableStringRef)theURL);
[self loadURL:[NSURL URLWithString:theURL]];
[self loadURL:theURL];
[theURL release];
// Focus and activate our content area.
@ -600,22 +600,21 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
[[mBrowserView getBrowserView] saveURL: aFilterView filterList: aFilterList
url: aURL suggestedFilename: aFilename];
url: aURLSpec suggestedFilename: aFilename];
}
- (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];
[self openNewTabWithURL: urlStr loadInBackground: loadInBackground];
}
- (void)printDocument
@ -631,7 +630,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)performSearch
{
// XXX go to the user's preferred search engine.
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString: @"http://dmoz.org/"] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone];
}
@ -754,7 +753,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (IBAction)home:(id)aSender
{
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString:[[CHPreferenceManager sharedInstance] homePage:NO]] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:[[CHPreferenceManager sharedInstance] homePage:NO] flags:NSLoadFlagsNone];
}
- (IBAction)toggleSidebar:(id)aSender
@ -775,17 +774,17 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
-(void)loadURLString:(NSString*)aStr
{
[self loadURL:[NSURL URLWithString:aStr]];
[self loadURL: aStr];
}
-(void)loadURL:(NSURL*)aURL
-(void)loadURL:(NSString*)aURLSpec
{
if (mInitialized) {
[[mBrowserView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
else {
mURL = aURL;
mURL = aURLSpec;
[mURL retain];
}
}
@ -818,7 +817,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setView: newView];
[mTabBrowser addTabViewItem: newTab];
[[newView getBrowserView] loadURI:[NSURL URLWithString:@"about:blank"] flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
[mTabBrowser selectLastTabViewItem: self];
@ -880,13 +879,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return mBrowserView;
}
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
// Autosave our dimensions before we open a new window. That ensures the size ends up matching.
[self autosaveWindowFrame];
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
[browser loadURL: aURLSpec];
if (aLoadInBG)
[[browser window] orderWindow: NSWindowBelow relativeTo: [[self window] windowNumber]];
else {
@ -915,7 +914,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarBookmarksDataSource openBookmarkGroup: tabBrowser groupElement: aFolderElement];
}
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
NSTabViewItem* newTab = [[[NSTabViewItem alloc] initWithIdentifier: nil] autorelease];
@ -929,7 +928,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setLabel: @"Loading..."];
[newTab setView: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
if (!aLoadInBG) {
[mTabBrowser selectTabViewItem: newTab];
@ -1114,15 +1113,14 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return; // Something bad happened if we can't get prefs.
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
if (aUseWindow)
[self openNewWindowWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
else
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
- (IBAction)savePageAs:(id)aSender
@ -1142,14 +1140,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return;
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
// The user wants to save this link.
nsAutoString text;
CHGeckoUtils::GatherTextUnder(mContextMenuNode, text);
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
@ -1163,10 +1160,9 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* hrefStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
}
@ -1194,9 +1190,8 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* urlStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToView = [NSURL URLWithString: urlStr];
[self loadURL: urlToView];
[self loadURL: urlStr];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];

View File

@ -95,7 +95,7 @@
- (void)onLoadingStarted;
- (void)onLoadingCompleted:(BOOL)succeeded;
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
- (void)onShowTooltip:(NSPoint)where withText:(NSString*)text;

View File

@ -84,7 +84,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
- (IBAction)load:(id)sender
{
[mBrowserView loadURI:[NSURL URLWithString:[urlbar stringValue]] flags:NSLoadFlagsNone];
[mBrowserView loadURI:[urlbar stringValue] flags:NSLoadFlagsNone];
}
-(void)disconnectView
@ -292,12 +292,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
}
}
- (void)onLocationChange:(NSURL*)url
- (void)onLocationChange:(NSString*)urlSpec
{
if ( mIsPrimary ) {
NSString* spec = [url absoluteString];
[mWindowController updateLocationFields:spec];
}
if (mIsPrimary)
[mWindowController updateLocationFields:urlSpec];
}
- (void)onStatusChange:(NSString*)aStatusString

View File

@ -62,6 +62,9 @@
#include "nsIFrame.h"
#include "nsIView.h"
#include "nsIWidget.h"
#include "nsIURI.h"
#include "nsIProtocolHandler.h"
#include "nsNetUtil.h"
// Common helper routines (also used by the context menu code)
#include "CHGeckoUtils.h"
@ -277,22 +280,25 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
mouseEvent->GetAltKey(&altKey);
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* linkURL = [NSURL URLWithString: hrefStr];
// Hack to determine specific protocols handled by Chimera in the frontend
// until I can determine why the general unknown protocol handler handoff
// between Necko and uriloader isn't happening.
if (([[linkURL scheme] isEqualToString:@"http"]) ||
([[linkURL scheme] isEqualToString:@"https"]) ||
([[linkURL scheme] isEqualToString:@"ftp"]) ||
([[linkURL scheme] isEqualToString:@"about"]) ||
([[linkURL scheme] isEqualToString:@"file"]) ||
([[linkURL scheme] isEqualToString:@"data"]) ||
([[linkURL scheme] isEqualToString:@"javascript"]))
{
nsCOMPtr<nsIURI> uri;
NS_NewURI(getter_AddRefs(uri), href);
nsCAutoString scheme;
uri->GetScheme(scheme);
nsCAutoString contractId(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX);
contractId.Append(scheme);
nsCOMPtr<nsIProtocolHandler> handler = do_GetService(contractId.get());
if (handler) {
// Fall through and do whatever we'd normally do with this kind of URL
} else
[[NSWorkspace sharedWorkspace] openURL:linkURL];
} else {
NSString* escapedString = (NSString*) CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef) hrefStr, NULL, NULL, kCFStringEncodingUTF8);
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString: escapedString]];
}
if ((metaKey && button == 0) || button == 1) {
// The command key is down or we got a middle click. Open the link in a new window or tab.
@ -303,9 +309,9 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
if (shiftKey)
loadInBackground = !loadInBackground;
if (useTab)
[mBrowserController openNewTabWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
else
[mBrowserController openNewWindowWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
}
else if (altKey) {
// The user wants to save this link.
@ -313,7 +319,7 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
CHGeckoUtils::GatherTextUnder(content, text);
[mBrowserController saveURL: nil filterList: nil
url: linkURL suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length: nsCRT::strlen(text.get())]];
}

View File

@ -63,7 +63,7 @@ class nsIDragHelperService;
// in. If the total number of bytes expected is unknown,
// maxBytes is -1.
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
// Called when a context menu should be shown.
@ -126,7 +126,7 @@ enum {
- (nsIDOMWindow*)getContentWindow;
// nsIWebNavigation methods
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags;
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags;
- (void)reload:(unsigned int)flags;
- (BOOL)canGoBack;
- (BOOL)canGoForward;
@ -134,11 +134,11 @@ enum {
- (void)goForward;
- (void)gotoIndex:(int)index;
- (void)stop:(unsigned int)flags;
- (NSURL*)getCurrentURI;
- (NSString*)getCurrentURI;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;

View File

@ -608,12 +608,11 @@ nsCocoaBrowserListener::OnLocationChange(nsIWebProgress *aWebProgress, nsIReques
nsCAutoString spec;
location->GetSpec(spec);
NSString* str = [NSString stringWithCString:spec.get()];
NSURL* url = [NSURL URLWithString:str];
NSEnumerator* enumerator = [mListeners objectEnumerator];
id<NSBrowserListener> obj;
while ((obj = [enumerator nextObject]))
[obj onLocationChange:url];
[obj onLocationChange:str];
return NS_OK;
}
@ -1030,14 +1029,13 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
return window;
}
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags
{
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
NSString* spec = [url absoluteString];
int length = [spec length];
int length = [urlSpec length];
PRUnichar* specStr = nsMemory::Alloc((length+1) * sizeof(PRUnichar));
[spec getCharacters:specStr];
[urlSpec getCharacters:specStr];
specStr[length] = PRUnichar(0);
@ -1137,7 +1135,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
}
- (NSURL*)getCurrentURI
// XXXbryner This isn't used anywhere. how is it different from getCurrentURLSpec?
- (NSString*)getCurrentURI
{
nsCOMPtr<nsIURI> uri;
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
@ -1152,9 +1151,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
const char* cstr = spec.get();
NSString* str = [NSString stringWithCString:cstr];
NSURL* url = [NSURL URLWithString:str];
return url;
return str;
}
- (nsCocoaBrowserListener*)getCocoaBrowserListener
@ -1280,10 +1278,10 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
nsCOMPtr<nsIURI> url;
nsresult rv = NS_NewURI(getter_AddRefs(url), [[aURL absoluteString] cString]);
nsresult rv = NS_NewURI(getter_AddRefs(url), [aURLSpec cString]);
if (NS_FAILED(rv))
return;

View File

@ -346,7 +346,7 @@
content->GetAttr(kNameSpaceID_None, BookmarksService::gHrefAtom, href);
if (!href.IsEmpty()) {
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI:[NSURL URLWithString: url] flags: NSLoadFlagsNone];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI: url flags: NSLoadFlagsNone];
// Focus and activate our content area.
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] setActive: YES];
}
@ -408,8 +408,8 @@
if (isExpandable) {
PRBool isOpen = content->HasAttr(kNameSpaceID_None, BookmarksService::gOpenAtom);
if (isOpen)
[mOutlineView expandItem: item];
else
[mOutlineView expandItem: item];
else
[mOutlineView collapseItem: item];
}
#endif
@ -626,12 +626,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[mBrowserWindowController openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[mBrowserWindowController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
}
@ -647,12 +646,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
nsAutoString group;
[item contentNode]->GetAttr(kNameSpaceID_None, BookmarksService::gGroupAtom, group);
if (group.IsEmpty())
[mBrowserWindowController openNewWindowWithURL: urlToLoad loadInBackground: NO];
[mBrowserWindowController openNewWindowWithURL: hrefStr loadInBackground: NO];
else {
nsCOMPtr<nsIDOMElement> elt(do_QueryInterface([item contentNode]));
[mBrowserWindowController openNewWindowWithGroup: elt loadInBackground: NO];
@ -1387,7 +1385,7 @@ BookmarksService::OpenMenuBookmark(BrowserWindowController* aController, id aMen
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
// Now load the URL in the window.
[aController loadURL:[NSURL URLWithString: url]];
[aController loadURL:url];
// Focus and activate our content area.
[[[aController getBrowserWrapper] getBrowserView] setActive: YES];
@ -1595,7 +1593,7 @@ BookmarksService::OpenBookmarkGroup(id aTabView, nsIDOMElement* aFolder)
else
tabViewItem = [aTabView tabViewItemAtIndex: currentIndex];
[[[tabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[tabViewItem view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
}
}

View File

@ -112,7 +112,7 @@ class nsIDOMNode;
NSToolbarItem *mSidebarToolbarItem;
BOOL mInitialized;
NSURL* mURL;
NSString* mURL;
CHBrowserWrapper* mBrowserView;
@ -146,7 +146,7 @@ class nsIDOMNode;
-(id)getTabBrowser;
-(CHBrowserWrapper*)getBrowserWrapper;
- (void)loadURL:(NSURL*)aURL;
- (void)loadURL:(NSString*)aURLSpec;
- (void)loadURLString:(NSString*)aStr;
- (void)updateLocationFields:(NSString *)locationString;
- (void)updateToolbarItems;
@ -170,7 +170,7 @@ class nsIDOMNode;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;
- (void)printPreview;
@ -184,7 +184,7 @@ class nsIDOMNode;
- (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder;
- (IBAction)manageBookmarks: (id)aSender;
- (void)importBookmarks: (NSURL*)aURL;
- (void)importBookmarks: (NSString*)aURLSpec;
- (IBAction)toggleSidebar:(id)aSender;
- (void)newTab;
@ -200,9 +200,9 @@ class nsIDOMNode;
-(void)enterModalSession;
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithGroup: (nsIDOMElement*)aFolderElement loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)autosaveWindowFrame;
-(void)disableAutosave;

View File

@ -282,7 +282,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)drawerDidOpen:(NSNotification *)aNotification
{
// XXXdwh This is temporary.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html" flags:NSLoadFlagsNone];
// Toggle the sidebar icon.
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarOpened"]];
@ -294,7 +294,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarClosed"]];
// XXXdwh ignore for now.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"about:blank"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
if (mDrawerCachedFrame) {
printf("Got here.\n");
@ -530,7 +530,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
{
[mLocationSheetWindow orderOut:self];
[NSApp endSheet:mLocationSheetWindow returnCode:1];
[self loadURL:[NSURL URLWithString:[mLocationSheetURLField stringValue]]];
[self loadURL:[mLocationSheetURLField stringValue]];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];
@ -569,7 +569,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarTabView selectFirstTabViewItem:self];
}
- (void)importBookmarks: (NSURL*)aURL
- (void)importBookmarks: (NSString*)aURLSpec
{
// Open the bookmarks sidebar.
[self manageBookmarks: self];
@ -579,7 +579,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newView setFrame: NSZeroRect];
[newView setIsBookmarksImport: YES];
[[[self window] contentView] addSubview: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
- (IBAction)goToLocationFromToolbarURLField:(id)sender
@ -587,7 +587,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
// trim off any whitespace around url
NSMutableString *theURL = [[NSMutableString alloc] initWithString:[sender stringValue]];
CFStringTrimWhitespace((CFMutableStringRef)theURL);
[self loadURL:[NSURL URLWithString:theURL]];
[self loadURL:theURL];
[theURL release];
// Focus and activate our content area.
@ -600,22 +600,21 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
[[mBrowserView getBrowserView] saveURL: aFilterView filterList: aFilterList
url: aURL suggestedFilename: aFilename];
url: aURLSpec suggestedFilename: aFilename];
}
- (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];
[self openNewTabWithURL: urlStr loadInBackground: loadInBackground];
}
- (void)printDocument
@ -631,7 +630,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)performSearch
{
// XXX go to the user's preferred search engine.
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString: @"http://dmoz.org/"] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone];
}
@ -754,7 +753,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (IBAction)home:(id)aSender
{
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString:[[CHPreferenceManager sharedInstance] homePage:NO]] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:[[CHPreferenceManager sharedInstance] homePage:NO] flags:NSLoadFlagsNone];
}
- (IBAction)toggleSidebar:(id)aSender
@ -775,17 +774,17 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
-(void)loadURLString:(NSString*)aStr
{
[self loadURL:[NSURL URLWithString:aStr]];
[self loadURL: aStr];
}
-(void)loadURL:(NSURL*)aURL
-(void)loadURL:(NSString*)aURLSpec
{
if (mInitialized) {
[[mBrowserView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
else {
mURL = aURL;
mURL = aURLSpec;
[mURL retain];
}
}
@ -818,7 +817,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setView: newView];
[mTabBrowser addTabViewItem: newTab];
[[newView getBrowserView] loadURI:[NSURL URLWithString:@"about:blank"] flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
[mTabBrowser selectLastTabViewItem: self];
@ -880,13 +879,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return mBrowserView;
}
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
// Autosave our dimensions before we open a new window. That ensures the size ends up matching.
[self autosaveWindowFrame];
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
[browser loadURL: aURLSpec];
if (aLoadInBG)
[[browser window] orderWindow: NSWindowBelow relativeTo: [[self window] windowNumber]];
else {
@ -915,7 +914,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarBookmarksDataSource openBookmarkGroup: tabBrowser groupElement: aFolderElement];
}
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
NSTabViewItem* newTab = [[[NSTabViewItem alloc] initWithIdentifier: nil] autorelease];
@ -929,7 +928,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setLabel: @"Loading..."];
[newTab setView: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
if (!aLoadInBG) {
[mTabBrowser selectTabViewItem: newTab];
@ -1114,15 +1113,14 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return; // Something bad happened if we can't get prefs.
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
if (aUseWindow)
[self openNewWindowWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
else
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
- (IBAction)savePageAs:(id)aSender
@ -1142,14 +1140,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return;
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
// The user wants to save this link.
nsAutoString text;
CHGeckoUtils::GatherTextUnder(mContextMenuNode, text);
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
@ -1163,10 +1160,9 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* hrefStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
}
@ -1194,9 +1190,8 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* urlStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToView = [NSURL URLWithString: urlStr];
[self loadURL: urlToView];
[self loadURL: urlStr];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];

View File

@ -63,7 +63,7 @@
NSString* url = [NSString stringWithCString: cref.get()];
// Now load the URL in the window.
[[[self window] windowController] loadURL:[NSURL URLWithString: url]];
[[[self window] windowController] loadURL: url];
// Focus and activate our content area.
[[[[[self window] windowController] getBrowserWrapper] getBrowserView] setActive: YES];

View File

@ -63,7 +63,7 @@ class nsIDragHelperService;
// in. If the total number of bytes expected is unknown,
// maxBytes is -1.
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
// Called when a context menu should be shown.
@ -126,7 +126,7 @@ enum {
- (nsIDOMWindow*)getContentWindow;
// nsIWebNavigation methods
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags;
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags;
- (void)reload:(unsigned int)flags;
- (BOOL)canGoBack;
- (BOOL)canGoForward;
@ -134,11 +134,11 @@ enum {
- (void)goForward;
- (void)gotoIndex:(int)index;
- (void)stop:(unsigned int)flags;
- (NSURL*)getCurrentURI;
- (NSString*)getCurrentURI;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;

View File

@ -608,12 +608,11 @@ nsCocoaBrowserListener::OnLocationChange(nsIWebProgress *aWebProgress, nsIReques
nsCAutoString spec;
location->GetSpec(spec);
NSString* str = [NSString stringWithCString:spec.get()];
NSURL* url = [NSURL URLWithString:str];
NSEnumerator* enumerator = [mListeners objectEnumerator];
id<NSBrowserListener> obj;
while ((obj = [enumerator nextObject]))
[obj onLocationChange:url];
[obj onLocationChange:str];
return NS_OK;
}
@ -1030,14 +1029,13 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
return window;
}
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags
{
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
NSString* spec = [url absoluteString];
int length = [spec length];
int length = [urlSpec length];
PRUnichar* specStr = nsMemory::Alloc((length+1) * sizeof(PRUnichar));
[spec getCharacters:specStr];
[urlSpec getCharacters:specStr];
specStr[length] = PRUnichar(0);
@ -1137,7 +1135,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
}
- (NSURL*)getCurrentURI
// XXXbryner This isn't used anywhere. how is it different from getCurrentURLSpec?
- (NSString*)getCurrentURI
{
nsCOMPtr<nsIURI> uri;
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
@ -1152,9 +1151,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
const char* cstr = spec.get();
NSString* str = [NSString stringWithCString:cstr];
NSURL* url = [NSURL URLWithString:str];
return url;
return str;
}
- (nsCocoaBrowserListener*)getCocoaBrowserListener
@ -1280,10 +1278,10 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
nsCOMPtr<nsIURI> url;
nsresult rv = NS_NewURI(getter_AddRefs(url), [[aURL absoluteString] cString]);
nsresult rv = NS_NewURI(getter_AddRefs(url), [aURLSpec cString]);
if (NS_FAILED(rv))
return;

View File

@ -95,7 +95,7 @@
- (void)onLoadingStarted;
- (void)onLoadingCompleted:(BOOL)succeeded;
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
- (void)onShowTooltip:(NSPoint)where withText:(NSString*)text;

View File

@ -84,7 +84,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
- (IBAction)load:(id)sender
{
[mBrowserView loadURI:[NSURL URLWithString:[urlbar stringValue]] flags:NSLoadFlagsNone];
[mBrowserView loadURI:[urlbar stringValue] flags:NSLoadFlagsNone];
}
-(void)disconnectView
@ -292,12 +292,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
}
}
- (void)onLocationChange:(NSURL*)url
- (void)onLocationChange:(NSString*)urlSpec
{
if ( mIsPrimary ) {
NSString* spec = [url absoluteString];
[mWindowController updateLocationFields:spec];
}
if (mIsPrimary)
[mWindowController updateLocationFields:urlSpec];
}
- (void)onStatusChange:(NSString*)aStatusString

View File

@ -174,10 +174,10 @@
BookmarksService::OpenBookmarkGroup(self, bookmarkElt);
} else {
if (overTabViewItem) {
[[[overTabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[overTabViewItem view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
} else if (overContentArea) {
[[[[self selectedTabViewItem] view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[[self selectedTabViewItem] view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
} else
[self addTabForURL:url];
@ -188,7 +188,7 @@
NSDictionary* data = [[sender draggingPasteboard] propertyListForType: @"MozURLType"];
if (overTabViewItem || overContentArea) {
[[[overTabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: [data objectForKey:@"url"]]
[[[overTabViewItem view] getBrowserView] loadURI:[data objectForKey:@"url"]
flags: NSLoadFlagsNone];
} else
[self addTabForURL:[data objectForKey:@"url"]];
@ -209,7 +209,7 @@
[tabViewItem setView: newView];
[self addTabViewItem: tabViewItem];
[[[tabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: aURL]
[[[tabViewItem view] getBrowserView] loadURI: aURL
flags: NSLoadFlagsNone];
}

View File

@ -62,6 +62,9 @@
#include "nsIFrame.h"
#include "nsIView.h"
#include "nsIWidget.h"
#include "nsIURI.h"
#include "nsIProtocolHandler.h"
#include "nsNetUtil.h"
// Common helper routines (also used by the context menu code)
#include "CHGeckoUtils.h"
@ -277,22 +280,25 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
mouseEvent->GetAltKey(&altKey);
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* linkURL = [NSURL URLWithString: hrefStr];
// Hack to determine specific protocols handled by Chimera in the frontend
// until I can determine why the general unknown protocol handler handoff
// between Necko and uriloader isn't happening.
if (([[linkURL scheme] isEqualToString:@"http"]) ||
([[linkURL scheme] isEqualToString:@"https"]) ||
([[linkURL scheme] isEqualToString:@"ftp"]) ||
([[linkURL scheme] isEqualToString:@"about"]) ||
([[linkURL scheme] isEqualToString:@"file"]) ||
([[linkURL scheme] isEqualToString:@"data"]) ||
([[linkURL scheme] isEqualToString:@"javascript"]))
{
nsCOMPtr<nsIURI> uri;
NS_NewURI(getter_AddRefs(uri), href);
nsCAutoString scheme;
uri->GetScheme(scheme);
nsCAutoString contractId(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX);
contractId.Append(scheme);
nsCOMPtr<nsIProtocolHandler> handler = do_GetService(contractId.get());
if (handler) {
// Fall through and do whatever we'd normally do with this kind of URL
} else
[[NSWorkspace sharedWorkspace] openURL:linkURL];
} else {
NSString* escapedString = (NSString*) CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef) hrefStr, NULL, NULL, kCFStringEncodingUTF8);
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString: escapedString]];
}
if ((metaKey && button == 0) || button == 1) {
// The command key is down or we got a middle click. Open the link in a new window or tab.
@ -303,9 +309,9 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
if (shiftKey)
loadInBackground = !loadInBackground;
if (useTab)
[mBrowserController openNewTabWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
else
[mBrowserController openNewWindowWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
}
else if (altKey) {
// The user wants to save this link.
@ -313,7 +319,7 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
CHGeckoUtils::GatherTextUnder(content, text);
[mBrowserController saveURL: nil filterList: nil
url: linkURL suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length: nsCRT::strlen(text.get())]];
}

View File

@ -112,8 +112,7 @@ class BookmarksService;
-(IBAction) newTab:(id)aSender;
-(IBAction) closeTab:(id)aSender;
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL;
- (MVPreferencesController *)preferencesController;
- (void)displayPreferencesWindow:sender;

View File

@ -146,7 +146,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// Now open the new window.
NSString* homePage = [mPreferenceManager homePage:YES];
BrowserWindowController* controller = [self openBrowserWindowWithURLString:homePage];
BrowserWindowController* controller = [self openBrowserWindowWithURL:homePage];
if ([homePage isEqualToString: @"about:blank"])
[controller focusURLBar];
else
@ -194,11 +194,11 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// ----------------------
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL: url];
[[mainWindow windowController] loadURL:[url absoluteString]];
[[[[mainWindow windowController] getBrowserWrapper] getBrowserView] setActive: YES];
}
else
[self openBrowserWindowWithURL: url];
[self openBrowserWindowWithURL:[url absoluteString]];
}
}
@ -206,7 +206,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -306,12 +306,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[[[mApplication mainWindow] windowController] home: aSender];
}
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL
{
return [self openBrowserWindowWithURL: [NSURL URLWithString:aURL]];
}
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL
{
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
@ -365,7 +360,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
window = [mApplication mainWindow];
}
[[window windowController] importBookmarks: url];
[[window windowController] importBookmarks: [url absoluteString]];
}
}
@ -387,7 +382,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWind = [mApplication mainWindow];
if (!mainWind) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWind = [mApplication mainWindow];
}
@ -398,7 +393,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -428,9 +423,9 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL:[NSURL fileURLWithPath:filename]];
[[mainWindow windowController] loadURL:[[NSURL fileURLWithPath:filename] absoluteString]];
} else {
[self openBrowserWindowWithURL:[NSURL fileURLWithPath:filename]];
[self openBrowserWindowWithURL:[[NSURL fileURLWithPath:filename] absoluteString]];
}
return YES;
@ -614,7 +609,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[urlString appendString:tmpString];
}
[self openBrowserWindowWithURLString:urlString];
[self openBrowserWindowWithURL:urlString];
}
@end

View File

@ -112,8 +112,7 @@ class BookmarksService;
-(IBAction) newTab:(id)aSender;
-(IBAction) closeTab:(id)aSender;
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL;
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL;
- (MVPreferencesController *)preferencesController;
- (void)displayPreferencesWindow:sender;

View File

@ -146,7 +146,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// Now open the new window.
NSString* homePage = [mPreferenceManager homePage:YES];
BrowserWindowController* controller = [self openBrowserWindowWithURLString:homePage];
BrowserWindowController* controller = [self openBrowserWindowWithURL:homePage];
if ([homePage isEqualToString: @"about:blank"])
[controller focusURLBar];
else
@ -194,11 +194,11 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
// ----------------------
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL: url];
[[mainWindow windowController] loadURL:[url absoluteString]];
[[[[mainWindow windowController] getBrowserWrapper] getBrowserView] setActive: YES];
}
else
[self openBrowserWindowWithURL: url];
[self openBrowserWindowWithURL:[url absoluteString]];
}
}
@ -206,7 +206,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -306,12 +306,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[[[mApplication mainWindow] windowController] home: aSender];
}
-(BrowserWindowController*)openBrowserWindowWithURLString: (NSString*)aURL
{
return [self openBrowserWindowWithURL: [NSURL URLWithString:aURL]];
}
-(BrowserWindowController*)openBrowserWindowWithURL: (NSURL*)aURL
-(BrowserWindowController*)openBrowserWindowWithURL: (NSString*)aURL
{
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
@ -365,7 +360,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
window = [mApplication mainWindow];
}
[[window windowController] importBookmarks: url];
[[window windowController] importBookmarks: [url absoluteString]];
}
}
@ -387,7 +382,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWind = [mApplication mainWindow];
if (!mainWind) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWind = [mApplication mainWindow];
}
@ -398,7 +393,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
{
NSWindow* mainWindow = [mApplication mainWindow];
if (!mainWindow) {
[self openBrowserWindowWithURLString: @"about:blank"];
[self openBrowserWindowWithURL: @"about:blank"];
mainWindow = [mApplication mainWindow];
}
@ -428,9 +423,9 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
NSWindow* mainWindow = [mApplication mainWindow];
if (mainWindow) {
[[mainWindow windowController] loadURL:[NSURL fileURLWithPath:filename]];
[[mainWindow windowController] loadURL:[[NSURL fileURLWithPath:filename] absoluteString]];
} else {
[self openBrowserWindowWithURL:[NSURL fileURLWithPath:filename]];
[self openBrowserWindowWithURL:[[NSURL fileURLWithPath:filename] absoluteString]];
}
return YES;
@ -614,7 +609,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
[urlString appendString:tmpString];
}
[self openBrowserWindowWithURLString:urlString];
[self openBrowserWindowWithURL:urlString];
}
@end

View File

@ -63,7 +63,7 @@
NSString* url = [NSString stringWithCString: cref.get()];
// Now load the URL in the window.
[[[self window] windowController] loadURL:[NSURL URLWithString: url]];
[[[self window] windowController] loadURL: url];
// Focus and activate our content area.
[[[[[self window] windowController] getBrowserWrapper] getBrowserView] setActive: YES];

View File

@ -346,7 +346,7 @@
content->GetAttr(kNameSpaceID_None, BookmarksService::gHrefAtom, href);
if (!href.IsEmpty()) {
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI:[NSURL URLWithString: url] flags: NSLoadFlagsNone];
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] loadURI: url flags: NSLoadFlagsNone];
// Focus and activate our content area.
[[[mBrowserWindowController getBrowserWrapper] getBrowserView] setActive: YES];
}
@ -408,8 +408,8 @@
if (isExpandable) {
PRBool isOpen = content->HasAttr(kNameSpaceID_None, BookmarksService::gOpenAtom);
if (isOpen)
[mOutlineView expandItem: item];
else
[mOutlineView expandItem: item];
else
[mOutlineView collapseItem: item];
}
#endif
@ -626,12 +626,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
[mBrowserWindowController openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[mBrowserWindowController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
}
@ -647,12 +646,11 @@
// stuff it into the string
NSString* hrefStr = [NSString stringWithCharacters:hrefAttr.get() length:hrefAttr.Length()];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
nsAutoString group;
[item contentNode]->GetAttr(kNameSpaceID_None, BookmarksService::gGroupAtom, group);
if (group.IsEmpty())
[mBrowserWindowController openNewWindowWithURL: urlToLoad loadInBackground: NO];
[mBrowserWindowController openNewWindowWithURL: hrefStr loadInBackground: NO];
else {
nsCOMPtr<nsIDOMElement> elt(do_QueryInterface([item contentNode]));
[mBrowserWindowController openNewWindowWithGroup: elt loadInBackground: NO];
@ -1387,7 +1385,7 @@ BookmarksService::OpenMenuBookmark(BrowserWindowController* aController, id aMen
NSString* url = [NSString stringWithCharacters: href.get() length: href.Length()];
// Now load the URL in the window.
[aController loadURL:[NSURL URLWithString: url]];
[aController loadURL:url];
// Focus and activate our content area.
[[[aController getBrowserWrapper] getBrowserView] setActive: YES];
@ -1595,7 +1593,7 @@ BookmarksService::OpenBookmarkGroup(id aTabView, nsIDOMElement* aFolder)
else
tabViewItem = [aTabView tabViewItemAtIndex: currentIndex];
[[[tabViewItem view] getBrowserView] loadURI:[NSURL URLWithString: url]
[[[tabViewItem view] getBrowserView] loadURI: url
flags: NSLoadFlagsNone];
}
}

View File

@ -112,7 +112,7 @@ class nsIDOMNode;
NSToolbarItem *mSidebarToolbarItem;
BOOL mInitialized;
NSURL* mURL;
NSString* mURL;
CHBrowserWrapper* mBrowserView;
@ -146,7 +146,7 @@ class nsIDOMNode;
-(id)getTabBrowser;
-(CHBrowserWrapper*)getBrowserWrapper;
- (void)loadURL:(NSURL*)aURL;
- (void)loadURL:(NSString*)aURLSpec;
- (void)loadURLString:(NSString*)aStr;
- (void)updateLocationFields:(NSString *)locationString;
- (void)updateToolbarItems;
@ -170,7 +170,7 @@ class nsIDOMNode;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;
- (void)printPreview;
@ -184,7 +184,7 @@ class nsIDOMNode;
- (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder;
- (IBAction)manageBookmarks: (id)aSender;
- (void)importBookmarks: (NSURL*)aURL;
- (void)importBookmarks: (NSString*)aURLSpec;
- (IBAction)toggleSidebar:(id)aSender;
- (void)newTab;
@ -200,9 +200,9 @@ class nsIDOMNode;
-(void)enterModalSession;
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)openNewWindowWithGroup: (nsIDOMElement*)aFolderElement loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG;
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG;
-(void)autosaveWindowFrame;
-(void)disableAutosave;

View File

@ -282,7 +282,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)drawerDidOpen:(NSNotification *)aNotification
{
// XXXdwh This is temporary.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html" flags:NSLoadFlagsNone];
// Toggle the sidebar icon.
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarOpened"]];
@ -294,7 +294,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarToolbarItem setImage:[NSImage imageNamed:@"sidebarClosed"]];
// XXXdwh ignore for now.
// [[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"about:blank"] flags:NSLoadFlagsNone];
// [[mSidebarBrowserView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
if (mDrawerCachedFrame) {
printf("Got here.\n");
@ -530,7 +530,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
{
[mLocationSheetWindow orderOut:self];
[NSApp endSheet:mLocationSheetWindow returnCode:1];
[self loadURL:[NSURL URLWithString:[mLocationSheetURLField stringValue]]];
[self loadURL:[mLocationSheetURLField stringValue]];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];
@ -569,7 +569,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarTabView selectFirstTabViewItem:self];
}
- (void)importBookmarks: (NSURL*)aURL
- (void)importBookmarks: (NSString*)aURLSpec
{
// Open the bookmarks sidebar.
[self manageBookmarks: self];
@ -579,7 +579,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newView setFrame: NSZeroRect];
[newView setIsBookmarksImport: YES];
[[[self window] contentView] addSubview: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
- (IBAction)goToLocationFromToolbarURLField:(id)sender
@ -587,7 +587,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
// trim off any whitespace around url
NSMutableString *theURL = [[NSMutableString alloc] initWithString:[sender stringValue]];
CFStringTrimWhitespace((CFMutableStringRef)theURL);
[self loadURL:[NSURL URLWithString:theURL]];
[self loadURL:theURL];
[theURL release];
// Focus and activate our content area.
@ -600,22 +600,21 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
[[mBrowserView getBrowserView] saveURL: aFilterView filterList: aFilterList
url: aURL suggestedFilename: aFilename];
url: aURLSpec suggestedFilename: aFilename];
}
- (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];
[self openNewTabWithURL: urlStr loadInBackground: loadInBackground];
}
- (void)printDocument
@ -631,7 +630,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (void)performSearch
{
// XXX go to the user's preferred search engine.
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString: @"http://dmoz.org/"] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone];
}
@ -754,7 +753,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
- (IBAction)home:(id)aSender
{
[[mBrowserView getBrowserView] loadURI:[NSURL URLWithString:[[CHPreferenceManager sharedInstance] homePage:NO]] flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:[[CHPreferenceManager sharedInstance] homePage:NO] flags:NSLoadFlagsNone];
}
- (IBAction)toggleSidebar:(id)aSender
@ -775,17 +774,17 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
-(void)loadURLString:(NSString*)aStr
{
[self loadURL:[NSURL URLWithString:aStr]];
[self loadURL: aStr];
}
-(void)loadURL:(NSURL*)aURL
-(void)loadURL:(NSString*)aURLSpec
{
if (mInitialized) {
[[mBrowserView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[mBrowserView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
}
else {
mURL = aURL;
mURL = aURLSpec;
[mURL retain];
}
}
@ -818,7 +817,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setView: newView];
[mTabBrowser addTabViewItem: newTab];
[[newView getBrowserView] loadURI:[NSURL URLWithString:@"about:blank"] flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI: @"about:blank" flags:NSLoadFlagsNone];
[mTabBrowser selectLastTabViewItem: self];
@ -880,13 +879,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return mBrowserView;
}
-(void)openNewWindowWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewWindowWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
// Autosave our dimensions before we open a new window. That ensures the size ends up matching.
[self autosaveWindowFrame];
BrowserWindowController* browser = [[BrowserWindowController alloc] initWithWindowNibName: @"BrowserWindow"];
[browser loadURL: aURL];
[browser loadURL: aURLSpec];
if (aLoadInBG)
[[browser window] orderWindow: NSWindowBelow relativeTo: [[self window] windowNumber]];
else {
@ -915,7 +914,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[mSidebarBookmarksDataSource openBookmarkGroup: tabBrowser groupElement: aFolderElement];
}
-(void)openNewTabWithURL: (NSURL*)aURL loadInBackground: (BOOL)aLoadInBG
-(void)openNewTabWithURL: (NSString*)aURLSpec loadInBackground: (BOOL)aLoadInBG
{
NSTabViewItem* newTab = [[[NSTabViewItem alloc] initWithIdentifier: nil] autorelease];
@ -929,7 +928,7 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
[newTab setLabel: @"Loading..."];
[newTab setView: newView];
[[newView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone];
[[newView getBrowserView] loadURI:aURLSpec flags:NSLoadFlagsNone];
if (!aLoadInBG) {
[mTabBrowser selectTabViewItem: newTab];
@ -1114,15 +1113,14 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return; // Something bad happened if we can't get prefs.
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToLoad = [NSURL URLWithString: hrefStr];
PRBool loadInBackground;
pref->GetBoolPref("browser.tabs.loadInBackground", &loadInBackground);
if (aUseWindow)
[self openNewWindowWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
else
[self openNewTabWithURL: urlToLoad loadInBackground: loadInBackground];
[self openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
}
- (IBAction)savePageAs:(id)aSender
@ -1142,14 +1140,13 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
return;
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
// The user wants to save this link.
nsAutoString text;
CHGeckoUtils::GatherTextUnder(mContextMenuNode, text);
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
@ -1163,10 +1160,9 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* hrefStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToSave = [NSURL URLWithString: hrefStr];
[self saveURL: nil filterList: nil
url: urlToSave suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length:nsCRT::strlen(text.get())]];
}
}
@ -1194,9 +1190,8 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item";
imgElement->GetSrc(url);
NSString* urlStr = [NSString stringWithCharacters: url.get() length:nsCRT::strlen(url.get())];
NSURL* urlToView = [NSURL URLWithString: urlStr];
[self loadURL: urlToView];
[self loadURL: urlStr];
// Focus and activate our content area.
[[mBrowserView getBrowserView] setActive: YES];

View File

@ -95,7 +95,7 @@
- (void)onLoadingStarted;
- (void)onLoadingCompleted:(BOOL)succeeded;
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
- (void)onShowTooltip:(NSPoint)where withText:(NSString*)text;

View File

@ -84,7 +84,7 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
- (IBAction)load:(id)sender
{
[mBrowserView loadURI:[NSURL URLWithString:[urlbar stringValue]] flags:NSLoadFlagsNone];
[mBrowserView loadURI:[urlbar stringValue] flags:NSLoadFlagsNone];
}
-(void)disconnectView
@ -292,12 +292,10 @@ static const char* ioServiceContractID = "@mozilla.org/network/io-service;1";
}
}
- (void)onLocationChange:(NSURL*)url
- (void)onLocationChange:(NSString*)urlSpec
{
if ( mIsPrimary ) {
NSString* spec = [url absoluteString];
[mWindowController updateLocationFields:spec];
}
if (mIsPrimary)
[mWindowController updateLocationFields:urlSpec];
}
- (void)onStatusChange:(NSString*)aStatusString

View File

@ -62,6 +62,9 @@
#include "nsIFrame.h"
#include "nsIView.h"
#include "nsIWidget.h"
#include "nsIURI.h"
#include "nsIProtocolHandler.h"
#include "nsNetUtil.h"
// Common helper routines (also used by the context menu code)
#include "CHGeckoUtils.h"
@ -277,22 +280,25 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
mouseEvent->GetAltKey(&altKey);
NSString* hrefStr = [NSString stringWithCharacters: href.get() length:nsCRT::strlen(href.get())];
NSURL* linkURL = [NSURL URLWithString: hrefStr];
// Hack to determine specific protocols handled by Chimera in the frontend
// until I can determine why the general unknown protocol handler handoff
// between Necko and uriloader isn't happening.
if (([[linkURL scheme] isEqualToString:@"http"]) ||
([[linkURL scheme] isEqualToString:@"https"]) ||
([[linkURL scheme] isEqualToString:@"ftp"]) ||
([[linkURL scheme] isEqualToString:@"about"]) ||
([[linkURL scheme] isEqualToString:@"file"]) ||
([[linkURL scheme] isEqualToString:@"data"]) ||
([[linkURL scheme] isEqualToString:@"javascript"]))
{
nsCOMPtr<nsIURI> uri;
NS_NewURI(getter_AddRefs(uri), href);
nsCAutoString scheme;
uri->GetScheme(scheme);
nsCAutoString contractId(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX);
contractId.Append(scheme);
nsCOMPtr<nsIProtocolHandler> handler = do_GetService(contractId.get());
if (handler) {
// Fall through and do whatever we'd normally do with this kind of URL
} else
[[NSWorkspace sharedWorkspace] openURL:linkURL];
} else {
NSString* escapedString = (NSString*) CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef) hrefStr, NULL, NULL, kCFStringEncodingUTF8);
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString: escapedString]];
}
if ((metaKey && button == 0) || button == 1) {
// The command key is down or we got a middle click. Open the link in a new window or tab.
@ -303,9 +309,9 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
if (shiftKey)
loadInBackground = !loadInBackground;
if (useTab)
[mBrowserController openNewTabWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewTabWithURL: hrefStr loadInBackground: loadInBackground];
else
[mBrowserController openNewWindowWithURL: linkURL loadInBackground: loadInBackground];
[mBrowserController openNewWindowWithURL: hrefStr loadInBackground: loadInBackground];
}
else if (altKey) {
// The user wants to save this link.
@ -313,7 +319,7 @@ ContentClickListener::MouseClick(nsIDOMEvent* aEvent)
CHGeckoUtils::GatherTextUnder(content, text);
[mBrowserController saveURL: nil filterList: nil
url: linkURL suggestedFilename: [NSString stringWithCharacters: text.get()
url: hrefStr suggestedFilename: [NSString stringWithCharacters: text.get()
length: nsCRT::strlen(text.get())]];
}

View File

@ -63,7 +63,7 @@ class nsIDragHelperService;
// in. If the total number of bytes expected is unknown,
// maxBytes is -1.
- (void)onProgressChange:(int)currentBytes outOf:(int)maxBytes;
- (void)onLocationChange:(NSURL*)url;
- (void)onLocationChange:(NSString*)urlSpec;
- (void)onStatusChange:(NSString*)aMessage;
- (void)onSecurityStateChange:(unsigned long)newState;
// Called when a context menu should be shown.
@ -126,7 +126,7 @@ enum {
- (nsIDOMWindow*)getContentWindow;
// nsIWebNavigation methods
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags;
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags;
- (void)reload:(unsigned int)flags;
- (BOOL)canGoBack;
- (BOOL)canGoForward;
@ -134,11 +134,11 @@ enum {
- (void)goForward;
- (void)gotoIndex:(int)index;
- (void)stop:(unsigned int)flags;
- (NSURL*)getCurrentURI;
- (NSString*)getCurrentURI;
- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList;
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename;
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename;
- (void)printDocument;

View File

@ -608,12 +608,11 @@ nsCocoaBrowserListener::OnLocationChange(nsIWebProgress *aWebProgress, nsIReques
nsCAutoString spec;
location->GetSpec(spec);
NSString* str = [NSString stringWithCString:spec.get()];
NSURL* url = [NSURL URLWithString:str];
NSEnumerator* enumerator = [mListeners objectEnumerator];
id<NSBrowserListener> obj;
while ((obj = [enumerator nextObject]))
[obj onLocationChange:url];
[obj onLocationChange:str];
return NS_OK;
}
@ -1030,14 +1029,13 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
return window;
}
- (void)loadURI:(NSURL *)url flags:(unsigned int)flags
- (void)loadURI:(NSString *)urlSpec flags:(unsigned int)flags
{
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
NSString* spec = [url absoluteString];
int length = [spec length];
int length = [urlSpec length];
PRUnichar* specStr = nsMemory::Alloc((length+1) * sizeof(PRUnichar));
[spec getCharacters:specStr];
[urlSpec getCharacters:specStr];
specStr[length] = PRUnichar(0);
@ -1137,7 +1135,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
}
- (NSURL*)getCurrentURI
// XXXbryner This isn't used anywhere. how is it different from getCurrentURLSpec?
- (NSString*)getCurrentURI
{
nsCOMPtr<nsIURI> uri;
nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(_webBrowser);
@ -1152,9 +1151,8 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
const char* cstr = spec.get();
NSString* str = [NSString stringWithCString:cstr];
NSURL* url = [NSURL URLWithString:str];
return url;
return str;
}
- (nsCocoaBrowserListener*)getCocoaBrowserListener
@ -1280,10 +1278,10 @@ nsHeaderSniffer::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aReq
}
- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList
url: (NSURL*)aURL suggestedFilename: (NSString*)aFilename
url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename
{
nsCOMPtr<nsIURI> url;
nsresult rv = NS_NewURI(getter_AddRefs(url), [[aURL absoluteString] cString]);
nsresult rv = NS_NewURI(getter_AddRefs(url), [aURLSpec cString]);
if (NS_FAILED(rv))
return;