910e62b5创建于 1月15日历史提交
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ui/extensions/app_launch_params.h"

#include "chrome/browser/apps/app_service/launch_utils.h"
#include "chrome/browser/extensions/launch_util.h"
#include "chrome/browser/profiles/profile.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"

using extensions::ExtensionPrefs;

apps::AppLaunchParams CreateAppLaunchParamsUserContainer(
    Profile* profile,
    const extensions::Extension* extension,
    WindowOpenDisposition disposition,
    apps::LaunchSource launch_source) {
  // Look up the app preference to find out the right launch container. Default
  // is to launch as a regular tab.
  apps::LaunchContainer container =
      extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
  return apps::AppLaunchParams(extension->id(), container, disposition,
                               launch_source);
}

apps::AppLaunchParams CreateAppLaunchParamsWithEventFlags(
    Profile* profile,
    const extensions::Extension* extension,
    int event_flags,
    apps::LaunchSource launch_source,
    int64_t display_id) {
  apps::LaunchContainer fallback_container =
      extensions::GetLaunchContainer(ExtensionPrefs::Get(profile), extension);
  return apps::CreateAppIdLaunchParamsWithEventFlags(
      extension->id(), event_flags, launch_source, display_id,
      fallback_container);
}