summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa
diff options
context:
space:
mode:
authorpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-22 18:35:10 +0000
committerpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-22 18:35:10 +0000
commitd480bc80924732bfe029c894db68cecb15ce0a9f (patch)
tree063298145cedbcd6cac8fb8987b1e5b41416c45c /chrome/browser/cocoa
parent878c426fd8ec9fc5568a7549d7cebad29db3413e (diff)
downloadchromium_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.mm8
-rw-r--r--chrome/browser/cocoa/cocoa_test_helper.h1
-rw-r--r--chrome/browser/cocoa/tab_strip_controller.h3
-rw-r--r--chrome/browser/cocoa/tab_strip_controller.mm15
-rw-r--r--chrome/browser/cocoa/tab_window_controller.h3
-rw-r--r--chrome/browser/cocoa/tab_window_controller.mm6
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