Home | History | Annotate | Download | only in common
      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