summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/cookie_tree_node.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/cocoa/cookie_tree_node.h')
-rw-r--r--chrome/browser/cocoa/cookie_tree_node.h47
1 files changed, 34 insertions, 13 deletions
diff --git a/chrome/browser/cocoa/cookie_tree_node.h b/chrome/browser/cocoa/cookie_tree_node.h
index 0ff6465..693895e 100644
--- a/chrome/browser/cocoa/cookie_tree_node.h
+++ b/chrome/browser/cocoa/cookie_tree_node.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 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.
@@ -7,27 +7,46 @@
#include "base/scoped_nsobject.h"
#include "chrome/browser/cookies_tree_model.h"
+// This enum specifies the type of display node a CocoaCookieTreeNode is. If
+// this system is rewritten to not use bindings, this class should be
+// subclassed and specialized, rather than using an enum to determine type.
+enum CocoaCookieTreeNodeType {
+ // Represents grouping data for the actual data.
+ kCocoaCookieTreeNodeTypeFolder = 0,
+
+ // A cookie node.
+ kCocoaCookieTreeNodeTypeCookie = 1,
+
+ // A local storage node.
+ kCocoaCookieTreeNodeTypeLocalStorage = 2
+};
+
// 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_;
- // We lazily create children, so we need to know if we are a leaf.
- BOOL isLeaf_;
+
+ CocoaCookieTreeNodeType nodeType_;
// The platform-independent model node.
CookieTreeNode* treeNode_; // weak
- // These members are only set for true cookie nodes.
- BOOL isCookie_;
+ // These members are only set for kCocoaCookieTreeNodeTypeCookie nodes.
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_;
+
+ // These members are only set for kCocoaCookieTreeNodeTypeLocalStorage nodes.
+ scoped_nsobject<NSString> fileSize_;
+ scoped_nsobject<NSString> lastModified_;
+
+ // These members are set for both of the two specialized node types.
+ scoped_nsobject<NSString> domain_;
}
// Designated initializer.
@@ -36,20 +55,18 @@
// Re-sets all the members of the node based on |treeNode_|.
- (void)rebuild;
-- (BOOL)isLeaf;
-
-// Getters.
+// Common getters..
- (NSString*)title;
+- (CocoaCookieTreeNodeType)nodeType;
+- (TreeModelNode*)treeNode;
// |-mutableChildren| exists so that the CookiesTreeModelObserverBridge can
// operate on the children. Note that this lazily creates children.
- (NSMutableArray*)mutableChildren;
- (NSArray*)children;
+- (BOOL)isLeaf;
-- (TreeModelNode*)treeNode;
-
-// Used only by cookies. Nil for non-cookie nodes.
-- (BOOL)isCookie;
+// Used only by kCocoaCookieTreeNodeTypeCookie. Nil for other types.
- (NSString*)name;
- (NSString*)content;
- (NSString*)domain;
@@ -58,4 +75,8 @@
- (NSString*)created;
- (NSString*)expires;
+// Used by kCocoaCookieTreeNodeTypeLocalStorage nodes. Nil for other types.
+- (NSString*)fileSize;
+- (NSString*)lastModified;
+
@end