diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-01 16:34:49 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-01 16:34:49 +0000 |
commit | 7d791652c7ede4209a2014d885148e2713f49bce (patch) | |
tree | c26baf12593bed381c631b81c736106809d46b44 /chrome/browser/ui/cocoa/about_ipc_controller.h | |
parent | 3b94427c99bdf12836fd455eeb1499fdde511e26 (diff) | |
download | chromium_src-7d791652c7ede4209a2014d885148e2713f49bce.zip chromium_src-7d791652c7ede4209a2014d885148e2713f49bce.tar.gz chromium_src-7d791652c7ede4209a2014d885148e2713f49bce.tar.bz2 |
Move browser/cocoa to browser/ui/cocoa
BUG=none
TEST=none
TBR=brettw
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67854 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/cocoa/about_ipc_controller.h')
-rw-r--r-- | chrome/browser/ui/cocoa/about_ipc_controller.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/chrome/browser/ui/cocoa/about_ipc_controller.h b/chrome/browser/ui/cocoa/about_ipc_controller.h new file mode 100644 index 0000000..f0818f9 --- /dev/null +++ b/chrome/browser/ui/cocoa/about_ipc_controller.h @@ -0,0 +1,84 @@ +// 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. + +#ifndef CHROME_BROWSER_UI_COCOA_ABOUT_IPC_CONTROLLER_H_ +#define CHROME_BROWSER_UI_COCOA_ABOUT_IPC_CONTROLLER_H_ +#pragma once + +#import <Cocoa/Cocoa.h> + +#include "base/scoped_ptr.h" +#include "ipc/ipc_logging.h" +#include "ipc/ipc_message_utils.h" +#include "third_party/GTM/Foundation/GTMRegex.h" + +// Must be included after IPC_MESSAGE_LOG_ENABLED gets defined +#import "chrome/browser/ui/cocoa/about_ipc_bridge.h" + +#if defined(IPC_MESSAGE_LOG_ENABLED) + +// An objc wrapper for IPC::LogData to allow use of Cocoa bindings. +@interface CocoaLogData : NSObject { + @private + IPC::LogData data_; +} +- (id)initWithLogData:(const IPC::LogData&)data; +@end + + +// A window controller that handles the about:ipc non-modal dialog. +@interface AboutIPCController : NSWindowController { + @private + scoped_ptr<AboutIPCBridge> bridge_; + IBOutlet NSButton* startStopButton_; + IBOutlet NSTableView* tableView_; + IBOutlet NSArrayController* dataController_; + IBOutlet NSTextField* eventCount_; + IBOutlet NSTextField* filteredEventCount_; + IBOutlet NSTextField* userStringTextField1_; + IBOutlet NSTextField* userStringTextField2_; + IBOutlet NSTextField* userStringTextField3_; + // Count of filtered events. + int filteredEventCounter_; + // Cocoa-bound to check boxes for filtering messages. + // Each BOOL allows events that have that name prefix. + // E.g. if set, appCache_ allows events named AppCache*. + // The actual string to match is defined in the xib. + // The userStrings allow a user-specified prefix. + BOOL appCache_; + BOOL view_; + BOOL utilityHost_; + BOOL viewHost_; + BOOL plugin_; + BOOL npObject_; + BOOL devTools_; + BOOL pluginProcessing_; + BOOL userString1_; + BOOL userString2_; + BOOL userString3_; +} + ++ (AboutIPCController*)sharedController; + +- (IBAction)startStop:(id)sender; +- (IBAction)clear:(id)sender; + +// Called from our C++ bridge class. To accomodate multithreaded +// ownership issues, this method ACCEPTS OWNERSHIP of the arg passed +// in. +- (void)log:(CocoaLogData*)data; + +// Update visible state (e.g. Start/Stop button) based on logging run +// state. Does not change state. +- (void)updateVisibleRunState; + +@end + +@interface AboutIPCController(TestingAPI) +- (BOOL)filterOut:(CocoaLogData*)data; +- (void)setDisplayViewMessages:(BOOL)display; +@end + +#endif // IPC_MESSAGE_LOG_ENABLED +#endif // CHROME_BROWSER_UI_COCOA_ABOUT_IPC_CONTROLLER_H_ |