diff options
author | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-30 08:18:41 +0000 |
---|---|---|
committer | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-30 08:18:41 +0000 |
commit | aea49ce16dd0ee8ec871661955be62bf61f35d1d (patch) | |
tree | e76892a72316ae8e9ca7b6972dff816af7768ca7 /chrome | |
parent | d4ecb0226cd40fcd239d768dc7e40ff1d2b7e695 (diff) | |
download | chromium_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.xib | 611 | ||||
-rw-r--r-- | chrome/browser/cocoa/content_settings_dialog_controller.mm | 5 | ||||
-rw-r--r-- | chrome/browser/cocoa/cookie_details.h | 42 | ||||
-rw-r--r-- | chrome/browser/cocoa/cookie_details.mm | 34 | ||||
-rw-r--r-- | chrome/browser/cocoa/cookie_details_unittest.mm | 36 | ||||
-rw-r--r-- | chrome/browser/cocoa/cookies_window_controller.h | 4 | ||||
-rw-r--r-- | chrome/browser/cocoa/cookies_window_controller.mm | 6 | ||||
-rw-r--r-- | chrome/browser/cocoa/cookies_window_controller_unittest.mm | 36 |
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]); |