• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 EXTENSIONS_COMMON_VIEW_TYPE_H_
6 #define EXTENSIONS_COMMON_VIEW_TYPE_H_
7 
8 namespace extensions {
9 
10 // Icky RTTI used by a few systems to distinguish the host type of a given
11 // WebContents.
12 //
13 // TODO(aa): Remove this and teach those systems to keep track of their own
14 // data.
15 enum ViewType {
16   VIEW_TYPE_INVALID,
17   VIEW_TYPE_APP_SHELL,
18   VIEW_TYPE_BACKGROUND_CONTENTS,
19   VIEW_TYPE_EXTENSION_BACKGROUND_PAGE,
20   VIEW_TYPE_EXTENSION_DIALOG,
21   VIEW_TYPE_EXTENSION_INFOBAR,
22   VIEW_TYPE_EXTENSION_POPUP,
23   // TODO(jam): remove this once http://crbug.com/137297 is fixed and HTML5
24   // notifications don't use WebContents.
25   VIEW_TYPE_NOTIFICATION,
26   VIEW_TYPE_PANEL,
27   VIEW_TYPE_TAB_CONTENTS,
28   VIEW_TYPE_VIRTUAL_KEYBOARD,
29 };
30 
31 // Constant strings corresponding to the Type enumeration values.  Used
32 // when converting JS arguments.
33 extern const char kViewTypeAll[];
34 extern const char kViewTypeAppShell[];
35 extern const char kViewTypeBackgroundPage[];
36 extern const char kViewTypeExtensionDialog[];
37 extern const char kViewTypeInfobar[];
38 extern const char kViewTypeNotification[];
39 extern const char kViewTypePanel[];
40 extern const char kViewTypePopup[];
41 extern const char kViewTypeTabContents[];
42 
43 }  // namespace extensions
44 
45 #endif  // EXTENSIONS_COMMON_VIEW_TYPE_H_
46