1 /* 2 * Copyright (C) 1999 Lars Knoll (knoll (at) kde.org) 3 * (C) 2000 Simon Hausmann <hausmann (at) kde.org> 4 * (C) 2000 Stefan Schimanski (1Stein (at) gmx.de) 5 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Library General Public 9 * License as published by the Free Software Foundation; either 10 * version 2 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Library General Public License for more details. 16 * 17 * You should have received a copy of the GNU Library General Public License 18 * along with this library; see the file COPYING.LIB. If not, write to 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 * Boston, MA 02110-1301, USA. 21 * 22 */ 23 24 #include "config.h" 25 #include "core/rendering/RenderFrame.h" 26 27 #include "core/html/HTMLFrameElement.h" 28 #include "core/page/FrameView.h" 29 30 namespace WebCore { 31 32 RenderFrame::RenderFrame(HTMLFrameElement* frame) 33 : RenderPart(frame) 34 { 35 setInline(false); 36 } 37 38 FrameEdgeInfo RenderFrame::edgeInfo() const 39 { 40 HTMLFrameElement* element = static_cast<HTMLFrameElement*>(node()); 41 return FrameEdgeInfo(element->noResize(), element->hasFrameBorder()); 42 } 43 44 void RenderFrame::updateFromElement() 45 { 46 if (parent() && parent()->isFrameSet()) 47 toRenderFrameSet(parent())->notifyFrameEdgeInfoChanged(); 48 } 49 50 void RenderFrame::viewCleared() 51 { 52 HTMLFrameElement* element = static_cast<HTMLFrameElement*>(node()); 53 if (!element || !widget() || !widget()->isFrameView()) 54 return; 55 56 FrameView* view = toFrameView(widget()); 57 58 int marginWidth = element->marginWidth(); 59 int marginHeight = element->marginHeight(); 60 61 if (marginWidth != -1) 62 view->setMarginWidth(marginWidth); 63 if (marginHeight != -1) 64 view->setMarginHeight(marginHeight); 65 } 66 67 } // namespace WebCore 68