1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/ui/browser_dialogs.h" 6 #include "chrome/browser/ui/cocoa/about_ipc_dialog.h" 7 #include "chrome/browser/ui/cocoa/about_ipc_controller.h" 8 9 #if defined(IPC_MESSAGE_LOG_ENABLED) 10 11 namespace browser { 12 13 void ShowAboutIPCDialog() { 14 // The controller gets deallocated when then window is closed, 15 // so it is safe to "fire and forget". 16 AboutIPCController* controller = [AboutIPCController sharedController]; 17 [[controller window] makeKeyAndOrderFront:controller]; 18 } 19 20 } // namespace browser 21 22 void AboutIPCBridge::Log(const IPC::LogData& data) { 23 CocoaLogData* cocoa_data = [[CocoaLogData alloc] initWithLogData:data]; 24 if ([NSThread isMainThread]) { 25 [controller_ log:cocoa_data]; 26 } else { 27 [controller_ performSelectorOnMainThread:@selector(log:) 28 withObject:cocoa_data 29 waitUntilDone:NO]; 30 } 31 } 32 33 #endif // IPC_MESSAGE_LOG_ENABLED 34