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 #include "content/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1496 } | 1496 } |
| 1497 | 1497 |
| 1498 void RenderViewImpl::OnScrollFocusedEditableNodeIntoRect( | 1498 void RenderViewImpl::OnScrollFocusedEditableNodeIntoRect( |
| 1499 const gfx::Rect& rect) { | 1499 const gfx::Rect& rect) { |
| 1500 if (has_scrolled_focused_editable_node_into_rect_ && | 1500 if (has_scrolled_focused_editable_node_into_rect_ && |
| 1501 rect == rect_for_scrolled_focused_editable_node_) { | 1501 rect == rect_for_scrolled_focused_editable_node_) { |
| 1502 return; | 1502 return; |
| 1503 } | 1503 } |
| 1504 | 1504 |
| 1505 blink::WebElement element = GetFocusedElement(); | 1505 blink::WebElement element = GetFocusedElement(); |
| 1506 bool will_animate = false; | |
| 1506 if (!element.isNull() && IsEditableNode(element)) { | 1507 if (!element.isNull() && IsEditableNode(element)) { |
| 1507 rect_for_scrolled_focused_editable_node_ = rect; | 1508 rect_for_scrolled_focused_editable_node_ = rect; |
| 1508 has_scrolled_focused_editable_node_into_rect_ = true; | 1509 has_scrolled_focused_editable_node_into_rect_ = true; |
| 1509 webview()->scrollFocusedNodeIntoRect(rect); | 1510 will_animate = webview()->scrollFocusedNodeIntoRect(rect); |
| 1510 } | 1511 } |
| 1512 | |
| 1513 FOR_EACH_OBSERVER(RenderViewObserver, observers_, | |
|
aelias_OOO_until_Jul13
2014/11/22 03:38:11
It's brittle to tie the autofill showing up at all
please use gerrit instead
2014/11/24 20:22:31
FocusChangeComplete event is a good idea. On Andro
aelias_OOO_until_Jul13
2014/11/25 01:26:34
To be clear, what I'm suggesting is that we should
please use gerrit instead
2014/12/15 18:39:55
The step #2 (FocusComplete) is not necessary, beca
| |
| 1514 WillAnimatePageScale(will_animate)); | |
| 1511 } | 1515 } |
| 1512 | 1516 |
| 1513 void RenderViewImpl::OnSetEditCommandsForNextKeyEvent( | 1517 void RenderViewImpl::OnSetEditCommandsForNextKeyEvent( |
| 1514 const EditCommands& edit_commands) { | 1518 const EditCommands& edit_commands) { |
| 1515 edit_commands_ = edit_commands; | 1519 edit_commands_ = edit_commands; |
| 1516 } | 1520 } |
| 1517 | 1521 |
| 1518 void RenderViewImpl::OnSetHistoryLengthAndPrune(int history_length, | 1522 void RenderViewImpl::OnSetHistoryLengthAndPrune(int history_length, |
| 1519 int32 minimum_page_id) { | 1523 int32 minimum_page_id) { |
| 1520 DCHECK_GE(history_length, 0); | 1524 DCHECK_GE(history_length, 0); |
| (...skipping 2320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3841 } | 3845 } |
| 3842 | 3846 |
| 3843 void RenderViewImpl::InstrumentWillComposite() { | 3847 void RenderViewImpl::InstrumentWillComposite() { |
| 3844 if (!webview()) | 3848 if (!webview()) |
| 3845 return; | 3849 return; |
| 3846 if (!webview()->devToolsAgent()) | 3850 if (!webview()->devToolsAgent()) |
| 3847 return; | 3851 return; |
| 3848 webview()->devToolsAgent()->willComposite(); | 3852 webview()->devToolsAgent()->willComposite(); |
| 3849 } | 3853 } |
| 3850 | 3854 |
| 3855 void RenderViewImpl::DidCompletePageScaleAnimation() { | |
| 3856 FOR_EACH_OBSERVER(RenderViewObserver, observers_, | |
| 3857 DidCompletePageScaleAnimation()); | |
| 3858 } | |
| 3859 | |
| 3851 void RenderViewImpl::SetScreenMetricsEmulationParameters( | 3860 void RenderViewImpl::SetScreenMetricsEmulationParameters( |
| 3852 float device_scale_factor, | 3861 float device_scale_factor, |
| 3853 const gfx::Point& root_layer_offset, | 3862 const gfx::Point& root_layer_offset, |
| 3854 float root_layer_scale) { | 3863 float root_layer_scale) { |
| 3855 if (webview() && compositor()) { | 3864 if (webview() && compositor()) { |
| 3856 webview()->setCompositorDeviceScaleFactorOverride(device_scale_factor); | 3865 webview()->setCompositorDeviceScaleFactorOverride(device_scale_factor); |
| 3857 webview()->setRootLayerTransform( | 3866 webview()->setRootLayerTransform( |
| 3858 blink::WebSize(root_layer_offset.x(), root_layer_offset.y()), | 3867 blink::WebSize(root_layer_offset.x(), root_layer_offset.y()), |
| 3859 root_layer_scale); | 3868 root_layer_scale); |
| 3860 } | 3869 } |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4226 std::vector<gfx::Size> sizes; | 4235 std::vector<gfx::Size> sizes; |
| 4227 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); | 4236 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); |
| 4228 if (!url.isEmpty()) | 4237 if (!url.isEmpty()) |
| 4229 urls.push_back( | 4238 urls.push_back( |
| 4230 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); | 4239 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); |
| 4231 } | 4240 } |
| 4232 SendUpdateFaviconURL(urls); | 4241 SendUpdateFaviconURL(urls); |
| 4233 } | 4242 } |
| 4234 | 4243 |
| 4235 } // namespace content | 4244 } // namespace content |
| OLD | NEW |