Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/public/app/content_main_runner.h" | 5 #include "content/public/app/content_main_runner.h" |
| 6 | 6 |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 | 8 |
| 9 #include "base/allocator/allocator_extension.h" | 9 #include "base/allocator/allocator_extension.h" |
| 10 #include "base/at_exit.h" | 10 #include "base/at_exit.h" |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 103 #if !defined(OS_MACOSX) | 103 #if !defined(OS_MACOSX) |
| 104 #include "content/public/common/content_descriptors.h" | 104 #include "content/public/common/content_descriptors.h" |
| 105 #include "content/public/common/zygote_fork_delegate_linux.h" | 105 #include "content/public/common/zygote_fork_delegate_linux.h" |
| 106 #endif | 106 #endif |
| 107 #if !defined(OS_MACOSX) && !defined(OS_ANDROID) | 107 #if !defined(OS_MACOSX) && !defined(OS_ANDROID) |
| 108 #include "content/zygote/zygote_main.h" | 108 #include "content/zygote/zygote_main.h" |
| 109 #endif | 109 #endif |
| 110 | 110 |
| 111 #endif // OS_POSIX | 111 #endif // OS_POSIX |
| 112 | 112 |
| 113 #if defined(USE_OZONE) | |
| 114 #include "ui/ozone/public/native_pixmap_manager.h" | |
| 115 #endif | |
| 116 | |
| 113 #if !defined(OS_MACOSX) && defined(USE_TCMALLOC) | 117 #if !defined(OS_MACOSX) && defined(USE_TCMALLOC) |
| 114 extern "C" { | 118 extern "C" { |
| 115 int tc_set_new_mode(int mode); | 119 int tc_set_new_mode(int mode); |
| 116 } | 120 } |
| 117 #endif | 121 #endif |
| 118 | 122 |
| 119 namespace content { | 123 namespace content { |
| 120 extern int GpuMain(const content::MainFunctionParams&); | 124 extern int GpuMain(const content::MainFunctionParams&); |
| 121 #if defined(ENABLE_PLUGINS) | 125 #if defined(ENABLE_PLUGINS) |
| 122 #if !defined(OS_LINUX) | 126 #if !defined(OS_LINUX) |
| (...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 676 if (service_port.is_valid()) { | 680 if (service_port.is_valid()) { |
| 677 ChildIOSurfaceManager::GetInstance()->set_service_port( | 681 ChildIOSurfaceManager::GetInstance()->set_service_port( |
| 678 service_port.release()); | 682 service_port.release()); |
| 679 IOSurfaceManager::SetInstance(ChildIOSurfaceManager::GetInstance()); | 683 IOSurfaceManager::SetInstance(ChildIOSurfaceManager::GetInstance()); |
| 680 } | 684 } |
| 681 } | 685 } |
| 682 #elif defined(OS_WIN) | 686 #elif defined(OS_WIN) |
| 683 SetupCRT(command_line); | 687 SetupCRT(command_line); |
| 684 #endif | 688 #endif |
| 685 | 689 |
| 690 #if defined(USE_OZONE) | |
| 691 if (!ui::NativePixmapManager::GetInstance() && | |
|
reveman
2015/07/23 18:25:23
why the GetInstance check?
dshwang
2015/07/24 12:19:00
I assumed that this routine can be called several
| |
| 692 process_type == switches::kRendererProcess) { | |
| 693 ui::NativePixmapManager::SetInstance( | |
| 694 ui::NativePixmapManager::Create().release()); | |
|
reveman
2015/07/23 18:25:23
Please don't leak the manager. At least use a base
dshwang
2015/07/24 12:19:00
Done. use member.
| |
| 695 } | |
| 696 #endif | |
| 697 | |
| 686 #if defined(OS_POSIX) | 698 #if defined(OS_POSIX) |
| 687 if (!process_type.empty()) { | 699 if (!process_type.empty()) { |
| 688 // When you hit Ctrl-C in a terminal running the browser | 700 // When you hit Ctrl-C in a terminal running the browser |
| 689 // process, a SIGINT is delivered to the entire process group. | 701 // process, a SIGINT is delivered to the entire process group. |
| 690 // When debugging the browser process via gdb, gdb catches the | 702 // When debugging the browser process via gdb, gdb catches the |
| 691 // SIGINT for the browser process (and dumps you back to the gdb | 703 // SIGINT for the browser process (and dumps you back to the gdb |
| 692 // console) but doesn't for the child processes, killing them. | 704 // console) but doesn't for the child processes, killing them. |
| 693 // The fix is to have child processes ignore SIGINT; they'll die | 705 // The fix is to have child processes ignore SIGINT; they'll die |
| 694 // on their own when the browser process goes away. | 706 // on their own when the browser process goes away. |
| 695 // | 707 // |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 868 | 880 |
| 869 DISALLOW_COPY_AND_ASSIGN(ContentMainRunnerImpl); | 881 DISALLOW_COPY_AND_ASSIGN(ContentMainRunnerImpl); |
| 870 }; | 882 }; |
| 871 | 883 |
| 872 // static | 884 // static |
| 873 ContentMainRunner* ContentMainRunner::Create() { | 885 ContentMainRunner* ContentMainRunner::Create() { |
| 874 return new ContentMainRunnerImpl(); | 886 return new ContentMainRunnerImpl(); |
| 875 } | 887 } |
| 876 | 888 |
| 877 } // namespace content | 889 } // namespace content |
| OLD | NEW |