| Index: chrome/app/metro_driver_win.cc
|
| ===================================================================
|
| --- chrome/app/metro_driver_win.cc (revision 140199)
|
| +++ chrome/app/metro_driver_win.cc (working copy)
|
| @@ -1,49 +0,0 @@
|
| -// 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.
|
| -
|
| -#include "metro_driver_win.h"
|
| -
|
| -namespace {
|
| -// The windows 8 metro driver dll name and entry point.
|
| -const char kMetroDriverDll[] = "metro_driver.dll";
|
| -// This environment variable controls the loading of the metro driver DLL.
|
| -const char* kMetroModeEnvVar = "CHROME_METRO_DLL";
|
| -
|
| -typedef int (*InitMetro)(LPTHREAD_START_ROUTINE thread_proc, void* context);
|
| -
|
| -struct Context {
|
| - MetroDriver::MainFn fn;
|
| - HINSTANCE instance;
|
| -};
|
| -
|
| -DWORD WINAPI MainThread(void* param) {
|
| - Context* context = reinterpret_cast<Context*>(param);
|
| - int rv = context->fn(context->instance);
|
| - delete context;
|
| - return rv;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -MetroDriver::MetroDriver() : init_metro_fn_(NULL) {
|
| - if (0 != ::GetEnvironmentVariableA(kMetroModeEnvVar, NULL, 0))
|
| - return;
|
| - // We haven't tried to load the metro driver, this probably means we are the
|
| - // browser. Find it or not we set the environment variable because we don't
|
| - // want to keep trying in the child processes.
|
| - HMODULE metro_dll = ::LoadLibraryA(kMetroDriverDll);
|
| - ::SetEnvironmentVariableA(kMetroModeEnvVar, metro_dll ? "1" : "0");
|
| - if (!metro_dll)
|
| - return;
|
| - init_metro_fn_ =
|
| - ::GetProcAddress(::GetModuleHandleA(kMetroDriverDll), "InitMetro");
|
| -}
|
| -
|
| -int MetroDriver::RunInMetro(HINSTANCE instance, MainFn main_fn) {
|
| - Context* context = new Context;
|
| - context->fn = main_fn;
|
| - context->instance = instance;
|
| -
|
| - return reinterpret_cast<InitMetro>(init_metro_fn_)(&MainThread, context);
|
| -}
|
|
|