Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / browser / search / contextual_search_promo_source_android.h
blob1a2319f68bc924b0abd2a969e68075e774b4e97e
1 // Copyright 2014 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_SEARCH_CONTEXTUAL_SEARCH_PROMO_SOURCE_ANDROID_H_
6 #define CHROME_BROWSER_SEARCH_CONTEXTUAL_SEARCH_PROMO_SOURCE_ANDROID_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "content/public/browser/url_data_source.h"
12 // Serves HTML for displaying the contextual search first-run promo.
13 class ContextualSearchPromoSourceAndroid : public content::URLDataSource {
14 public:
15 ContextualSearchPromoSourceAndroid();
16 virtual ~ContextualSearchPromoSourceAndroid();
18 protected:
19 // Overridden from content::URLDataSource:
20 virtual void StartDataRequest(
21 const std::string& path_and_query,
22 int render_process_id,
23 int render_frame_id,
24 const content::URLDataSource::GotDataCallback& callback) override;
25 virtual std::string GetSource() const override;
26 virtual std::string GetMimeType(
27 const std::string& path_and_query) const override;
28 virtual bool ShouldDenyXFrameOptions() const override;
29 virtual bool ShouldAddContentSecurityPolicy() const override;
31 // Sends unmodified resource bytes.
32 void SendResource(
33 int resource_id,
34 const content::URLDataSource::GotDataCallback& callback);
36 // Sends the config JS resource.
37 void SendConfigResource(
38 const content::URLDataSource::GotDataCallback& callback);
40 // Sends HTML with localized strings.
41 void SendHtmlWithStrings(
42 const content::URLDataSource::GotDataCallback& callback);
44 private:
45 DISALLOW_COPY_AND_ASSIGN(ContextualSearchPromoSourceAndroid);
48 #endif // CHROME_BROWSER_SEARCH_CONTEXTUAL_SEARCH_PROMO_SOURCE_ANDROID_H_