diff --git a/mozilla/camino/BrowserWindowController.mm b/mozilla/camino/BrowserWindowController.mm index dc74976f7e6..69a6e2dcc5e 100644 --- a/mozilla/camino/BrowserWindowController.mm +++ b/mozilla/camino/BrowserWindowController.mm @@ -636,8 +636,28 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item"; - (void)performSearch { - // XXX go to the user's preferred search engine. - [[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone]; + NSString *searchEngine = nil; + + // Try and get the search engine from the pref service + nsCOMPtr prefBranch(do_GetService("@mozilla.org/preferences-service;1")); + if (prefBranch) { + char *buf = nsnull; + prefBranch->GetCharPref("search.default_engine", &buf); + if (buf) { + if (*buf) + searchEngine = [NSString stringWithCString:buf]; + free(buf); + } + } + + // Get the users preferred search engine from IC + if (!searchEngine) { + searchEngine = [[CHPreferenceManager sharedInstance] getICStringPref:kICWebSearchPagePrefs]; + if (!searchEngine || ([searchEngine cStringLength] == 0)) + searchEngine = @"http://dmoz.org/"; + } + + [[mBrowserView getBrowserView] loadURI:searchEngine flags:NSLoadFlagsNone]; } diff --git a/mozilla/camino/src/browser/BrowserWindowController.mm b/mozilla/camino/src/browser/BrowserWindowController.mm index dc74976f7e6..69a6e2dcc5e 100644 --- a/mozilla/camino/src/browser/BrowserWindowController.mm +++ b/mozilla/camino/src/browser/BrowserWindowController.mm @@ -636,8 +636,28 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item"; - (void)performSearch { - // XXX go to the user's preferred search engine. - [[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone]; + NSString *searchEngine = nil; + + // Try and get the search engine from the pref service + nsCOMPtr prefBranch(do_GetService("@mozilla.org/preferences-service;1")); + if (prefBranch) { + char *buf = nsnull; + prefBranch->GetCharPref("search.default_engine", &buf); + if (buf) { + if (*buf) + searchEngine = [NSString stringWithCString:buf]; + free(buf); + } + } + + // Get the users preferred search engine from IC + if (!searchEngine) { + searchEngine = [[CHPreferenceManager sharedInstance] getICStringPref:kICWebSearchPagePrefs]; + if (!searchEngine || ([searchEngine cStringLength] == 0)) + searchEngine = @"http://dmoz.org/"; + } + + [[mBrowserView getBrowserView] loadURI:searchEngine flags:NSLoadFlagsNone]; } diff --git a/mozilla/chimera/BrowserWindowController.mm b/mozilla/chimera/BrowserWindowController.mm index dc74976f7e6..69a6e2dcc5e 100644 --- a/mozilla/chimera/BrowserWindowController.mm +++ b/mozilla/chimera/BrowserWindowController.mm @@ -636,8 +636,28 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item"; - (void)performSearch { - // XXX go to the user's preferred search engine. - [[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone]; + NSString *searchEngine = nil; + + // Try and get the search engine from the pref service + nsCOMPtr prefBranch(do_GetService("@mozilla.org/preferences-service;1")); + if (prefBranch) { + char *buf = nsnull; + prefBranch->GetCharPref("search.default_engine", &buf); + if (buf) { + if (*buf) + searchEngine = [NSString stringWithCString:buf]; + free(buf); + } + } + + // Get the users preferred search engine from IC + if (!searchEngine) { + searchEngine = [[CHPreferenceManager sharedInstance] getICStringPref:kICWebSearchPagePrefs]; + if (!searchEngine || ([searchEngine cStringLength] == 0)) + searchEngine = @"http://dmoz.org/"; + } + + [[mBrowserView getBrowserView] loadURI:searchEngine flags:NSLoadFlagsNone]; } diff --git a/mozilla/chimera/src/browser/BrowserWindowController.mm b/mozilla/chimera/src/browser/BrowserWindowController.mm index dc74976f7e6..69a6e2dcc5e 100644 --- a/mozilla/chimera/src/browser/BrowserWindowController.mm +++ b/mozilla/chimera/src/browser/BrowserWindowController.mm @@ -636,8 +636,28 @@ static NSString *SearchToolbarItemIdentifier = @"Search Toolbar Item"; - (void)performSearch { - // XXX go to the user's preferred search engine. - [[mBrowserView getBrowserView] loadURI: @"http://dmoz.org/" flags:NSLoadFlagsNone]; + NSString *searchEngine = nil; + + // Try and get the search engine from the pref service + nsCOMPtr prefBranch(do_GetService("@mozilla.org/preferences-service;1")); + if (prefBranch) { + char *buf = nsnull; + prefBranch->GetCharPref("search.default_engine", &buf); + if (buf) { + if (*buf) + searchEngine = [NSString stringWithCString:buf]; + free(buf); + } + } + + // Get the users preferred search engine from IC + if (!searchEngine) { + searchEngine = [[CHPreferenceManager sharedInstance] getICStringPref:kICWebSearchPagePrefs]; + if (!searchEngine || ([searchEngine cStringLength] == 0)) + searchEngine = @"http://dmoz.org/"; + } + + [[mBrowserView getBrowserView] loadURI:searchEngine flags:NSLoadFlagsNone]; }