Commit 9fc18674 authored by rsesek@chromium.org's avatar rsesek@chromium.org

[Mac] Merge single-function file about_ipc_dialog.{h,mm} and about_ipc_bridge.{h,mm}.

BUG=none
TEST=everything works as before (note, about:ipc only works in Debug builds)
R=jrg

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72035 0039d316-1c4b-4281-b951-d872f2087c98
parent 128bec3c
// 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_BRIDGE_H_
#define CHROME_BROWSER_UI_COCOA_ABOUT_IPC_BRIDGE_H_
#pragma once
#include "ipc/ipc_logging.h"
#include "ipc/ipc_message_utils.h"
#if defined(IPC_MESSAGE_LOG_ENABLED)
@class AboutIPCController;
// On Windows, the AboutIPCDialog is a views::View. On Mac we have a
// Cocoa dialog. This class bridges from C++ to ObjC.
class AboutIPCBridge : public IPC::Logging::Consumer {
public:
AboutIPCBridge(AboutIPCController* controller) : controller_(controller) { }
virtual ~AboutIPCBridge() { }
// IPC::Logging::Consumer implementation.
virtual void Log(const IPC::LogData& data);
private:
AboutIPCController* controller_; // weak; owns me
DISALLOW_COPY_AND_ASSIGN(AboutIPCBridge);
};
#endif // IPC_MESSAGE_LOG_ENABLED
#endif // CHROME_BROWSER_UI_COCOA_ABOUT_IPC_BRIDGE_H_
// 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.
#include "chrome/browser/ui/cocoa/about_ipc_bridge.h"
#include "chrome/browser/ui/cocoa/about_ipc_controller.h"
#if defined(IPC_MESSAGE_LOG_ENABLED)
void AboutIPCBridge::Log(const IPC::LogData& data) {
CocoaLogData* cocoa_data = [[CocoaLogData alloc] initWithLogData:data];
if ([NSThread isMainThread]) {
[controller_ log:cocoa_data];
} else {
[controller_ performSelectorOnMainThread:@selector(log:)
withObject:cocoa_data
waitUntilDone:NO];
}
}
#endif
......@@ -14,7 +14,7 @@
#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"
#import "chrome/browser/ui/cocoa/about_ipc_dialog.h"
#if defined(IPC_MESSAGE_LOG_ENABLED)
......
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Copyright (c) 2011 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.
......@@ -6,19 +6,40 @@
#define CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_
#pragma once
#include "ipc/ipc_message.h"
#include "ipc/ipc_logging.h"
#include "ipc/ipc_message_utils.h"
#if defined(IPC_MESSAGE_LOG_ENABLED)
#ifdef __OBJC__
@class AboutIPCController;
#else
class AboutIPCController;
#endif
namespace AboutIPCDialog {
// The dialog is a singleton. If the dialog is already opened, it won't do
// anything, so you can just blindly call this function all you want.
// RunDialog() is Called from chrome/browser/browser_about_handler.cc
// in response to an about:ipc URL.
void RunDialog();
};
}
// On Windows, the AboutIPCDialog is a views::View. On Mac we have a
// Cocoa dialog. This class bridges from C++ to ObjC.
class AboutIPCBridge : public IPC::Logging::Consumer {
public:
AboutIPCBridge(AboutIPCController* controller) : controller_(controller) { }
virtual ~AboutIPCBridge() { }
// IPC::Logging::Consumer implementation.
virtual void Log(const IPC::LogData& data);
private:
AboutIPCController* controller_; // weak; owns me
DISALLOW_COPY_AND_ASSIGN(AboutIPCBridge);
};
#endif /* IPC_MESSAGE_LOG_ENABLED */
#endif // IPC_MESSAGE_LOG_ENABLED
#endif /* CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_ */
#endif // CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Copyright (c) 2011 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.
......@@ -16,6 +16,17 @@ void RunDialog() {
[[controller window] makeKeyAndOrderFront:controller];
}
}; // namespace AboutIPCDialog
} // namespace AboutIPCDialog
void AboutIPCBridge::Log(const IPC::LogData& data) {
CocoaLogData* cocoa_data = [[CocoaLogData alloc] initWithLogData:data];
if ([NSThread isMainThread]) {
[controller_ log:cocoa_data];
} else {
[controller_ performSelectorOnMainThread:@selector(log:)
withObject:cocoa_data
waitUntilDone:NO];
}
}
#endif // IPC_MESSAGE_LOG_ENABLED
......@@ -2625,8 +2625,6 @@
'browser/ui/browser_navigator.cc',
'browser/ui/browser_navigator.h',
'browser/ui/browser_window.h',
'browser/ui/cocoa/about_ipc_bridge.h',
'browser/ui/cocoa/about_ipc_bridge.mm',
'browser/ui/cocoa/about_ipc_controller.h',
'browser/ui/cocoa/about_ipc_controller.mm',
'browser/ui/cocoa/about_ipc_dialog.h',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment