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
3 // found in the LICENSE file.
6 #include "core/frame/RemoteFrameView.h"
8 #include "core/frame/RemoteFrame.h"
9 #include "core/rendering/RenderPart.h"
13 RemoteFrameView::RemoteFrameView(RemoteFrame* remoteFrame)
14 : m_remoteFrame(remoteFrame)
19 RemoteFrameView::~RemoteFrameView()
23 PassRefPtr<RemoteFrameView> RemoteFrameView::create(RemoteFrame* remoteFrame)
25 RefPtr<RemoteFrameView> view = adoptRef(new RemoteFrameView(remoteFrame));
27 return view.release();
30 void RemoteFrameView::invalidateRect(const IntRect& rect)
32 RenderPart* renderer = m_remoteFrame->ownerRenderer();
36 IntRect repaintRect = rect;
37 repaintRect.move(renderer->borderLeft() + renderer->paddingLeft(),
38 renderer->borderTop() + renderer->paddingTop());
39 renderer->invalidatePaintRectangle(repaintRect);
42 void RemoteFrameView::setFrameRect(const IntRect& newRect)
44 IntRect oldRect = frameRect();
46 if (newRect == oldRect)
49 Widget::setFrameRect(newRect);
54 void RemoteFrameView::frameRectsChanged()
56 // FIXME: Notify embedder via WebLocalFrameClient when that is possible.