Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 41 #include "content/public/browser/render_widget_host.h" | 41 #include "content/public/browser/render_widget_host.h" |
| 42 #include "content/public/common/page_zoom.h" | 42 #include "content/public/common/page_zoom.h" |
| 43 #include "content/public/common/url_constants.h" | 43 #include "content/public/common/url_constants.h" |
| 44 #include "ipc/ipc_listener.h" | 44 #include "ipc/ipc_listener.h" |
| 45 #include "third_party/WebKit/public/platform/WebDisplayMode.h" | 45 #include "third_party/WebKit/public/platform/WebDisplayMode.h" |
| 46 #include "ui/base/ime/text_input_mode.h" | 46 #include "ui/base/ime/text_input_mode.h" |
| 47 #include "ui/base/ime/text_input_type.h" | 47 #include "ui/base/ime/text_input_type.h" |
| 48 #include "ui/events/gesture_detection/gesture_provider_config_helper.h" | 48 #include "ui/events/gesture_detection/gesture_provider_config_helper.h" |
| 49 #include "ui/events/latency_info.h" | 49 #include "ui/events/latency_info.h" |
| 50 #include "ui/gfx/native_widget_types.h" | 50 #include "ui/gfx/native_widget_types.h" |
| 51 #include "ui/snapshot/snapshot.h" | |
| 51 | 52 |
| 52 struct FrameHostMsg_HittestData_Params; | 53 struct FrameHostMsg_HittestData_Params; |
| 53 struct ViewHostMsg_SelectionBounds_Params; | 54 struct ViewHostMsg_SelectionBounds_Params; |
| 54 struct ViewHostMsg_UpdateRect_Params; | 55 struct ViewHostMsg_UpdateRect_Params; |
| 55 | 56 |
| 56 namespace base { | 57 namespace base { |
| 57 class RefCountedBytes; | 58 class RefCountedBytes; |
| 58 } | 59 } |
| 59 | 60 |
| 60 namespace blink { | 61 namespace blink { |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 202 void DragSourceEndedAt(const gfx::Point& client_pt, | 203 void DragSourceEndedAt(const gfx::Point& client_pt, |
| 203 const gfx::Point& screen_pt, | 204 const gfx::Point& screen_pt, |
| 204 blink::WebDragOperation operation) override; | 205 blink::WebDragOperation operation) override; |
| 205 void DragSourceSystemDragEnded() override; | 206 void DragSourceSystemDragEnded() override; |
| 206 void FilterDropData(DropData* drop_data) override; | 207 void FilterDropData(DropData* drop_data) override; |
| 207 | 208 |
| 208 // Notification that the screen info has changed. | 209 // Notification that the screen info has changed. |
| 209 void NotifyScreenInfoChanged(); | 210 void NotifyScreenInfoChanged(); |
| 210 | 211 |
| 211 // Forces redraw in the renderer and when the update reaches the browser | 212 // Forces redraw in the renderer and when the update reaches the browser |
| 212 // grabs snapshot from the compositor. Returns PNG-encoded snapshot. | 213 // grabs snapshot from the compositor. Returns encoded snapshot. |
| 213 using GetSnapshotFromBrowserCallback = | 214 using GetSnapshotFromBrowserCallback = |
| 214 base::Callback<void(const unsigned char*, size_t)>; | 215 base::Callback<void(const unsigned char*, size_t)>; |
| 215 void GetSnapshotFromBrowser(const GetSnapshotFromBrowserCallback& callback); | 216 void GetSnapshotFromBrowser(const GetSnapshotFromBrowserCallback& callback, |
| 217 ui::SnapshotEncoding encoding, | |
| 218 ui::SnapshotQuality quality); | |
| 216 | 219 |
| 217 const NativeWebKeyboardEvent* GetLastKeyboardEvent() const; | 220 const NativeWebKeyboardEvent* GetLastKeyboardEvent() const; |
| 218 | 221 |
| 219 // Sets the View of this RenderWidgetHost. | 222 // Sets the View of this RenderWidgetHost. |
| 220 void SetView(RenderWidgetHostViewBase* view); | 223 void SetView(RenderWidgetHostViewBase* view); |
| 221 | 224 |
| 222 RenderWidgetHostDelegate* delegate() const { return delegate_; } | 225 RenderWidgetHostDelegate* delegate() const { return delegate_; } |
| 223 | 226 |
| 224 bool empty() const { return current_size_.IsEmpty(); } | 227 bool empty() const { return current_size_.IsEmpty(); } |
| 225 | 228 |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 693 void OnUnexpectedEventAck(UnexpectedEventAckType type) override; | 696 void OnUnexpectedEventAck(UnexpectedEventAckType type) override; |
| 694 | 697 |
| 695 void OnSyntheticGestureCompleted(SyntheticGesture::Result result); | 698 void OnSyntheticGestureCompleted(SyntheticGesture::Result result); |
| 696 | 699 |
| 697 // Called when there is a new auto resize (using a post to avoid a stack | 700 // Called when there is a new auto resize (using a post to avoid a stack |
| 698 // which may get in recursive loops). | 701 // which may get in recursive loops). |
| 699 void DelayedAutoResized(); | 702 void DelayedAutoResized(); |
| 700 | 703 |
| 701 void WindowSnapshotReachedScreen(int snapshot_id); | 704 void WindowSnapshotReachedScreen(int snapshot_id); |
| 702 | 705 |
| 703 void OnSnapshotDataReceived(int snapshot_id, | 706 void OnSnapshotDataReceived(const GetSnapshotFromBrowserCallback& callback, |
| 704 const unsigned char* png, | 707 const unsigned char* data, |
| 705 size_t size); | 708 size_t size); |
| 706 | 709 |
| 707 void OnSnapshotDataReceivedAsync( | 710 void OnSnapshotDataReceivedAsync( |
| 708 int snapshot_id, | 711 const GetSnapshotFromBrowserCallback& callback, |
| 709 scoped_refptr<base::RefCountedBytes> png_data); | 712 scoped_refptr<base::RefCountedBytes> data); |
| 710 | 713 |
| 711 // 1. Grants permissions to URL (if any) | 714 // 1. Grants permissions to URL (if any) |
| 712 // 2. Grants permissions to filenames | 715 // 2. Grants permissions to filenames |
| 713 // 3. Grants permissions to file system files. | 716 // 3. Grants permissions to file system files. |
| 714 // 4. Register the files with the IsolatedContext. | 717 // 4. Register the files with the IsolatedContext. |
| 715 void GrantFileAccessFromDropData(DropData* drop_data); | 718 void GrantFileAccessFromDropData(DropData* drop_data); |
| 716 | 719 |
| 717 // true if a renderer has once been valid. We use this flag to display a sad | 720 // true if a renderer has once been valid. We use this flag to display a sad |
| 718 // tab only when we lose our renderer and not if a paint occurs during | 721 // tab only when we lose our renderer and not if a paint occurs during |
| 719 // initialization. | 722 // initialization. |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 859 // |new_content_rendering_timeout_| is not needed. The renderer will send | 862 // |new_content_rendering_timeout_| is not needed. The renderer will send |
| 860 // both the FirstPaintAfterLoad and DidCommitProvisionalLoad messages after | 863 // both the FirstPaintAfterLoad and DidCommitProvisionalLoad messages after |
| 861 // any new page navigation, it doesn't matter which is received first, and | 864 // any new page navigation, it doesn't matter which is received first, and |
| 862 // it should not be possible to interleave other navigations in between | 865 // it should not be possible to interleave other navigations in between |
| 863 // receipt of those messages (unless FirstPaintAfterLoad is prevented from | 866 // receipt of those messages (unless FirstPaintAfterLoad is prevented from |
| 864 // being sent, in which case the timer should fire). | 867 // being sent, in which case the timer should fire). |
| 865 bool received_paint_after_load_; | 868 bool received_paint_after_load_; |
| 866 | 869 |
| 867 RenderWidgetHostLatencyTracker latency_tracker_; | 870 RenderWidgetHostLatencyTracker latency_tracker_; |
| 868 | 871 |
| 872 struct PendingSnapshotParams { | |
| 873 PendingSnapshotParams(const GetSnapshotFromBrowserCallback& callback, | |
| 874 ui::SnapshotEncoding encoding, | |
| 875 ui::SnapshotQuality quality); | |
| 876 PendingSnapshotParams(const PendingSnapshotParams& params); | |
| 877 ~PendingSnapshotParams(); | |
| 878 | |
| 879 GetSnapshotFromBrowserCallback callback; | |
| 880 ui::SnapshotEncoding encoding; | |
| 881 ui::SnapshotQuality quality; | |
| 882 }; | |
| 883 using PendingSnapshotParamsMap = std::map<int, PendingSnapshotParams>; | |
| 884 | |
| 869 int next_browser_snapshot_id_; | 885 int next_browser_snapshot_id_; |
| 870 using PendingSnapshotMap = std::map<int, GetSnapshotFromBrowserCallback>; | 886 PendingSnapshotParamsMap pending_browser_snapshot_params_; |
| 871 PendingSnapshotMap pending_browser_snapshots_; | 887 int pending_browser_snapshots_; |
|
pfeldman
2017/01/03 18:42:33
not sure why you need it now.
Eric Seckler
2017/01/03 19:18:09
Currently, OnSnapshotDataReceived can't remove fro
| |
| 872 | 888 |
| 873 // Indicates whether a RenderFramehost has ownership, in which case this | 889 // Indicates whether a RenderFramehost has ownership, in which case this |
| 874 // object does not self destroy. | 890 // object does not self destroy. |
| 875 bool owned_by_render_frame_host_; | 891 bool owned_by_render_frame_host_; |
| 876 | 892 |
| 877 // Indicates whether this RenderWidgetHost thinks is focused. This is trying | 893 // Indicates whether this RenderWidgetHost thinks is focused. This is trying |
| 878 // to match what the renderer process knows. It is different from | 894 // to match what the renderer process knows. It is different from |
| 879 // RenderWidgetHostView::HasFocus in that in that the focus request may fail, | 895 // RenderWidgetHostView::HasFocus in that in that the focus request may fail, |
| 880 // causing HasFocus to return false when is_focused_ is true. | 896 // causing HasFocus to return false when is_focused_ is true. |
| 881 bool is_focused_; | 897 bool is_focused_; |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 907 #endif | 923 #endif |
| 908 | 924 |
| 909 base::WeakPtrFactory<RenderWidgetHostImpl> weak_factory_; | 925 base::WeakPtrFactory<RenderWidgetHostImpl> weak_factory_; |
| 910 | 926 |
| 911 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostImpl); | 927 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostImpl); |
| 912 }; | 928 }; |
| 913 | 929 |
| 914 } // namespace content | 930 } // namespace content |
| 915 | 931 |
| 916 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ | 932 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ |
| OLD | NEW |