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. 4 5 #ifndef CHROMECAST_COMMON_CAST_CONTENT_CLIENT_H_ 6 #define CHROMECAST_COMMON_CAST_CONTENT_CLIENT_H_ 7 8 #include "content/public/common/content_client.h" 9 #include "url/gurl.h" 10 11 namespace chromecast { 12 namespace shell { 13 14 // TODO(halliwell) Move this function to its own header. 15 std::string GetUserAgent(); 16 17 class CastContentClient : public content::ContentClient { 18 public: 19 ~CastContentClient() override; 20 21 // content::ContentClient implementation: 22 void SetActiveURL(const GURL& url, std::string top_origin) override; 23 void AddAdditionalSchemes(Schemes* schemes) override; 24 base::string16 GetLocalizedString(int message_id) override; 25 base::StringPiece GetDataResource(int resource_id, 26 ui::ScaleFactor scale_factor) override; 27 base::RefCountedMemory* GetDataResourceBytes(int resource_id) override; 28 gfx::Image& GetNativeImageNamed(int resource_id) override; 29 #if defined(OS_ANDROID) 30 ::media::MediaDrmBridgeClient* GetMediaDrmBridgeClient() override; 31 #endif // OS_ANDROID 32 void ExposeInterfacesToBrowser( 33 scoped_refptr<base::SequencedTaskRunner> io_task_runner, 34 mojo::BinderMap* binders) override; 35 36 private: 37 GURL last_active_url_; 38 }; 39 40 } // namespace shell 41 } // namespace chromecast 42 43 #endif // CHROMECAST_COMMON_CAST_CONTENT_CLIENT_H_ 44