Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2556)

Unified Diff: content/renderer/render_process_impl.cc

Issue 6873014: Clear RenderThread of any Chrome specific code, and move a bunch of stuff out of RenderView. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/notification_provider.cc ('k') | content/renderer/render_process_observer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_process_impl.cc
===================================================================
--- content/renderer/render_process_impl.cc (revision 81801)
+++ content/renderer/render_process_impl.cc (working copy)
@@ -15,17 +15,12 @@
#include "base/basictypes.h"
#include "base/command_line.h"
#include "base/compiler_specific.h"
-#include "base/file_util.h"
#include "base/message_loop.h"
-#include "base/metrics/histogram.h"
-#include "base/path_service.h"
#include "base/sys_info.h"
#include "base/utf_string_conversions.h"
-#include "crypto/nss_util.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/common/render_messages.h"
+#include "content/common/content_switches.h"
#include "content/common/view_messages.h"
+#include "content/renderer/content_renderer_client.h"
#include "content/renderer/render_thread.h"
#include "content/renderer/render_view.h"
#include "ipc/ipc_channel.h"
@@ -40,52 +35,12 @@
#if defined(OS_MACOSX)
#include "base/mac/mac_util.h"
-#elif defined(OS_WIN)
-#include "app/win/iat_patch_function.h"
#endif
#if defined(OS_LINUX)
#include "content/renderer/renderer_sandbox_support_linux.h"
#endif
-#if defined(OS_WIN)
-
-static app::win::IATPatchFunction g_iat_patch_createdca;
-HDC WINAPI CreateDCAPatch(LPCSTR driver_name,
- LPCSTR device_name,
- LPCSTR output,
- const void* init_data) {
- DCHECK(std::string("DISPLAY") == std::string(driver_name));
- DCHECK(!device_name);
- DCHECK(!output);
- DCHECK(!init_data);
-
- // CreateDC fails behind the sandbox, but not CreateCompatibleDC.
- return CreateCompatibleDC(NULL);
-}
-
-static app::win::IATPatchFunction g_iat_patch_get_font_data;
-DWORD WINAPI GetFontDataPatch(HDC hdc,
- DWORD table,
- DWORD offset,
- LPVOID buffer,
- DWORD length) {
- int rv = GetFontData(hdc, table, offset, buffer, length);
- if (rv == GDI_ERROR && hdc) {
- HFONT font = static_cast<HFONT>(GetCurrentObject(hdc, OBJ_FONT));
-
- LOGFONT logfont;
- if (GetObject(font, sizeof(LOGFONT), &logfont)) {
- std::vector<char> font_data;
- if (RenderThread::current()->Send(new ViewHostMsg_PreCacheFont(logfont)))
- rv = GetFontData(hdc, table, offset, buffer, length);
- }
- }
- return rv;
-}
-
-#endif
-
RenderProcessImpl::RenderProcessImpl()
: ALLOW_THIS_IN_INITIALIZER_LIST(shared_mem_cache_cleaner_(
base::TimeDelta::FromSeconds(5),
@@ -124,18 +79,11 @@
command_line.GetSwitchValueASCII(switches::kJavaScriptFlags));
}
- if (command_line.HasSwitch(switches::kEnableWatchdog)) {
- // TODO(JAR): Need to implement renderer IO msgloop watchdog.
- }
-
- if (command_line.HasSwitch(switches::kDumpHistogramsOnExit)) {
- base::StatisticsRecorder::set_dump_on_exit(true);
- }
-
// Note that under Linux, the media library will normally already have
// been initialized by the Zygote before this instance became a Renderer.
- FilePath media_path;
- if (PathService::Get(chrome::DIR_MEDIA_LIBS, &media_path))
+ FilePath media_path =
+ content::GetContentClient()->renderer()->GetMediaLibraryPath();
+ if (!media_path.empty())
media::InitializeMediaLibrary(media_path);
#if !defined(OS_MACOSX)
@@ -146,36 +94,6 @@
media::InitializeOpenMaxLibrary(media_path);
}
#endif
-
-#if defined(OS_WIN)
- // Need to patch a few functions for font loading to work correctly.
- FilePath pdf;
- if (PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf) &&
- file_util::PathExists(pdf)) {
- g_iat_patch_createdca.Patch(
- pdf.value().c_str(), "gdi32.dll", "CreateDCA", CreateDCAPatch);
- g_iat_patch_get_font_data.Patch(
- pdf.value().c_str(), "gdi32.dll", "GetFontData", GetFontDataPatch);
- }
-#endif
-
-#if defined(OS_LINUX)
- // Remoting requires NSS to function properly.
-
- if (!command_line.HasSwitch(switches::kSingleProcess) &&
- command_line.HasSwitch(switches::kEnableRemoting)) {
-#if defined(USE_NSS)
- // We are going to fork to engage the sandbox and we have not loaded
- // any security modules so it is safe to disable the fork check in NSS.
- crypto::DisableNSSForkCheck();
- crypto::ForceNSSNoDBInit();
- crypto::EnsureNSSInit();
-#else
- // TODO(bulach): implement openssl support.
- NOTREACHED() << "Remoting is not supported for openssl";
-#endif
- }
-#endif
}
RenderProcessImpl::~RenderProcessImpl() {
« no previous file with comments | « content/renderer/notification_provider.cc ('k') | content/renderer/render_process_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698