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_SHELL_ATHENA_APP_DELEGATE_H_
6#define ATHENA_EXTENSIONS_SHELL_ATHENA_APP_DELEGATE_H_
7
8#include "athena/extensions/athena_app_delegate_base.h"
9
10namespace athena {
11
12class AthenaShellAppDelegate : public AthenaAppDelegateBase {
13 public:
14  AthenaShellAppDelegate();
15  virtual ~AthenaShellAppDelegate();
16
17 private:
18  // extensions::AppDelegate:
19  virtual void InitWebContents(content::WebContents* web_contents) OVERRIDE;
20  virtual content::ColorChooser* ShowColorChooser(
21      content::WebContents* web_contents,
22      SkColor initial_color) OVERRIDE;
23  virtual void RunFileChooser(
24      content::WebContents* tab,
25      const content::FileChooserParams& params) OVERRIDE;
26  virtual void RequestMediaAccessPermission(
27      content::WebContents* web_contents,
28      const content::MediaStreamRequest& request,
29      const content::MediaResponseCallback& callback,
30      const extensions::Extension* extension) OVERRIDE;
31  virtual bool CheckMediaAccessPermission(
32      content::WebContents* web_contents,
33      const GURL& security_origin,
34      content::MediaStreamType type,
35      const extensions::Extension* extension) OVERRIDE;
36  virtual void SetWebContentsBlocked(content::WebContents* web_contents,
37                                     bool blocked) OVERRIDE;
38
39  DISALLOW_COPY_AND_ASSIGN(AthenaShellAppDelegate);
40};
41
42}  // namespace athena
43
44#endif  // ATHENA_EXTENSIONS_SHELL_ATHENA_APP_DELEGATE_H_
45