1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#ifndef CHROME_BROWSER_SEARCH_CONTEXTUAL_SEARCH_PROMO_SOURCE_ANDROID_H_ 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#define CHROME_BROWSER_SEARCH_CONTEXTUAL_SEARCH_PROMO_SOURCE_ANDROID_H_ 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/basictypes.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/compiler_specific.h" 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "content/public/browser/url_data_source.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Serves HTML for displaying the contextual search first-run promo. 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class ContextualSearchPromoSourceAndroid : public content::URLDataSource { 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public: 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ContextualSearchPromoSourceAndroid(); 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual ~ContextualSearchPromoSourceAndroid(); 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch protected: 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Overridden from content::URLDataSource: 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void StartDataRequest( 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& path_and_query, 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch int render_process_id, 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch int render_frame_id, 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const content::URLDataSource::GotDataCallback& callback) OVERRIDE; 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual std::string GetSource() const OVERRIDE; 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual std::string GetMimeType( 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& path_and_query) const OVERRIDE; 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual bool ShouldDenyXFrameOptions() const OVERRIDE; 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual bool ShouldAddContentSecurityPolicy() const OVERRIDE; 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Sends unmodified resource bytes. 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void SendResource( 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch int resource_id, 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const content::URLDataSource::GotDataCallback& callback); 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // Sends the config JS resource. 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void SendConfigResource( 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const content::URLDataSource::GotDataCallback& callback); 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Sends HTML with localized strings. 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void SendHtmlWithStrings( 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const content::URLDataSource::GotDataCallback& callback); 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private: 456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ContextualSearchPromoSourceAndroid); 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}; 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 486e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif // CHROME_BROWSER_SEARCH_CONTEXTUAL_SEARCH_PROMO_SOURCE_ANDROID_H_ 49