Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / athena / extensions / athena_app_delegate_base.h
1 // Copyright 2014 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 #ifndef ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_
6 #define ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_
7
8 #include "base/callback.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "extensions/browser/app_window/app_delegate.h"
11
12 namespace athena {
13
14 class AthenaAppDelegateBase : public extensions::AppDelegate {
15  public:
16   AthenaAppDelegateBase();
17   ~AthenaAppDelegateBase() override;
18
19  private:
20   class NewActivityContentsDelegate;
21
22   // extensions::AppDelegate:
23   void ResizeWebContents(content::WebContents* web_contents,
24                          const gfx::Size& size) override;
25   content::WebContents* OpenURLFromTab(
26       content::BrowserContext* context,
27       content::WebContents* source,
28       const content::OpenURLParams& params) override;
29   void AddNewContents(content::BrowserContext* context,
30                       content::WebContents* new_contents,
31                       WindowOpenDisposition disposition,
32                       const gfx::Rect& initial_pos,
33                       bool user_gesture,
34                       bool* was_blocked) override;
35   int PreferredIconSize() override;
36   bool IsWebContentsVisible(content::WebContents* web_contents) override;
37   void SetTerminatingCallback(const base::Closure& callback) override;
38
39   scoped_ptr<NewActivityContentsDelegate> new_window_contents_delegate_;
40   base::Closure terminating_callback_;
41
42   DISALLOW_COPY_AND_ASSIGN(AthenaAppDelegateBase);
43 };
44
45 }  // namespace athena
46
47 #endif  // ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_