| Index: third_party/WebKit/Source/core/frame/RemoteFrameView.cpp
|
| diff --git a/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp b/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp
|
| index dd784310388351f4ce3f7d68e0bb315fdfc4b21f..daadfd1becc9a7e5bf49e6956e4d4a8d3217fcaa 100644
|
| --- a/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp
|
| @@ -104,9 +104,9 @@ void RemoteFrameView::FrameRectsChanged() {
|
| // containing local frame root. The position of the local root within
|
| // any remote frames, if any, is accounted for by the embedder.
|
| IntRect new_rect = FrameRect();
|
| - if (Parent() && Parent()->IsFrameView())
|
| - new_rect = Parent()->ConvertToRootFrame(
|
| - ToFrameView(Parent())->ContentsToFrame(new_rect));
|
| + if (const FrameView* parent = ToFrameView(Parent()))
|
| + new_rect = parent->ConvertToRootFrame(parent->ContentsToFrame(new_rect));
|
| +
|
| remote_frame_->Client()->FrameRectsChanged(new_rect);
|
|
|
| UpdateRemoteViewportIntersection();
|
| @@ -135,6 +135,18 @@ void RemoteFrameView::SetParentVisible(bool visible) {
|
| remote_frame_->Client()->VisibilityChanged(IsVisible());
|
| }
|
|
|
| +IntRect RemoteFrameView::ConvertFromContainingFrameViewBase(
|
| + const IntRect& parent_rect) const {
|
| + if (const FrameView* parent = ToFrameView(Parent())) {
|
| + IntRect local_rect = parent_rect;
|
| + local_rect.SetLocation(
|
| + parent->ConvertSelfToChild(this, local_rect.Location()));
|
| + return local_rect;
|
| + }
|
| +
|
| + return parent_rect;
|
| +}
|
| +
|
| DEFINE_TRACE(RemoteFrameView) {
|
| visitor->Trace(remote_frame_);
|
| FrameViewBase::Trace(visitor);
|
|
|