OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 #include "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "content/common/service_worker/service_worker_types.h" | 31 #include "content/common/service_worker/service_worker_types.h" |
32 #include "content/common/socket_stream_handle_data.h" | 32 #include "content/common/socket_stream_handle_data.h" |
33 #include "content/common/swapped_out_messages.h" | 33 #include "content/common/swapped_out_messages.h" |
34 #include "content/common/view_messages.h" | 34 #include "content/common/view_messages.h" |
35 #include "content/public/common/bindings_policy.h" | 35 #include "content/public/common/bindings_policy.h" |
36 #include "content/public/common/content_constants.h" | 36 #include "content/public/common/content_constants.h" |
37 #include "content/public/common/content_switches.h" | 37 #include "content/public/common/content_switches.h" |
38 #include "content/public/common/context_menu_params.h" | 38 #include "content/public/common/context_menu_params.h" |
39 #include "content/public/common/url_constants.h" | 39 #include "content/public/common/url_constants.h" |
40 #include "content/public/common/url_utils.h" | 40 #include "content/public/common/url_utils.h" |
| 41 #include "content/public/common/widget_visible_state.h" |
41 #include "content/public/renderer/content_renderer_client.h" | 42 #include "content/public/renderer/content_renderer_client.h" |
42 #include "content/public/renderer/context_menu_client.h" | 43 #include "content/public/renderer/context_menu_client.h" |
43 #include "content/public/renderer/document_state.h" | 44 #include "content/public/renderer/document_state.h" |
44 #include "content/public/renderer/navigation_state.h" | 45 #include "content/public/renderer/navigation_state.h" |
45 #include "content/public/renderer/render_frame_observer.h" | 46 #include "content/public/renderer/render_frame_observer.h" |
46 #include "content/renderer/accessibility/renderer_accessibility.h" | 47 #include "content/renderer/accessibility/renderer_accessibility.h" |
47 #include "content/renderer/browser_plugin/browser_plugin.h" | 48 #include "content/renderer/browser_plugin/browser_plugin.h" |
48 #include "content/renderer/browser_plugin/browser_plugin_manager.h" | 49 #include "content/renderer/browser_plugin/browser_plugin_manager.h" |
49 #include "content/renderer/child_frame_compositing_helper.h" | 50 #include "content/renderer/child_frame_compositing_helper.h" |
50 #include "content/renderer/context_menu_params_builder.h" | 51 #include "content/renderer/context_menu_params_builder.h" |
(...skipping 1834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1885 // the session history again. We do this regardless of whether this is | 1886 // the session history again. We do this regardless of whether this is |
1886 // a session history navigation, because if we attempted a session history | 1887 // a session history navigation, because if we attempted a session history |
1887 // navigation without valid HistoryItem state, WebCore will think it is a | 1888 // navigation without valid HistoryItem state, WebCore will think it is a |
1888 // new navigation. | 1889 // new navigation. |
1889 navigation_state->set_request_committed(true); | 1890 navigation_state->set_request_committed(true); |
1890 | 1891 |
1891 UpdateURL(frame); | 1892 UpdateURL(frame); |
1892 | 1893 |
1893 // Check whether we have new encoding name. | 1894 // Check whether we have new encoding name. |
1894 render_view_->UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); | 1895 render_view_->UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); |
| 1896 |
| 1897 if (!frame->parent()) { |
| 1898 GetRenderWidget()->SendSourceFrameNumberWhenReady( |
| 1899 render_view()->page_id_, WIDGET_VISIBLE_STATE_DID_HANDLE_ONLOAD_EVENTS); |
| 1900 } |
1895 } | 1901 } |
1896 | 1902 |
1897 void RenderFrameImpl::didClearWindowObject(blink::WebLocalFrame* frame, | 1903 void RenderFrameImpl::didClearWindowObject(blink::WebLocalFrame* frame, |
1898 int world_id) { | 1904 int world_id) { |
1899 DCHECK(!frame_ || frame_ == frame); | 1905 DCHECK(!frame_ || frame_ == frame); |
1900 // TODO(nasko): Move implementation here. Needed state: | 1906 // TODO(nasko): Move implementation here. Needed state: |
1901 // * enabled_bindings_ | 1907 // * enabled_bindings_ |
1902 // * dom_automation_controller_ | 1908 // * dom_automation_controller_ |
1903 // * stats_collection_controller_ | 1909 // * stats_collection_controller_ |
1904 | 1910 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1955 document_state->set_finish_document_load_time(Time::Now()); | 1961 document_state->set_finish_document_load_time(Time::Now()); |
1956 | 1962 |
1957 Send(new FrameHostMsg_DidFinishDocumentLoad(routing_id_)); | 1963 Send(new FrameHostMsg_DidFinishDocumentLoad(routing_id_)); |
1958 | 1964 |
1959 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), | 1965 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), |
1960 DidFinishDocumentLoad(frame)); | 1966 DidFinishDocumentLoad(frame)); |
1961 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidFinishDocumentLoad()); | 1967 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidFinishDocumentLoad()); |
1962 | 1968 |
1963 // Check whether we have new encoding name. | 1969 // Check whether we have new encoding name. |
1964 render_view_->UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); | 1970 render_view_->UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); |
| 1971 |
| 1972 if (!frame->parent()) { |
| 1973 GetRenderWidget()->SendSourceFrameNumberWhenReady( |
| 1974 render_view_->page_id_, WIDGET_VISIBLE_STATE_DID_FINISH_DOCUMENT_LOAD); |
| 1975 } |
1965 } | 1976 } |
1966 | 1977 |
1967 void RenderFrameImpl::didHandleOnloadEvents(blink::WebLocalFrame* frame) { | 1978 void RenderFrameImpl::didHandleOnloadEvents(blink::WebLocalFrame* frame) { |
1968 DCHECK(!frame_ || frame_ == frame); | 1979 DCHECK(!frame_ || frame_ == frame); |
1969 // TODO(nasko): Move implementation here. Needed state: | 1980 // TODO(nasko): Move implementation here. Needed state: |
1970 // * page_id_ | 1981 // * page_id_ |
1971 render_view_->didHandleOnloadEvents(frame); | 1982 render_view_->didHandleOnloadEvents(frame); |
| 1983 |
| 1984 if (!frame->parent()) { |
| 1985 GetRenderWidget()->SendSourceFrameNumberWhenReady( |
| 1986 render_view()->page_id_, WIDGET_VISIBLE_STATE_DID_HANDLE_ONLOAD_EVENTS); |
| 1987 } |
1972 } | 1988 } |
1973 | 1989 |
1974 void RenderFrameImpl::didFailLoad(blink::WebLocalFrame* frame, | 1990 void RenderFrameImpl::didFailLoad(blink::WebLocalFrame* frame, |
1975 const blink::WebURLError& error) { | 1991 const blink::WebURLError& error) { |
1976 DCHECK(!frame_ || frame_ == frame); | 1992 DCHECK(!frame_ || frame_ == frame); |
1977 // TODO(nasko): Move implementation here. No state needed. | 1993 // TODO(nasko): Move implementation here. No state needed. |
1978 WebDataSource* ds = frame->dataSource(); | 1994 WebDataSource* ds = frame->dataSource(); |
1979 DCHECK(ds); | 1995 DCHECK(ds); |
1980 | 1996 |
1981 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), | 1997 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2507 | 2523 |
2508 FOR_EACH_OBSERVER(RenderFrameObserver, | 2524 FOR_EACH_OBSERVER(RenderFrameObserver, |
2509 observers_, | 2525 observers_, |
2510 WillReleaseScriptContext(context, world_id)); | 2526 WillReleaseScriptContext(context, world_id)); |
2511 } | 2527 } |
2512 | 2528 |
2513 void RenderFrameImpl::didFirstVisuallyNonEmptyLayout( | 2529 void RenderFrameImpl::didFirstVisuallyNonEmptyLayout( |
2514 blink::WebLocalFrame* frame) { | 2530 blink::WebLocalFrame* frame) { |
2515 DCHECK(!frame_ || frame_ == frame); | 2531 DCHECK(!frame_ || frame_ == frame); |
2516 render_view_->didFirstVisuallyNonEmptyLayout(frame); | 2532 render_view_->didFirstVisuallyNonEmptyLayout(frame); |
| 2533 |
| 2534 if (!frame->parent()) { |
| 2535 GetRenderWidget()->SendSourceFrameNumberWhenReady( |
| 2536 render_view()->page_id_, |
| 2537 WIDGET_VISIBLE_STATE_FIRST_VISUALLY_NON_EMPTY_LAYOUT); |
| 2538 } |
2517 } | 2539 } |
2518 | 2540 |
2519 void RenderFrameImpl::didChangeContentsSize(blink::WebLocalFrame* frame, | 2541 void RenderFrameImpl::didChangeContentsSize(blink::WebLocalFrame* frame, |
2520 const blink::WebSize& size) { | 2542 const blink::WebSize& size) { |
2521 DCHECK(!frame_ || frame_ == frame); | 2543 DCHECK(!frame_ || frame_ == frame); |
2522 #if defined(OS_MACOSX) | 2544 #if defined(OS_MACOSX) |
2523 if (frame->parent()) | 2545 if (frame->parent()) |
2524 return; | 2546 return; |
2525 | 2547 |
2526 WebView* frameView = frame->view(); | 2548 WebView* frameView = frame->view(); |
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3219 selection_text_offset_ = offset; | 3241 selection_text_offset_ = offset; |
3220 selection_range_ = range; | 3242 selection_range_ = range; |
3221 // This IPC is dispatched by RenderWidetHost, so use its routing ID. | 3243 // This IPC is dispatched by RenderWidetHost, so use its routing ID. |
3222 Send(new ViewHostMsg_SelectionChanged( | 3244 Send(new ViewHostMsg_SelectionChanged( |
3223 GetRenderWidget()->routing_id(), text, offset, range)); | 3245 GetRenderWidget()->routing_id(), text, offset, range)); |
3224 } | 3246 } |
3225 GetRenderWidget()->UpdateSelectionBounds(); | 3247 GetRenderWidget()->UpdateSelectionBounds(); |
3226 } | 3248 } |
3227 | 3249 |
3228 } // namespace content | 3250 } // namespace content |
OLD | NEW |