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_WINDOW, 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 VIEW_TYPE_PANEL, 24 VIEW_TYPE_TAB_CONTENTS, 25 VIEW_TYPE_VIRTUAL_KEYBOARD, 26 VIEW_TYPE_LAST = VIEW_TYPE_VIRTUAL_KEYBOARD 27 }; 28 29 // Constant strings corresponding to the Type enumeration values. Used 30 // when converting JS arguments. 31 extern const char kViewTypeAll[]; 32 extern const char kViewTypeAppWindow[]; 33 extern const char kViewTypeBackgroundPage[]; 34 extern const char kViewTypeExtensionDialog[]; 35 extern const char kViewTypeInfobar[]; 36 extern const char kViewTypePanel[]; 37 extern const char kViewTypePopup[]; 38 extern const char kViewTypeTabContents[]; 39 40 } // namespace extensions 41 42 #endif // EXTENSIONS_COMMON_VIEW_TYPE_H_ 43