summaryrefslogtreecommitdiffstats
path: root/khtml/html/html_baseimpl.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2013-01-26 13:17:21 -0600
committerTimothy Pearson <[email protected]>2013-01-26 13:17:21 -0600
commitdfe289850f068f19ba4a83ab4e7e22a7e09c13c9 (patch)
treec297348a55df66c571de4525646e0b9762427353 /khtml/html/html_baseimpl.cpp
parentb7658a0d5eca24a9d37c6e04f88298ef02389db0 (diff)
downloadtdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.tar.gz
tdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.zip
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'khtml/html/html_baseimpl.cpp')
-rw-r--r--khtml/html/html_baseimpl.cpp708
1 files changed, 0 insertions, 708 deletions
diff --git a/khtml/html/html_baseimpl.cpp b/khtml/html/html_baseimpl.cpp
deleted file mode 100644
index 0ed4e4888..000000000
--- a/khtml/html/html_baseimpl.cpp
+++ /dev/null
@@ -1,708 +0,0 @@
-/**
- * This file is part of the DOM implementation for KDE.
- *
- * Copyright (C) 1999 Lars Knoll ([email protected])
- * (C) 1999 Antti Koivisto ([email protected])
- * (C) 2000 Simon Hausmann ([email protected])
- * (C) 2001-2003 Dirk Mueller ([email protected])
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-// -------------------------------------------------------------------------
-
-#include "html/html_baseimpl.h"
-#include "html/html_documentimpl.h"
-
-#include "khtmlview.h"
-#include "khtml_part.h"
-
-#include "rendering/render_frames.h"
-#include "rendering/render_body.h"
-#include "css/cssstyleselector.h"
-#include "css/css_stylesheetimpl.h"
-#include "css/cssproperties.h"
-#include "css/cssvalues.h"
-#include "css/csshelper.h"
-#include "misc/loader.h"
-#include "misc/htmlhashes.h"
-#include "dom/dom_string.h"
-#include "dom/dom_doc.h"
-#include "xml/dom2_eventsimpl.h"
-
-#include <kurl.h>
-#include <kdebug.h>
-
-using namespace DOM;
-using namespace khtml;
-
-HTMLBodyElementImpl::HTMLBodyElementImpl(DocumentImpl *doc)
- : HTMLElementImpl(doc),
- m_bgSet( false ), m_fgSet( false )
-{
- m_styleSheet = 0;
-}
-
-HTMLBodyElementImpl::~HTMLBodyElementImpl()
-{
- if(m_styleSheet) m_styleSheet->deref();
-}
-
-NodeImpl::Id HTMLBodyElementImpl::id() const
-{
- return ID_BODY;
-}
-
-void HTMLBodyElementImpl::parseAttribute(AttributeImpl *attr)
-{
- switch(attr->id())
- {
-
- case ATTR_BACKGROUND:
- {
- TQString url = khtml::parseURL( attr->value() ).string();
- if (!url.isEmpty()) {
- url = getDocument()->completeURL( url );
- addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, "url('"+url+"')" );
- m_bgSet = true;
- }
- else {
- removeCSSProperty(CSS_PROP_BACKGROUND_IMAGE);
- m_bgSet = false;
- }
- break;
- }
- case ATTR_MARGINWIDTH: {
- KHTMLView* w = getDocument()->view();
- if (w)
- w->setMarginWidth( -1 ); // unset this, so it doesn't override the setting here
- addCSSLength(CSS_PROP_MARGIN_RIGHT, attr->value() );
- }
- /* nobreak; */
- case ATTR_LEFTMARGIN:
- addCSSLength(CSS_PROP_MARGIN_LEFT, attr->value() );
- break;
- case ATTR_MARGINHEIGHT: {
- KHTMLView* w = getDocument()->view();
- if (w)
- w->setMarginHeight( -1 ); // unset this, so it doesn't override the setting here
- addCSSLength(CSS_PROP_MARGIN_BOTTOM, attr->value());
- }
- /* nobreak */
- case ATTR_TOPMARGIN:
- addCSSLength(CSS_PROP_MARGIN_TOP, attr->value());
- break;
- case ATTR_BGCOLOR:
- addHTMLColor(CSS_PROP_BACKGROUND_COLOR, attr->value());
- m_bgSet = !attr->value().isNull();
- break;
- case ATTR_TEXT:
- addHTMLColor(CSS_PROP_COLOR, attr->value());
- m_fgSet = !attr->value().isNull();
- break;
- case ATTR_BGPROPERTIES:
- if ( strcasecmp( attr->value(), "fixed" ) == 0)
- addCSSProperty(CSS_PROP_BACKGROUND_ATTACHMENT, CSS_VAL_FIXED);
- break;
- case ATTR_VLINK:
- case ATTR_ALINK:
- case ATTR_LINK:
- {
- if(!m_styleSheet) {
- m_styleSheet = new CSSStyleSheetImpl(this,DOMString(),true);
- m_styleSheet->ref();
- }
- TQString aStr;
- if ( attr->id() == ATTR_LINK )
- aStr = "a:link";
- else if ( attr->id() == ATTR_VLINK )
- aStr = "a:visited";
- else if ( attr->id() == ATTR_ALINK )
- aStr = "a:active";
- aStr += " { color: " + attr->value().string() + "; }";
- m_styleSheet->parseString(aStr, !getDocument()->inCompatMode());
- m_styleSheet->setNonCSSHints();
- if (attached())
- getDocument()->updateStyleSelector();
- break;
- }
- case ATTR_ONLOAD:
- getDocument()->setHTMLWindowEventListener(EventImpl::LOAD_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onload", NULL));
- break;
- case ATTR_ONUNLOAD:
- getDocument()->setHTMLWindowEventListener(EventImpl::UNLOAD_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onunload", NULL));
- break;
- case ATTR_ONBLUR:
- getDocument()->setHTMLWindowEventListener(EventImpl::BLUR_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onblur", NULL));
- break;
- case ATTR_ONFOCUS:
- getDocument()->setHTMLWindowEventListener(EventImpl::FOCUS_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onfocus", NULL));
- break;
- case ATTR_ONRESIZE:
- getDocument()->setHTMLWindowEventListener(EventImpl::RESIZE_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onresize", NULL));
- break;
- case ATTR_ONKEYUP:
- getDocument()->setHTMLWindowEventListener(EventImpl::KEYUP_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onkeyup", NULL));
- break;
- case ATTR_ONKEYDOWN:
- getDocument()->setHTMLWindowEventListener(EventImpl::KEYDOWN_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onkeydown", NULL));
- break;
- case ATTR_ONKEYPRESS:
- getDocument()->setHTMLWindowEventListener(EventImpl::KEYPRESS_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onkeypress", NULL));
- break;
- case ATTR_ONSCROLL:
- getDocument()->setHTMLWindowEventListener(EventImpl::SCROLL_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onscroll", NULL));
- break;
- case ATTR_NOSAVE:
- break;
- default:
- HTMLElementImpl::parseAttribute(attr);
- }
-}
-
-void HTMLBodyElementImpl::insertedIntoDocument()
-{
- HTMLElementImpl::insertedIntoDocument();
-
- KHTMLView* w = getDocument()->view();
- if(w && w->marginWidth() != -1) {
- TQString s;
- s.sprintf( "%d", w->marginWidth() );
- addCSSLength(CSS_PROP_MARGIN_LEFT, s);
- addCSSLength(CSS_PROP_MARGIN_RIGHT, s);
- }
- if(w && w->marginHeight() != -1) {
- TQString s;
- s.sprintf( "%d", w->marginHeight() );
- addCSSLength(CSS_PROP_MARGIN_TOP, s);
- addCSSLength(CSS_PROP_MARGIN_BOTTOM, s);
- }
-
- if ( m_bgSet && !m_fgSet )
- addCSSProperty(CSS_PROP_COLOR, CSS_VAL_BLACK);
-
- if (m_styleSheet)
- getDocument()->updateStyleSelector();
-}
-
-void HTMLBodyElementImpl::removedFromDocument()
-{
- HTMLElementImpl::removedFromDocument();
-
- if (m_styleSheet)
- getDocument()->updateStyleSelector();
-}
-
-void HTMLBodyElementImpl::attach()
-{
- assert(!m_render);
- assert(parentNode());
-
- RenderStyle* style = getDocument()->styleSelector()->styleForElement(this);
- style->ref();
- if (parentNode()->renderer() && style->display() != NONE) {
- if (style->display() == BLOCK)
- // only use the quirky class for block display
- m_render = new (getDocument()->renderArena()) RenderBody(this);
- else
- m_render = RenderObject::createObject(this, style);
- m_render->setStyle(style);
- parentNode()->renderer()->addChild(m_render, nextRenderer());
- }
- style->deref();
-
- NodeBaseImpl::attach();
-}
-
-// -------------------------------------------------------------------------
-
-HTMLFrameElementImpl::HTMLFrameElementImpl(DocumentImpl *doc)
- : HTMLElementImpl(doc)
-{
- frameBorder = true;
- frameBorderSet = false;
- marginWidth = -1;
- marginHeight = -1;
- scrolling = TQScrollView::Auto;
- noresize = false;
- url = "about:blank";
-}
-
-HTMLFrameElementImpl::~HTMLFrameElementImpl()
-{
-}
-
-NodeImpl::Id HTMLFrameElementImpl::id() const
-{
- return ID_FRAME;
-}
-
-void HTMLFrameElementImpl::parseAttribute(AttributeImpl *attr)
-{
- switch(attr->id())
- {
- case ATTR_SRC:
- setLocation(khtml::parseURL(attr->val()));
- break;
- case ATTR_FRAMEBORDER:
- {
- frameBorder = attr->value().toInt();
- frameBorderSet = ( attr->val() != 0 );
- // FIXME: when attached, has no effect
- }
- break;
- case ATTR_MARGINWIDTH:
- marginWidth = attr->val()->toInt();
- // FIXME: when attached, has no effect
- break;
- case ATTR_MARGINHEIGHT:
- marginHeight = attr->val()->toInt();
- // FIXME: when attached, has no effect
- break;
- case ATTR_NORESIZE:
- noresize = true;
- // FIXME: when attached, has no effect
- break;
- case ATTR_SCROLLING:
- if( strcasecmp( attr->value(), "auto" ) == 0 )
- scrolling = TQScrollView::Auto;
- else if( strcasecmp( attr->value(), "yes" ) == 0 )
- scrolling = TQScrollView::AlwaysOn;
- else if( strcasecmp( attr->value(), "no" ) == 0 )
- scrolling = TQScrollView::AlwaysOff;
- // when attached, has no effect
- break;
- case ATTR_ONLOAD:
- setHTMLEventListener(EventImpl::LOAD_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onload", this));
- break;
- case ATTR_ONUNLOAD:
- setHTMLEventListener(EventImpl::UNLOAD_EVENT,
- getDocument()->createHTMLEventListener(attr->value().string(), "onunload", this));
- break;
- case ATTR_ID:
- case ATTR_NAME:
- // FIXME: if already attached, doesn't change the frame name
- // FIXME: frame name conflicts, no unique frame name anymore
- name = attr->value();
- //fallthrough intentional, let the base handle it
- default:
- HTMLElementImpl::parseAttribute(attr);
- }
-}
-
-void HTMLFrameElementImpl::attach()
-{
- assert(!attached());
- assert(parentNode());
-
- name = getAttribute(ATTR_NAME);
- if (name.isNull())
- name = getAttribute(ATTR_ID);
-
- // inherit default settings from parent frameset
- HTMLElementImpl* node = static_cast<HTMLElementImpl*>(parentNode());
- while(node)
- {
- if(node->id() == ID_FRAMESET)
- {
- HTMLFrameSetElementImpl* frameset = static_cast<HTMLFrameSetElementImpl*>(node);
- if(!frameBorderSet) frameBorder = frameset->frameBorder();
- if(!noresize) noresize = frameset->noResize();
- break;
- }
- node = static_cast<HTMLElementImpl*>(node->parentNode());
- }
-
- if (parentNode()->renderer() && getDocument()->isURLAllowed(url.string())) {
- RenderStyle* _style = getDocument()->styleSelector()->styleForElement(this);
- _style->ref();
- if ( _style->display() != NONE ) {
- m_render = new (getDocument()->renderArena()) RenderFrame(this);
- m_render->setStyle(_style);
- parentNode()->renderer()->addChild(m_render, nextRenderer());
- }
- _style->deref();
- }
-
- NodeBaseImpl::attach();
-
- if (!m_render)
- return;
-
- KHTMLView* w = getDocument()->view();
- if (w) {
- // we need a unique name for every frame in the frameset. Hope that's unique enough.
- if(name.isEmpty() || w->part()->frameExists( name.string() ) )
- name = DOMString(w->part()->requestFrameName());
-
- // load the frame contents
- w->part()->requestFrame( static_cast<RenderFrame*>(m_render), url.string(), name.string() );
- }
-}
-
-void HTMLFrameElementImpl::setLocation( const DOMString& str )
-{
-
- url = str;
-
- if( !attached() )
- return;
-
- if( !m_render ) {
- detach();
- attach();
- return;
- }
-
- if( !getDocument()->isURLAllowed(url.string()) )
- return;
-
- // load the frame contents
- KHTMLView *w = getDocument()->view();
- if (w) {
- KHTMLPart *part = w->part()->findFrame( name.string() );
- if ( part ) {
- part->openURL( KURL( getDocument()->completeURL( url.string() ) ) );
- } else {
- w->part()->requestFrame( static_cast<RenderFrame*>( m_render ), url.string(), name.string() );
- }
- }
-}
-
-bool HTMLFrameElementImpl::isFocusable() const
-{
- return m_render!=0;
-}
-
-void HTMLFrameElementImpl::setFocus(bool received)
-{
- HTMLElementImpl::setFocus(received);
- khtml::RenderFrame *renderFrame = static_cast<khtml::RenderFrame *>(m_render);
- if (!renderFrame || !renderFrame->widget())
- return;
- if (received)
- renderFrame->widget()->setFocus();
- else
- renderFrame->widget()->clearFocus();
-}
-
-DocumentImpl* HTMLFrameElementImpl::contentDocument() const
-{
- if ( !m_render ) return 0;
-
- RenderPart* render = static_cast<RenderPart*>( m_render );
-
- if(render->widget() && ::tqqt_cast<KHTMLView*>( render->widget()) )
- return static_cast<KHTMLView*>( render->widget() )->part()->xmlDocImpl();
-
- return 0;
-}
-
-KHTMLPart* HTMLFrameElementImpl::contentPart() const
-{
- if ( !m_render ) return 0;
-
- RenderPart* render = static_cast<RenderPart*>( m_render );
-
- if(render->widget() && ::tqqt_cast<KHTMLView*>( render->widget()) )
- return static_cast<KHTMLView*>( render->widget() )->part();
-
- return 0;
-}
-
-// -------------------------------------------------------------------------
-
-HTMLFrameSetElementImpl::HTMLFrameSetElementImpl(DocumentImpl *doc)
- : HTMLElementImpl(doc)
-{
- // default value for rows and cols...
- m_totalRows = 1;
- m_totalCols = 1;
-
- m_rows = m_cols = 0;
-
- frameborder = true;
- frameBorderSet = false;
- m_border = 4;
- noresize = false;
-
- m_resizing = false;
-
- m_onLoad = m_onUnLoad = 0;
-}
-
-HTMLFrameSetElementImpl::~HTMLFrameSetElementImpl()
-{
- //### this is likely not quite right since we may be effectively "overriding" some old value,
- //which needs to be recomputed, but this is better than crashing...
- if (getDocument()) {
- if (m_onLoad && getDocument()->getHTMLEventListener(EventImpl::LOAD_EVENT) == m_onLoad)
- getDocument()->setHTMLEventListener(EventImpl::LOAD_EVENT, 0);
-
- if (m_onUnLoad && getDocument()->getHTMLEventListener(EventImpl::UNLOAD_EVENT) == m_onUnLoad)
- getDocument()->setHTMLEventListener(EventImpl::UNLOAD_EVENT, 0);
- }
-
- delete [] m_rows;
- delete [] m_cols;
-}
-
-NodeImpl::Id HTMLFrameSetElementImpl::id() const
-{
- return ID_FRAMESET;
-}
-
-void HTMLFrameSetElementImpl::parseAttribute(AttributeImpl *attr)
-{
- switch(attr->id())
- {
- case ATTR_ROWS:
- if (!attr->val()) break;
- delete [] m_rows;
- m_rows = attr->val()->toLengthArray(m_totalRows);
- setChanged();
- break;
- case ATTR_COLS:
- if (!attr->val()) break;
- delete [] m_cols;
- m_cols = attr->val()->toLengthArray(m_totalCols);
- setChanged();
- break;
- case ATTR_FRAMEBORDER:
- // false or "no" or "0"..
- if ( attr->value().toInt() == 0 ) {
- frameborder = false;
- m_border = 0;
- }
- frameBorderSet = true;
- break;
- case ATTR_NORESIZE:
- noresize = true;
- break;
- case ATTR_BORDER:
- m_border = attr->val()->toInt();
- if(!m_border)
- frameborder = false;
- break;
- case ATTR_ONLOAD:
- m_onLoad = getDocument()->createHTMLEventListener(attr->value().string(), "onload", this);
- getDocument()->setHTMLEventListener(EventImpl::LOAD_EVENT, m_onLoad);
- break;
- case ATTR_ONUNLOAD:
- m_onUnLoad = getDocument()->createHTMLEventListener(attr->value().string(), "onunload", this);
- getDocument()->setHTMLEventListener(EventImpl::UNLOAD_EVENT, m_onUnLoad);
- break;
- default:
- HTMLElementImpl::parseAttribute(attr);
- }
-}
-
-void HTMLFrameSetElementImpl::attach()
-{
- assert(!attached() );
- assert(parentNode());
-
- // inherit default settings from parent frameset
- HTMLElementImpl* node = static_cast<HTMLElementImpl*>(parentNode());
- while(node)
- {
- if(node->id() == ID_FRAMESET)
- {
- HTMLFrameSetElementImpl* frameset = static_cast<HTMLFrameSetElementImpl*>(node);
- if(!frameBorderSet) frameborder = frameset->frameBorder();
- if(!noresize) noresize = frameset->noResize();
- break;
- }
- node = static_cast<HTMLElementImpl*>(node->parentNode());
- }
-
- // ignore display: none
- if ( parentNode()->renderer() ) {
- m_render = new (getDocument()->renderArena()) RenderFrameSet(this);
- m_render->setStyle(getDocument()->styleSelector()->styleForElement(this));
- parentNode()->renderer()->addChild(m_render, nextRenderer());
- }
-
- NodeBaseImpl::attach();
-}
-
-void HTMLFrameSetElementImpl::defaultEventHandler(EventImpl *evt)
-{
- if (evt->isMouseEvent() && !noresize && m_render)
- static_cast<khtml::RenderFrameSet *>(m_render)->userResize(static_cast<MouseEventImpl*>(evt));
-
- evt->setDefaultHandled();
- HTMLElementImpl::defaultEventHandler(evt);
-}
-
-void HTMLFrameSetElementImpl::detach()
-{
- if(attached())
- // ### send the event when we actually get removed from the doc instead of here
- getDocument()->dispatchHTMLEvent(EventImpl::UNLOAD_EVENT,false,false);
-
- HTMLElementImpl::detach();
-}
-
-void HTMLFrameSetElementImpl::recalcStyle( StyleChange ch )
-{
- if (changed() && m_render) {
- m_render->setNeedsLayout(true);
-// m_render->layout();
- setChanged(false);
- }
- HTMLElementImpl::recalcStyle( ch );
-}
-
-
-// -------------------------------------------------------------------------
-
-NodeImpl::Id HTMLHeadElementImpl::id() const
-{
- return ID_HEAD;
-}
-
-// -------------------------------------------------------------------------
-
-NodeImpl::Id HTMLHtmlElementImpl::id() const
-{
- return ID_HTML;
-}
-
-
-// -------------------------------------------------------------------------
-
-HTMLIFrameElementImpl::HTMLIFrameElementImpl(DocumentImpl *doc) : HTMLFrameElementImpl(doc)
-{
- frameBorder = false;
- marginWidth = 0;
- marginHeight = 0;
- needWidgetUpdate = false;
- m_frame = true;
-}
-
-HTMLIFrameElementImpl::~HTMLIFrameElementImpl()
-{
-}
-
-NodeImpl::Id HTMLIFrameElementImpl::id() const
-{
- return ID_IFRAME;
-}
-
-void HTMLIFrameElementImpl::parseAttribute(AttributeImpl *attr )
-{
- switch ( attr->id() )
- {
- case ATTR_WIDTH:
- if (!attr->value().isEmpty())
- addCSSLength(CSS_PROP_WIDTH, attr->value());
- else
- removeCSSProperty(CSS_PROP_WIDTH);
- break;
- case ATTR_HEIGHT:
- if (!attr->value().isEmpty())
- addCSSLength(CSS_PROP_HEIGHT, attr->value());
- else
- removeCSSProperty(CSS_PROP_HEIGHT);
- break;
- case ATTR_ALIGN:
- addHTMLAlignment( attr->value() );
- break;
- case ATTR_SRC:
- needWidgetUpdate = true; // ### do this for scrolling, margins etc?
- HTMLFrameElementImpl::parseAttribute( attr );
- break;
- case ATTR_FRAMEBORDER:
- {
- m_frame = (!attr->val() || attr->value().toInt() > 0);
- if (attached()) updateFrame();
- }
- default:
- HTMLFrameElementImpl::parseAttribute( attr );
- }
-}
-
-void HTMLIFrameElementImpl::updateFrame()
-{
- if (m_frame) {
- addCSSProperty(CSS_PROP_BORDER_TOP_STYLE, CSS_VAL_OUTSET);
- addCSSProperty(CSS_PROP_BORDER_BOTTOM_STYLE, CSS_VAL_OUTSET);
- addCSSProperty(CSS_PROP_BORDER_LEFT_STYLE, CSS_VAL_OUTSET);
- addCSSProperty(CSS_PROP_BORDER_RIGHT_STYLE, CSS_VAL_OUTSET);
- addCSSLength(CSS_PROP_BORDER_WIDTH, "2");
- } else {
- addCSSProperty(CSS_PROP_BORDER_TOP_STYLE, CSS_VAL_NONE);
- addCSSProperty(CSS_PROP_BORDER_BOTTOM_STYLE, CSS_VAL_NONE);
- addCSSProperty(CSS_PROP_BORDER_LEFT_STYLE, CSS_VAL_NONE);
- addCSSProperty(CSS_PROP_BORDER_RIGHT_STYLE, CSS_VAL_NONE);
- removeCSSProperty(CSS_PROP_BORDER_WIDTH);
- }
-
-}
-
-void HTMLIFrameElementImpl::attach()
-{
- assert(!attached());
- assert(!m_render);
- assert(parentNode());
-
- updateFrame();
- name = getAttribute(ATTR_NAME);
- if (name.isNull())
- name = getAttribute(ATTR_ID);
-
- RenderStyle* style = getDocument()->styleSelector()->styleForElement(this);
- style->ref();
- if (getDocument()->isURLAllowed(url.string()) &&
- parentNode()->renderer() && style->display() != NONE) {
- m_render = new (getDocument()->renderArena()) RenderPartObject(this);
- m_render->setStyle(style);
- parentNode()->renderer()->addChild(m_render, nextRenderer());
- }
- style->deref();
-
- NodeBaseImpl::attach();
-
- if (m_render) {
- // we need a unique name for every frame in the frameset. Hope that's unique enough.
- KHTMLView* w = getDocument()->view();
- if(w && (name.isEmpty() || w->part()->frameExists( name.string() )))
- name = DOMString(w->part()->requestFrameName());
-
- needWidgetUpdate = false;
- static_cast<RenderPartObject*>(m_render)->updateWidget();
- }
-}
-
-void HTMLIFrameElementImpl::recalcStyle( StyleChange ch )
-{
- if (needWidgetUpdate) {
- needWidgetUpdate = false;
- if(m_render) static_cast<RenderPartObject*>(m_render)->updateWidget();
- }
- HTMLElementImpl::recalcStyle( ch );
-}
-