diff options
author | pinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-22 18:35:10 +0000 |
---|---|---|
committer | pinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-22 18:35:10 +0000 |
commit | d480bc80924732bfe029c894db68cecb15ce0a9f (patch) | |
tree | 063298145cedbcd6cac8fb8987b1e5b41416c45c /chrome/browser/cocoa | |
parent | 878c426fd8ec9fc5568a7549d7cebad29db3413e (diff) | |
download | chromium_src-d480bc80924732bfe029c894db68cecb15ce0a9f.zip chromium_src-d480bc80924732bfe029c894db68cecb15ce0a9f.tar.gz chromium_src-d480bc80924732bfe029c894db68cecb15ce0a9f.tar.bz2 |
Fix DIR_SOURCE_ROOT to work in bundles like Chromium.app. Add more ui tests. Add a resource for tabs with no title on mac. Fix window title reporting. Remove the Browser dependency from the tab strip (only needs a TabStripModel).
Review URL: http://codereview.chromium.org/93025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14212 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa')
-rw-r--r-- | chrome/browser/cocoa/browser_window_controller.mm | 8 | ||||
-rw-r--r-- | chrome/browser/cocoa/cocoa_test_helper.h | 1 | ||||
-rw-r--r-- | chrome/browser/cocoa/tab_strip_controller.h | 3 | ||||
-rw-r--r-- | chrome/browser/cocoa/tab_strip_controller.mm | 15 | ||||
-rw-r--r-- | chrome/browser/cocoa/tab_window_controller.h | 3 | ||||
-rw-r--r-- | chrome/browser/cocoa/tab_window_controller.mm | 6 |
6 files changed, 28 insertions, 8 deletions
diff --git a/chrome/browser/cocoa/browser_window_controller.mm b/chrome/browser/cocoa/browser_window_controller.mm index 41007cd..4a318f7 100644 --- a/chrome/browser/cocoa/browser_window_controller.mm +++ b/chrome/browser/cocoa/browser_window_controller.mm @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/sys_string_conversions.h" #include "chrome/app/chrome_dll_resource.h" // IDC_* #include "chrome/browser/browser.h" #include "chrome/browser/browser_list.h" @@ -89,7 +90,7 @@ willPositionSheet:(NSWindow *)sheet tabStripController_.reset([[TabStripController alloc] initWithView:[self tabStripView] switchView:[self tabContentArea] - browser:browser_.get()]); + model:browser_->tabstrip_model()]); // Create a controller for the toolbar, giving it the toolbar model object // and the toolbar view from the nib. The controller will handle @@ -354,6 +355,11 @@ willPositionSheet:(NSWindow *)sheet return browser_->tabstrip_model()->count(); } +- (NSString*)selectedTabTitle { + TabContents* contents = browser_->tabstrip_model()->GetSelectedTabContents(); + return base::SysUTF16ToNSString(contents->GetTitle()); +} + - (void)selectTabWithContents:(TabContents*)newContents previousContents:(TabContents*)oldContents atIndex:(NSInteger)index diff --git a/chrome/browser/cocoa/cocoa_test_helper.h b/chrome/browser/cocoa/cocoa_test_helper.h index 28515276..aca0df7 100644 --- a/chrome/browser/cocoa/cocoa_test_helper.h +++ b/chrome/browser/cocoa/cocoa_test_helper.h @@ -10,6 +10,7 @@ #include "base/file_path.h" #include "base/mac_util.h" #include "base/path_service.h" +#import "base/scoped_nsobject.h" #if defined(GOOGLE_CHROME_BUILD) #define APP_NAME "Chrome.app" diff --git a/chrome/browser/cocoa/tab_strip_controller.h b/chrome/browser/cocoa/tab_strip_controller.h index faa7132..d4bd199 100644 --- a/chrome/browser/cocoa/tab_strip_controller.h +++ b/chrome/browser/cocoa/tab_strip_controller.h @@ -13,7 +13,6 @@ @class TabStripView; -class Browser; class TabStripModelObserverBridge; class TabStripModel; class TabContents; @@ -55,7 +54,7 @@ class ToolbarModel; // you have retained them. - (id)initWithView:(TabStripView*)view switchView:(NSView*)switchView - browser:(Browser*)browser; + model:(TabStripModel*)model; // Return the rect, in WebKit coordinates (flipped), of the window's grow box // in the coordinate system of the content area of the currently selected tab. diff --git a/chrome/browser/cocoa/tab_strip_controller.mm b/chrome/browser/cocoa/tab_strip_controller.mm index 8528ef1..524d11c 100644 --- a/chrome/browser/cocoa/tab_strip_controller.mm +++ b/chrome/browser/cocoa/tab_strip_controller.mm @@ -16,17 +16,19 @@ #import "chrome/browser/cocoa/tab_view.h" #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/browser/tabs/tab_strip_model.h" +#include "chrome/common/l10n_util.h" +#include "grit/chromium_strings.h" @implementation TabStripController - (id)initWithView:(TabStripView*)view switchView:(NSView*)switchView - browser:(Browser*)browser { - DCHECK(view && switchView && browser); + model:(TabStripModel*)model { + DCHECK(view && switchView && model); if ((self = [super init])) { tabView_ = view; switchView_ = switchView; - tabModel_ = browser->tabstrip_model(); + tabModel_ = model; bridge_.reset(new TabStripModelObserverBridge(tabModel_, self)); tabContentsArray_.reset([[NSMutableArray alloc] init]); tabArray_.reset([[NSMutableArray alloc] init]); @@ -190,8 +192,11 @@ NSString* titleString = nil; if (contents) titleString = base::SysUTF16ToNSString(contents->GetTitle()); - if (![titleString length]) - titleString = NSLocalizedString(@"untitled", nil); + if (![titleString length]) { + titleString = + base::SysWideToNSString( + l10n_util::GetString(IDS_BROWSER_WINDOW_MAC_TAB_UNTITLED)); + } [tab setTitle:titleString]; } diff --git a/chrome/browser/cocoa/tab_window_controller.h b/chrome/browser/cocoa/tab_window_controller.h index 43df6f2..60d13de 100644 --- a/chrome/browser/cocoa/tab_window_controller.h +++ b/chrome/browser/cocoa/tab_window_controller.h @@ -65,6 +65,9 @@ // dragging the only tab in the window. - (NSInteger)numberOfTabs; +// The title of the selected tab. +- (NSString*)selectedTabTitle; + @end @interface TabWindowController(ProtectedMethods) diff --git a/chrome/browser/cocoa/tab_window_controller.mm b/chrome/browser/cocoa/tab_window_controller.mm index 456c973..89ae67f 100644 --- a/chrome/browser/cocoa/tab_window_controller.mm +++ b/chrome/browser/cocoa/tab_window_controller.mm @@ -129,4 +129,10 @@ return 0; } +- (NSString*)selectedTabTitle { + // subclass must implement + NOTIMPLEMENTED(); + return @""; +} + @end |