Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / renderer / chrome_render_frame_observer.h
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_RENDERER_CHROME_RENDER_FRAME_OBSERVER_H_
6 #define CHROME_RENDERER_CHROME_RENDER_FRAME_OBSERVER_H_
7
8 #include "base/basictypes.h"
9 #include "content/public/renderer/render_frame_observer.h"
10
11 namespace gfx {
12 class Size;
13 }
14
15 // This class holds the Chrome specific parts of RenderFrame, and has the same
16 // lifetime.
17 class ChromeRenderFrameObserver : public content::RenderFrameObserver {
18  public:
19   explicit ChromeRenderFrameObserver(content::RenderFrame* render_frame);
20   ~ChromeRenderFrameObserver() override;
21
22  private:
23   // RenderFrameObserver implementation.
24   bool OnMessageReceived(const IPC::Message& message) override;
25
26   // IPC handlers
27   void OnSetIsPrerendering(bool is_prerendering);
28   void OnRequestThumbnailForContextNode(
29       int thumbnail_min_area_pixels,
30       const gfx::Size& thumbnail_max_size_pixels);
31   void OnPrintNodeUnderContextMenu();
32
33   DISALLOW_COPY_AND_ASSIGN(ChromeRenderFrameObserver);
34 };
35
36 #endif  // CHROME_RENDERER_CHROME_RENDER_FRAME_OBSERVER_H_