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.
5 #ifndef ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_
6 #define ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_
8 #include "base/callback.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "extensions/browser/app_window/app_delegate.h"
14 class AthenaAppDelegateBase
: public extensions::AppDelegate
{
16 AthenaAppDelegateBase();
17 ~AthenaAppDelegateBase() override
;
20 class NewActivityContentsDelegate
;
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
,
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
;
39 scoped_ptr
<NewActivityContentsDelegate
> new_window_contents_delegate_
;
40 base::Closure terminating_callback_
;
42 DISALLOW_COPY_AND_ASSIGN(AthenaAppDelegateBase
);
47 #endif // ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_