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 |