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. 4 5 #ifndef CHROME_BROWSER_SEARCH_LOCAL_NTP_SOURCE_H_ 6 #define CHROME_BROWSER_SEARCH_LOCAL_NTP_SOURCE_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "content/public/browser/url_data_source.h" 11 12 class Profile; 13 14 // Serves HTML and resources for the local new tab page i.e. 15 // chrome-search://local-ntp/local-ntp.html 16 class LocalNtpSource : public content::URLDataSource { 17 public: 18 explicit LocalNtpSource(Profile* profile); 19 20 private: 21 virtual ~LocalNtpSource(); 22 23 // Overridden from content::URLDataSource: 24 virtual std::string GetSource() const OVERRIDE; 25 virtual void StartDataRequest( 26 const std::string& path, 27 int render_process_id, 28 int render_frame_id, 29 const content::URLDataSource::GotDataCallback& callback) OVERRIDE; 30 virtual std::string GetMimeType(const std::string& path) const OVERRIDE; 31 virtual bool ShouldServiceRequest( 32 const net::URLRequest* request) const OVERRIDE; 33 virtual std::string GetContentSecurityPolicyFrameSrc() const OVERRIDE; 34 35 Profile* profile_; 36 37 DISALLOW_COPY_AND_ASSIGN(LocalNtpSource); 38 }; 39 40 #endif // CHROME_BROWSER_SEARCH_LOCAL_NTP_SOURCE_H_ 41