Home | History | Annotate | Download | only in renderer
      1 // Copyright 2012 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 ANDROID_WEBVIEW_RENDERER_AW_CONTENT_RENDERER_CLIENT_H_
      6 #define ANDROID_WEBVIEW_RENDERER_AW_CONTENT_RENDERER_CLIENT_H_
      7 
      8 #include "content/public/renderer/content_renderer_client.h"
      9 
     10 #include "android_webview/renderer/aw_render_process_observer.h"
     11 #include "base/compiler_specific.h"
     12 
     13 namespace visitedlink {
     14 class VisitedLinkSlave;
     15 }
     16 
     17 namespace android_webview {
     18 
     19 class AwContentRendererClient : public content::ContentRendererClient {
     20  public:
     21   AwContentRendererClient();
     22   virtual ~AwContentRendererClient();
     23 
     24   // ContentRendererClient implementation.
     25   virtual void RenderThreadStarted() OVERRIDE;
     26   virtual void RenderFrameCreated(content::RenderFrame* render_frame) OVERRIDE;
     27   virtual void RenderViewCreated(content::RenderView* render_view) OVERRIDE;
     28   virtual std::string GetDefaultEncoding() OVERRIDE;
     29   virtual bool HasErrorPage(int http_status_code,
     30                             std::string* error_domain) OVERRIDE;
     31   virtual void GetNavigationErrorStrings(
     32       content::RenderView* render_view,
     33       blink::WebFrame* frame,
     34       const blink::WebURLRequest& failed_request,
     35       const blink::WebURLError& error,
     36       std::string* error_html,
     37       base::string16* error_description) OVERRIDE;
     38   virtual unsigned long long VisitedLinkHash(const char* canonical_url,
     39                                              size_t length) OVERRIDE;
     40   virtual bool IsLinkVisited(unsigned long long link_hash) OVERRIDE;
     41   virtual void AddKeySystems(
     42       std::vector<content::KeySystemInfo>* key_systems) OVERRIDE;
     43 
     44   virtual bool HandleNavigation(content::RenderFrame* render_frame,
     45                                 content::DocumentState* document_state,
     46                                 int opener_id,
     47                                 blink::WebFrame* frame,
     48                                 const blink::WebURLRequest& request,
     49                                 blink::WebNavigationType type,
     50                                 blink::WebNavigationPolicy default_policy,
     51                                 bool is_redirect) OVERRIDE;
     52 
     53  private:
     54   scoped_ptr<AwRenderProcessObserver> aw_render_process_observer_;
     55   scoped_ptr<visitedlink::VisitedLinkSlave> visited_link_slave_;
     56 };
     57 
     58 }  // namespace android_webview
     59 
     60 #endif  // ANDROID_WEBVIEW_RENDERER_AW_CONTENT_RENDERER_CLIENT_H_
     61