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_MOST_VISITED_IFRAME_SOURCE_H_ 6 #define CHROME_BROWSER_SEARCH_MOST_VISITED_IFRAME_SOURCE_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "base/gtest_prod_util.h" 11 #include "chrome/browser/search/iframe_source.h" 12 13 // Serves HTML for displaying suggestions using iframes, e.g. 14 // chrome-search://suggestion/loader.html 15 class MostVisitedIframeSource : public IframeSource { 16 public: 17 MostVisitedIframeSource(); 18 virtual ~MostVisitedIframeSource(); 19 20 // Number of Most Visited elements on the NTP for logging purposes. 21 static const int kNumMostVisited; 22 // Name of the histogram keeping track of Most Visited clicks. 23 static const char kMostVisitedHistogramName[]; 24 25 // Overridden from IframeSource. Public for testing. 26 virtual void StartDataRequest( 27 const std::string& path_and_query, 28 int render_process_id, 29 int render_frame_id, 30 const content::URLDataSource::GotDataCallback& callback) OVERRIDE; 31 32 protected: 33 // Overridden from IframeSource: 34 virtual std::string GetSource() const OVERRIDE; 35 36 virtual bool ServesPath(const std::string& path) const OVERRIDE; 37 38 private: 39 FRIEND_TEST_ALL_PREFIXES(MostVisitedIframeSourceTest, 40 LogEndpointIsValidWithProvider); 41 42 DISALLOW_COPY_AND_ASSIGN(MostVisitedIframeSource); 43 }; 44 45 #endif // CHROME_BROWSER_SEARCH_MOST_VISITED_IFRAME_SOURCE_H_ 46