Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / mandoline / services / core_services / application_delegate_factory.h
blobd92bc68d3bfd7dd1db6ee7094a8e0d7e6d826198
1 // Copyright 2015 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.
5 #ifndef MANDOLINE_SERVICES_CORE_SERVICES_APPLICATION_DELEGATE_FACTORY_H_
6 #define MANDOLINE_SERVICES_CORE_SERVICES_APPLICATION_DELEGATE_FACTORY_H_
8 #include <string>
10 #include "base/memory/scoped_ptr.h"
12 namespace mojo {
13 class ApplicationDelegate;
16 namespace core_services {
18 // This is always called to create a platform specific ApplicationDelegate.
19 scoped_ptr<mojo::ApplicationDelegate> CreatePlatformSpecificApplicationDelegate(
20 const std::string& url);
22 // The following are conditionally called. You do not need to call these from
23 // CreatePlatformSpecificApplicationDelegate(), they are called (if appropriate)
24 // before CreatePlatformSpecificApplicationDelegate().
25 #if !defined(OS_ANDROID)
26 scoped_ptr<mojo::ApplicationDelegate> CreateApplicationDelegateNotAndroid(
27 const std::string& url);
28 #endif
30 #if defined(USE_AURA)
31 scoped_ptr<mojo::ApplicationDelegate> CreateApplicationDelegateAura(
32 const std::string& url);
33 #endif
35 } // namespace core_services
37 #endif // MANDOLINE_SERVICES_CORE_SERVICES_APPLICATION_DELEGATE_FACTORY_H_