blob: 0c6b34f40036e75ba5cc57865846735f287b1236 [file] [log] [blame]
// Copyright (c) 2012 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 "net/cookies/cookie_monster.h"
@class CocoaCookieTreeNode;
@class GTMUILocalizerAndLayoutTweaker;
// Controller for the view that displays the details of a cookie,
// used both in the cookie prompt dialog as well as the
// show cookies preference sheet of content settings preferences.
@interface CookieDetailsViewController : NSViewController {
@private
// Allows direct access to the object controller for
// the displayed cookie information.
IBOutlet NSObjectController* objectController_;
// This explicit reference to the layout tweaker is
// required because it's necessary to reformat the view when
// the content object changes, since the content object may
// alter the widths of some of the fields displayed in the view.
IBOutlet GTMUILocalizerAndLayoutTweaker* tweaker_;
}
@property(nonatomic, readonly) BOOL hasExpiration;
- (id)init;
// Configures the cookie detail view that is managed by the controller
// to display the information about a single cookie, the information
// for which is explicitly passed in the parameter |content|.
- (void)setContentObject:(id)content;
// Adjust the size of the view to exactly fix the information text fields
// that are visible inside it.
- (void)shrinkViewToFit;
// Called by the cookie tree dialog to establish a binding between
// the the detail view's object controller and the tree controller.
// This binding allows the cookie tree to use the detail view unmodified.
- (void)configureBindingsForTreeController:(NSTreeController*)controller;
// Action sent by the expiration date popup when the user
// selects the menu item "When I close my browser".
- (IBAction)setCookieDoesntHaveExplicitExpiration:(id)sender;
// Action sent by the expiration date popup when the user
// selects the menu item with an explicit date/time of expiration.
- (IBAction)setCookieHasExplicitExpiration:(id)sender;
@end