Don't show supervised user as "already on this device" while they're being imported.
[chromium-blink-merge.git] / chrome / browser / ui / webui / about_ui.h
blobb453c5b86f4a87c8c5608f5d05011d88f95c0267
1 // Copyright (c) 2011 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_ABOUT_UI_H_
6 #define CHROME_BROWSER_UI_WEBUI_ABOUT_UI_H_
8 #include <string>
10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h"
12 #include "content/public/browser/url_data_source.h"
13 #include "content/public/browser/web_ui_controller.h"
15 class Profile;
17 // We expose this class because the OOBE flow may need to explicitly add the
18 // chrome://terms source outside of the normal flow.
19 class AboutUIHTMLSource : public content::URLDataSource {
20 public:
21 // Construct a data source for the specified |source_name|.
22 AboutUIHTMLSource(const std::string& source_name, Profile* profile);
24 // content::URLDataSource implementation.
25 std::string GetSource() const override;
26 void StartDataRequest(
27 const std::string& path,
28 int render_process_id,
29 int render_frame_id,
30 const content::URLDataSource::GotDataCallback& callback) override;
31 std::string GetMimeType(const std::string& path) const override;
32 bool ShouldAddContentSecurityPolicy() const override;
33 bool ShouldDenyXFrameOptions() const override;
35 // Send the response data.
36 void FinishDataRequest(
37 const std::string& html,
38 const content::URLDataSource::GotDataCallback& callback);
40 Profile* profile() { return profile_; }
42 private:
43 ~AboutUIHTMLSource() override;
45 std::string source_name_;
46 Profile* profile_;
48 DISALLOW_COPY_AND_ASSIGN(AboutUIHTMLSource);
51 class AboutUI : public content::WebUIController {
52 public:
53 explicit AboutUI(content::WebUI* web_ui, const std::string& host);
54 ~AboutUI() override {}
56 private:
57 DISALLOW_COPY_AND_ASSIGN(AboutUI);
60 namespace about_ui {
62 // Helper functions
63 void AppendHeader(std::string* output, int refresh,
64 const std::string& unescaped_title);
65 void AppendBody(std::string *output);
66 void AppendFooter(std::string *output);
68 } // namespace about_ui
70 #endif // CHROME_BROWSER_UI_WEBUI_ABOUT_UI_H_