| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "web/RemoteFrameClientImpl.h" | 5 #include "web/RemoteFrameClientImpl.h" |
| 6 | 6 |
| 7 #include "core/events/KeyboardEvent.h" | 7 #include "core/events/KeyboardEvent.h" |
| 8 #include "core/events/MouseEvent.h" | 8 #include "core/events/MouseEvent.h" |
| 9 #include "core/events/WheelEvent.h" | 9 #include "core/events/WheelEvent.h" |
| 10 #include "core/frame/RemoteFrame.h" | 10 #include "core/frame/RemoteFrame.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 Frame* RemoteFrameClientImpl::firstChild() const | 110 Frame* RemoteFrameClientImpl::firstChild() const |
| 111 { | 111 { |
| 112 return toCoreFrame(m_webFrame->firstChild()); | 112 return toCoreFrame(m_webFrame->firstChild()); |
| 113 } | 113 } |
| 114 | 114 |
| 115 Frame* RemoteFrameClientImpl::lastChild() const | 115 Frame* RemoteFrameClientImpl::lastChild() const |
| 116 { | 116 { |
| 117 return toCoreFrame(m_webFrame->lastChild()); | 117 return toCoreFrame(m_webFrame->lastChild()); |
| 118 } | 118 } |
| 119 | 119 |
| 120 bool RemoteFrameClientImpl::willCheckAndDispatchMessageEvent( | |
| 121 SecurityOrigin* target, MessageEvent* event, LocalFrame* sourceFrame) const | |
| 122 { | |
| 123 if (m_webFrame->client()) | |
| 124 m_webFrame->client()->postMessageEvent(WebLocalFrameImpl::fromFrame(sour
ceFrame), m_webFrame, WebSecurityOrigin(target), WebDOMMessageEvent(event)); | |
| 125 return true; | |
| 126 } | |
| 127 | |
| 128 void RemoteFrameClientImpl::frameFocused() const | 120 void RemoteFrameClientImpl::frameFocused() const |
| 129 { | 121 { |
| 130 if (m_webFrame->client()) | 122 if (m_webFrame->client()) |
| 131 m_webFrame->client()->frameFocused(); | 123 m_webFrame->client()->frameFocused(); |
| 132 } | 124 } |
| 133 | 125 |
| 134 void RemoteFrameClientImpl::navigate(const ResourceRequest& request, bool should
ReplaceCurrentEntry) | 126 void RemoteFrameClientImpl::navigate(const ResourceRequest& request, bool should
ReplaceCurrentEntry) |
| 135 { | 127 { |
| 136 if (m_webFrame->client()) | 128 if (m_webFrame->client()) |
| 137 m_webFrame->client()->navigate(WrappedResourceRequest(request), shouldRe
placeCurrentEntry); | 129 m_webFrame->client()->navigate(WrappedResourceRequest(request), shouldRe
placeCurrentEntry); |
| 138 } | 130 } |
| 139 | 131 |
| 140 void RemoteFrameClientImpl::reload(FrameLoadType loadType, ClientRedirectPolicy
clientRedirectPolicy) | 132 void RemoteFrameClientImpl::reload(FrameLoadType loadType, ClientRedirectPolicy
clientRedirectPolicy) |
| 141 { | 133 { |
| 142 ASSERT(loadType == FrameLoadTypeReload || loadType == FrameLoadTypeReloadByp
assingCache); | 134 ASSERT(loadType == FrameLoadTypeReload || loadType == FrameLoadTypeReloadByp
assingCache); |
| 143 if (m_webFrame->client()) | 135 if (m_webFrame->client()) |
| 144 m_webFrame->client()->reload(static_cast<WebFrameLoadType>(loadType), st
atic_cast<WebClientRedirectPolicy>(clientRedirectPolicy)); | 136 m_webFrame->client()->reload(static_cast<WebFrameLoadType>(loadType), st
atic_cast<WebClientRedirectPolicy>(clientRedirectPolicy)); |
| 145 } | 137 } |
| 146 | 138 |
| 147 unsigned RemoteFrameClientImpl::backForwardLength() | 139 unsigned RemoteFrameClientImpl::backForwardLength() |
| 148 { | 140 { |
| 149 // TODO(creis,japhet): This method should return the real value for the | 141 // TODO(creis,japhet): This method should return the real value for the |
| 150 // session history length. For now, return static value for the initial | 142 // session history length. For now, return static value for the initial |
| 151 // navigation and the subsequent one moving the frame out-of-process. | 143 // navigation and the subsequent one moving the frame out-of-process. |
| 152 // See https://crbug.com/501116. | 144 // See https://crbug.com/501116. |
| 153 return 2; | 145 return 2; |
| 154 } | 146 } |
| 155 | 147 |
| 148 void RemoteFrameClientImpl::forwardPostMessage( |
| 149 MessageEvent* event, PassRefPtr<SecurityOrigin> target, LocalFrame* sourceFr
ame) const |
| 150 { |
| 151 if (m_webFrame->client()) |
| 152 m_webFrame->client()->forwardPostMessage(WebLocalFrameImpl::fromFrame(so
urceFrame), m_webFrame, WebSecurityOrigin(target), WebDOMMessageEvent(event)); |
| 153 } |
| 154 |
| 156 // FIXME: Remove this code once we have input routing in the browser | 155 // FIXME: Remove this code once we have input routing in the browser |
| 157 // process. See http://crbug.com/339659. | 156 // process. See http://crbug.com/339659. |
| 158 void RemoteFrameClientImpl::forwardInputEvent(Event* event) | 157 void RemoteFrameClientImpl::forwardInputEvent(Event* event) |
| 159 { | 158 { |
| 160 // It is possible for a platform event to cause the remote iframe element | 159 // It is possible for a platform event to cause the remote iframe element |
| 161 // to be hidden, which destroys the layout object (for instance, a mouse | 160 // to be hidden, which destroys the layout object (for instance, a mouse |
| 162 // event that moves between elements will trigger a mouseout on the old | 161 // event that moves between elements will trigger a mouseout on the old |
| 163 // element, which might hide the new element). In that case we do not | 162 // element, which might hide the new element). In that case we do not |
| 164 // forward. This is divergent behavior from local frames, where the | 163 // forward. This is divergent behavior from local frames, where the |
| 165 // content of the frame can receive events even after the frame is hidden. | 164 // content of the frame can receive events even after the frame is hidden. |
| (...skipping 29 matching lines...) Expand all Loading... |
| 195 { | 194 { |
| 196 m_webFrame->client()->advanceFocus(type, WebLocalFrameImpl::fromFrame(source
)); | 195 m_webFrame->client()->advanceFocus(type, WebLocalFrameImpl::fromFrame(source
)); |
| 197 } | 196 } |
| 198 | 197 |
| 199 void RemoteFrameClientImpl::visibilityChanged(bool visible) | 198 void RemoteFrameClientImpl::visibilityChanged(bool visible) |
| 200 { | 199 { |
| 201 m_webFrame->client()->visibilityChanged(visible); | 200 m_webFrame->client()->visibilityChanged(visible); |
| 202 } | 201 } |
| 203 | 202 |
| 204 } // namespace blink | 203 } // namespace blink |
| OLD | NEW |