Home | History | Annotate | Download | only in browser
      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
      3 // found in the LICENSE file.
      4 
      5 #include "content/browser/browser_main.h"
      6 
      7 #include "base/debug/trace_event.h"
      8 #include "content/common/content_constants_internal.h"
      9 #include "content/public/browser/browser_main_runner.h"
     10 
     11 namespace content {
     12 
     13 // Main routine for running as the Browser process.
     14 int BrowserMain(const MainFunctionParams& parameters) {
     15   TRACE_EVENT_BEGIN_ETW("BrowserMain", 0, "");
     16   base::debug::TraceLog::GetInstance()->SetProcessName("Browser");
     17   base::debug::TraceLog::GetInstance()->SetProcessSortIndex(
     18       kTraceEventBrowserProcessSortIndex);
     19 
     20   scoped_ptr<BrowserMainRunner> main_runner(BrowserMainRunner::Create());
     21 
     22   int exit_code = main_runner->Initialize(parameters);
     23   if (exit_code >= 0)
     24     return exit_code;
     25 
     26   exit_code = main_runner->Run();
     27 
     28   main_runner->Shutdown();
     29 
     30   TRACE_EVENT_END_ETW("BrowserMain", 0, 0);
     31 
     32   return exit_code;
     33 }
     34 
     35 }  // namespace content
     36