1 // Copyright 2013 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 CHROME_BROWSER_UI_WEBUI_EXTENSIONS_EXTENSION_ERROR_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_EXTENSIONS_EXTENSION_ERROR_HANDLER_H_
10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h"
12 #include "content/public/browser/web_ui_message_handler.h"
15 class DictionaryValue
;
20 class WebUIDataSource
;
25 namespace extensions
{
29 // The handler page for the Extension Commands UI overlay.
30 class ExtensionErrorHandler
: public content::WebUIMessageHandler
{
32 explicit ExtensionErrorHandler(Profile
* profile
);
33 virtual ~ExtensionErrorHandler();
35 // Fetches the localized values for the page and deposits them into |source|.
36 void GetLocalizedValues(content::WebUIDataSource
* source
);
38 // WebUIMessageHandler implementation.
39 virtual void RegisterMessages() OVERRIDE
;
42 friend class ManifestHighlightUnitTest
;
44 // Handle the "requestFileSource" call.
45 void HandleRequestFileSource(const base::ListValue
* args
);
46 // Handle the "openDevTools" call.
47 void HandleOpenDevTools(const base::ListValue
* args
);
49 // Populate the results for a manifest file's content in response to the
50 // "requestFileSource" call. Highlight the part of the manifest which
51 // corresponds to the given |key| and |specific| locations. Caller owns
53 void GetManifestFileCallback(base::DictionaryValue
* dict
,
54 const std::string
& key
,
55 const std::string
& specific
,
56 const std::string
& contents
);
58 // Populate the results for a source file's content in response to the
59 // "requestFileSource" call. Highlight the part of the source which
60 // corresponds to the given |line_number|.
61 void GetSourceFileCallback(base::DictionaryValue
* results
,
63 const std::string
& contents
);
65 // The profile with which this Handler is associated.
68 DISALLOW_COPY_AND_ASSIGN(ExtensionErrorHandler
);
71 } // namespace extensions
73 #endif // CHROME_BROWSER_UI_WEBUI_EXTENSIONS_EXTENSION_ERROR_HANDLER_H_