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 "config.h" | 5 #include "config.h" |
6 #include "web/RemoteFrameClientImpl.h" | 6 #include "web/RemoteFrameClientImpl.h" |
7 | 7 |
8 #include "core/events/KeyboardEvent.h" | 8 #include "core/events/KeyboardEvent.h" |
9 #include "core/events/MouseEvent.h" | 9 #include "core/events/MouseEvent.h" |
10 #include "core/events/WheelEvent.h" | 10 #include "core/events/WheelEvent.h" |
11 #include "core/frame/RemoteFrame.h" | 11 #include "core/frame/RemoteFrame.h" |
12 #include "core/frame/RemoteFrameView.h" | 12 #include "core/frame/RemoteFrameView.h" |
13 #include "core/layout/LayoutPart.h" | 13 #include "core/layout/LayoutPart.h" |
14 #include "platform/exported/WrappedResourceRequest.h" | 14 #include "platform/exported/WrappedResourceRequest.h" |
15 #include "platform/weborigin/SecurityOrigin.h" | 15 #include "platform/weborigin/SecurityOrigin.h" |
16 #include "platform/weborigin/SecurityPolicy.h" | 16 #include "platform/weborigin/SecurityPolicy.h" |
17 #include "public/web/WebRemoteFrameClient.h" | 17 #include "public/web/WebRemoteFrameClient.h" |
18 #include "web/WebInputEventConversion.h" | 18 #include "web/WebInputEventConversion.h" |
19 #include "web/WebLocalFrameImpl.h" | 19 #include "web/WebLocalFrameImpl.h" |
20 #include "web/WebRemoteFrameImpl.h" | 20 #include "web/WebRemoteFrameImpl.h" |
21 | 21 |
22 namespace blink { | 22 namespace blink { |
23 | 23 |
24 RemoteFrameClientImpl::RemoteFrameClientImpl(WebRemoteFrameImpl* webFrame) | 24 RemoteFrameClientImpl::RemoteFrameClientImpl(WebRemoteFrameImpl* webFrame) |
25 : m_webFrame(webFrame) | 25 : m_webFrame(webFrame) |
26 { | 26 { |
27 } | 27 } |
28 | 28 |
| 29 PassOwnPtrWillBeRawPtr<RemoteFrameClientImpl> RemoteFrameClientImpl::create(WebR
emoteFrameImpl* webFrame) |
| 30 { |
| 31 return adoptPtrWillBeNoop(new RemoteFrameClientImpl(webFrame)); |
| 32 } |
| 33 |
| 34 DEFINE_TRACE(RemoteFrameClientImpl) |
| 35 { |
| 36 visitor->trace(m_webFrame); |
| 37 RemoteFrameClient::trace(visitor); |
| 38 } |
| 39 |
29 bool RemoteFrameClientImpl::inShadowTree() const | 40 bool RemoteFrameClientImpl::inShadowTree() const |
30 { | 41 { |
31 return m_webFrame->inShadowTree(); | 42 return m_webFrame->inShadowTree(); |
32 } | 43 } |
33 | 44 |
34 void RemoteFrameClientImpl::willBeDetached() | 45 void RemoteFrameClientImpl::willBeDetached() |
35 { | 46 { |
36 } | 47 } |
37 | 48 |
38 void RemoteFrameClientImpl::detached(FrameDetachType type) | 49 void RemoteFrameClientImpl::detached(FrameDetachType type) |
39 { | 50 { |
40 // Alert the client that the frame is being detached. | 51 // Alert the client that the frame is being detached. |
41 RefPtrWillBeRawPtr<WebRemoteFrameImpl> protector(m_webFrame); | 52 RefPtrWillBeRawPtr<WebRemoteFrameImpl> protector(m_webFrame.get()); |
42 | 53 |
43 WebRemoteFrameClient* client = m_webFrame->client(); | 54 WebRemoteFrameClient* client = m_webFrame->client(); |
44 if (!client) | 55 if (!client) |
45 return; | 56 return; |
46 | 57 |
47 client->frameDetached(static_cast<WebRemoteFrameClient::DetachType>(type)); | 58 client->frameDetached(static_cast<WebRemoteFrameClient::DetachType>(type)); |
48 // Clear our reference to RemoteFrame at the very end, in case the client | 59 // Clear our reference to RemoteFrame at the very end, in case the client |
49 // refers to it. | 60 // refers to it. |
50 m_webFrame->setCoreFrame(nullptr); | 61 m_webFrame->setCoreFrame(nullptr); |
51 } | 62 } |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 167 |
157 m_webFrame->client()->forwardInputEvent(webEvent.get()); | 168 m_webFrame->client()->forwardInputEvent(webEvent.get()); |
158 } | 169 } |
159 | 170 |
160 void RemoteFrameClientImpl::frameRectsChanged(const IntRect& frameRect) | 171 void RemoteFrameClientImpl::frameRectsChanged(const IntRect& frameRect) |
161 { | 172 { |
162 m_webFrame->client()->frameRectsChanged(frameRect); | 173 m_webFrame->client()->frameRectsChanged(frameRect); |
163 } | 174 } |
164 | 175 |
165 } // namespace blink | 176 } // namespace blink |
OLD | NEW |