[Mac] Implement the cookie manager

This CL creates the basic cookie management interface, allowing users to view
and delete cookies from Chromium. TODO: (1) Add the filtering by domain
capability. (2) Localize the NIB.

BUG=15360
TEST=Chromium-->Preferences-->Under the Hood-->Show Cookies. Also covered by unit tests.

Review URL: http://codereview.chromium.org/523025

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35512 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/cocoa_protocols_mac.h b/base/cocoa_protocols_mac.h
index eb30906..f59b3c8 100644
--- a/base/cocoa_protocols_mac.h
+++ b/base/cocoa_protocols_mac.h
@@ -26,6 +26,7 @@
 DEFINE_EMPTY_PROTOCOL(NSControlTextEditingDelegate)
 DEFINE_EMPTY_PROTOCOL(NSMatrixDelegate)
 DEFINE_EMPTY_PROTOCOL(NSMenuDelegate)
+DEFINE_EMPTY_PROTOCOL(NSOutlineViewDelegate)
 DEFINE_EMPTY_PROTOCOL(NSTableViewDataSource)
 DEFINE_EMPTY_PROTOCOL(NSTableViewDelegate)
 DEFINE_EMPTY_PROTOCOL(NSTextFieldDelegate)
diff --git a/chrome/DEPS b/chrome/DEPS
index c24006e..f8a0e86 100644
--- a/chrome/DEPS
+++ b/chrome/DEPS
@@ -25,6 +25,9 @@
   # Allow inclusion of the database library.
   "+webkit/database",
 
+  # Allow Apple code ImageAndTextCell.
+  "+third_party/apple",
+
   # Allow inclusion of Mozilla interface headers.
   "+third_party/mozilla",
 
diff --git a/chrome/app/nibs/Cookies.xib b/chrome/app/nibs/Cookies.xib
new file mode 100644
index 0000000..9f37c858
--- /dev/null
+++ b/chrome/app/nibs/Cookies.xib
@@ -0,0 +1,2263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1050</int>
+		<string key="IBDocument.SystemVersion">10C540</string>
+		<string key="IBDocument.InterfaceBuilderVersion">740</string>
+		<string key="IBDocument.AppKitVersion">1038.25</string>
+		<string key="IBDocument.HIToolboxVersion">458.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string key="NS.object.0">740</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="5"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys" id="0">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSCustomObject" id="1001">
+				<string key="NSClassName">CookiesWindowController</string>
+			</object>
+			<object class="NSCustomObject" id="1003">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="1004">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSWindowTemplate" id="1005">
+				<int key="NSWindowStyleMask">15</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{476, 247}, {499, 524}}</string>
+				<int key="NSWTFlags">544735232</int>
+				<string key="NSWindowTitle">Cookies and Website Permissions</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<nil key="NSViewClass"/>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSWindowContentMinSize">{499, 513}</string>
+				<object class="NSView" key="NSWindowView" id="1006">
+					<reference key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<object class="NSMutableArray" key="NSSubviews">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSTextField" id="91932637">
+							<reference key="NSNextResponder" ref="1006"/>
+							<int key="NSvFlags">268</int>
+							<string key="NSFrame">{{17, 499}, {465, 17}}</string>
+							<reference key="NSSuperview" ref="1006"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="901192651">
+								<int key="NSCellFlags">68288064</int>
+								<int key="NSCellFlags2">272630784</int>
+								<string key="NSContents">The following cookies are stored on your computer:</string>
+								<object class="NSFont" key="NSSupport" id="743256162">
+									<string key="NSName">LucidaGrande</string>
+									<double key="NSSize">13</double>
+									<int key="NSfFlags">1044</int>
+								</object>
+								<reference key="NSControlView" ref="91932637"/>
+								<object class="NSColor" key="NSBackgroundColor" id="153865828">
+									<int key="NSColorSpace">6</int>
+									<string key="NSCatalogName">System</string>
+									<string key="NSColorName">controlColor</string>
+									<object class="NSColor" key="NSColor" id="848879610">
+										<int key="NSColorSpace">3</int>
+										<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+									</object>
+								</object>
+								<object class="NSColor" key="NSTextColor" id="593135112">
+									<int key="NSColorSpace">6</int>
+									<string key="NSCatalogName">System</string>
+									<string key="NSColorName">controlTextColor</string>
+									<object class="NSColor" key="NSColor" id="386908440">
+										<int key="NSColorSpace">3</int>
+										<bytes key="NSWhite">MAA</bytes>
+									</object>
+								</object>
+							</object>
+						</object>
+						<object class="NSScrollView" id="1002552068">
+							<reference key="NSNextResponder" ref="1006"/>
+							<int key="NSvFlags">274</int>
+							<object class="NSMutableArray" key="NSSubviews">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSClipView" id="68591532">
+									<reference key="NSNextResponder" ref="1002552068"/>
+									<int key="NSvFlags">2304</int>
+									<object class="NSMutableArray" key="NSSubviews">
+										<bool key="EncodedWithXMLCoder">YES</bool>
+										<object class="NSOutlineView" id="120560">
+											<reference key="NSNextResponder" ref="68591532"/>
+											<int key="NSvFlags">256</int>
+											<string key="NSFrameSize">{457, 237}</string>
+											<reference key="NSSuperview" ref="68591532"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="_NSCornerView" key="NSCornerView">
+												<nil key="NSNextResponder"/>
+												<int key="NSvFlags">-2147483392</int>
+												<string key="NSFrame">{{443, 0}, {16, 17}}</string>
+											</object>
+											<object class="NSMutableArray" key="NSTableColumns">
+												<bool key="EncodedWithXMLCoder">YES</bool>
+												<object class="NSTableColumn" id="936123567">
+													<double key="NSWidth">455</double>
+													<double key="NSMinWidth">16</double>
+													<double key="NSMaxWidth">1000</double>
+													<object class="NSTableHeaderCell" key="NSHeaderCell">
+														<int key="NSCellFlags">75628096</int>
+														<int key="NSCellFlags2">2048</int>
+														<string key="NSContents"/>
+														<object class="NSFont" key="NSSupport" id="26">
+															<string key="NSName">LucidaGrande</string>
+															<double key="NSSize">11</double>
+															<int key="NSfFlags">3100</int>
+														</object>
+														<object class="NSColor" key="NSBackgroundColor">
+															<int key="NSColorSpace">3</int>
+															<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
+														</object>
+														<object class="NSColor" key="NSTextColor">
+															<int key="NSColorSpace">6</int>
+															<string key="NSCatalogName">System</string>
+															<string key="NSColorName">headerTextColor</string>
+															<reference key="NSColor" ref="386908440"/>
+														</object>
+													</object>
+													<object class="NSTextFieldCell" key="NSDataCell" id="363879356">
+														<int key="NSCellFlags">337772096</int>
+														<int key="NSCellFlags2">2048</int>
+														<string key="NSContents">Text Cell</string>
+														<reference key="NSSupport" ref="743256162"/>
+														<reference key="NSControlView" ref="120560"/>
+														<object class="NSColor" key="NSBackgroundColor" id="657409763">
+															<int key="NSColorSpace">6</int>
+															<string key="NSCatalogName">System</string>
+															<string key="NSColorName">controlBackgroundColor</string>
+															<reference key="NSColor" ref="848879610"/>
+														</object>
+														<reference key="NSTextColor" ref="593135112"/>
+													</object>
+													<int key="NSResizingMask">3</int>
+													<bool key="NSIsResizeable">YES</bool>
+													<bool key="NSIsEditable">YES</bool>
+													<reference key="NSTableView" ref="120560"/>
+												</object>
+											</object>
+											<double key="NSIntercellSpacingWidth">2</double>
+											<double key="NSIntercellSpacingHeight">3</double>
+											<object class="NSColor" key="NSBackgroundColor" id="28636642">
+												<int key="NSColorSpace">3</int>
+												<bytes key="NSWhite">MQA</bytes>
+											</object>
+											<object class="NSColor" key="NSGridColor">
+												<int key="NSColorSpace">6</int>
+												<string key="NSCatalogName">System</string>
+												<string key="NSColorName">gridColor</string>
+												<object class="NSColor" key="NSColor">
+													<int key="NSColorSpace">3</int>
+													<bytes key="NSWhite">MC41AA</bytes>
+												</object>
+											</object>
+											<double key="NSRowHeight">17</double>
+											<int key="NSTvFlags">-633339904</int>
+											<reference key="NSDelegate"/>
+											<reference key="NSDataSource"/>
+											<int key="NSColumnAutoresizingStyle">4</int>
+											<int key="NSDraggingSourceMaskForLocal">15</int>
+											<int key="NSDraggingSourceMaskForNonLocal">0</int>
+											<bool key="NSAllowsTypeSelect">YES</bool>
+											<int key="NSTableViewDraggingDestinationStyle">0</int>
+										</object>
+									</object>
+									<string key="NSFrame">{{1, 1}, {457, 237}}</string>
+									<reference key="NSSuperview" ref="1002552068"/>
+									<reference key="NSNextKeyView" ref="120560"/>
+									<reference key="NSDocView" ref="120560"/>
+									<reference key="NSBGColor" ref="657409763"/>
+									<int key="NScvFlags">4</int>
+								</object>
+								<object class="NSScroller" id="342557255">
+									<reference key="NSNextResponder" ref="1002552068"/>
+									<int key="NSvFlags">-2147483392</int>
+									<string key="NSFrame">{{443, 1}, {15, 222}}</string>
+									<reference key="NSSuperview" ref="1002552068"/>
+									<int key="NSsFlags">512</int>
+									<reference key="NSTarget" ref="1002552068"/>
+									<string key="NSAction">_doScroller:</string>
+									<double key="NSPercent">1</double>
+								</object>
+								<object class="NSScroller" id="33257460">
+									<reference key="NSNextResponder" ref="1002552068"/>
+									<int key="NSvFlags">-2147483392</int>
+									<string key="NSFrame">{{1, 223}, {442, 15}}</string>
+									<reference key="NSSuperview" ref="1002552068"/>
+									<int key="NSsFlags">513</int>
+									<reference key="NSTarget" ref="1002552068"/>
+									<string key="NSAction">_doScroller:</string>
+									<double key="NSPercent">1</double>
+								</object>
+							</object>
+							<string key="NSFrame">{{20, 252}, {459, 239}}</string>
+							<reference key="NSSuperview" ref="1006"/>
+							<reference key="NSNextKeyView" ref="68591532"/>
+							<int key="NSsFlags">562</int>
+							<reference key="NSVScroller" ref="342557255"/>
+							<reference key="NSHScroller" ref="33257460"/>
+							<reference key="NSContentView" ref="68591532"/>
+							<bytes key="NSScrollAmts">QSAAAEEgAABBoAAAQaAAAA</bytes>
+						</object>
+						<object class="NSBox" id="271096905">
+							<reference key="NSNextResponder" ref="1006"/>
+							<int key="NSvFlags">34</int>
+							<object class="NSMutableArray" key="NSSubviews">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSView" id="470176110">
+									<reference key="NSNextResponder" ref="271096905"/>
+									<int key="NSvFlags">256</int>
+									<object class="NSMutableArray" key="NSSubviews">
+										<bool key="EncodedWithXMLCoder">YES</bool>
+										<object class="NSTextField" id="963894543">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{28, 164}, {46, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="180607854">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Name:</string>
+												<object class="NSFont" key="NSSupport" id="1029389782">
+													<string key="NSName">LucidaGrande-Bold</string>
+													<double key="NSSize">13</double>
+													<int key="NSfFlags">16</int>
+												</object>
+												<reference key="NSControlView" ref="963894543"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="372436668">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{14, 139}, {61, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="102867899">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Content:</string>
+												<reference key="NSSupport" ref="1029389782"/>
+												<reference key="NSControlView" ref="372436668"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="896098170">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{14, 114}, {59, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="789962444">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Domain:</string>
+												<reference key="NSSupport" ref="1029389782"/>
+												<reference key="NSControlView" ref="896098170"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="316383864">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{37, 89}, {37, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="334472683">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Path:</string>
+												<reference key="NSSupport" ref="1029389782"/>
+												<reference key="NSControlView" ref="316383864"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="554007155">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{10, 64}, {66, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="58513858">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Send For:</string>
+												<reference key="NSSupport" ref="1029389782"/>
+												<reference key="NSControlView" ref="554007155"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="23166105">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{15, 39}, {60, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="88655289">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Created:</string>
+												<reference key="NSSupport" ref="1029389782"/>
+												<reference key="NSControlView" ref="23166105"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="479211433">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">268</int>
+											<string key="NSFrame">{{18, 14}, {57, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="156827030">
+												<int key="NSCellFlags">68288064</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Expires:</string>
+												<reference key="NSSupport" ref="1029389782"/>
+												<reference key="NSControlView" ref="479211433"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="115711329">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 164}, {372, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="374896722">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="115711329"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="99708837">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 139}, {372, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="642661444">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="99708837"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="947098731">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 114}, {371, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="179992136">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="947098731"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="207640968">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 89}, {371, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="854107155">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="207640968"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="28517082">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 64}, {371, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="758369775">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="28517082"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="1015689263">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 39}, {371, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="279699973">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="1015689263"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+										<object class="NSTextField" id="483944318">
+											<reference key="NSNextResponder" ref="470176110"/>
+											<int key="NSvFlags">266</int>
+											<string key="NSFrame">{{82, 14}, {372, 17}}</string>
+											<reference key="NSSuperview" ref="470176110"/>
+											<bool key="NSEnabled">YES</bool>
+											<object class="NSTextFieldCell" key="NSCell" id="727462063">
+												<int key="NSCellFlags">70385217</int>
+												<int key="NSCellFlags2">272630784</int>
+												<string key="NSContents">Label</string>
+												<reference key="NSSupport" ref="743256162"/>
+												<reference key="NSControlView" ref="483944318"/>
+												<reference key="NSBackgroundColor" ref="153865828"/>
+												<reference key="NSTextColor" ref="593135112"/>
+											</object>
+										</object>
+									</object>
+									<string key="NSFrame">{{1, 1}, {463, 189}}</string>
+									<reference key="NSSuperview" ref="271096905"/>
+								</object>
+							</object>
+							<string key="NSFrame">{{17, 47}, {465, 191}}</string>
+							<reference key="NSSuperview" ref="1006"/>
+							<string key="NSOffsets">{0, 0}</string>
+							<object class="NSTextFieldCell" key="NSTitleCell">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">0</int>
+								<string key="NSContents">Box</string>
+								<reference key="NSSupport" ref="26"/>
+								<object class="NSColor" key="NSBackgroundColor">
+									<int key="NSColorSpace">6</int>
+									<string key="NSCatalogName">System</string>
+									<string key="NSColorName">textBackgroundColor</string>
+									<reference key="NSColor" ref="28636642"/>
+								</object>
+								<object class="NSColor" key="NSTextColor">
+									<int key="NSColorSpace">3</int>
+									<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
+								</object>
+							</object>
+							<reference key="NSContentView" ref="470176110"/>
+							<int key="NSBorderType">1</int>
+							<int key="NSBoxType">0</int>
+							<int key="NSTitlePosition">0</int>
+							<bool key="NSTransparent">NO</bool>
+						</object>
+						<object class="NSButton" id="328853880">
+							<reference key="NSNextResponder" ref="1006"/>
+							<int key="NSvFlags">292</int>
+							<string key="NSFrame">{{14, 9}, {96, 32}}</string>
+							<reference key="NSSuperview" ref="1006"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="983254772">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Remove</string>
+								<reference key="NSSupport" ref="743256162"/>
+								<reference key="NSControlView" ref="328853880"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">129</int>
+								<string key="NSAlternateContents"/>
+								<string key="NSKeyEquivalent"></string>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSButton" id="153456657">
+							<reference key="NSNextResponder" ref="1006"/>
+							<int key="NSvFlags">292</int>
+							<string key="NSFrame">{{110, 9}, {111, 32}}</string>
+							<reference key="NSSuperview" ref="1006"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="706435612">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Remove All</string>
+								<reference key="NSSupport" ref="743256162"/>
+								<reference key="NSControlView" ref="153456657"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">129</int>
+								<string key="NSAlternateContents"/>
+								<string key="NSKeyEquivalent"/>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSButton" id="877515252">
+							<reference key="NSNextResponder" ref="1006"/>
+							<int key="NSvFlags">289</int>
+							<string key="NSFrame">{{389, 9}, {96, 32}}</string>
+							<reference key="NSSuperview" ref="1006"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="899809726">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Close</string>
+								<reference key="NSSupport" ref="743256162"/>
+								<reference key="NSControlView" ref="877515252"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">129</int>
+								<string key="NSAlternateContents"/>
+								<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+					</object>
+					<string key="NSFrameSize">{499, 524}</string>
+					<reference key="NSSuperview"/>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+				<string key="NSMinSize">{499, 535}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+			<object class="NSTreeController" id="317796902">
+				<object class="NSMutableArray" key="NSDeclaredKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>title</string>
+					<string>name</string>
+					<string>content</string>
+					<string>domain</string>
+					<string>path</string>
+					<string>sendFor</string>
+					<string>created</string>
+					<string>expires</string>
+					<string>count</string>
+				</object>
+				<string key="NSObjectClassName">CocoaCookieTreeNode</string>
+				<object class="_NSManagedProxy" key="_NSManagedProxy"/>
+				<bool key="NSPreservesSelection">YES</bool>
+				<bool key="NSSelectsInsertedObjects">YES</bool>
+				<string key="NSTreeContentChildrenKey">children</string>
+				<string key="NSTreeContentLeafKey">isLeaf</string>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">window</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="1005"/>
+					</object>
+					<int key="connectionID">49</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">closeSheet:</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="877515252"/>
+					</object>
+					<int key="connectionID">50</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">treeController_</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="317796902"/>
+					</object>
+					<int key="connectionID">52</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: arrangedObjects.title</string>
+						<reference key="source" ref="936123567"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="936123567"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: arrangedObjects.title</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">arrangedObjects.title</string>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">57</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">contentArray: cocoaTreeModel.children</string>
+						<reference key="source" ref="317796902"/>
+						<reference key="destination" ref="1001"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="317796902"/>
+							<reference key="NSDestination" ref="1001"/>
+							<string key="NSLabel">contentArray: cocoaTreeModel.children</string>
+							<string key="NSBinding">contentArray</string>
+							<string key="NSKeyPath">cocoaTreeModel.children</string>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">58</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.name</string>
+						<reference key="source" ref="115711329"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="115711329"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.name</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.name</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">90</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.content</string>
+						<reference key="source" ref="99708837"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="99708837"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.content</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.content</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">91</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.domain</string>
+						<reference key="source" ref="947098731"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="947098731"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.domain</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.domain</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">92</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.path</string>
+						<reference key="source" ref="207640968"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="207640968"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.path</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.path</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">93</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.sendFor</string>
+						<reference key="source" ref="28517082"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="28517082"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.sendFor</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.sendFor</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">94</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.created</string>
+						<reference key="source" ref="1015689263"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="1015689263"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.created</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.created</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">95</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: selection.expires</string>
+						<reference key="source" ref="483944318"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="483944318"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">value: selection.expires</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">selection.expires</string>
+							<object class="NSDictionary" key="NSOptions">
+								<bool key="EncodedWithXMLCoder">YES</bool>
+								<object class="NSArray" 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>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<string>&lt; no cookie selected &gt;</string>
+									<boolean value="NO"/>
+								</object>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">96</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">deleteCookie:</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="328853880"/>
+					</object>
+					<int key="connectionID">97</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">deleteAllCookies:</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="153456657"/>
+					</object>
+					<int key="connectionID">98</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="120560"/>
+						<reference key="destination" ref="1001"/>
+					</object>
+					<int key="connectionID">99</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="1005"/>
+						<reference key="destination" ref="1001"/>
+					</object>
+					<int key="connectionID">106</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">enabled: selectionIndexPath</string>
+						<reference key="source" ref="328853880"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="328853880"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">enabled: selectionIndexPath</string>
+							<string key="NSBinding">enabled</string>
+							<string key="NSKeyPath">selectionIndexPath</string>
+							<object class="NSDictionary" key="NSOptions">
+								<string key="NS.key.0">NSValueTransformerName</string>
+								<string key="NS.object.0">NSIsNotNil</string>
+							</object>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">126</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">enabled: arrangedObjects.count</string>
+						<reference key="source" ref="153456657"/>
+						<reference key="destination" ref="317796902"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="153456657"/>
+							<reference key="NSDestination" ref="317796902"/>
+							<string key="NSLabel">enabled: arrangedObjects.count</string>
+							<string key="NSBinding">enabled</string>
+							<string key="NSKeyPath">arrangedObjects.count</string>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">128</int>
+				</object>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<reference key="object" ref="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="1001"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="1003"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">First Responder</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-3</int>
+						<reference key="object" ref="1004"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Application</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">1</int>
+						<reference key="object" ref="1005"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="1006"/>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">2</int>
+						<reference key="object" ref="1006"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="91932637"/>
+							<reference ref="1002552068"/>
+							<reference ref="271096905"/>
+							<reference ref="328853880"/>
+							<reference ref="153456657"/>
+							<reference ref="877515252"/>
+						</object>
+						<reference key="parent" ref="1005"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">3</int>
+						<reference key="object" ref="91932637"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="901192651"/>
+						</object>
+						<reference key="parent" ref="1006"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">4</int>
+						<reference key="object" ref="901192651"/>
+						<reference key="parent" ref="91932637"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">5</int>
+						<reference key="object" ref="1002552068"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="342557255"/>
+							<reference ref="33257460"/>
+							<reference ref="120560"/>
+						</object>
+						<reference key="parent" ref="1006"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">6</int>
+						<reference key="object" ref="342557255"/>
+						<reference key="parent" ref="1002552068"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">7</int>
+						<reference key="object" ref="33257460"/>
+						<reference key="parent" ref="1002552068"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">8</int>
+						<reference key="object" ref="120560"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="936123567"/>
+						</object>
+						<reference key="parent" ref="1002552068"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">10</int>
+						<reference key="object" ref="936123567"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="363879356"/>
+						</object>
+						<reference key="parent" ref="120560"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">13</int>
+						<reference key="object" ref="363879356"/>
+						<reference key="parent" ref="936123567"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">14</int>
+						<reference key="object" ref="271096905"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="963894543"/>
+							<reference ref="372436668"/>
+							<reference ref="896098170"/>
+							<reference ref="316383864"/>
+							<reference ref="554007155"/>
+							<reference ref="23166105"/>
+							<reference ref="479211433"/>
+							<reference ref="115711329"/>
+							<reference ref="99708837"/>
+							<reference ref="207640968"/>
+							<reference ref="28517082"/>
+							<reference ref="1015689263"/>
+							<reference ref="483944318"/>
+							<reference ref="947098731"/>
+						</object>
+						<reference key="parent" ref="1006"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">15</int>
+						<reference key="object" ref="328853880"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="983254772"/>
+						</object>
+						<reference key="parent" ref="1006"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">16</int>
+						<reference key="object" ref="983254772"/>
+						<reference key="parent" ref="328853880"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">17</int>
+						<reference key="object" ref="153456657"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="706435612"/>
+						</object>
+						<reference key="parent" ref="1006"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">18</int>
+						<reference key="object" ref="706435612"/>
+						<reference key="parent" ref="153456657"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">19</int>
+						<reference key="object" ref="877515252"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="899809726"/>
+						</object>
+						<reference key="parent" ref="1006"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">20</int>
+						<reference key="object" ref="899809726"/>
+						<reference key="parent" ref="877515252"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">21</int>
+						<reference key="object" ref="963894543"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="180607854"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">22</int>
+						<reference key="object" ref="180607854"/>
+						<reference key="parent" ref="963894543"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">23</int>
+						<reference key="object" ref="372436668"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="102867899"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">24</int>
+						<reference key="object" ref="102867899"/>
+						<reference key="parent" ref="372436668"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">25</int>
+						<reference key="object" ref="896098170"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="789962444"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">26</int>
+						<reference key="object" ref="789962444"/>
+						<reference key="parent" ref="896098170"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">27</int>
+						<reference key="object" ref="316383864"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="334472683"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">28</int>
+						<reference key="object" ref="334472683"/>
+						<reference key="parent" ref="316383864"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">29</int>
+						<reference key="object" ref="554007155"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="58513858"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">30</int>
+						<reference key="object" ref="58513858"/>
+						<reference key="parent" ref="554007155"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">31</int>
+						<reference key="object" ref="23166105"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="88655289"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">32</int>
+						<reference key="object" ref="88655289"/>
+						<reference key="parent" ref="23166105"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">33</int>
+						<reference key="object" ref="479211433"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="156827030"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">34</int>
+						<reference key="object" ref="156827030"/>
+						<reference key="parent" ref="479211433"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">35</int>
+						<reference key="object" ref="115711329"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="374896722"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">36</int>
+						<reference key="object" ref="374896722"/>
+						<reference key="parent" ref="115711329"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">37</int>
+						<reference key="object" ref="99708837"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="642661444"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">38</int>
+						<reference key="object" ref="642661444"/>
+						<reference key="parent" ref="99708837"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">39</int>
+						<reference key="object" ref="947098731"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="179992136"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">40</int>
+						<reference key="object" ref="179992136"/>
+						<reference key="parent" ref="947098731"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">41</int>
+						<reference key="object" ref="207640968"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="854107155"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">42</int>
+						<reference key="object" ref="854107155"/>
+						<reference key="parent" ref="207640968"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">43</int>
+						<reference key="object" ref="28517082"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="758369775"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">44</int>
+						<reference key="object" ref="758369775"/>
+						<reference key="parent" ref="28517082"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">45</int>
+						<reference key="object" ref="1015689263"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="279699973"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">46</int>
+						<reference key="object" ref="279699973"/>
+						<reference key="parent" ref="1015689263"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">47</int>
+						<reference key="object" ref="483944318"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="727462063"/>
+						</object>
+						<reference key="parent" ref="271096905"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">48</int>
+						<reference key="object" ref="727462063"/>
+						<reference key="parent" ref="483944318"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">51</int>
+						<reference key="object" ref="317796902"/>
+						<reference key="parent" ref="0"/>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-1.IBPluginDependency</string>
+					<string>-2.IBPluginDependency</string>
+					<string>-3.IBPluginDependency</string>
+					<string>1.IBEditorWindowLastContentRect</string>
+					<string>1.IBPluginDependency</string>
+					<string>1.IBWindowTemplateEditedContentRect</string>
+					<string>1.NSWindowTemplate.visibleAtLaunch</string>
+					<string>1.WindowOrigin</string>
+					<string>1.editorWindowContentRectSynchronizationRect</string>
+					<string>1.windowTemplate.hasMinSize</string>
+					<string>1.windowTemplate.minSize</string>
+					<string>10.IBPluginDependency</string>
+					<string>13.CustomClassName</string>
+					<string>13.IBPluginDependency</string>
+					<string>14.IBPluginDependency</string>
+					<string>15.IBPluginDependency</string>
+					<string>16.IBPluginDependency</string>
+					<string>17.IBPluginDependency</string>
+					<string>18.IBPluginDependency</string>
+					<string>19.IBPluginDependency</string>
+					<string>2.IBPluginDependency</string>
+					<string>20.IBPluginDependency</string>
+					<string>21.IBPluginDependency</string>
+					<string>22.IBPluginDependency</string>
+					<string>23.IBPluginDependency</string>
+					<string>24.IBPluginDependency</string>
+					<string>25.IBPluginDependency</string>
+					<string>26.IBPluginDependency</string>
+					<string>27.IBPluginDependency</string>
+					<string>28.IBPluginDependency</string>
+					<string>29.IBPluginDependency</string>
+					<string>3.IBPluginDependency</string>
+					<string>30.IBPluginDependency</string>
+					<string>31.IBPluginDependency</string>
+					<string>32.IBPluginDependency</string>
+					<string>33.IBPluginDependency</string>
+					<string>34.IBPluginDependency</string>
+					<string>35.IBPluginDependency</string>
+					<string>36.IBPluginDependency</string>
+					<string>37.IBPluginDependency</string>
+					<string>38.IBPluginDependency</string>
+					<string>39.IBPluginDependency</string>
+					<string>4.IBPluginDependency</string>
+					<string>40.IBPluginDependency</string>
+					<string>41.IBPluginDependency</string>
+					<string>42.IBPluginDependency</string>
+					<string>43.IBPluginDependency</string>
+					<string>44.IBPluginDependency</string>
+					<string>45.IBPluginDependency</string>
+					<string>46.IBPluginDependency</string>
+					<string>47.IBPluginDependency</string>
+					<string>48.IBPluginDependency</string>
+					<string>5.IBPluginDependency</string>
+					<string>51.IBPluginDependency</string>
+					<string>6.IBPluginDependency</string>
+					<string>7.IBPluginDependency</string>
+					<string>8.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>{{498, 183}, {499, 524}}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>{{498, 183}, {499, 524}}</string>
+					<boolean value="NO"/>
+					<string>{196, 240}</string>
+					<string>{{357, 418}, {480, 270}}</string>
+					<boolean value="YES"/>
+					<string>{499, 513}</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>ImageAndTextCell</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>
+					<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>
+					<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">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">129</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">CookiesWindowController</string>
+					<string key="superclassName">NSWindowController</string>
+					<object class="NSMutableDictionary" key="actions">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>closeSheet:</string>
+							<string>deleteAllCookies:</string>
+							<string>deleteCookie:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>id</string>
+							<string>id</string>
+							<string>id</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="outlets">
+						<string key="NS.key.0">treeController_</string>
+						<string key="NS.object.0">NSTreeController</string>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">browser/cocoa/cookies_window_controller.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ImageAndTextCell</string>
+					<string key="superclassName">NSTextFieldCell</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">../third_party/apple/ImageAndTextCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">browser/cocoa/status_bubble_mac.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">browser/cocoa/tab_strip_model_observer_bridge.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">browser/cocoa/nswindow_local_state.h</string>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSActionCell</string>
+					<string key="superclassName">NSCell</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<string key="superclassName">NSResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="966009744">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="308216055">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="669407503">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSBox</string>
+					<string key="superclassName">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSBox.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSButton</string>
+					<string key="superclassName">NSControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSButton.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSButtonCell</string>
+					<string key="superclassName">NSActionCell</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSCell</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSControl</string>
+					<string key="superclassName">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="376210239">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSFormatter</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSMenu</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="336851698">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSAlert.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSAnimation.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="966009744"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="308216055"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="669407503"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSComboBox.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSComboBoxCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="376210239"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDatePickerCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="846502556">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSImage.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<reference key="sourceIdentifier" ref="336851698"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="998258386">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSRuleEditor.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSSound.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSSpeechRecognizer.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSSpeechSynthesizer.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSSplitView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTabView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="529665897">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSText.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTextStorage.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTextView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTokenField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTokenFieldCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSToolbar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="140623127">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="357114725">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSMetadata.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSSpellServer.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Print.framework/Headers/PDEPluginInterface.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">QuartzCore.framework/Headers/CIImageProvider.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">SecurityInterface.framework/Headers/SFAuthorizationView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">SecurityInterface.framework/Headers/SFCertificatePanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">SecurityInterface.framework/Headers/SFChooseIdentityPanel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObjectController</string>
+					<string key="superclassName">NSController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSObjectController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSOutlineView</string>
+					<string key="superclassName">NSTableView</string>
+					<reference key="sourceIdentifier" ref="998258386"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSResponder</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSScrollView</string>
+					<string key="superclassName">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSScrollView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSScroller</string>
+					<string key="superclassName">NSControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSScroller.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSTableColumn</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTableColumn.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSTableView</string>
+					<string key="superclassName">NSControl</string>
+					<reference key="sourceIdentifier" ref="529665897"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSTextField</string>
+					<string key="superclassName">NSControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSTextFieldCell</string>
+					<string key="superclassName">NSActionCell</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSTreeController</string>
+					<string key="superclassName">NSObjectController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSTreeController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<string key="superclassName">NSResponder</string>
+					<reference key="sourceIdentifier" ref="140623127"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<reference key="sourceIdentifier" ref="846502556"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<string key="superclassName">NSResponder</string>
+					<reference key="sourceIdentifier" ref="357114725"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindowController</string>
+					<string key="superclassName">NSResponder</string>
+					<object class="NSMutableDictionary" key="actions">
+						<string key="NS.key.0">showWindow:</string>
+						<string key="NS.object.0">id</string>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
+					</object>
+				</object>
+			</object>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<integer value="1050" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+			<integer value="3000" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">../../chrome.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+	</data>
+</archive>
diff --git a/chrome/app/nibs/Preferences.xib b/chrome/app/nibs/Preferences.xib
index bcf9ac4..3b47dfa1 100644
--- a/chrome/app/nibs/Preferences.xib
+++ b/chrome/app/nibs/Preferences.xib
@@ -486,7 +486,7 @@
 						<reference key="NSSuperview" ref="1016273328"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSButtonCell" key="NSCell" id="441531293">
-							<int key="NSCellFlags">604110336</int>
+							<int key="NSCellFlags">67239424</int>
 							<int key="NSCellFlags2">134217728</int>
 							<string key="NSContents">^IDS_OPTIONS_COOKIES_SHOWCOOKIES</string>
 							<reference key="NSSupport" ref="445696277"/>
@@ -3606,6 +3606,14 @@
 					</object>
 					<int key="connectionID">617</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">showCookies:</string>
+						<reference key="source" ref="1001"/>
+						<reference key="destination" ref="1054376288"/>
+					</object>
+					<int key="connectionID">618</int>
+				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<object class="NSArray" key="orderedObjects">
@@ -5218,7 +5226,7 @@
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">617</int>
+			<int key="maxID">618</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -5378,6 +5386,7 @@
 							<string>privacyLearnMore:</string>
 							<string>removeSelectedHomepages:</string>
 							<string>resetThemeToDefault:</string>
+							<string>showCookies:</string>
 							<string>showPreferences:</string>
 							<string>showSavedPasswords:</string>
 							<string>themesGallery:</string>
@@ -5402,6 +5411,7 @@
 							<string>id</string>
 							<string>id</string>
 							<string>id</string>
+							<string>id</string>
 						</object>
 					</object>
 					<object class="NSMutableDictionary" key="outlets">
diff --git a/chrome/browser/cocoa/cookie_tree_node.h b/chrome/browser/cocoa/cookie_tree_node.h
new file mode 100644
index 0000000..5ff6695
--- /dev/null
+++ b/chrome/browser/cocoa/cookie_tree_node.h
@@ -0,0 +1,56 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/scoped_nsobject.h"
+#include "chrome/browser/cookies_tree_model.h"
+
+// This class is used by CookiesWindowController and represents a node in the
+// cookie tree view.
+@interface CocoaCookieTreeNode : NSObject {
+  scoped_nsobject<NSString> title_;
+  scoped_nsobject<NSMutableArray> children_;
+
+  // The platform-independent model node.
+  CookieTreeNode* treeNode_;  // weak
+
+  // These members are only set for true cookie nodes.
+  BOOL isCookie_;
+  scoped_nsobject<NSString> name_;
+  scoped_nsobject<NSString> content_;
+  scoped_nsobject<NSString> domain_;
+  scoped_nsobject<NSString> path_;
+  scoped_nsobject<NSString> sendFor_;
+  // Stringifed dates.
+  scoped_nsobject<NSString> created_;
+  scoped_nsobject<NSString> expires_;
+}
+
+// Designated initializer.
+- (id)initWithNode:(CookieTreeNode*)node;
+
+// Re-sets all the members of the node based on |treeNode_|.
+- (void)rebuild;
+
+- (BOOL)isLeaf;
+
+// Getters.
+- (NSString*)title;
+// |-children| is mutable so that the CookiesTreeModelObserverBridge can
+// operate on the children.
+- (NSMutableArray*)children;
+- (TreeModelNode*)treeNode;
+
+// Used only by cookies. Nil for non-cookie nodes.
+- (BOOL)isCookie;
+- (NSString*)name;
+- (NSString*)content;
+- (NSString*)domain;
+- (NSString*)path;
+- (NSString*)sendFor;
+- (NSString*)created;
+- (NSString*)expires;
+
+@end
diff --git a/chrome/browser/cocoa/cookie_tree_node.mm b/chrome/browser/cocoa/cookie_tree_node.mm
new file mode 100644
index 0000000..1b1aafea
--- /dev/null
+++ b/chrome/browser/cocoa/cookie_tree_node.mm
@@ -0,0 +1,119 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "chrome/browser/cocoa/cookie_tree_node.h"
+
+#include "app/l10n_util_mac.h"
+#import "base/i18n/time_formatting.h"
+#include "base/sys_string_conversions.h"
+#include "grit/generated_resources.h"
+
+@implementation CocoaCookieTreeNode
+
+- (id)initWithNode:(CookieTreeNode*)node {
+  if ((self = [super init])) {
+    DCHECK(node);
+    treeNode_ = node;
+
+    const int childCount = node->GetChildCount();
+    children_.reset([[NSMutableArray alloc] initWithCapacity:childCount]);
+    for (int i = 0; i < childCount; ++i) {
+      CookieTreeNode* child = node->GetChild(i);
+      scoped_nsobject<CocoaCookieTreeNode> childNode(
+          [[CocoaCookieTreeNode alloc] initWithNode:child]);
+      [children_ addObject:childNode.get()];
+    }
+
+    [self rebuild];
+  }
+  return self;
+}
+
+- (void)rebuild {
+  title_.reset([base::SysWideToNSString(treeNode_->GetTitle()) retain]);
+  isCookie_ = NO;
+
+  CookieTreeNode::DetailedInfo info = treeNode_->GetDetailedInfo();
+  if (info.node_type == CookieTreeNode::DetailedInfo::TYPE_COOKIE) {
+    isCookie_ = YES;
+    net::CookieMonster::CanonicalCookie cookie = info.cookie->second;
+
+    name_.reset([base::SysUTF8ToNSString(cookie.Name()) retain]);
+    title_.reset([base::SysUTF8ToNSString(cookie.Name()) retain]);
+    content_.reset([base::SysUTF8ToNSString(cookie.Value()) retain]);
+    path_.reset([base::SysUTF8ToNSString(cookie.Path()) retain]);
+    domain_.reset([base::SysWideToNSString(info.origin) retain]);
+
+    if (cookie.DoesExpire()) {
+      expires_.reset([base::SysWideToNSString(
+          base::TimeFormatFriendlyDateAndTime(cookie.ExpiryDate())) retain]);
+    } else {
+      expires_.reset([l10n_util::GetNSStringWithFixup(
+          IDS_COOKIES_COOKIE_EXPIRES_SESSION) retain]);
+    }
+
+    created_.reset([base::SysWideToNSString(
+        base::TimeFormatFriendlyDateAndTime(cookie.CreationDate())) retain]);
+
+    if (cookie.IsSecure()) {
+      sendFor_.reset([l10n_util::GetNSStringWithFixup(
+          IDS_COOKIES_COOKIE_SENDFOR_SECURE) retain]);
+    } else {
+      sendFor_.reset([l10n_util::GetNSStringWithFixup(
+          IDS_COOKIES_COOKIE_SENDFOR_ANY) retain]);
+    }
+  }
+}
+
+- (BOOL)isLeaf {
+  return (treeNode_->GetChildCount() == 0);
+}
+
+- (NSString*)title {
+  return title_.get();
+}
+
+- (NSMutableArray*)children {
+  return children_.get();
+}
+
+- (TreeModelNode*)treeNode {
+  return treeNode_;
+}
+
+#pragma mark Cookie Accessors
+
+- (BOOL)isCookie {
+  return isCookie_;
+}
+
+- (NSString*)name {
+  return name_.get();
+}
+
+- (NSString*)content {
+  return content_.get();
+}
+
+- (NSString*)domain {
+  return domain_.get();
+}
+
+- (NSString*)path {
+  return path_.get();
+}
+
+- (NSString*)sendFor {
+  return sendFor_.get();
+}
+
+- (NSString*)created {
+  return created_.get();
+}
+
+- (NSString*)expires {
+  return expires_.get();
+}
+
+@end
diff --git a/chrome/browser/cocoa/cookies_window_controller.h b/chrome/browser/cocoa/cookies_window_controller.h
new file mode 100644
index 0000000..c234742
--- /dev/null
+++ b/chrome/browser/cocoa/cookies_window_controller.h
@@ -0,0 +1,117 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#include "app/tree_model.h"
+#include "base/cocoa_protocols_mac.h"
+#include "base/scoped_nsobject.h"
+#include "base/scoped_ptr.h"
+#import "chrome/browser/cocoa/cookie_tree_node.h"
+#include "chrome/browser/cookies_tree_model.h"
+#include "net/base/cookie_monster.h"
+
+@class CookiesWindowController;
+class Profile;
+
+namespace {
+class CookiesWindowControllerTest;
+}
+
+// Thin bridge to the window controller that performs model update actions
+// directly on the treeController_.
+class CookiesTreeModelObserverBridge : public TreeModelObserver {
+ public:
+  explicit CookiesTreeModelObserverBridge(CookiesWindowController* controller);
+
+  // Notification that nodes were added to the specified parent.
+  virtual void TreeNodesAdded(TreeModel* model,
+                              TreeModelNode* parent,
+                              int start,
+                              int count);
+
+  // Notification that nodes were removed from the specified parent.
+  virtual void TreeNodesRemoved(TreeModel* model,
+                                TreeModelNode* parent,
+                                int start,
+                                int count);
+
+  // Notification the children of |parent| have been reordered. Note, only
+  // the direct children of |parent| have been reordered, not descendants.
+  virtual void TreeNodeChildrenReordered(TreeModel* model,
+                                         TreeModelNode* parent);
+
+  // Notification that the contents of a node has changed.
+  virtual void TreeNodeChanged(TreeModel* model, TreeModelNode* node);
+
+ private:
+  friend class ::CookiesWindowControllerTest;
+
+  // Creates an CocoaCookieTreeNodefrom a platform-independent one.
+  // Return value is autoreleased. This can recusively create child nodes.
+  CocoaCookieTreeNode* CocoaNodeFromTreeNode(TreeModelNode* node,
+                                             bool recurse);
+
+  // Finds the Cocoa model node based on a platform-independent one. This is
+  // done by comparing the treeNode pointers. |start| is the node to start
+  // searching at. If |start| is nil, the root is used.
+  CocoaCookieTreeNode* FindCocoaNode(TreeModelNode* node,
+                                     CocoaCookieTreeNode* start);
+
+  CookiesWindowController* window_controller_;  // weak, owns us.
+};
+
+// Controller for the cookies manager. This class stores an internal copy of
+// the CookiesTreeModel but with Cocoa-converted values (NSStrings and NSImages
+// instead of std::strings and SkBitmaps). Doing this allows us to use bindings
+// for the interface. Changes are pushed to this internal model via a very thin
+// bridge (see above).
+//
+// TODO(rsesek): Localize this nib.
+@interface CookiesWindowController : NSWindowController
+                                     <NSOutlineViewDelegate,
+                                     NSWindowDelegate> {
+ @private
+  // Platform-independent model and C++/Obj-C bridge components.
+  scoped_ptr<CookiesTreeModel> treeModel_;
+  scoped_ptr<CookiesTreeModelObserverBridge> modelObserver_;
+
+  // Cached array of icons.
+  scoped_nsobject<NSMutableArray> icons_;
+
+  // Our Cocoa copy of the model.
+  scoped_nsobject<CocoaCookieTreeNode> cocoaTreeModel_;
+
+  IBOutlet NSTreeController* treeController_;
+
+  Profile* profile_;  // weak
+}
+@property (readonly, nonatomic) NSTreeController* treeController;
+
+// Designated initializer. Profile cannot be NULL.
+- (id)initWithProfile:(Profile*)profile;
+
+// Shows the cookies window as a modal sheet attached to |window|.
+- (void)attachSheetTo:(NSWindow*)window;
+
+// Delete cookie actions.
+- (IBAction)deleteCookie:(id)sender;
+- (IBAction)deleteAllCookies:(id)sender;
+
+// Closes the sheet and ends the modal loop. This will also cleanup the memory.
+- (IBAction)closeSheet:(id)sender;
+
+// Returns the cocoaTreeModel_.
+- (CocoaCookieTreeNode*)cocoaTreeModel;
+- (void)setCocoaTreeModel:(CocoaCookieTreeNode*)model;
+
+// Returns the treeModel_.
+- (CookiesTreeModel*)treeModel;
+
+@end
+
+@interface CookiesWindowController (UnitTesting)
+- (CookiesTreeModelObserverBridge*)modelObserver;
+- (NSArray*)icons;
+@end
diff --git a/chrome/browser/cocoa/cookies_window_controller.mm b/chrome/browser/cocoa/cookies_window_controller.mm
new file mode 100644
index 0000000..41ba73f6
--- /dev/null
+++ b/chrome/browser/cocoa/cookies_window_controller.mm
@@ -0,0 +1,242 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "chrome/browser/cocoa/cookies_window_controller.h"
+
+#include <vector>
+
+#include "app/l10n_util_mac.h"
+#include "app/resource_bundle.h"
+#import "base/i18n/time_formatting.h"
+#import "base/mac_util.h"
+#include "base/sys_string_conversions.h"
+#include "chrome/browser/profile.h"
+#include "grit/generated_resources.h"
+#include "grit/theme_resources.h"
+#include "skia/ext/skia_utils_mac.h"
+#include "third_party/apple/ImageAndTextCell.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+
+// Key path used for notifying KVO.
+static NSString* const kCocoaTreeModel = @"cocoaTreeModel";
+
+CookiesTreeModelObserverBridge::CookiesTreeModelObserverBridge(
+    CookiesWindowController* controller)
+    : window_controller_(controller) {
+}
+
+// Notification that nodes were added to the specified parent.
+void CookiesTreeModelObserverBridge::TreeNodesAdded(TreeModel* model,
+                                                   TreeModelNode* parent,
+                                                   int start,
+                                                   int count) {
+  CocoaCookieTreeNode* cocoa_parent = FindCocoaNode(parent, nil);
+  NSMutableArray* cocoa_children = [cocoa_parent children];
+
+  [window_controller_ willChangeValueForKey:kCocoaTreeModel];
+  CookieTreeNode* cookie_parent = static_cast<CookieTreeNode*>(parent);
+  for (int i = 0; i < count; ++i) {
+    CookieTreeNode* cookie_child = cookie_parent->GetChild(start + i);
+    CocoaCookieTreeNode* new_child = CocoaNodeFromTreeNode(cookie_child, true);
+    [cocoa_children addObject:new_child];
+  }
+  [window_controller_ didChangeValueForKey:kCocoaTreeModel];
+}
+
+// Notification that nodes were removed from the specified parent.
+void CookiesTreeModelObserverBridge::TreeNodesRemoved(TreeModel* model,
+                                                     TreeModelNode* parent,
+                                                     int start,
+                                                     int count) {
+  CocoaCookieTreeNode* cocoa_parent = FindCocoaNode(parent, nil);
+  [window_controller_ willChangeValueForKey:kCocoaTreeModel];
+  NSMutableArray* cocoa_children = [cocoa_parent children];
+  for (int i = start + count - 1; i >= start; --i) {
+    [cocoa_children removeObjectAtIndex:i];
+  }
+  [window_controller_ didChangeValueForKey:kCocoaTreeModel];
+}
+
+// Notification the children of |parent| have been reordered. Note, only
+// the direct children of |parent| have been reordered, not descendants.
+void CookiesTreeModelObserverBridge::TreeNodeChildrenReordered(TreeModel* model,
+    TreeModelNode* parent) {
+  CocoaCookieTreeNode* cocoa_parent = FindCocoaNode(parent, nil);
+  NSMutableArray* cocoa_children = [cocoa_parent children];
+
+  CookieTreeNode* cookie_parent = static_cast<CookieTreeNode*>(parent);
+  const int child_count = cookie_parent->GetChildCount();
+
+  [window_controller_ willChangeValueForKey:kCocoaTreeModel];
+  for (int i = 0; i < child_count; ++i) {
+    CookieTreeNode* swap_in = cookie_parent->GetChild(i);
+    for (int j = i; j < child_count; ++j) {
+      CocoaCookieTreeNode* child = [cocoa_children objectAtIndex:j];
+      TreeModelNode* swap_out = [child treeNode];
+      if (swap_in == swap_out) {
+        [cocoa_children exchangeObjectAtIndex:j withObjectAtIndex:i];
+        break;
+      }
+    }
+  }
+  [window_controller_ didChangeValueForKey:kCocoaTreeModel];
+}
+
+// Notification that the contents of a node has changed.
+void CookiesTreeModelObserverBridge::TreeNodeChanged(TreeModel* model,
+                                                    TreeModelNode* node) {
+  [window_controller_ willChangeValueForKey:kCocoaTreeModel];
+  CocoaCookieTreeNode* changed_node = FindCocoaNode(node, nil);
+  [changed_node rebuild];
+  [window_controller_ didChangeValueForKey:kCocoaTreeModel];
+}
+
+CocoaCookieTreeNode* CookiesTreeModelObserverBridge::CocoaNodeFromTreeNode(
+    TreeModelNode* node, bool recurse) {
+  CookieTreeNode* cookie_node = static_cast<CookieTreeNode*>(node);
+  return [[[CocoaCookieTreeNode alloc] initWithNode:cookie_node] autorelease];
+}
+
+// Does a pre-order traversal on the tree to find |node|.
+CocoaCookieTreeNode* CookiesTreeModelObserverBridge::FindCocoaNode(
+    TreeModelNode* node, CocoaCookieTreeNode* start) {
+  if (!start) {
+    start = [window_controller_ cocoaTreeModel];
+  }
+  if ([start treeNode] == node) {
+    return start;
+  }
+
+  NSArray* children = [start children];
+  for (CocoaCookieTreeNode* child in children) {
+    if ([child treeNode] == node) {
+      return child;
+    }
+
+    // Search the children. Return the result if we find one.
+    CocoaCookieTreeNode* recurse = FindCocoaNode(node, child);
+    if (recurse)
+      return recurse;
+  }
+  return nil;  // We couldn't find the node.
+}
+
+#pragma mark Window Controller
+
+@implementation CookiesWindowController
+
+@synthesize treeController = treeController_;
+
+- (id)initWithProfile:(Profile*)profile {
+  DCHECK(profile);
+  NSString* nibpath = [mac_util::MainAppBundle() pathForResource:@"Cookies"
+                                                          ofType:@"nib"];
+  if ((self = [super initWithWindowNibPath:nibpath owner:self])) {
+    profile_ = profile;
+    treeModel_.reset(new CookiesTreeModel(profile_));
+    modelObserver_.reset(new CookiesTreeModelObserverBridge(self));
+    treeModel_->SetObserver(modelObserver_.get());
+
+    // Convert the model's icons from Skia to Cocoa.
+    std::vector<SkBitmap> skiaIcons;
+    treeModel_->GetIcons(&skiaIcons);
+    icons_.reset([[NSMutableArray alloc] init]);
+    for (std::vector<SkBitmap>::iterator it = skiaIcons.begin();
+         it != skiaIcons.end(); ++it) {
+      [icons_ addObject:gfx::SkBitmapToNSImage(*it)];
+    }
+
+    // Default icon will be the last item in the array.
+    ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+    // TODO(rsesek): Rename this resource now that it's in multiple places.
+    [icons_ addObject:rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER)];
+
+    // Create the Cocoa model.
+    CookieTreeNode* root = static_cast<CookieTreeNode*>(treeModel_->GetRoot());
+    cocoaTreeModel_.reset([[CocoaCookieTreeNode alloc] initWithNode:root]);
+  }
+  return self;
+}
+
+- (void)awakeFromNib {
+  DCHECK([self window]);
+  DCHECK_EQ(self, [[self window] delegate]);
+}
+
+- (void)windowWillClose:(NSNotification*)notif {
+  [self autorelease];
+}
+
+- (void)attachSheetTo:(NSWindow*)window {
+  [NSApp beginSheet:[self window]
+     modalForWindow:window
+      modalDelegate:self
+     didEndSelector:@selector(sheetEndSheet:returnCode:contextInfo:)
+        contextInfo:nil];
+}
+
+- (void)sheetEndSheet:(NSWindow*)sheet
+          returnCode:(NSInteger)returnCode
+         contextInfo:(void*)context {
+  [sheet close];
+  [sheet orderOut:self];
+}
+
+- (IBAction)deleteCookie:(id)sender {
+  scoped_nsobject<NSArray> selection(
+      [[treeController_ selectedObjects] retain]);
+  for (CocoaCookieTreeNode* node in selection.get()) {
+    CookieTreeNode* cookie = static_cast<CookieTreeNode*>([node treeNode]);
+    treeModel_->DeleteCookieNode(cookie);
+  }
+}
+
+- (IBAction)deleteAllCookies:(id)sender {
+  treeModel_->DeleteAllCookies();
+}
+
+- (IBAction)closeSheet:(id)sender {
+  [NSApp endSheet:[self window]];
+}
+
+#pragma mark Getters and Setters
+
+- (CocoaCookieTreeNode*)cocoaTreeModel {
+  return cocoaTreeModel_.get();
+}
+- (void)setCocoaTreeModel:(CocoaCookieTreeNode*)model {
+  return cocoaTreeModel_.reset([model retain]);
+}
+
+- (CookiesTreeModel*)treeModel {
+  return treeModel_.get();
+}
+
+#pragma mark Outline View Delegate
+
+- (void)outlineView:(NSOutlineView*)outlineView
+    willDisplayCell:(id)cell
+     forTableColumn:(NSTableColumn*)tableColumn
+               item:(id)item {
+  CocoaCookieTreeNode* node = [item representedObject];
+  int index = treeModel_->GetIconIndex([node treeNode]);
+  NSImage* icon = nil;
+  if (index >= 0)
+    icon = [icons_ objectAtIndex:index];
+  else
+    icon = [icons_ lastObject];
+  [(ImageAndTextCell*)cell setImage:icon];
+}
+
+#pragma mark Unit Testing
+
+- (CookiesTreeModelObserverBridge*)modelObserver {
+  return modelObserver_.get();
+}
+
+- (NSArray*)icons {
+  return icons_.get();
+}
+
+@end
diff --git a/chrome/browser/cocoa/cookies_window_controller_unittest.mm b/chrome/browser/cocoa/cookies_window_controller_unittest.mm
new file mode 100644
index 0000000..0071ff15
--- /dev/null
+++ b/chrome/browser/cocoa/cookies_window_controller_unittest.mm
@@ -0,0 +1,366 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#include "app/tree_model.h"
+#import "base/scoped_nsobject.h"
+#include "base/scoped_ptr.h"
+#import "chrome/browser/cocoa/cookies_window_controller.h"
+#include "chrome/browser/cocoa/cocoa_test_helper.h"
+#include "chrome/browser/net/url_request_context_getter.h"
+#include "chrome/browser/cookies_tree_model.h"
+#include "chrome/test/testing_profile.h"
+#include "googleurl/src/gurl.h"
+#include "net/url_request/url_request_context.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/platform_test.h"
+
+// Used to test FindCocoaNode. This only sets the title and node, without
+// initializing any other members.
+@interface FakeCocoaCookieTreeNode : CocoaCookieTreeNode {
+  TreeModelNode* testNode_;
+}
+- (id)initWithTreeNode:(TreeModelNode*)node;
+@end
+@implementation FakeCocoaCookieTreeNode
+- (id)initWithTreeNode:(TreeModelNode*)node {
+  if ((self = [super init])) {
+    testNode_ = node;
+    children_.reset([[NSMutableArray alloc] init]);
+  }
+  return self;
+}
+- (TreeModelNode*)treeNode {
+  return testNode_;
+}
+@end
+
+// For some utterly inexplicable reason, |-children| returns an NSArray rather
+// than an NSMutableArray, BUT ONLY IN THIS UNIT TEST, and not in the actual
+// window controller. This leads to errors for |-addObject:| messages. Maybe
+// it's a compiler bug? Or there's something strange happening via swizzling in
+// the test environment? Or did somebody forget to sacrifice a lamb on the new
+// moon? After investigating for long time, the easiest/best solution was to
+// create this hacky secondary getter.
+@interface CocoaCookieTreeNode (UglyHacks)
+- (NSMutableArray*)childs;
+@end
+@implementation CocoaCookieTreeNode (UglyHacks)
+- (NSMutableArray*)childs {
+  return children_.get();
+}
+@end
+
+// Copied from src/chrome/cookies_tree_model_unittest.cc.
+namespace {
+
+class TestURLRequestContext : public URLRequestContext {
+ public:
+  TestURLRequestContext() {
+    cookie_store_ = new net::CookieMonster();
+  }
+};
+
+class TestURLRequestContextGetter : public URLRequestContextGetter {
+ public:
+  virtual URLRequestContext* GetURLRequestContext() {
+    if (!context_)
+      context_ = new TestURLRequestContext();
+    return context_.get();
+  }
+ private:
+  scoped_refptr<URLRequestContext> context_;
+};
+
+class CookieTestingProfile : public TestingProfile {
+ public:
+  virtual URLRequestContextGetter* GetRequestContext() {
+    if (!url_request_context_getter_.get())
+      url_request_context_getter_ = new TestURLRequestContextGetter();
+    return url_request_context_getter_.get();
+  }
+  virtual ~CookieTestingProfile() {}
+
+  net::CookieMonster* GetCookieMonster() {
+    return GetRequestContext()->GetCookieStore()->GetCookieMonster();
+  }
+
+ private:
+  scoped_refptr<URLRequestContextGetter> url_request_context_getter_;
+};
+
+class CookiesWindowControllerTest : public CocoaTest {
+ public:
+  virtual void SetUp() {
+    CocoaTest::SetUp();
+    controller_.reset(
+        [[CookiesWindowController alloc] initWithProfile:&profile_]);
+  }
+
+  virtual void TearDown() {
+    CocoaTest::TearDown();
+  }
+
+  CocoaCookieTreeNode* CocoaNodeFromTreeNode(TreeModelNode* node,
+                                             bool recurse) {
+    return [controller_ modelObserver]->CocoaNodeFromTreeNode(node, recurse);
+  }
+
+  CocoaCookieTreeNode* FindCocoaNode(TreeModelNode* node,
+                                     CocoaCookieTreeNode* start) {
+    return [controller_ modelObserver]->FindCocoaNode(node, start);
+  }
+
+  CookieTestingProfile profile_;
+  scoped_nsobject<CookiesWindowController> controller_;
+};
+
+TEST_F(CookiesWindowControllerTest, Construction) {
+  std::vector<SkBitmap> skia_icons;
+  [controller_ treeModel]->GetIcons(&skia_icons);
+
+  EXPECT_EQ([[controller_ icons] count], skia_icons.size() + 1U);
+}
+
+TEST_F(CookiesWindowControllerTest, FindCocoaNodeRoot) {
+  scoped_ptr< TreeNodeWithValue<int> > search(new TreeNodeWithValue<int>(42));
+  scoped_nsobject<FakeCocoaCookieTreeNode> node(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:search.get()]);
+  EXPECT_EQ(node.get(), FindCocoaNode(search.get(), node.get()));
+}
+
+TEST_F(CookiesWindowControllerTest, FindCocoaNodeImmediateChild) {
+  scoped_ptr< TreeNodeWithValue<int> > parent(new TreeNodeWithValue<int>(100));
+  scoped_ptr< TreeNodeWithValue<int> > child1(new TreeNodeWithValue<int>(10));
+  scoped_ptr< TreeNodeWithValue<int> > child2(new TreeNodeWithValue<int>(20));
+  scoped_nsobject<FakeCocoaCookieTreeNode> cocoaParent(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:parent.get()]);
+  scoped_nsobject<FakeCocoaCookieTreeNode> cocoaChild1(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:child1.get()]);
+  scoped_nsobject<FakeCocoaCookieTreeNode> cocoaChild2(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:child2.get()]);
+  [[cocoaParent childs] addObject:cocoaChild1.get()];
+  [[cocoaParent childs] addObject:cocoaChild2.get()];
+
+  EXPECT_EQ(cocoaChild2.get(), FindCocoaNode(child2.get(), cocoaParent.get()));
+}
+
+TEST_F(CookiesWindowControllerTest, FindCocoaNodeRecursive) {
+  scoped_ptr< TreeNodeWithValue<int> > parent(new TreeNodeWithValue<int>(100));
+  scoped_ptr< TreeNodeWithValue<int> > child1(new TreeNodeWithValue<int>(10));
+  scoped_ptr< TreeNodeWithValue<int> > child2(new TreeNodeWithValue<int>(20));
+  scoped_nsobject<FakeCocoaCookieTreeNode> cocoaParent(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:parent.get()]);
+  scoped_nsobject<FakeCocoaCookieTreeNode> cocoaChild1(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:child1.get()]);
+  scoped_nsobject<FakeCocoaCookieTreeNode> cocoaChild2(
+      [[FakeCocoaCookieTreeNode alloc] initWithTreeNode:child2.get()]);
+  [[cocoaParent childs] addObject:cocoaChild1.get()];
+  [[cocoaChild1 childs] addObject:cocoaChild2.get()];
+
+  EXPECT_EQ(cocoaChild2.get(), FindCocoaNode(child2.get(), cocoaParent.get()));
+}
+
+TEST_F(CookiesWindowControllerTest, CocoaNodeFromTreeNodeCookie) {
+  net::CookieMonster* cm = profile_.GetCookieMonster();
+  cm->SetCookie(GURL("http://foo.com"), "A=B");
+  CookiesTreeModel model(&profile_);
+
+  // Root --> foo.com --> Cookies --> A. Create node for 'A'.
+  TreeModelNode* node = model.GetRoot()->GetChild(0)->GetChild(0)->GetChild(0);
+  CocoaCookieTreeNode* cookie = CocoaNodeFromTreeNode(node, false);
+
+  EXPECT_TRUE([@"B" isEqualToString:[cookie content]]);
+  EXPECT_TRUE([@"End of the session" isEqualToString:[cookie expires]]);
+  EXPECT_TRUE([@"Any kind of connection" isEqualToString:[cookie sendFor]]);
+  EXPECT_TRUE([@"A" isEqualToString:[cookie title]]);
+  EXPECT_TRUE([@"A" isEqualToString:[cookie name]]);
+  EXPECT_TRUE([@"/" isEqualToString:[cookie path]]);
+  EXPECT_EQ(0U, [[cookie childs] count]);
+  EXPECT_TRUE([cookie created]);
+  EXPECT_TRUE([cookie isLeaf]);
+  EXPECT_EQ(node, [cookie treeNode]);
+}
+
+TEST_F(CookiesWindowControllerTest, CocoaNodeFromTreeNodeRecursive) {
+  net::CookieMonster* cm = profile_.GetCookieMonster();
+  cm->SetCookie(GURL("http://foo.com"), "A=B");
+  CookiesTreeModel model(&profile_);
+
+  // Root --> foo.com --> Cookies --> A. Create node for 'foo.com'.
+  CookieTreeNode* node = model.GetRoot()->GetChild(0);
+  CocoaCookieTreeNode* domain = CocoaNodeFromTreeNode(node, true);
+  CocoaCookieTreeNode* cookies = [[domain childs] objectAtIndex:0];
+  CocoaCookieTreeNode* cookie = [[cookies childs] objectAtIndex:0];
+
+  // Test domain-level node.
+  EXPECT_TRUE([@"foo.com" isEqualToString:[domain title]]);
+
+  EXPECT_FALSE([domain isLeaf]);
+  EXPECT_EQ(1U, [[domain childs] count]);
+  EXPECT_EQ(node, [domain treeNode]);
+
+  // Test "Cookies" folder node.
+  EXPECT_TRUE([@"Cookies" isEqualToString:[cookies title]]);
+  EXPECT_FALSE([cookies isLeaf]);
+  EXPECT_EQ(1U, [[cookies childs] count]);
+  EXPECT_EQ(node->GetChild(0), [cookies treeNode]);
+
+  // Test cookie node. This is the same as CocoaNodeFromTreeNodeCookie.
+  EXPECT_TRUE([@"B" isEqualToString:[cookie content]]);
+  EXPECT_TRUE([@"End of the session" isEqualToString:[cookie expires]]);
+  EXPECT_TRUE([@"Any kind of connection" isEqualToString:[cookie sendFor]]);
+  EXPECT_TRUE([@"A" isEqualToString:[cookie title]]);
+  EXPECT_TRUE([@"A" isEqualToString:[cookie name]]);
+  EXPECT_TRUE([@"/" isEqualToString:[cookie path]]);
+  EXPECT_TRUE([@"foo.com" isEqualToString:[cookie domain]]);
+  EXPECT_EQ(0U, [[cookie childs] count]);
+  EXPECT_TRUE([cookie created]);
+  EXPECT_TRUE([cookie isLeaf]);
+  EXPECT_EQ(node->GetChild(0)->GetChild(0), [cookie treeNode]);
+}
+
+TEST_F(CookiesWindowControllerTest, TreeNodesAdded) {
+  const GURL url = GURL("http://foo.com");
+  net::CookieMonster* cm = profile_.GetCookieMonster();
+  cm->SetCookie(url, "A=B");
+
+  controller_.reset(
+      [[CookiesWindowController alloc] initWithProfile:&profile_]);
+
+  // Root --> foo.com --> Cookies.
+  NSMutableArray* cocoa_children =
+      [[[[[[controller_ cocoaTreeModel] childs] objectAtIndex:0]
+          childs] objectAtIndex:0] childs];
+  EXPECT_EQ(1U, [cocoa_children count]);
+
+  // Create some cookies.
+  cm->SetCookie(url, "C=D");
+  cm->SetCookie(url, "E=F");
+
+  net::CookieMonster::CookieList list = cm->GetAllCookies();
+  CookiesTreeModel* model = [controller_ treeModel];
+  // Root --> foo.com --> Cookies.
+  CookieTreeNode* parent = model->GetRoot()->GetChild(0)->GetChild(0);
+
+  ASSERT_EQ(3U, list.size());
+
+  // Add the cookie nodes.
+  CookieTreeCookieNode* cnode = new CookieTreeCookieNode(&list[1]);
+  parent->Add(1, cnode);  // |parent| takes ownership.
+  cnode = new CookieTreeCookieNode(&list[2]);
+  parent->Add(2, cnode);
+
+  // Manually notify the observer.
+  [controller_ modelObserver]->TreeNodesAdded(model, parent, 1, 2);
+
+  // Check that we have created 2 more Cocoa nodes.
+  EXPECT_EQ(3U, [cocoa_children count]);
+}
+
+TEST_F(CookiesWindowControllerTest, TreeNodesRemoved) {
+  const GURL url = GURL("http://foo.com");
+  net::CookieMonster* cm = profile_.GetCookieMonster();
+  cm->SetCookie(url, "A=B");
+  cm->SetCookie(url, "C=D");
+  cm->SetCookie(url, "E=F");
+
+  controller_.reset(
+      [[CookiesWindowController alloc] initWithProfile:&profile_]);
+
+  // Root --> foo.com --> Cookies.
+  NSMutableArray* cocoa_children =
+      [[[[[[controller_ cocoaTreeModel] childs] objectAtIndex:0]
+          childs] objectAtIndex:0] childs];
+  EXPECT_EQ(3U, [cocoa_children count]);
+
+  CookiesTreeModel* model = [controller_ treeModel];
+  // Root --> foo.com --> Cookies.
+  CookieTreeNode* parent = model->GetRoot()->GetChild(0)->GetChild(0);
+
+  // Pretend to remove the nodes.
+  [controller_ modelObserver]->TreeNodesRemoved(model, parent, 1, 2);
+
+  EXPECT_EQ(1U, [cocoa_children count]);
+
+  NSString* title = [[cocoa_children objectAtIndex:0] name];
+  EXPECT_TRUE([@"A" isEqualToString:title]);
+}
+
+TEST_F(CookiesWindowControllerTest, TreeNodeChildrenReordered) {
+  const GURL url = GURL("http://foo.com");
+  net::CookieMonster* cm = profile_.GetCookieMonster();
+  cm->SetCookie(url, "A=B");
+  cm->SetCookie(url, "C=D");
+  cm->SetCookie(url, "E=F");
+
+  controller_.reset(
+      [[CookiesWindowController alloc] initWithProfile:&profile_]);
+
+  // Root --> foo.com --> Cookies.
+  NSMutableArray* cocoa_children =
+      [[[[[[controller_ cocoaTreeModel] childs] objectAtIndex:0]
+          childs] objectAtIndex:0] childs];
+  EXPECT_EQ(3U, [cocoa_children count]);
+
+  // Check default ordering.
+  CocoaCookieTreeNode* node = [cocoa_children objectAtIndex:0];
+  EXPECT_TRUE([@"A" isEqualToString:[node name]]);
+  node =  [cocoa_children objectAtIndex:1];
+  EXPECT_TRUE([@"C" isEqualToString:[node name]]);
+  node =  [cocoa_children objectAtIndex:2];
+  EXPECT_TRUE([@"E" isEqualToString:[node name]]);
+
+  CookiesTreeModel* model = [controller_ treeModel];
+  // Root --> foo.com --> Cookies.
+  CookieTreeNode* parent = model->GetRoot()->GetChild(0)->GetChild(0);
+
+  // Reorder the nodes.
+  CookieTreeNode* node_e = parent->Remove(2);
+  CookieTreeNode* node_c = parent->Remove(1);
+  parent->Add(0, node_e);
+  parent->Add(2, node_c);
+
+  // Notify the observer of the reordering.
+  [controller_ modelObserver]->TreeNodeChildrenReordered(model, parent);
+
+  // Check the new order.
+  node = [cocoa_children objectAtIndex:0];
+  EXPECT_TRUE([@"E" isEqualToString:[node name]]);
+  node =  [cocoa_children objectAtIndex:1];
+  EXPECT_TRUE([@"A" isEqualToString:[node name]]);
+  node =  [cocoa_children objectAtIndex:2];
+  EXPECT_TRUE([@"C" isEqualToString:[node name]]);
+}
+
+TEST_F(CookiesWindowControllerTest, TreeNodeChanged) {
+  const GURL url = GURL("http://foo.com");
+  net::CookieMonster* cm = profile_.GetCookieMonster();
+  cm->SetCookie(url, "A=B");
+
+  controller_.reset(
+      [[CookiesWindowController alloc] initWithProfile:&profile_]);
+
+  CookiesTreeModel* model = [controller_ treeModel];
+  // Root --> foo.com --> Cookies.
+  CookieTreeNode* node = model->GetRoot()->GetChild(0)->GetChild(0);
+
+  // Root --> foo.com --> Cookies.
+  CocoaCookieTreeNode* cocoa_node =
+      [[[[[controller_ cocoaTreeModel] childs] objectAtIndex:0]
+          childs] objectAtIndex:0];
+
+  EXPECT_TRUE([@"Cookies" isEqualToString:[cocoa_node title]]);
+
+  // Fake update the cookie folder's title. This would never happen in reality,
+  // but it tests the code path that ultimately calls CocoaNodeFromTreeNode,
+  // which is tested elsewhere.
+  node->SetTitle(L"Silly Change");
+  [controller_ modelObserver]->TreeNodeChanged(model, node);
+
+  EXPECT_TRUE([@"Silly Change" isEqualToString:[cocoa_node title]]);
+}
+
+}  // namespace
diff --git a/chrome/browser/cocoa/preferences_window_controller.h b/chrome/browser/cocoa/preferences_window_controller.h
index 53d9800..c78f1a9 100644
--- a/chrome/browser/cocoa/preferences_window_controller.h
+++ b/chrome/browser/cocoa/preferences_window_controller.h
@@ -9,6 +9,7 @@
 #include "chrome/browser/options_window.h"
 #include "chrome/common/pref_member.h"
 
+@class CookiesWindowController;
 @class CustomHomePagesModel;
 @class FontLanguageSettingsController;
 class PrefObserverBridge;
@@ -128,6 +129,7 @@
 - (IBAction)doSyncAction:(id)sender;
 
 // Under the hood
+- (IBAction)showCookies:(id)sender;
 - (IBAction)browseDownloadLocation:(id)sender;
 - (IBAction)privacyLearnMore:(id)sender;
 - (IBAction)changeFontAndLanguageSettings:(id)sender;
diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm
index 0dd1f1e..ef2db1de 100644
--- a/chrome/browser/cocoa/preferences_window_controller.mm
+++ b/chrome/browser/cocoa/preferences_window_controller.mm
@@ -16,6 +16,7 @@
 #include "chrome/browser/browser_list.h"
 #include "chrome/browser/browser_process.h"
 #import "chrome/browser/cocoa/clear_browsing_data_controller.h"
+#import "chrome/browser/cocoa/cookies_window_controller.h"
 #import "chrome/browser/cocoa/custom_home_pages_model.h"
 #import "chrome/browser/cocoa/font_language_settings_controller.h"
 #import "chrome/browser/cocoa/keyword_editor_cocoa_controller.h"
@@ -1299,6 +1300,14 @@
   }
 }
 
+// Shows the cookies controller.
+- (IBAction)showCookies:(id)sender {
+  // The controller will clean itself up.
+  CookiesWindowController* controller =
+      [[CookiesWindowController alloc] initWithProfile:profile_];
+  [controller attachSheetTo:[self window]];
+}
+
 // Bring up an open panel to allow the user to set a new downloads location.
 - (void)browseDownloadLocation:(id)sender {
   NSOpenPanel* panel = [NSOpenPanel openPanel];
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 48d3f1c..244eb32 100755
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -382,6 +382,10 @@
         'browser/cocoa/command_observer_bridge.mm',
         'browser/cocoa/constrained_window_mac.h',
         'browser/cocoa/constrained_window_mac.mm',
+        'browser/cooca/cookie_tree_node.h',
+        'browser/cocoa/cookie_tree_node.mm',
+        'browser/cocoa/cookies_window_controller.h',
+        'browser/cocoa/cookies_window_controller.mm',
         'browser/cocoa/custom_home_pages_model.h',
         'browser/cocoa/custom_home_pages_model.mm',
         'browser/cocoa/delayedmenu_button.h',
@@ -1937,6 +1941,9 @@
           ],
           'sources': [
             'browser/net/ssl_config_service_manager_system.cc',
+            # Build Apple sample code
+            '../third_party/apple/ImageAndTextCell.h',
+            '../third_party/apple/ImageAndTextCell.m',
             # Build the necessary GTM sources
             '../third_party/GTM/AppKit/GTMFadeTruncatingTextFieldCell.h',
             '../third_party/GTM/AppKit/GTMFadeTruncatingTextFieldCell.m',
@@ -1970,6 +1977,7 @@
             '../base/chrome_application_mac.h',
           ],
           'include_dirs': [
+            '../third_party/apple',
             '../third_party/GTM',
             '../third_party/GTM/AppKit',
             '../third_party/GTM/Foundation',
diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi
index 67028dd..b3d4d38f 100644
--- a/chrome/chrome_dll.gypi
+++ b/chrome/chrome_dll.gypi
@@ -186,6 +186,7 @@
                 'app/nibs/BookmarkNameFolder.xib',
                 'app/nibs/BrowserWindow.xib',
                 'app/nibs/ClearBrowsingData.xib',
+                'app/nibs/Cookies.xib',
                 'app/nibs/DownloadItem.xib',
                 'app/nibs/DownloadShelf.xib',
                 'app/nibs/EditSearchEngine.xib',
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 9657ce70..f7bea1c 100755
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -592,6 +592,7 @@
         'browser/cocoa/cocoa_test_helper.h',
         'browser/cocoa/cocoa_test_helper.mm',
         'browser/cocoa/command_observer_bridge_unittest.mm',
+        'browser/cocoa/cookies_window_controller_unittest.mm',
         'browser/cocoa/custom_home_pages_model_unittest.mm',
         'browser/cocoa/delayedmenu_button_unittest.mm',
         'browser/cocoa/download_shelf_mac_unittest.mm',