1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be
3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file.
4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/first_run/first_run_import_observer.h"
6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/message_loop.h"
8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/result_codes.h"
9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenFirstRunImportObserver::FirstRunImportObserver()
11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    : loop_running_(false), import_result_(ResultCodes::NORMAL_EXIT) {
12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenFirstRunImportObserver::~FirstRunImportObserver() {
15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid FirstRunImportObserver::RunLoop() {
18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  loop_running_ = true;
19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  MessageLoop::current()->Run();
20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid FirstRunImportObserver::Finish() {
23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  if (loop_running_)
24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    MessageLoop::current()->Quit();
25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid FirstRunImportObserver::ImportCompleted() {
28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  import_result_ = ResultCodes::NORMAL_EXIT;
29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  Finish();
30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
31