external_extension_loader.cc revision 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801
1// Copyright (c) 2011 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 "chrome/browser/extensions/external_extension_loader.h" 6 7#include "base/logging.h" 8#include "base/values.h" 9#include "chrome/browser/browser_thread.h" 10#include "chrome/browser/extensions/external_extension_provider_impl.h" 11 12ExternalExtensionLoader::ExternalExtensionLoader() 13 : owner_(NULL), 14 running_(false) { 15} 16 17void ExternalExtensionLoader::Init( 18 ExternalExtensionProviderImpl* owner) { 19 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 20 owner_ = owner; 21} 22 23const FilePath ExternalExtensionLoader::GetBaseCrxFilePath() { 24 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 25 26 // By default, relative paths are not supported. 27 // Subclasses that wish to support them should override this method. 28 return FilePath(); 29} 30 31void ExternalExtensionLoader::OwnerShutdown() { 32 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 33 owner_ = NULL; 34} 35 36ExternalExtensionLoader::~ExternalExtensionLoader() {} 37 38void ExternalExtensionLoader::LoadFinished() { 39 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 40 running_ = false; 41 if (owner_) { 42 owner_->SetPrefs(prefs_.release()); 43 } 44} 45