Mac: Fix performance issues with remote CoreAnimation
[chromium-blink-merge.git] / athena / extensions / athena_app_delegate_base.h
blobebf806fba75140f4336ce41aab25b049228739a3
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"
12 namespace athena {
14 class AthenaAppDelegateBase : public extensions::AppDelegate {
15 public:
16 AthenaAppDelegateBase();
17 ~AthenaAppDelegateBase() override;
19 private:
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,
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;
39 scoped_ptr<NewActivityContentsDelegate> new_window_contents_delegate_;
40 base::Closure terminating_callback_;
42 DISALLOW_COPY_AND_ASSIGN(AthenaAppDelegateBase);
45 } // namespace athena
47 #endif // ATHENA_EXTENSIONS_ATHENA_APP_DELEGATE_BASE_H_