summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authordanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 08:18:41 +0000
committerdanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 08:18:41 +0000
commitaea49ce16dd0ee8ec871661955be62bf61f35d1d (patch)
treee76892a72316ae8e9ca7b6972dff816af7768ca7 /chrome
parentd4ecb0226cd40fcd239d768dc7e40ff1d2b7e695 (diff)
downloadchromium_src-aea49ce16dd0ee8ec871661955be62bf61f35d1d.zip
chromium_src-aea49ce16dd0ee8ec871661955be62bf61f35d1d.tar.gz
chromium_src-aea49ce16dd0ee8ec871661955be62bf61f35d1d.tar.bz2
[Mac] display appcaches in cookie tree
xib changes: - Added a new NSView for showing detailed information about appcaches in the cookie tree. The new view uses the same pattern as the existing views. - Added bindings for the new view to control its visibility and the values displayed, also using the same style as the existing detail information subviews. BUG=37459 TEST=new unit test and manual tests Review URL: http://codereview.chromium.org/1555001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43064 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/app/nibs/CookieDetailsView.xib611
-rw-r--r--chrome/browser/cocoa/content_settings_dialog_controller.mm5
-rw-r--r--chrome/browser/cocoa/cookie_details.h42
-rw-r--r--chrome/browser/cocoa/cookie_details.mm34
-rw-r--r--chrome/browser/cocoa/cookie_details_unittest.mm36
-rw-r--r--chrome/browser/cocoa/cookies_window_controller.h4
-rw-r--r--chrome/browser/cocoa/cookies_window_controller.mm6
-rw-r--r--chrome/browser/cocoa/cookies_window_controller_unittest.mm36
8 files changed, 707 insertions, 67 deletions
diff --git a/chrome/app/nibs/CookieDetailsView.xib b/chrome/app/nibs/CookieDetailsView.xib
index d0aad6f..c9326e3 100644
--- a/chrome/app/nibs/CookieDetailsView.xib
+++ b/chrome/app/nibs/CookieDetailsView.xib
@@ -8,7 +8,7 @@
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="137"/>
+ <integer value="682"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -641,97 +641,161 @@
<string key="NSFrame">{{10, 10}, {444, 171}}</string>
<reference key="NSSuperview" ref="652669668"/>
</object>
- <object class="NSView" id="654642025">
+ <object class="NSView" id="136570796">
<reference key="NSNextResponder" ref="652669668"/>
<int key="NSvFlags">-2147483382</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSCustomView" id="320448810">
- <reference key="NSNextResponder" ref="654642025"/>
+ <object class="NSCustomView" id="437537570">
+ <reference key="NSNextResponder" ref="136570796"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextField" id="741934397">
- <reference key="NSNextResponder" ref="320448810"/>
- <int key="NSvFlags">267</int>
+ <object class="NSTextField" id="404332220">
+ <reference key="NSNextResponder" ref="437537570"/>
+ <int key="NSvFlags">265</int>
+ <string key="NSFrame">{{0, 79}, {100, 17}}</string>
+ <reference key="NSSuperview" ref="437537570"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="394213207">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">^IDS_COOKIES_LAST_ACCESSED_LABEL</string>
+ <reference key="NSSupport" ref="284921973"/>
+ <reference key="NSControlView" ref="404332220"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="87062636">
+ <reference key="NSNextResponder" ref="437537570"/>
+ <int key="NSvFlags">265</int>
+ <string key="NSFrame">{{0, 104}, {100, 17}}</string>
+ <reference key="NSSuperview" ref="437537570"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="753203687">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">^IDS_COOKIES_COOKIE_CREATED_LABEL</string>
+ <reference key="NSSupport" ref="284921973"/>
+ <reference key="NSControlView" ref="87062636"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="217077229">
+ <reference key="NSNextResponder" ref="437537570"/>
+ <int key="NSvFlags">265</int>
<string key="NSFrame">{{0, 129}, {100, 17}}</string>
- <reference key="NSSuperview" ref="320448810"/>
+ <reference key="NSSuperview" ref="437537570"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="626846257">
+ <object class="NSTextFieldCell" key="NSCell" id="593547452">
<int key="NSCellFlags">68288064</int>
<int key="NSCellFlags2">272630784</int>
- <string key="NSContents">^IDS_COOKIES_WEB_DATABASE_NAME</string>
+ <string key="NSContents">^IDS_COOKIES_SIZE_LABEL</string>
<reference key="NSSupport" ref="284921973"/>
- <reference key="NSControlView" ref="741934397"/>
+ <reference key="NSControlView" ref="217077229"/>
<reference key="NSBackgroundColor" ref="949329157"/>
<reference key="NSTextColor" ref="503975814"/>
</object>
</object>
- <object class="NSTextField" id="464540654">
- <reference key="NSNextResponder" ref="320448810"/>
- <int key="NSvFlags">267</int>
+ <object class="NSTextField" id="97495996">
+ <reference key="NSNextResponder" ref="437537570"/>
+ <int key="NSvFlags">265</int>
<string key="NSFrame">{{0, 154}, {100, 17}}</string>
- <reference key="NSSuperview" ref="320448810"/>
+ <reference key="NSSuperview" ref="437537570"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="459709659">
+ <object class="NSTextFieldCell" key="NSCell" id="53527960">
<int key="NSCellFlags">68288064</int>
<int key="NSCellFlags2">272630784</int>
- <string key="NSContents">^IDS_COOKIES_COOKIE_DOMAIN_LABEL</string>
+ <string key="NSContents">^IDS_COOKIES_APPLICATION_CACHE_MANIFEST_LABEL</string>
<reference key="NSSupport" ref="284921973"/>
- <reference key="NSControlView" ref="464540654"/>
+ <reference key="NSControlView" ref="97495996"/>
<reference key="NSBackgroundColor" ref="949329157"/>
<reference key="NSTextColor" ref="503975814"/>
</object>
</object>
</object>
<string key="NSFrameSize">{100, 171}</string>
- <reference key="NSSuperview" ref="654642025"/>
+ <reference key="NSSuperview" ref="136570796"/>
<string key="NSClassName">GTMWidthBasedTweaker</string>
</object>
- <object class="NSCustomView" id="770109697">
- <reference key="NSNextResponder" ref="654642025"/>
- <int key="NSvFlags">292</int>
+ <object class="NSCustomView" id="717307694">
+ <reference key="NSNextResponder" ref="136570796"/>
+ <int key="NSvFlags">294</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextField" id="875875171">
- <reference key="NSNextResponder" ref="770109697"/>
+ <object class="NSTextField" id="1007056333">
+ <reference key="NSNextResponder" ref="717307694"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{3, 79}, {341, 17}}</string>
+ <reference key="NSSuperview" ref="717307694"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="914488252">
+ <int key="NSCellFlags">70385217</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Label</string>
+ <reference key="NSSupport" ref="123687714"/>
+ <reference key="NSControlView" ref="1007056333"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="162158009">
+ <reference key="NSNextResponder" ref="717307694"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{3, 104}, {341, 17}}</string>
+ <reference key="NSSuperview" ref="717307694"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="692662056">
+ <int key="NSCellFlags">70385217</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Label</string>
+ <reference key="NSSupport" ref="123687714"/>
+ <reference key="NSControlView" ref="162158009"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="616880827">
+ <reference key="NSNextResponder" ref="717307694"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{3, 129}, {341, 17}}</string>
- <reference key="NSSuperview" ref="770109697"/>
+ <reference key="NSSuperview" ref="717307694"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="985228971">
+ <object class="NSTextFieldCell" key="NSCell" id="526518794">
<int key="NSCellFlags">70385217</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">Label</string>
<reference key="NSSupport" ref="123687714"/>
- <reference key="NSControlView" ref="875875171"/>
+ <reference key="NSControlView" ref="616880827"/>
<reference key="NSBackgroundColor" ref="949329157"/>
<reference key="NSTextColor" ref="503975814"/>
</object>
</object>
- <object class="NSTextField" id="226333841">
- <reference key="NSNextResponder" ref="770109697"/>
+ <object class="NSTextField" id="518544945">
+ <reference key="NSNextResponder" ref="717307694"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{3, 154}, {341, 17}}</string>
- <reference key="NSSuperview" ref="770109697"/>
+ <reference key="NSSuperview" ref="717307694"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="931004722">
+ <object class="NSTextFieldCell" key="NSCell" id="348336585">
<int key="NSCellFlags">70385217</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">Label</string>
<reference key="NSSupport" ref="123687714"/>
- <reference key="NSControlView" ref="226333841"/>
+ <reference key="NSControlView" ref="518544945"/>
<reference key="NSBackgroundColor" ref="949329157"/>
<reference key="NSTextColor" ref="503975814"/>
</object>
</object>
</object>
<string key="NSFrame">{{100, 0}, {344, 171}}</string>
- <reference key="NSSuperview" ref="654642025"/>
+ <reference key="NSSuperview" ref="136570796"/>
<string key="NSClassName">NSView</string>
</object>
</object>
- <string key="NSFrame">{{10, 10}, {444, 171}}</string>
+ <string key="NSFrame">{{9, 10}, {444, 171}}</string>
<reference key="NSSuperview" ref="652669668"/>
</object>
<object class="NSView" id="748119605">
@@ -859,6 +923,99 @@
<string key="NSFrame">{{10, 10}, {444, 171}}</string>
<reference key="NSSuperview" ref="652669668"/>
</object>
+ <object class="NSView" id="654642025">
+ <reference key="NSNextResponder" ref="652669668"/>
+ <int key="NSvFlags">-2147483382</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSCustomView" id="320448810">
+ <reference key="NSNextResponder" ref="654642025"/>
+ <int key="NSvFlags">292</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTextField" id="741934397">
+ <reference key="NSNextResponder" ref="320448810"/>
+ <int key="NSvFlags">267</int>
+ <string key="NSFrame">{{0, 129}, {100, 17}}</string>
+ <reference key="NSSuperview" ref="320448810"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="626846257">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">^IDS_COOKIES_WEB_DATABASE_NAME</string>
+ <reference key="NSSupport" ref="284921973"/>
+ <reference key="NSControlView" ref="741934397"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="464540654">
+ <reference key="NSNextResponder" ref="320448810"/>
+ <int key="NSvFlags">267</int>
+ <string key="NSFrame">{{0, 154}, {100, 17}}</string>
+ <reference key="NSSuperview" ref="320448810"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="459709659">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">^IDS_COOKIES_COOKIE_DOMAIN_LABEL</string>
+ <reference key="NSSupport" ref="284921973"/>
+ <reference key="NSControlView" ref="464540654"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ </object>
+ <string key="NSFrameSize">{100, 171}</string>
+ <reference key="NSSuperview" ref="654642025"/>
+ <string key="NSClassName">GTMWidthBasedTweaker</string>
+ </object>
+ <object class="NSCustomView" id="770109697">
+ <reference key="NSNextResponder" ref="654642025"/>
+ <int key="NSvFlags">292</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTextField" id="875875171">
+ <reference key="NSNextResponder" ref="770109697"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{3, 129}, {341, 17}}</string>
+ <reference key="NSSuperview" ref="770109697"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="985228971">
+ <int key="NSCellFlags">70385217</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Label</string>
+ <reference key="NSSupport" ref="123687714"/>
+ <reference key="NSControlView" ref="875875171"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="226333841">
+ <reference key="NSNextResponder" ref="770109697"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{3, 154}, {341, 17}}</string>
+ <reference key="NSSuperview" ref="770109697"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="931004722">
+ <int key="NSCellFlags">70385217</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Label</string>
+ <reference key="NSSupport" ref="123687714"/>
+ <reference key="NSControlView" ref="226333841"/>
+ <reference key="NSBackgroundColor" ref="949329157"/>
+ <reference key="NSTextColor" ref="503975814"/>
+ </object>
+ </object>
+ </object>
+ <string key="NSFrame">{{100, 0}, {344, 171}}</string>
+ <reference key="NSSuperview" ref="654642025"/>
+ <string key="NSClassName">NSView</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{10, 10}, {444, 171}}</string>
+ <reference key="NSSuperview" ref="652669668"/>
+ </object>
<object class="NSView" id="827358114">
<reference key="NSNextResponder" ref="652669668"/>
<int key="NSvFlags">-2147483382</int>
@@ -986,6 +1143,8 @@
<string>details.shouldShowAppCachePromptDetailsView</string>
<string>manifestURL</string>
<string>details.manifestURL</string>
+ <string>details.shouldShowAppCacheTreeDetailsView</string>
+ <string>details.lastAccessed</string>
</object>
<string key="NSObjectClassName">CocoaCookieTreeNode</string>
<bool key="NSEditable">YES</bool>
@@ -2010,6 +2169,202 @@
</object>
<int key="connectionID">656</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">viewToSlideAndResize_</string>
+ <reference key="source" ref="437537570"/>
+ <reference key="destination" ref="717307694"/>
+ </object>
+ <int key="connectionID">718</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">hidden: content.details.shouldShowAppCacheTreeDetailsView</string>
+ <reference key="source" ref="136570796"/>
+ <reference key="destination" ref="581169699"/>
+ <object class="NSNibBindingConnector" key="connector" id="281683840">
+ <reference key="NSSource" ref="136570796"/>
+ <reference key="NSDestination" ref="581169699"/>
+ <string key="NSLabel">hidden: content.details.shouldShowAppCacheTreeDetailsView</string>
+ <string key="NSBinding">hidden</string>
+ <string key="NSKeyPath">content.details.shouldShowAppCacheTreeDetailsView</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSNegateBoolean</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">721</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">hidden2: selection.@count</string>
+ <reference key="source" ref="136570796"/>
+ <reference key="destination" ref="581169699"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="136570796"/>
+ <reference key="NSDestination" ref="581169699"/>
+ <string key="NSLabel">hidden2: selection.@count</string>
+ <string key="NSBinding">hidden2</string>
+ <string key="NSKeyPath">selection.@count</string>
+ <object class="NSDictionary" key="NSOptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSMultipleValuesPlaceholder</string>
+ <string>NSNoSelectionPlaceholder</string>
+ <string>NSNotApplicablePlaceholder</string>
+ <string>NSNullPlaceholder</string>
+ <string>NSValueTransformerName</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="7"/>
+ <reference ref="7"/>
+ <reference ref="7"/>
+ <reference ref="7"/>
+ <string>NSNegateBoolean</string>
+ </object>
+ </object>
+ <reference key="NSPreviousConnector" ref="281683840"/>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">723</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: content.details.lastAccessed</string>
+ <reference key="source" ref="1007056333"/>
+ <reference key="destination" ref="581169699"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1007056333"/>
+ <reference key="NSDestination" ref="581169699"/>
+ <string key="NSLabel">value: content.details.lastAccessed</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">content.details.lastAccessed</string>
+ <object class="NSDictionary" key="NSOptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSNoSelectionPlaceholder</string>
+ <string>NSNotApplicablePlaceholder</string>
+ <string>NSNullPlaceholder</string>
+ <string>NSRaisesForNotApplicableKeys</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <reference ref="6"/>
+ </object>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">730</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: content.details.created</string>
+ <reference key="source" ref="162158009"/>
+ <reference key="destination" ref="581169699"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="162158009"/>
+ <reference key="NSDestination" ref="581169699"/>
+ <string key="NSLabel">value: content.details.created</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">content.details.created</string>
+ <object class="NSDictionary" key="NSOptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSMultipleValuesPlaceholder</string>
+ <string>NSNoSelectionPlaceholder</string>
+ <string>NSNotApplicablePlaceholder</string>
+ <string>NSRaisesForNotApplicableKeys</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <reference ref="6"/>
+ </object>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">739</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: content.details.fileSize</string>
+ <reference key="source" ref="616880827"/>
+ <reference key="destination" ref="581169699"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="616880827"/>
+ <reference key="NSDestination" ref="581169699"/>
+ <string key="NSLabel">value: content.details.fileSize</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">content.details.fileSize</string>
+ <object class="NSDictionary" key="NSOptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSMultipleValuesPlaceholder</string>
+ <string>NSNoSelectionPlaceholder</string>
+ <string>NSNotApplicablePlaceholder</string>
+ <string>NSRaisesForNotApplicableKeys</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <reference ref="6"/>
+ </object>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">746</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: content.details.manifestURL</string>
+ <reference key="source" ref="518544945"/>
+ <reference key="destination" ref="581169699"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="518544945"/>
+ <reference key="NSDestination" ref="581169699"/>
+ <string key="NSLabel">value: content.details.manifestURL</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">content.details.manifestURL</string>
+ <object class="NSDictionary" key="NSOptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSMultipleValuesPlaceholder</string>
+ <string>NSNoSelectionPlaceholder</string>
+ <string>NSNotApplicablePlaceholder</string>
+ <string>NSRaisesForNotApplicableKeys</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <string>^IDS_COOKIES_COOKIE_NONESELECTED</string>
+ <reference ref="6"/>
+ </object>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">753</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -2049,8 +2404,9 @@
<reference ref="244286403"/>
<reference ref="405138257"/>
<reference ref="654642025"/>
- <reference ref="748119605"/>
<reference ref="827358114"/>
+ <reference ref="748119605"/>
+ <reference ref="136570796"/>
</object>
<reference key="parent" ref="1002"/>
</object>
@@ -2854,6 +3210,153 @@
<reference key="object" ref="15610746"/>
<reference key="parent" ref="104184425"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">681</int>
+ <reference key="object" ref="136570796"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="437537570"/>
+ <reference ref="717307694"/>
+ </object>
+ <reference key="parent" ref="86580916"/>
+ <string key="objectName">AppCache Tree Details</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">683</int>
+ <reference key="object" ref="437537570"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="87062636"/>
+ <reference ref="217077229"/>
+ <reference ref="97495996"/>
+ <reference ref="404332220"/>
+ </object>
+ <reference key="parent" ref="136570796"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">682</int>
+ <reference key="object" ref="717307694"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="518544945"/>
+ <reference ref="616880827"/>
+ <reference ref="162158009"/>
+ <reference ref="1007056333"/>
+ </object>
+ <reference key="parent" ref="136570796"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">705</int>
+ <reference key="object" ref="518544945"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="348336585"/>
+ </object>
+ <reference key="parent" ref="717307694"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">704</int>
+ <reference key="object" ref="616880827"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="526518794"/>
+ </object>
+ <reference key="parent" ref="717307694"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">703</int>
+ <reference key="object" ref="162158009"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="692662056"/>
+ </object>
+ <reference key="parent" ref="717307694"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">702</int>
+ <reference key="object" ref="1007056333"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="914488252"/>
+ </object>
+ <reference key="parent" ref="717307694"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">709</int>
+ <reference key="object" ref="914488252"/>
+ <reference key="parent" ref="1007056333"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">708</int>
+ <reference key="object" ref="692662056"/>
+ <reference key="parent" ref="162158009"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">707</int>
+ <reference key="object" ref="526518794"/>
+ <reference key="parent" ref="616880827"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">706</int>
+ <reference key="object" ref="348336585"/>
+ <reference key="parent" ref="518544945"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">687</int>
+ <reference key="object" ref="87062636"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="753203687"/>
+ </object>
+ <reference key="parent" ref="437537570"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">686</int>
+ <reference key="object" ref="217077229"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="593547452"/>
+ </object>
+ <reference key="parent" ref="437537570"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">685</int>
+ <reference key="object" ref="97495996"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="53527960"/>
+ </object>
+ <reference key="parent" ref="437537570"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">684</int>
+ <reference key="object" ref="404332220"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="394213207"/>
+ </object>
+ <reference key="parent" ref="437537570"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">697</int>
+ <reference key="object" ref="394213207"/>
+ <reference key="parent" ref="404332220"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">696</int>
+ <reference key="object" ref="53527960"/>
+ <reference key="parent" ref="97495996"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">695</int>
+ <reference key="object" ref="593547452"/>
+ <reference key="parent" ref="217077229"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">694</int>
+ <reference key="object" ref="753203687"/>
+ <reference key="parent" ref="87062636"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -2957,13 +3460,30 @@
<string>640.IBPluginDependency</string>
<string>642.IBPluginDependency</string>
<string>645.IBPluginDependency</string>
+ <string>681.IBPluginDependency</string>
+ <string>684.IBPluginDependency</string>
+ <string>685.IBPluginDependency</string>
+ <string>686.IBPluginDependency</string>
+ <string>687.IBPluginDependency</string>
+ <string>694.IBPluginDependency</string>
+ <string>695.IBPluginDependency</string>
+ <string>696.IBPluginDependency</string>
+ <string>697.IBPluginDependency</string>
+ <string>702.IBPluginDependency</string>
+ <string>703.IBPluginDependency</string>
+ <string>704.IBPluginDependency</string>
+ <string>705.IBPluginDependency</string>
+ <string>706.IBPluginDependency</string>
+ <string>707.IBPluginDependency</string>
+ <string>708.IBPluginDependency</string>
+ <string>709.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{601, 959}, {464, 191}}</string>
+ <string>{{685, 904}, {464, 191}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3057,6 +3577,23 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -3079,7 +3616,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">672</int>
+ <int key="maxID">753</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
diff --git a/chrome/browser/cocoa/content_settings_dialog_controller.mm b/chrome/browser/cocoa/content_settings_dialog_controller.mm
index a23ea9b..b1786e8 100644
--- a/chrome/browser/cocoa/content_settings_dialog_controller.mm
+++ b/chrome/browser/cocoa/content_settings_dialog_controller.mm
@@ -223,10 +223,13 @@ class PrefObserverBridge : public NotificationObserver {
new BrowsingDataDatabaseHelper(profile_);
BrowsingDataLocalStorageHelper* storageHelper =
new BrowsingDataLocalStorageHelper(profile_);
+ BrowsingDataAppCacheHelper* appcacheHelper =
+ new BrowsingDataAppCacheHelper(profile_);
CookiesWindowController* controller =
[[CookiesWindowController alloc] initWithProfile:profile_
databaseHelper:databaseHelper
- storageHelper:storageHelper];
+ storageHelper:storageHelper
+ appcacheHelper:appcacheHelper];
[controller attachSheetTo:[self window]];
}
diff --git a/chrome/browser/cocoa/cookie_details.h b/chrome/browser/cocoa/cookie_details.h
index dbd51b8..431b14e 100644
--- a/chrome/browser/cocoa/cookie_details.h
+++ b/chrome/browser/cocoa/cookie_details.h
@@ -8,6 +8,7 @@
#include "chrome/browser/browsing_data_local_storage_helper.h"
#include "base/scoped_nsobject.h"
#include "net/base/cookie_monster.h"
+#include "webkit/appcache/appcache_service.h"
class CookieTreeNode;
class CookiePromptModalDialog;
@@ -30,17 +31,21 @@ enum CocoaCookieDetailsType {
// display in the cookie tree.
kCocoaCookieDetailsTypeTreeLocalStorage = 3,
+ // Detailed information about an appcache used for display in the
+ // cookie tree.
+ kCocoaCookieDetailsTypeTreeAppCache = 4,
+
// Detailed information about a web database used for display
// in the cookie prompt dialog.
- kCocoaCookieDetailsTypePromptDatabase = 4,
+ kCocoaCookieDetailsTypePromptDatabase = 5,
// Detailed information about local storage used for display
// in the cookie prompt dialog.
- kCocoaCookieDetailsTypePromptLocalStorage = 5,
+ kCocoaCookieDetailsTypePromptLocalStorage = 6,
// Detailed information about app caches used for display
// in the cookie prompt dialog.
- kCocoaCookieDetailsTypePromptAppCache = 6
+ kCocoaCookieDetailsTypePromptAppCache = 7
};
// This class contains all of the information that can be displayed in
@@ -67,18 +72,28 @@ enum CocoaCookieDetailsType {
scoped_nsobject<NSString> path_;
scoped_nsobject<NSString> sendFor_;
// Stringifed dates.
- scoped_nsobject<NSString> created_;
scoped_nsobject<NSString> expires_;
+ // These members are only set for type kCocoaCookieDetailsTypeCookie and
+ // kCocoaCookieDetailsTypeTreeAppCache nodes.
+ scoped_nsobject<NSString> created_;
+
// These members are only set for types kCocoaCookieDetailsTypeCookie,
// kCocoaCookieDetailsTypePromptDatabase.
scoped_nsobject<NSString> name_;
+ // Only set for type kCocoaCookieDetailsTypeTreeLocalStorage,
+ // kCocoaCookieDetailsTypeTreeDatabase and
+ // kCocoaCookieDetailsTypeTreeAppCache nodes.
+ scoped_nsobject<NSString> fileSize_;
+
// Only set for types kCocoaCookieDetailsTypeTreeLocalStorage and
// kCocoaCookieDetailsTypeTreeDatabase nodes.
- scoped_nsobject<NSString> fileSize_;
scoped_nsobject<NSString> lastModified_;
+ // Only set for type kCocoaCookieDetailsTypeTreeAppCache nodes.
+ scoped_nsobject<NSString> lastAccessed_;
+
// These members are only set for types kCocoaCookieDetailsTypeCookie,
// kCocoaCookieDetailsTypePromptDatabase and
// kCocoaCookieDetailsTypePromptLocalStorage nodes.
@@ -87,11 +102,12 @@ enum CocoaCookieDetailsType {
// Used only for type kCocoaCookieTreeNodeTypeDatabaseStorage.
scoped_nsobject<NSString> databaseDescription_;
- // Used only for type kCocoaCookieDetailsTypePromptLocalStorage
+ // Used only for type kCocoaCookieDetailsTypePromptLocalStorage.
scoped_nsobject<NSString> localStorageKey_;
scoped_nsobject<NSString> localStorageValue_;
- // Used only for type kCocoaCookieDetailsTypePromptAppCache
+ // Used only for type kCocoaCookieDetailsTypeTreeAppCache and
+ // kCocoaCookieDetailsTypePromptAppCache.
scoped_nsobject<NSString> manifestURL_;
}
@@ -114,6 +130,7 @@ enum CocoaCookieDetailsType {
- (BOOL)shouldShowDatabasePromptDetailsView;
- (BOOL)shouldShowLocalStoragePromptDetailsView;
- (BOOL)shouldShowAppCachePromptDetailsView;
+- (BOOL)shouldShowAppCacheTreeDetailsView;
- (NSString*)name;
- (NSString*)content;
@@ -124,6 +141,7 @@ enum CocoaCookieDetailsType {
- (NSString*)expires;
- (NSString*)fileSize;
- (NSString*)lastModified;
+- (NSString*)lastAccessed;
- (NSString*)databaseDescription;
- (NSString*)localStorageKey;
- (NSString*)localStorageValue;
@@ -149,13 +167,19 @@ enum CocoaCookieDetailsType {
- (id)initWithDatabase:(const std::string&)domain
name:(const string16&)name;
+// -initWithAppCacheInfo: creates a cookie details with the manifest URL plus
+// all of this additional information that is available after an appcache is
+// actually created, including it's creation date, size and last accessed time.
+- (id)initWithAppCacheInfo:(const appcache::AppCacheInfo*)appcacheInfo;
+
// Used for local storage details in the cookie prompt dialog.
- (id)initWithLocalStorage:(const std::string&)domain
key:(const string16&)key
value:(const string16&)value;
-// Used for app cache details in the cookie prompt dialog.
-- (id)initWithAppCache:(const std::string&)manifestURL;
+// -initWithAppCacheManifestURL: is called when the cookie prompt is displayed
+// for an appcache, at that time only the manifest URL of the appcache is known.
+- (id)initWithAppCacheManifestURL:(const std::string&)manifestURL;
// A factory method to create a configured instance given a node from
// the cookie tree in |treeNode|.
diff --git a/chrome/browser/cocoa/cookie_details.mm b/chrome/browser/cocoa/cookie_details.mm
index d62b5d0da..a72a92a 100644
--- a/chrome/browser/cocoa/cookie_details.mm
+++ b/chrome/browser/cocoa/cookie_details.mm
@@ -33,6 +33,10 @@
return type_ == kCocoaCookieDetailsTypeTreeDatabase;
}
+- (BOOL)shouldShowAppCacheTreeDetailsView {
+ return type_ == kCocoaCookieDetailsTypeTreeAppCache;
+}
+
- (BOOL)shouldShowDatabasePromptDetailsView {
return type_ == kCocoaCookieDetailsTypePromptDatabase;
}
@@ -81,6 +85,10 @@
return lastModified_.get();
}
+- (NSString*)lastAccessed {
+ return lastAccessed_.get();
+}
+
- (NSString*)databaseDescription {
return databaseDescription_.get();
}
@@ -169,6 +177,24 @@
return self;
}
+- (id)initWithAppCacheInfo:(const appcache::AppCacheInfo*)appcacheInfo {
+ if ((self = [super init])) {
+ type_ = kCocoaCookieDetailsTypeTreeAppCache;
+ canEditExpiration_ = NO;
+ manifestURL_.reset([base::SysUTF8ToNSString(
+ appcacheInfo->manifest_url.spec()) retain]);
+ fileSize_.reset([base::SysWideToNSString(FormatBytes(appcacheInfo->size,
+ GetByteDisplayUnits(appcacheInfo->size), true)) retain]);
+ created_.reset([base::SysWideToNSString(
+ base::TimeFormatFriendlyDateAndTime(
+ appcacheInfo->creation_time)) retain]);
+ lastAccessed_.reset([base::SysWideToNSString(
+ base::TimeFormatFriendlyDateAndTime(
+ appcacheInfo->last_access_time)) retain]);
+ }
+ return self;
+}
+
- (id)initWithDatabase:(const std::string&)domain
name:(const string16&)name {
if ((self = [super init])) {
@@ -193,7 +219,7 @@
return self;
}
-- (id)initWithAppCache:(const std::string&)manifestURL {
+- (id)initWithAppCacheManifestURL:(const std::string&)manifestURL {
if ((self = [super init])) {
type_ = kCocoaCookieDetailsTypePromptAppCache;
canEditExpiration_ = NO;
@@ -217,10 +243,8 @@
return [[[CocoaCookieDetails alloc]
initWithLocalStorage:info.local_storage_info] autorelease];
} else if (nodeType == CookieTreeNode::DetailedInfo::TYPE_APPCACHE) {
- // TODO(danno): For now just use the same view as the modal prompt in
- // the cookie tree. http://crbug.com/37459 is for the missing functionality.
return [[[CocoaCookieDetails alloc]
- initWithAppCache:info.appcache_info->manifest_url.spec()] autorelease];
+ initWithAppCacheInfo:info.appcache_info] autorelease];
} else {
return [[[CocoaCookieDetails alloc] initAsFolder] autorelease];
}
@@ -250,7 +274,7 @@
name:dialog->database_name()];
} else if (type == CookiePromptModalDialog::DIALOG_TYPE_APPCACHE) {
details = [[CocoaCookieDetails alloc]
- initWithAppCache:dialog->appcache_manifest_url().spec()];
+ initWithAppCacheManifestURL:dialog->appcache_manifest_url().spec()];
} else {
NOTIMPLEMENTED();
}
diff --git a/chrome/browser/cocoa/cookie_details_unittest.mm b/chrome/browser/cocoa/cookie_details_unittest.mm
index b5b82bf..cf28fa7 100644
--- a/chrome/browser/cocoa/cookie_details_unittest.mm
+++ b/chrome/browser/cocoa/cookie_details_unittest.mm
@@ -44,6 +44,7 @@ TEST_F(CookiesDetailsTest, CreateForCookie) {
EXPECT_FALSE([details.get() shouldHideCookieDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCacheTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStoragePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabasePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowAppCachePromptDetailsView]);
@@ -70,6 +71,7 @@ TEST_F(CookiesDetailsTest, CreateForTreeDatabase) {
EXPECT_TRUE([details.get() shouldHideCookieDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]);
EXPECT_TRUE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCacheTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStoragePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabasePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowAppCachePromptDetailsView]);
@@ -97,6 +99,35 @@ TEST_F(CookiesDetailsTest, CreateForTreeLocalStorage) {
EXPECT_TRUE([details.get() shouldHideCookieDetailsView]);
EXPECT_TRUE([details.get() shouldShowLocalStorageTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCacheTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowLocalStoragePromptDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowDatabasePromptDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCachePromptDetailsView]);
+}
+
+TEST_F(CookiesDetailsTest, CreateForTreeAppCache) {
+ scoped_nsobject<CocoaCookieDetails> details;
+
+ GURL url("http://chromium.org/stuff.manifest");
+ appcache::AppCacheInfo info;
+ info.creation_time = base::Time::Now();
+ info.last_update_time = base::Time::Now();
+ info.last_access_time = base::Time::Now();
+ info.size=2678;
+ info.manifest_url = url;
+ details.reset([[CocoaCookieDetails alloc] initWithAppCacheInfo:&info]);
+
+ EXPECT_EQ([details.get() type], kCocoaCookieDetailsTypeTreeAppCache);
+ EXPECT_TRUE([@"http://chromium.org/stuff.manifest"
+ isEqualToString:[details.get() manifestURL]]);
+ EXPECT_TRUE([@"2678 B" isEqualToString:[details.get() fileSize]]);
+ EXPECT_FALSE([@"" isEqualToString:[details.get() lastAccessed]]);
+ EXPECT_FALSE([@"" isEqualToString:[details.get() created]]);
+
+ EXPECT_TRUE([details.get() shouldHideCookieDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_TRUE([details.get() shouldShowAppCacheTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStoragePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabasePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowAppCachePromptDetailsView]);
@@ -116,6 +147,7 @@ TEST_F(CookiesDetailsTest, CreateForPromptDatabase) {
EXPECT_TRUE([details.get() shouldHideCookieDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCacheTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStoragePromptDetailsView]);
EXPECT_TRUE([details.get() shouldShowDatabasePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowAppCachePromptDetailsView]);
@@ -138,6 +170,7 @@ TEST_F(CookiesDetailsTest, CreateForPromptLocalStorage) {
EXPECT_TRUE([details.get() shouldHideCookieDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCacheTreeDetailsView]);
EXPECT_TRUE([details.get() shouldShowLocalStoragePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabasePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowAppCachePromptDetailsView]);
@@ -147,7 +180,7 @@ TEST_F(CookiesDetailsTest, CreateForPromptAppCache) {
scoped_nsobject<CocoaCookieDetails> details;
std::string manifestURL("http://html5demos.com/html5demo.manifest");
details.reset([[CocoaCookieDetails alloc]
- initWithAppCache:manifestURL.c_str()]);
+ initWithAppCacheManifestURL:manifestURL.c_str()]);
EXPECT_EQ([details.get() type], kCocoaCookieDetailsTypePromptAppCache);
EXPECT_TRUE([@"http://html5demos.com/html5demo.manifest"
@@ -156,6 +189,7 @@ TEST_F(CookiesDetailsTest, CreateForPromptAppCache) {
EXPECT_TRUE([details.get() shouldHideCookieDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStorageTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabaseTreeDetailsView]);
+ EXPECT_FALSE([details.get() shouldShowAppCacheTreeDetailsView]);
EXPECT_FALSE([details.get() shouldShowLocalStoragePromptDetailsView]);
EXPECT_FALSE([details.get() shouldShowDatabasePromptDetailsView]);
EXPECT_TRUE([details.get() shouldShowAppCachePromptDetailsView]);
diff --git a/chrome/browser/cocoa/cookies_window_controller.h b/chrome/browser/cocoa/cookies_window_controller.h
index be38fb5..21e6618 100644
--- a/chrome/browser/cocoa/cookies_window_controller.h
+++ b/chrome/browser/cocoa/cookies_window_controller.h
@@ -108,6 +108,7 @@ class CookiesTreeModelObserverBridge : public CookiesTreeModel::Observer {
Profile* profile_; // weak
BrowsingDataDatabaseHelper* databaseHelper_; // weak
BrowsingDataLocalStorageHelper* storageHelper_; // weak
+ BrowsingDataAppCacheHelper* appcacheHelper_; // weak
}
@property (assign, nonatomic) BOOL removeButtonEnabled;
@property (readonly, nonatomic) NSTreeController* treeController;
@@ -115,7 +116,8 @@ class CookiesTreeModelObserverBridge : public CookiesTreeModel::Observer {
// Designated initializer. Profile cannot be NULL.
- (id)initWithProfile:(Profile*)profile
databaseHelper:(BrowsingDataDatabaseHelper*)databaseHelper
- storageHelper:(BrowsingDataLocalStorageHelper*)storageHelper;
+ storageHelper:(BrowsingDataLocalStorageHelper*)storageHelper
+ appcacheHelper:(BrowsingDataAppCacheHelper*)appcacheHelper;
// Shows the cookies window as a modal sheet attached to |window|.
- (void)attachSheetTo:(NSWindow*)window;
diff --git a/chrome/browser/cocoa/cookies_window_controller.mm b/chrome/browser/cocoa/cookies_window_controller.mm
index 8a2b5be..c6e6a12 100644
--- a/chrome/browser/cocoa/cookies_window_controller.mm
+++ b/chrome/browser/cocoa/cookies_window_controller.mm
@@ -194,7 +194,8 @@ bool CookiesTreeModelObserverBridge::HasCocoaModel() {
- (id)initWithProfile:(Profile*)profile
databaseHelper:(BrowsingDataDatabaseHelper*)databaseHelper
- storageHelper:(BrowsingDataLocalStorageHelper*)storageHelper {
+ storageHelper:(BrowsingDataLocalStorageHelper*)storageHelper
+ appcacheHelper:(BrowsingDataAppCacheHelper*)appcacheHelper {
DCHECK(profile);
NSString* nibpath = [mac_util::MainAppBundle() pathForResource:@"Cookies"
ofType:@"nib"];
@@ -202,6 +203,7 @@ bool CookiesTreeModelObserverBridge::HasCocoaModel() {
profile_ = profile;
databaseHelper_ = databaseHelper;
storageHelper_ = storageHelper;
+ appcacheHelper_ = appcacheHelper;
[self loadTreeModelFromProfile];
@@ -406,7 +408,7 @@ bool CookiesTreeModelObserverBridge::HasCocoaModel() {
// clobbered, we rebuild the icon cache for safety (though they do not change).
- (void)loadTreeModelFromProfile {
treeModel_.reset(new CookiesTreeModel(profile_, databaseHelper_,
- storageHelper_, nil));
+ storageHelper_, appcacheHelper_));
modelObserver_.reset(new CookiesTreeModelObserverBridge(self));
treeModel_->AddObserver(modelObserver_.get());
diff --git a/chrome/browser/cocoa/cookies_window_controller_unittest.mm b/chrome/browser/cocoa/cookies_window_controller_unittest.mm
index 898ed9e..c1565b4 100644
--- a/chrome/browser/cocoa/cookies_window_controller_unittest.mm
+++ b/chrome/browser/cocoa/cookies_window_controller_unittest.mm
@@ -14,6 +14,7 @@
#include "chrome/browser/cocoa/cocoa_test_helper.h"
#include "chrome/browser/mock_browsing_data_database_helper.h"
#include "chrome/browser/mock_browsing_data_local_storage_helper.h"
+#include "chrome/browser/mock_browsing_data_appcache_helper.h"
#include "chrome/browser/net/url_request_context_getter.h"
#include "chrome/browser/cookies_tree_model.h"
#include "chrome/test/testing_profile.h"
@@ -56,10 +57,12 @@ class CookiesWindowControllerTest : public CocoaTest {
profile->CreateRequestContext();
database_helper_ = new MockBrowsingDataDatabaseHelper(profile);
local_storage_helper_ = new MockBrowsingDataLocalStorageHelper(profile);
+ appcache_helper_ = new MockBrowsingDataAppCacheHelper(profile);
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]
);
}
@@ -83,6 +86,7 @@ class CookiesWindowControllerTest : public CocoaTest {
scoped_nsobject<CookiesWindowController> controller_;
MockBrowsingDataDatabaseHelper* database_helper_;
MockBrowsingDataLocalStorageHelper* local_storage_helper_;
+ MockBrowsingDataAppCacheHelper* appcache_helper_;
};
TEST_F(CookiesWindowControllerTest, Construction) {
@@ -203,7 +207,8 @@ TEST_F(CookiesWindowControllerTest, TreeNodesAdded) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
// Root --> foo.com --> Cookies.
NSMutableArray* cocoa_children =
@@ -246,7 +251,8 @@ TEST_F(CookiesWindowControllerTest, TreeNodesRemoved) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
// Root --> foo.com --> Cookies.
NSMutableArray* cocoa_children =
@@ -278,7 +284,8 @@ TEST_F(CookiesWindowControllerTest, TreeNodeChildrenReordered) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
// Root --> foo.com --> Cookies.
NSMutableArray* cocoa_children =
@@ -325,7 +332,8 @@ TEST_F(CookiesWindowControllerTest, TreeNodeChanged) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
CookiesTreeModel* model = [controller_ treeModel];
// Root --> foo.com --> Cookies.
@@ -359,7 +367,8 @@ TEST_F(CookiesWindowControllerTest, DeleteCookie) {
CookiesWindowController* controller =
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_];
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_];
[controller attachSheetTo:test_window()];
NSTreeController* treeController = [controller treeController];
@@ -391,7 +400,8 @@ TEST_F(CookiesWindowControllerTest, DidExpandItem) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
// Root --> foo.com.
CocoaCookieTreeNode* foo =
@@ -468,7 +478,8 @@ TEST_F(CookiesWindowControllerTest, FLAKY_RemoveButtonEnabled) {
CookiesWindowController* controller =
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_];
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_];
local_storage_helper_->Notify();
[controller attachSheetTo:test_window()];
@@ -536,7 +547,8 @@ TEST_F(CookiesWindowControllerTest, UpdateFilter) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
// Make sure we registered all five cookies.
EXPECT_EQ(5U, [[[controller_ cocoaTreeModel] children] count]);
@@ -583,7 +595,8 @@ TEST_F(CookiesWindowControllerTest, CreateDatabaseStorageNodes) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
database_helper_->Notify();
ASSERT_EQ(2U, [[[controller_ cocoaTreeModel] children] count]);
@@ -644,7 +657,8 @@ TEST_F(CookiesWindowControllerTest, CreateLocalStorageNodes) {
controller_.reset(
[[CookiesWindowController alloc] initWithProfile:profile
databaseHelper:database_helper_
- storageHelper:local_storage_helper_]);
+ storageHelper:local_storage_helper_
+ appcacheHelper:appcache_helper_]);
local_storage_helper_->Notify();
ASSERT_EQ(4U, [[[controller_ cocoaTreeModel] children] count]);