diff options
author | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-01 10:57:57 +0000 |
---|---|---|
committer | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-01 10:57:57 +0000 |
commit | 25212c49c8dff853bb05e52ed4629a8c659004a5 (patch) | |
tree | a4660eaecedb819ba9dda1d426b0ad1ace394963 /chrome/browser | |
parent | d0569f4beccdc58dd5d8c2f3b625c604c1128e46 (diff) | |
download | chromium_src-25212c49c8dff853bb05e52ed4629a8c659004a5.zip chromium_src-25212c49c8dff853bb05e52ed4629a8c659004a5.tar.gz chromium_src-25212c49c8dff853bb05e52ed4629a8c659004a5.tar.bz2 |
[Mac] add additional fields to cookie prompt for web databases
xib changes: added two new lines to the web database cookie prompt subview of the cookie details NSView, one for database description and one for expected database size. Wired bindings to the appropriate methods in the cookie details object in the same style as the existing fields.
Web database cookie prompt now looks like this: http://img208.imageshack.us/img208/9703/picture6j.png
BUG=36435
TEST=augmented unit tests and manual tests
Review URL: http://codereview.chromium.org/1582003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43338 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
5 files changed, 33 insertions, 10 deletions
diff --git a/chrome/browser/cocoa/cookie_details.h b/chrome/browser/cocoa/cookie_details.h index 431b14e..06e8d4f 100644 --- a/chrome/browser/cocoa/cookie_details.h +++ b/chrome/browser/cocoa/cookie_details.h @@ -83,7 +83,8 @@ enum CocoaCookieDetailsType { scoped_nsobject<NSString> name_; // Only set for type kCocoaCookieDetailsTypeTreeLocalStorage, - // kCocoaCookieDetailsTypeTreeDatabase and + // kCocoaCookieDetailsTypeTreeDatabase, + // kCocoaCookieDetailsTypePromptDatabase and // kCocoaCookieDetailsTypeTreeAppCache nodes. scoped_nsobject<NSString> fileSize_; @@ -99,7 +100,8 @@ enum CocoaCookieDetailsType { // kCocoaCookieDetailsTypePromptLocalStorage nodes. scoped_nsobject<NSString> domain_; - // Used only for type kCocoaCookieTreeNodeTypeDatabaseStorage. + // Used only for type kCocoaCookieTreeNodeTypeDatabaseStorage and + // kCocoaCookieDetailsTypePromptDatabase nodes. scoped_nsobject<NSString> databaseDescription_; // Used only for type kCocoaCookieDetailsTypePromptLocalStorage. @@ -165,7 +167,9 @@ enum CocoaCookieDetailsType { // Used for database details in the cookie prompt dialog. - (id)initWithDatabase:(const std::string&)domain - name:(const string16&)name; + databaseName:(const string16&)databaseName + databaseDescription:(const string16&)databaseDescription + fileSize:(unsigned long)fileSize; // -initWithAppCacheInfo: creates a cookie details with the manifest URL plus // all of this additional information that is available after an appcache is diff --git a/chrome/browser/cocoa/cookie_details.mm b/chrome/browser/cocoa/cookie_details.mm index a72a92a..49f4157 100644 --- a/chrome/browser/cocoa/cookie_details.mm +++ b/chrome/browser/cocoa/cookie_details.mm @@ -196,12 +196,18 @@ } - (id)initWithDatabase:(const std::string&)domain - name:(const string16&)name { + databaseName:(const string16&)databaseName + databaseDescription:(const string16&)databaseDescription + fileSize:(unsigned long)fileSize { if ((self = [super init])) { type_ = kCocoaCookieDetailsTypePromptDatabase; canEditExpiration_ = NO; - name_.reset([base::SysUTF16ToNSString(name) retain]); + name_.reset([base::SysUTF16ToNSString(databaseName) retain]); domain_.reset([base::SysUTF8ToNSString(domain) retain]); + databaseDescription_.reset( + [base::SysUTF16ToNSString(databaseDescription) retain]); + fileSize_.reset([base::SysWideToNSString(FormatBytes(fileSize, + GetByteDisplayUnits(fileSize), true)) retain]); } return self; } @@ -271,7 +277,9 @@ } else if (type == CookiePromptModalDialog::DIALOG_TYPE_DATABASE) { details = [[CocoaCookieDetails alloc] initWithDatabase:dialog->origin().host() - name:dialog->database_name()]; + databaseName:dialog->database_name() + databaseDescription:dialog->display_name() + fileSize:dialog->estimated_size()]; } else if (type == CookiePromptModalDialog::DIALOG_TYPE_APPCACHE) { details = [[CocoaCookieDetails alloc] initWithAppCacheManifestURL:dialog->appcache_manifest_url().spec()]; diff --git a/chrome/browser/cocoa/cookie_details_unittest.mm b/chrome/browser/cocoa/cookie_details_unittest.mm index cf28fa7..ed6f6d0 100644 --- a/chrome/browser/cocoa/cookie_details_unittest.mm +++ b/chrome/browser/cocoa/cookie_details_unittest.mm @@ -137,12 +137,17 @@ TEST_F(CookiesDetailsTest, CreateForPromptDatabase) { scoped_nsobject<CocoaCookieDetails> details; std::string domain("chromium.org"); string16 name(base::SysNSStringToUTF16(@"wicked_name")); + string16 desc(base::SysNSStringToUTF16(@"desc")); details.reset([[CocoaCookieDetails alloc] initWithDatabase:domain - name:name]); + databaseName:name + databaseDescription:desc + fileSize:94]); EXPECT_EQ([details.get() type], kCocoaCookieDetailsTypePromptDatabase); EXPECT_TRUE([@"chromium.org" isEqualToString:[details.get() domain]]); EXPECT_TRUE([@"wicked_name" isEqualToString:[details.get() name]]); + EXPECT_TRUE([@"desc" isEqualToString:[details.get() databaseDescription]]); + EXPECT_TRUE([@"94 B" isEqualToString:[details.get() fileSize]]); EXPECT_TRUE([details.get() shouldHideCookieDetailsView]); EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]); diff --git a/chrome/browser/cocoa/cookie_details_view_controller_unittest.mm b/chrome/browser/cocoa/cookie_details_view_controller_unittest.mm index b75b925..76f6e56 100644 --- a/chrome/browser/cocoa/cookie_details_view_controller_unittest.mm +++ b/chrome/browser/cocoa/cookie_details_view_controller_unittest.mm @@ -37,8 +37,12 @@ static CookiePromptContentDetailsAdapter* CreateCookieTestContent( static CocoaCookieDetails* CreateTestDatabaseDetails() { std::string domain("chromium.org"); string16 name(base::SysNSStringToUTF16(@"wicked_name")); + string16 desc(base::SysNSStringToUTF16(@"wicked_desc")); CocoaCookieDetails* details = [CocoaCookieDetails alloc]; - [details initWithDatabase:domain name:name]; + [details initWithDatabase:domain + databaseName:name + databaseDescription:desc + fileSize:2222]; return [details autorelease]; } diff --git a/chrome/browser/cocoa/cookie_prompt_window_controller_unittest.mm b/chrome/browser/cocoa/cookie_prompt_window_controller_unittest.mm index 563f786..ea20982 100644 --- a/chrome/browser/cocoa/cookie_prompt_window_controller_unittest.mm +++ b/chrome/browser/cocoa/cookie_prompt_window_controller_unittest.mm @@ -94,8 +94,10 @@ TEST_F(CookiePromptWindowControllerTest, CreateForCookie) { TEST_F(CookiePromptWindowControllerTest, CreateForDatabase) { GURL url("http://google.com"); string16 databaseName(base::SysNSStringToUTF16(@"some database")); - scoped_ptr<CookiePromptModalDialog> dialog(new CookiePromptModalDialog( - NULL, NULL, url, databaseName, databaseName, 1, NULL)); + string16 databaseDescription(base::SysNSStringToUTF16(@"some desc")); + scoped_ptr<CookiePromptModalDialog> dialog( + new CookiePromptModalDialog(NULL, NULL, url, databaseName, + databaseDescription, 3456, NULL)); scoped_nsobject<CookiePromptWindowController> controller( [[CookiePromptWindowController alloc] initWithDialog:dialog.get()]); EXPECT_TRUE(controller.get()); |