| 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/bind.h" | 10 #include "base/bind.h" |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 body_background_color_(SK_ColorWHITE), | 593 body_background_color_(SK_ColorWHITE), |
| 594 update_frame_info_scheduled_(false), | 594 update_frame_info_scheduled_(false), |
| 595 expected_content_intent_id_(0), | 595 expected_content_intent_id_(0), |
| 596 media_player_proxy_(NULL), | 596 media_player_proxy_(NULL), |
| 597 synchronous_find_active_match_ordinal_(-1), | 597 synchronous_find_active_match_ordinal_(-1), |
| 598 ALLOW_THIS_IN_INITIALIZER_LIST( | 598 ALLOW_THIS_IN_INITIALIZER_LIST( |
| 599 load_progress_tracker_(new LoadProgressTracker(this))), | 599 load_progress_tracker_(new LoadProgressTracker(this))), |
| 600 #endif | 600 #endif |
| 601 session_storage_namespace_id_(params->session_storage_namespace_id), | 601 session_storage_namespace_id_(params->session_storage_namespace_id), |
| 602 handling_select_range_(false), | 602 handling_select_range_(false), |
| 603 next_snapshot_id_(0), |
| 603 #if defined(OS_WIN) | 604 #if defined(OS_WIN) |
| 604 focused_plugin_id_(-1), | 605 focused_plugin_id_(-1), |
| 605 #endif | 606 #endif |
| 606 updating_frame_tree_(false), | 607 updating_frame_tree_(false), |
| 607 pending_frame_tree_update_(false), | 608 pending_frame_tree_update_(false), |
| 608 target_process_id_(0), | 609 target_process_id_(0), |
| 609 target_routing_id_(0) { | 610 target_routing_id_(0) { |
| 610 #if defined(ENABLE_PLUGINS) | 611 #if defined(ENABLE_PLUGINS) |
| 611 pepper_helper_.reset(new PepperPluginDelegateImpl(this)); | 612 pepper_helper_.reset(new PepperPluginDelegateImpl(this)); |
| 612 #else | 613 #else |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 IPC_MESSAGE_HANDLER(ViewMsg_CopyToFindPboard, OnCopyToFindPboard) | 1037 IPC_MESSAGE_HANDLER(ViewMsg_CopyToFindPboard, OnCopyToFindPboard) |
| 1037 IPC_MESSAGE_HANDLER(ViewMsg_PluginImeCompositionCompleted, | 1038 IPC_MESSAGE_HANDLER(ViewMsg_PluginImeCompositionCompleted, |
| 1038 OnPluginImeCompositionCompleted) | 1039 OnPluginImeCompositionCompleted) |
| 1039 IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) | 1040 IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) |
| 1040 IPC_MESSAGE_HANDLER(ViewMsg_SetInLiveResize, OnSetInLiveResize) | 1041 IPC_MESSAGE_HANDLER(ViewMsg_SetInLiveResize, OnSetInLiveResize) |
| 1041 IPC_MESSAGE_HANDLER(ViewMsg_SetWindowVisibility, OnSetWindowVisibility) | 1042 IPC_MESSAGE_HANDLER(ViewMsg_SetWindowVisibility, OnSetWindowVisibility) |
| 1042 IPC_MESSAGE_HANDLER(ViewMsg_WindowFrameChanged, OnWindowFrameChanged) | 1043 IPC_MESSAGE_HANDLER(ViewMsg_WindowFrameChanged, OnWindowFrameChanged) |
| 1043 #endif | 1044 #endif |
| 1044 IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupDIB, | 1045 IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupDIB, |
| 1045 OnReleaseDisambiguationPopupDIB) | 1046 OnReleaseDisambiguationPopupDIB) |
| 1047 IPC_MESSAGE_HANDLER(ViewMsg_WindowSnapshotCompleted, |
| 1048 OnWindowSnapshotCompleted) |
| 1046 | 1049 |
| 1047 // Have the super handle all other messages. | 1050 // Have the super handle all other messages. |
| 1048 IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message)) | 1051 IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message)) |
| 1049 IPC_END_MESSAGE_MAP() | 1052 IPC_END_MESSAGE_MAP() |
| 1050 | 1053 |
| 1051 if (!msg_is_ok) { | 1054 if (!msg_is_ok) { |
| 1052 // The message had a handler, but its deserialization failed. | 1055 // The message had a handler, but its deserialization failed. |
| 1053 // Kill the renderer to avoid potential spoofing attacks. | 1056 // Kill the renderer to avoid potential spoofing attacks. |
| 1054 CHECK(false) << "Unable to deserialize message in RenderViewImpl."; | 1057 CHECK(false) << "Unable to deserialize message in RenderViewImpl."; |
| 1055 } | 1058 } |
| (...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1750 // equivalent of WebView::willEnterModalLoop. In the case of showModalDialog | 1753 // equivalent of WebView::willEnterModalLoop. In the case of showModalDialog |
| 1751 // it is particularly important that we do not call willEnterModalLoop as | 1754 // it is particularly important that we do not call willEnterModalLoop as |
| 1752 // that would defer resource loads for the dialog itself. | 1755 // that would defer resource loads for the dialog itself. |
| 1753 if (RenderThreadImpl::current()) // Will be NULL during unit tests. | 1756 if (RenderThreadImpl::current()) // Will be NULL during unit tests. |
| 1754 RenderThreadImpl::current()->DoNotNotifyWebKitOfModalLoop(); | 1757 RenderThreadImpl::current()->DoNotNotifyWebKitOfModalLoop(); |
| 1755 | 1758 |
| 1756 message->EnableMessagePumping(); // Runs a nested message loop. | 1759 message->EnableMessagePumping(); // Runs a nested message loop. |
| 1757 return Send(message); | 1760 return Send(message); |
| 1758 } | 1761 } |
| 1759 | 1762 |
| 1763 void RenderViewImpl::GetWindowSnapshot(const WindowSnapshotCallback& callback) { |
| 1764 int id = next_snapshot_id_++; |
| 1765 pending_snapshots_.insert(std::make_pair(id, callback)); |
| 1766 Send(new ViewHostMsg_GetWindowSnapshot(routing_id_, id)); |
| 1767 } |
| 1768 |
| 1769 void RenderViewImpl::OnWindowSnapshotCompleted(const int snapshot_id, |
| 1770 const gfx::Size& size, const std::vector<unsigned char>& png) { |
| 1771 PendingSnapshotMap::iterator it = pending_snapshots_.find(snapshot_id); |
| 1772 DCHECK(it != pending_snapshots_.end()); |
| 1773 it->second.Run(size, png); |
| 1774 pending_snapshots_.erase(it); |
| 1775 } |
| 1776 |
| 1760 // WebKit::WebViewClient ------------------------------------------------------ | 1777 // WebKit::WebViewClient ------------------------------------------------------ |
| 1761 | 1778 |
| 1762 WebView* RenderViewImpl::createView( | 1779 WebView* RenderViewImpl::createView( |
| 1763 WebFrame* creator, | 1780 WebFrame* creator, |
| 1764 const WebURLRequest& request, | 1781 const WebURLRequest& request, |
| 1765 const WebWindowFeatures& features, | 1782 const WebWindowFeatures& features, |
| 1766 const WebString& frame_name, | 1783 const WebString& frame_name, |
| 1767 WebNavigationPolicy policy) { | 1784 WebNavigationPolicy policy) { |
| 1768 // Check to make sure we aren't overloading on popups. | 1785 // Check to make sure we aren't overloading on popups. |
| 1769 if (shared_popup_counter_->data > kMaximumNumberOfUnacknowledgedPopups) | 1786 if (shared_popup_counter_->data > kMaximumNumberOfUnacknowledgedPopups) |
| (...skipping 4712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6482 } | 6499 } |
| 6483 #endif | 6500 #endif |
| 6484 | 6501 |
| 6485 void RenderViewImpl::OnReleaseDisambiguationPopupDIB( | 6502 void RenderViewImpl::OnReleaseDisambiguationPopupDIB( |
| 6486 TransportDIB::Handle dib_handle) { | 6503 TransportDIB::Handle dib_handle) { |
| 6487 TransportDIB* dib = TransportDIB::CreateWithHandle(dib_handle); | 6504 TransportDIB* dib = TransportDIB::CreateWithHandle(dib_handle); |
| 6488 RenderProcess::current()->ReleaseTransportDIB(dib); | 6505 RenderProcess::current()->ReleaseTransportDIB(dib); |
| 6489 } | 6506 } |
| 6490 | 6507 |
| 6491 } // namespace content | 6508 } // namespace content |
| OLD | NEW |