RenderFrame.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
  3. * (C) 2000 Simon Hausmann <hausmann@kde.org>
  4. * (C) 2000 Stefan Schimanski (1Stein@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. #include "config.h"
  24. #include "RenderFrame.h"
  25. #include "FrameView.h"
  26. #include "HTMLFrameElement.h"
  27. #include "RenderView.h"
  28. namespace WebCore {
  29. RenderFrame::RenderFrame(HTMLFrameElement* frame)
  30. : RenderFrameBase(frame)
  31. {
  32. setInline(false);
  33. }
  34. FrameEdgeInfo RenderFrame::edgeInfo() const
  35. {
  36. HTMLFrameElement* element = static_cast<HTMLFrameElement*>(node());
  37. return FrameEdgeInfo(element->noResize(), element->hasFrameBorder());
  38. }
  39. void RenderFrame::updateFromElement()
  40. {
  41. if (parent() && parent()->isFrameSet())
  42. toRenderFrameSet(parent())->notifyFrameEdgeInfoChanged();
  43. }
  44. void RenderFrame::viewCleared()
  45. {
  46. HTMLFrameElement* element = static_cast<HTMLFrameElement*>(node());
  47. if (!element || !widget() || !widget()->isFrameView())
  48. return;
  49. FrameView* view = toFrameView(widget());
  50. int marginWidth = element->marginWidth();
  51. int marginHeight = element->marginHeight();
  52. if (marginWidth != -1)
  53. view->setMarginWidth(marginWidth);
  54. if (marginHeight != -1)
  55. view->setMarginHeight(marginHeight);
  56. }
  57. } // namespace WebCore