blob: 68ebc918fc8f9e2df76c7e5c6ffd4ff02aece474 [file] [log] [blame]
2006-03-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/
* manual-tests/empty-script-crash.html: Added.
2006-03-27 Maciej Stachowiak <mjs@apple.com>
Build fix:
- reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node
It turns out that the behavior we had was standards-compliant and
Moz will be changing to match.
Also added a note so this doesn't get reverted again.
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchGenericEvent):
2006-03-26 Justin Garcia <justin.garcia@apple.com>
Reviewed by darn
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
Add EditActions and WebUndoActions for CreateLink and Unlink
* bridge/mac/WebCoreFrameBridge.h:
* editing/CreateLinkCommand.h:
(WebCore::CreateLinkCommand::editingAction):
* editing/EditAction.h:
* editing/UnlinkCommand.h:
(WebCore::UnlinkCommand::editingAction):
2006-03-26 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix win32 build.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* editing/CompositeEditCommand.cpp:
* editing/InsertTextCommand.cpp:
* generate-derived-sources:
2006-03-26 Eric Seidel <eseidel@apple.com>
* dom/Element.cpp: fix include case, fixing build.
2006-03-25 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by darin. Landed by eseidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7916
Box repaint rect does not include the left overflow
* manual-tests/left-overflow-repaint.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight
to overflowWidth() and overflowHeight() since RenderTable overrides the latter.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows.
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code.
* rendering/RenderTableCell.cpp: Removed subclass implementation of
getAbsoluteRepaintRect().
* rendering/RenderTableCell.h:
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect.
2006-03-25 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Build fix.
* bindings/scripts/CodeGeneratorJS.pm: include Element.h
2006-03-25 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Split dom_elementimpl.* into multiple files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=7978
* ForwardingHeaders/kdom/core/Attr.h: Removed.
* ForwardingHeaders/kdom/core/Element.h: Removed.
* ForwardingHeaders/kdom/core/XMLElement.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
* bindings/objc/DOMHTML.mm:
* bindings/scripts/CodeGeneratorJS.pm:
* dom/AbstractView.cpp:
* dom/Attr.cpp: Added.
* dom/Attr.h: Added.
* dom/Attribute.cpp: Added.
* dom/Attribute.h: Added.
* dom/CSSMappedAttributeDeclaration.cpp: Added.
* dom/CSSMappedAttributeDeclaration.h: Added.
* dom/DOMImplementation.cpp:
* dom/Document.h:
* dom/DocumentType.cpp:
* dom/Element.cpp: Added.
(WebCore::Element::Element):
(WebCore::Element::~Element):
* dom/Element.h: Added.
* dom/EventNames.cpp:
* dom/EventTargetNode.cpp:
* dom/MappedAttribute.cpp: Added.
* dom/MappedAttribute.h: Added.
* dom/MappedAttributeEntry.h: Added.
(WebCore::):
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::item):
(WebCore::NameNodeList::nodeMatches):
* dom/NamedAttrMap.cpp: Added.
* dom/NamedAttrMap.h: Added.
* dom/NamedMappedAttrMap.cpp: Added.
(WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
* dom/NamedMappedAttrMap.h: Added.
* dom/Node.cpp:
* dom/NodeList.cpp:
* dom/Position.cpp:
* dom/StyledElement.cpp: Added.
* dom/StyledElement.h: Added.
* dom/dom_elementimpl.cpp: Removed.
* dom/dom_elementimpl.h: Removed.
* editing/BreakBlockquoteCommand.cpp:
* editing/CompositeEditCommand.cpp:
* editing/DeleteFromTextNodeCommand.cpp:
* editing/DeleteSelectionCommand.cpp:
* editing/InsertLineBreakCommand.cpp:
* editing/InsertParagraphSeparatorCommand.cpp:
* editing/InsertTextCommand.cpp:
* editing/MergeIdenticalElementsCommand.cpp:
* editing/ModifySelectionListLevelCommand.cpp:
* editing/MoveSelectionCommand.cpp:
* editing/RemoveCSSPropertyCommand.cpp:
* editing/RemoveNodeAttributeCommand.cpp:
* editing/Selection.cpp:
* editing/SelectionController.cpp:
* editing/SetNodeAttributeCommand.cpp:
* editing/SplitElementCommand.cpp:
* editing/SplitTextNodeContainingElementCommand.cpp:
* editing/TextIterator.cpp:
* editing/TypingCommand.cpp:
* editing/VisiblePosition.cpp:
* editing/visible_units.cpp:
* html/HTMLElement.h:
* html/HTMLTokenizer.h:
* html/html_baseimpl.cpp:
* kcanvas/RenderSVGImage.cpp:
* khtml/ecma/kjs_views.cpp:
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
* khtml/xbl/xbl_binding_manager.cpp:
* khtml/xbl/xbl_tokenizer.cpp:
* ksvg2/misc/SVGImageLoader.cpp:
* ksvg2/svg/SVGAElement.cpp:
* ksvg2/svg/SVGAnimateTransformElement.cpp:
* ksvg2/svg/SVGAnimationElement.cpp:
* ksvg2/svg/SVGCircleElement.cpp:
* ksvg2/svg/SVGClipPathElement.cpp:
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
* ksvg2/svg/SVGCursorElement.cpp:
* ksvg2/svg/SVGElement.cpp:
(WebCore::SVGElement::SVGElement):
* ksvg2/svg/SVGElement.h:
* ksvg2/svg/SVGEllipseElement.cpp:
* ksvg2/svg/SVGExternalResourcesRequired.cpp:
* ksvg2/svg/SVGFEBlendElement.cpp:
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
* ksvg2/svg/SVGFEComponentTransferElement.cpp:
* ksvg2/svg/SVGFECompositeElement.cpp:
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
* ksvg2/svg/SVGFEDisplacementMapElement.cpp:
* ksvg2/svg/SVGFEFloodElement.cpp:
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
* ksvg2/svg/SVGFEImageElement.cpp:
* ksvg2/svg/SVGFELightElement.cpp:
* ksvg2/svg/SVGFEMergeElement.cpp:
* ksvg2/svg/SVGFEMergeNodeElement.cpp:
* ksvg2/svg/SVGFEOffsetElement.cpp:
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
* ksvg2/svg/SVGFETileElement.cpp:
* ksvg2/svg/SVGFETurbulenceElement.cpp:
* ksvg2/svg/SVGFilterElement.cpp:
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
* ksvg2/svg/SVGFitToViewBox.cpp:
* ksvg2/svg/SVGGradientElement.cpp:
* ksvg2/svg/SVGImageElement.cpp:
* ksvg2/svg/SVGLangSpace.cpp:
* ksvg2/svg/SVGLineElement.cpp:
* ksvg2/svg/SVGLinearGradientElement.cpp:
* ksvg2/svg/SVGMarkerElement.cpp:
* ksvg2/svg/SVGMaskElement.cpp:
* ksvg2/svg/SVGPathElement.cpp:
* ksvg2/svg/SVGPatternElement.cpp:
* ksvg2/svg/SVGPolyElement.cpp:
* ksvg2/svg/SVGRadialGradientElement.cpp:
* ksvg2/svg/SVGRectElement.cpp:
* ksvg2/svg/SVGSVGElement.cpp:
* ksvg2/svg/SVGScriptElement.cpp:
* ksvg2/svg/SVGStopElement.cpp:
* ksvg2/svg/SVGStyledElement.cpp:
* ksvg2/svg/SVGStyledTransformableElement.cpp:
* ksvg2/svg/SVGSwitchElement.cpp:
* ksvg2/svg/SVGTests.cpp:
* ksvg2/svg/SVGTextContentElement.cpp:
* ksvg2/svg/SVGTextPositioningElement.cpp:
* ksvg2/svg/SVGTransformable.cpp:
* ksvg2/svg/SVGURIReference.cpp:
* ksvg2/svg/SVGUseElement.cpp:
* ksvg2/svg/SVGViewElement.cpp:
* ksvg2/svg/SVGZoomAndPan.cpp:
* kwq/WebCoreTextArea.mm:
* platform/Widget.h:
* rendering/RenderBlock.cpp:
* rendering/RenderCanvas.cpp:
* rendering/RenderContainer.cpp:
* rendering/RenderObject.cpp:
* rendering/RenderTextField.cpp:
* rendering/RenderThemeMac.mm:
* rendering/bidi.cpp:
* rendering/render_replaced.cpp:
2006-03-25 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix RenderStyle creation to avoid floating RenderStyle objects.
This also fixes a bug, were SVG to ever start sharing RenderStyles
between elements, code would have crashed as there were improperly
paired style->deref() statements in SVG code.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7976
No test possible (no functionality change).
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::createStyleForElement):
(WebCore::CSSStyleSelector::createPseudoStyleForElement):
* css/cssstyleselector.h:
* dom/Node.cpp:
(WebCore::Node::createRendererIfNeeded):
(WebCore::Node::createStyleForRenderer):
* dom/Node.h:
* dom/dom_elementimpl.cpp:
(WebCore::Element::createStyleForRenderer):
(WebCore::Element::recalcStyle):
* dom/dom_elementimpl.h:
* ksvg2/svg/SVGClipPathElement.cpp:
(SVGClipPathElement::canvasResource):
* ksvg2/svg/SVGFEFloodElement.cpp:
(SVGFEFloodElement::filterEffect):
* ksvg2/svg/SVGGradientElement.cpp:
(SVGGradientElement::rebuildStops):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
(WebCore::RenderObject::RenderObject):
(WebCore::selectStartNode):
(WebCore::RenderObject::draggableNode):
(WebCore::RenderObject::getPseudoStyle):
2006-03-23 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Shave .2% on PLT by removing bogus strcmp.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7938
Test: fast/parser/tag-with-exclamation-point.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag): remove bogus strcmp
2006-03-25 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7683>
TinyMCE: execCommand("Unlink") unimplemented
Added code to push partially selected anchor elements down before
creating or removing links to create fully selected chunks that can be removed.
Changed __create_link_command_h__ to CreateLinkCommand_h
Gave styled element application/removal its own ApplyStyleCommand constructor.
Still need to add new EditActions (7974).
* WebCore.xcodeproj/project.pbxproj:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/ApplyStyleCommand.h:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::applyStyle):
(WebCore::CompositeEditCommand::applyStyledElement):
(WebCore::CompositeEditCommand::removeStyledElement):
(WebCore::enclosingAnchorElement):
(WebCore::CompositeEditCommand::pushAnchorElementDown):
(WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
* editing/CompositeEditCommand.h:
* editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply):
* editing/CreateLinkCommand.h:
* editing/JSEditor.cpp:
* editing/Selection.cpp:
(WebCore::Selection::selectionFromContentsOfNode):
* editing/Selection.h:
* editing/UnlinkCommand.cpp: Added.
(WebCore::UnlinkCommand::UnlinkCommand):
(WebCore::UnlinkCommand::doApply):
* editing/UnlinkCommand.h: Added.
* page/Frame.cpp:
(WebCore::Frame::selectContentsOfNode):
(WebCore::Frame::computeAndSetTypingStyle):
(WebCore::Frame::applyStyle):
(WebCore::Frame::applyParagraphStyle):
2006-03-24 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7955>
REGRESSION: Content with an interchange newline lost when pasted at the end of the document
There's no safe place in the document to keep the fragment while pasting, so I avoid
isProbablyBlock by saving whether or not something was blockFlow during the test
insertion.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::~ReplacementFragment):
(WebCore::ReplacementFragment::firstChild):
(WebCore::ReplacementFragment::lastChild):
(WebCore::ReplacementFragment::mergeStartNode):
(WebCore::ReplacementFragment::enclosingBlock):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment):
(WebCore::ReplacementFragment::isBlockFlow):
(WebCore::ReplaceSelectionCommand::fixupNodeStyles):
(WebCore::styleForNode):
(WebCore::ReplacementFragment::saveRenderingInfo):
(WebCore::ReplacementFragment::removeUnrenderedNodes):
(WebCore::ReplacementFragment::renderedBlocks):
(WebCore::ReplacementFragment::removeStyleNodes):
(WebCore::RenderingInfo::RenderingInfo):
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::doApply):
* editing/ReplaceSelectionCommand.h:
(WebCore::RenderingInfo::isBlockFlow):
(WebCore::ReplacementFragment::renderingInfo):
(WebCore::ReplacementFragment::nodes):
2006-03-24 Eric Seidel <eseidel@apple.com>
Reviewed by justing.
* generate-derived-sources: fix clean builds on mac.
2006-03-24 Darin Adler <darin@apple.com>
Reviewed by Dave Harrison.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7942
nightlies after r13387 break js createcontextualfragment
Test: fast/dom/Range/create-contextual-fragment.html
* dom/Range.idl: Add createContextualFragment.
2006-03-24 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix win32 build.
Unify mac/win dependency handling.
Fix class vs. struct linker problem for win32.
* WebCore.vcproj/WebCore/WebCore.vcproj: Add DerivedSources
* WebCore.vcproj/WebCore/build-generated-files.sh:
* bridge/win/BrowserExtensionWin.h:
* bridge/win/FrameWin.h:
* generate-derived-sources:
* kwq/AccessibilityObjectCache.h:
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::createGraphicsContextPrivate):
(WebCore::GraphicsContext::destroyGraphicsContextPrivate):
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
* platform/mac/GraphicsContextMac.mm:
* platform/win/TemporaryLinkStubs.cpp:
(QLineEdit::selectedText):
(FrameWin::createPlugin):
(BrowserExtensionWin::setTypedIconURL):
2006-03-23 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix <rdar://problem/4484787> KWQAccObject dangles under GC
* kwq/AccessibilityObjectCache.h: Moved AccessibilityObjectCache into the WebCore
namespace. Renamed accObject to get, removed setAccObject, renamed removeAccObject
to remove, removed getAccObjectID, renamed removeAXObjectID to removeAXID, change
from CF dictionaries to HashMap and HashSet.
* kwq/AccessibilityObjectCache.mm:
(WebCore::AccessibilityObjectCache::~AccessibilityObjectCache): Detach all objects
and call CFRelease on all of them.
(WebCore::AccessibilityObjectCache::get): Call CFRetain on objects before putting
them in the HashMap, rather than assuming that retain == CFRetain. This is what
fixes the GC issue.
(WebCore::AccessibilityObjectCache::remove): Detach and call CFRelease when removing.
(WebCore::AccessibilityObjectCache::getAXID): Change to use a single global variable
for the AXIDs, which makes it so we won't reuse the same AXID as much as we did before.
(WebCore::AccessibilityObjectCache::removeAXID): Updated to use HashSet.
(WebCore::AccessibilityObjectCache::textMarkerForVisiblePosition): Updated for other changes.
(WebCore::AccessibilityObjectCache::visiblePositionForTextMarker): Ditto.
(WebCore::AccessibilityObjectCache::childrenChanged): Ditto.
(WebCore::AccessibilityObjectCache::postNotificationToTopWebArea): Ditto.
(WebCore::AccessibilityObjectCache::postNotification): Ditto.
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge accessibilityTree]):
Change to use functions by new names.
* dom/Document.h: AccessibilityObjectCache is now in the WebCore namespace.
getAccObjectCache and ownerElement are const member functions, and m_accCache
is a mutable data member.
* dom/Document.cpp:
(WebCore::Document::getAccObjectCache): Make const.
(WebCore::Document::ownerElement): Make const.
* kwq/WebCoreAXObject.h: Changed WebCoreAXID to WebCore::AXID.
* kwq/WebCoreAXObject.mm:
(-[WebCoreAXObject anchorElement]): Update for function name change.
(-[WebCoreAXObject firstChild]): Ditto.
(-[WebCoreAXObject lastChild]): Ditto.
(-[WebCoreAXObject previousSibling]): Ditto.
(-[WebCoreAXObject nextSibling]): Ditto.
(-[WebCoreAXObject parentObject]): Ditto.
(-[WebCoreAXObject accessibilityAttributeValue:]): Ditto.
(-[WebCoreAXObject doAXUIElementForTextMarker:]): Ditto.
(AXLinkElementForNode): Ditto.
(AXAttributedStringAppendReplaced): Ditto.
(-[WebCoreAXObject accessibilityHitTest:]): Ditto.
(-[WebCoreAXObject _accessibilityParentForSubview:]): Ditto.
(-[WebCoreAXObject accessibilityFocusedUIElement]): Ditto.
(-[WebCoreAXObject axObjectID]): Change field name to m_id.
(-[WebCoreAXObject setAXObjectID:]): Ditto.
(-[WebCoreAXObject removeAXObjectID]): Ditto.
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::removeChildNode): Remove ifdefs.
(WebCore::RenderContainer::appendChildNode): Ditto.
(WebCore::RenderContainer::insertChildNode): Ditto.
* rendering/RenderObject.cpp: (WebCore::RenderObject::remove): Ditto.
2006-03-23 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7726
REGRESSION: orbitz calendar fails (JavaScript function serialization/parsing)
Test: fast/js/function-names.html
* dom/Document.h: Add function name parameter to createHTMLEventListener.
* dom/Document.cpp:
(WebCore::Document::createHTMLEventListener): Pass function name when calling
createHTMLEventHandler.
(WebCore::Document::setHTMLWindowEventListener): Pass attribute name as function name
when calling createHTMLEventListener.
* html/HTMLElement.cpp: (WebCore::HTMLElement::setHTMLEventListener): Pass attribute
name as function name when calling createHTMLEventListener.
* khtml/ecma/kjs_events.h: Add a function name parameter to JSLazyEventListener.
* khtml/ecma/kjs_events.cpp:
(KJS::JSLazyEventListener::JSLazyEventListener): Take and store a function name.
(KJS::JSLazyEventListener::parseCode): Pass function name when constructing the function.
* khtml/ecma/kjs_proxy.h: Add a function name parameter to createHTMLEventHandler and
createSVGEventHandler.
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxy::createHTMLEventHandler): Pass function name when creating
a JSLazyEventListener.
(WebCore::KJSProxy::createSVGEventHandler): Ditto.
* ksvg2/events/JSSVGLazyEventListener.h: Add a function name parameter to
JSSVGLazyEventListener.
* ksvg2/events/JSSVGLazyEventListener.cpp:
(WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): Pass the function name
on to the base class constructor.
* ksvg2/misc/SVGDocumentExtensions.h: Add function name parameter to createSVGEventListener.
* ksvg2/misc/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::createSVGEventListener): Pass function name when
calling createSVGEventHandler.
* ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::addSVGEventListener):
* ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::addSVGWindowEventListner):
Pass attribute name as function name when calling createSVGEventListener.
* WebCore.xcodeproj/project.pbxproj: Moved generation script to the top.
2006-03-23 Tim Omernick <timo@apple.com>
Reviewed by Darin.
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7691>
REGRESSION: imdb.com search button looks wrong because "Submit" is drawn
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::valueWithDefault):
Only use the default button title if no title was specified; previously we'd use the default
button title if the specified title was empty, which is not what Firefox does.
2006-03-23 Darin Adler <darin@apple.com>
Reviewed by Beth.
- fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored
* css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
For max-height of none, set it to Length(undefinedLength, Fixed), which
is the correct value (same as the default). Also did some formatting fixes
to the height section.
2006-03-23 Beth Dakin <bdakin@apple.com>
Reviewed by Darin
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6431
REGRESSION: style change where :hover changes only an :after style
doesn't work
* dom/Node.cpp:
(WebCore::Node::diff): Need to call diff() on the before and after
styles if we have them.
2006-03-23 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7935
<rdar://problem/4489010>
Infinite recursion in table code when button or new text fields get display:table-row
Test:
fast/forms/button-table-styles.html
* rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
The theme should disallow table display styles form elements.
2006-03-23 Darin Adler <darin@apple.com>
* generate-derived-sources: Tweaked formatting a tiny bit and removed a stray
touch that was left in here.
2006-03-23 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
REGRESSION: Dashed borders paint with the wrong phase
http://bugzilla.opendarwin.org/show_bug.cgi?id=7879
Test: Already covered by css1/box_properties/border_style.html
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLine):
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLine):
2006-03-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
* generate-derived-sources: Suppress warning.
2006-03-22 Maciej Stachowiak <mjs@apple.com>
* generate-derived-sources: Added svn:executable property.
2006-03-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
Handle dependencies for derived sources properly.
- Made a new generate-derived-sources script that does all the dependency checking
and source generation.
- Put this script in a subtarget instead of a phase.
- Made derived sources go in the build root, not a source root.
- Added derived sources to the project.
- Removed files whose sole purpose was to include and compile derived sources,
just compile those directly now.
- Tweaked the IDL code generator so it can handle one IDL at a time, to make
it easier to get the dependencies right.
* generate-derived-sources: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMCore.cpp: Removed.
* bindings/js/JSDOMEvents.cpp: Removed.
* bindings/js/JSDOMHTML.cpp: Removed.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/generate-bindings.pl:
* css/UserAgentStyleSheets.cpp: Removed.
* dom/Range.cpp:
(WebCore::Range::~Range):
* dom/Range.h:
* khtml/ecma/kjs_css.cpp:
(KJS::DOMStyleSheet::DOMStyleSheet):
(KJS::DOMStyleSheetList::DOMStyleSheetList):
(KJS::DOMCSSRuleList::DOMCSSRuleList):
(KJS::DOMCSSRule::DOMCSSRule):
* khtml/ecma/kjs_css.h:
2006-03-22 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7904>
Avoid a layout after test insertion and remove isProbablyBlock
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::~ReplacementFragment):
(WebCore::ReplacementFragment::firstChild):
(WebCore::ReplacementFragment::lastChild):
(WebCore::ReplacementFragment::mergeStartNode):
(WebCore::ReplacementFragment::enclosingBlock):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplacementFragment::computeAndStoreNodeStyles):
(WebCore::ReplacementFragment::removeUnrenderedNodes):
(WebCore::ReplacementFragment::renderedBlocks):
(WebCore::ReplacementFragment::removeStyleNodes):
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::doApply):
* editing/ReplaceSelectionCommand.h:
(WebCore::ReplacementFragment::root):
2006-03-22 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix attribute mutation events to not fire for "style" attributes.
We lazily update style attributes, so sending mutation events for them makes no sense anymore.
<rdar://problem/4474910> repro assertion failure @ apple.com/store: !eventDispatchForbidden()
Test: fast/events/delayed-style-mutation-event-crash.html
* dom/dom_elementimpl.cpp:
(WebCore::Element::dispatchAttrRemovalEvent): add assert
(WebCore::Element::dispatchAttrAdditionEvent): add assert
(WebCore::NamedAttrMap::addAttribute):
2006-03-22 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Remove more DeprecatedString usage.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7882
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::attributedString):
(WebCore::FrameMac::fontForSelection):
(WebCore::FrameMac::tokenizerProcessedData):
(WebCore::FrameMac::registerCommandForUndoOrRedo):
(WebCore::FrameMac::markMisspellings):
(WebCore::FrameMac::respondToChangedSelection):
(WebCore::FrameMac::dashboardRegionsDictionary):
(WebCore::FrameMac::dragSourceMovedTo):
* css/CSSGrammar.y:
* css/css_valueimpl.h:
* css/cssparser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::parseShorthand):
(WebCore::CSSParser::parseContent):
(WebCore::skipCommaInDashboardRegion):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::CSSParser::parseShape):
(WebCore::CSSParser::parseFont):
(WebCore::CSSParser::parseFontFamily):
(WebCore::CSSParser::parseColorFromValue):
(WebCore::yyerror):
(WebCore::CSSParser::lex):
(WebCore::CSSParser::text):
* css/cssparser.h:
(WebCore::deprecatedString):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDocument::getValueProperty):
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* ksvg2/svg/SVGAnimationElement.cpp:
(SVGAnimationElement::parseMappedAttribute):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::newLine):
* rendering/RenderCanvas.cpp:
(WebCore::RenderCanvas::absolutePosition):
(WebCore::RenderCanvas::paint):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderObject.h:
* rendering/bidi.cpp:
(WebCore::RenderBlock::bidiReorderLine):
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/render_form.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
* rendering/render_style.h:
(WebCore::RenderStyle::setDashboardRegion):
* rendering/table_layout.cpp:
(WebCore::AutoTableLayout::calcEffectiveWidth):
(WebCore::AutoTableLayout::insertSpanCell):
(WebCore::AutoTableLayout::layout):
(WebCore::AutoTableLayout::calcPercentages):
2006-03-22 Tim Omernick <timo@apple.com>
Reviewed by Kevin Decker.
Part of <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to previous page fails at apple.com/retail/)
This also fixes <rdar://problem/4477821> REGRESSION (10.4.5-TOT): meta tag specifying refresh is being added to history.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
Removed redirectionTimerFired(). This was added as attempt to fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7058>. The
aim was to cause Safari and WebKit to update their loading status after a redirect. Unfortunately, the fix had a bad side
effect. Calling -reportClientRedirectCancelled: on a successful redirect causes WebKit to forget that the redirect was supposed
to lock history (i.e. reuse the current back/forward entry for the new page). The end result was that intermediate "quick" redirects
were creating back/forward entries when they should not have been. See 4351664. That fix was almost correct, in that we do need to
notify the frame load delegate when a redirect ends, either because it succeeded or because it was cancelled. However, this is the
wrong place to do it. WebCore's redirect notification logic did not need to change to fix 7058. The never-ending spinning indicators
problem was actually caused by a bug at the WebKit level.
* manual-tests/redirectHistory: Added.
* manual-tests/redirectHistory/redir-1.html: Added.
* manual-tests/redirectHistory/redir-2.html: Added.
* manual-tests/redirectHistory/redir-3.html: Added.
Manual test case. I couldn't figure out how to create a layout test for this, because it involves navigation through history and
it was unclear how/when to tell DumpRenderTree to dump its output.
2006-03-22 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Replace more DeprecatedString with String.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7907
* WebCore+SVG/kdom.h:
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::setTypedIconURL):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::searchForLabelsBeforeElement):
(WebCore::nsArray):
(WebCore::FrameMac::createPlugin):
(WebCore::FrameMac::bindingRootObject):
(WebCore::FrameMac::windowScriptObject):
(WebCore::FrameMac::windowScriptNPObject):
(WebCore::FrameMac::partClearedInBegin):
(WebCore::FrameMac::openURLFromPageCache):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
(-[WebCoreFrameBridge scrollToAnchor:]):
(-[WebCoreFrameBridge URLWithAttributeString:]):
(-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
* bridge/mac/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame evaluateWebScript:]):
* bridge/mac/WebCoreSettings.mm:
(-[WebCoreSettings _updateAllViews]):
(-[WebCoreSettings setStandardFontFamily:]):
(-[WebCoreSettings setMinimumFontSize:]):
(-[WebCoreSettings setMinimumLogicalFontSize:]):
(-[WebCoreSettings setDefaultFontSize:]):
(-[WebCoreSettings setDefaultFixedFontSize:]):
(-[WebCoreSettings setUserStyleSheetLocation:]):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSGrammar.y:
* css/css_stylesheetimpl.cpp:
(WebCore::MediaList::setMediaText):
* css/css_valueimpl.cpp:
(WebCore::quoteStringIfNeeded):
* css/cssparser.cpp:
(WebCore::CSSParser::parseColor):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
* css/cssstyleselector.h:
* dom/Document.cpp:
(WebCore::Document::resetActiveLinkColor):
(WebCore::Document::nextState):
(WebCore::Document::setUserStyleSheet):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::recalcStyleSelector):
* dom/Document.h:
(WebCore::Document::userStyleSheet):
(WebCore::Document::setPrintStyleSheet):
(WebCore::Document::printStyleSheet):
* editing/markup.cpp:
(WebCore::createMarkup):
(WebCore::createFragmentFromMarkup):
(WebCore::createFragmentFromText):
* editing/markup.h:
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler):
* html/html_baseimpl.cpp:
(WebCore::HTMLFrameElement::openURL):
(WebCore::HTMLFrameElement::attach):
* html/html_headimpl.cpp:
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::setStyleSheet):
* html/html_headimpl.h:
* html/html_imageimpl.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
* html/html_imageimpl.h:
(WebCore::HTMLImageElement::compositeOperator):
* html/html_objectimpl.cpp:
(WebCore::HTMLAppletElement::createRenderer):
* ksvg2/svg/SVGStringList.cpp:
(SVGStringList::reset):
* kwq/AccessibilityObjectCache.h:
* kwq/AccessibilityObjectCache.mm:
(AccessibilityObjectCache::textMarkerForVisiblePosition):
(AccessibilityObjectCache::postNotificationToTopWebArea):
(AccessibilityObjectCache::postNotification):
* kwq/ClipboardMac.mm:
(WebCore::cocoaTypeFromMIMEType):
* kwq/KWQKHTMLSettings.h:
(KHTMLSettings::userStyleSheetLocation):
(KHTMLSettings::setUserStyleSheetLocation):
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm:
(QLineEdit::selectedText):
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::ref):
* page/Frame.cpp:
(WebCore::UserStyleSheetLoader::setStyleSheet):
(WebCore::Frame::jScriptEnabled):
(WebCore::Frame::javaEnabled):
(WebCore::Frame::pluginsEnabled):
(WebCore::Frame::receivedFirstData):
(WebCore::Frame::begin):
(WebCore::Frame::setUserStyleSheet):
(WebCore::Frame::requestObject):
(WebCore::Frame::loadPlugin):
(WebCore::Frame::referrer):
(WebCore::Frame::lastModified):
(WebCore::Frame::reparseConfiguration):
(WebCore::Frame::handleMousePressEventSingleClick):
(WebCore::Frame::appliedEditing):
(WebCore::Frame::unappliedEditing):
(WebCore::Frame::reappliedEditing):
* page/Frame.h:
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
* platform/AtomicString.h:
(WebCore::AtomicString::AtomicString):
* platform/DeprecatedString.cpp:
(DeprecatedString::replace):
* platform/GraphicsContext.h:
* platform/Image.h:
* platform/KURL.cpp:
* platform/KURL.h:
* platform/PlatformString.h:
(WebCore::String::String):
(WebCore::String::replace):
* platform/String.cpp:
(WebCore::operator+):
* platform/StringImpl.cpp:
(WebCore::StringImpl::remove):
(WebCore::parseLength):
(WebCore::StringImpl::replace):
* platform/StringImpl.h:
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::setCompositeOperation):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paint):
* rendering/render_form.cpp:
(WebCore::RenderSelect::updateFromElement):
* rendering/render_frames.cpp:
(WebCore::isURLAllowed):
(WebCore::mapClassIdToServiceType):
(WebCore::RenderPartObject::updateWidget):
* rendering/render_style.h:
(WebCore::RenderStyle::setDashboardRegion):
* xml/xmlhttprequest.cpp:
(WebCore::getCharset):
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::overrideMIMEType):
2006-03-22 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt
Fix for <rdar://problem/4471984> repro crash CSS position for html/
table=relative causes crash when hiding table
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle): If an object is
positioned, relatively positioned, or transparent, it should always
have auto indexing. Auto z-index for the root should always be 0.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::removeChild): This is not part of the bug
fix; just using a local variable that was created for the stacking
context instead of recalculating it.
2006-03-22 David Hyatt <hyatt@apple.com>
Fix for residual style problem where form elements lose their connection
to a degenerate table form because of a residual style fixup. This is
Radar bug #4330765.
Reviewed by eric
* khtml/html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
* khtml/html/HTMLFormElement.h:
(WebCore::HTMLFormElement::setPreserveFormConnectionAcrossRemove):
(WebCore::HTMLFormElement::preserveFormConnectionAcrossRemove):
* khtml/html/HTMLGenericFormElement.cpp:
(WebCore::HTMLGenericFormElement::removedFromTree):
* khtml/html/htmlparser.cpp:
(WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2006-03-22 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7747
REGRESSION: Background tab/window auto-refresh in GMail will take focus.
* manual-tests/named-window-blank-target.html: Added.
* manual-tests/resources/named-window-blank-target-step2.html: Added.
* manual-tests/resources/named-window-blank-target-step3.html: Added.
* manual-tests/resources/named-window-blank-target-step4.html: Added.
* page/FrameTree.cpp:
(WebCore::FrameTree::find): If the given name is empty, just return our frame,
even if it has a name.
2006-03-22 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7143
<rdar://problem/4483856> REGRESSION (417.8-TOT): onclick handler cannot call a function named OnClick (7143)
Test: fast/dom/Element/onclick-case.html
We discussed this with Maciej. In the long run we may need to remove the "all attributes
show up as properties in JavaScript" feature entirely. Gecko does not do it, and it's
not really the same thing IE does either.
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive.
(KJS::DOMElement::getOwnPropertySlot): Ditto.
2006-03-22 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
<rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message
No test possible.
* bridge/mac/WebCoreSettings.mm:
(-[WebCoreSettings init]): call AtomicString::init()
2006-03-21 Darin Adler <darin@apple.com>
- fix buildbot (and everyone else)
* bindings/js/JSDOMCore.cpp: Touch, because Adele's change adds a virtual function,
and Xcode doesn't know this needs recompiling.
* bindings/js/JSDOMEvents.cpp: Ditto.
* bindings/js/JSDOMHTML.cpp: Ditto.
2006-03-21 Justin Haygood and Bjoern Graf <jhaygood@spsu.edu> <bjoern.graf@gmail.com>
Reviewed by Eric and Darin.
- get Windows building again
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::userAgent):
* bridge/win/FrameWin.h:
* platform/GraphicsContext.h:
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::supportsType):
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::mimeTypeForFileName):
(FrameWin::objectContentType):
(FrameWin::createPlugin):
(FrameWin::overrideMediaType):
(FrameWin::passSubframeEventToSubframe):
(FrameWin::createFrame):
(FrameWin::incomingReferrer):
2006-03-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7884
REGRESSION: Selecting a custom style sheet crashes 20/3 nightly
* page/Frame.cpp:
(WebCore::UserStyleSheetLoader::setStyleSheet): This was calling the function
that sets the stylesheet URL, passing it the actual stylesheet.
(WebCore::Frame::begin):
(WebCore::Frame::setUserStyleSheetLocation): Renamed the version of
setUserStyleSheet() that takes a URL to this.
(WebCore::Frame::reparseConfiguration):
* page/Frame.h:
2006-03-21 Adele Peterson <adele@apple.com>
Reviewed by Darin.
- Fix for
http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
elementAtPoint needs to return input element when clicking on new text field
http://bugzilla.opendarwin.org/show_bug.cgi?id=7799
New text fields don't respect the disabled attribute
- Tests:
fast/forms/input-appearance-disabled.html
fast/forms/input-appearance-elementFromPoint.html
fast/forms/input-appearance-preventDefault.html
* bridge/mac/WebCoreFrameBridge.h: Added allowShadowContent parameter to getInnerNonSharedNode so new elementAtPoint method in WebKit can call this.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]): Passes allowShadowContent parameter to nodeInfoAtPoint.
(-[WebCoreFrameBridge _visiblePositionForPoint:]): Updated to call nodeInfoAtPoint allowing shadow content.
(-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): Added allowShadowContent parameter.
* dom/Node.h:
(WebCore::Node::isShadowNode): Added.
(WebCore::Node::shadowParentNode): Added.
* dom/Node.cpp: (WebCore::Node::shadowAncestorNode): Added. If an ancestor is a shadow node, return its shadow parent node.
* html/HTMLTextFieldInnerElement.h: (WebCore::HTMLTextFieldInnerElement::isShadowNode): Added.
* dom/Document.cpp: (WebCore::Document::elementFromPoint): Gets the shadowAncestorNode (so we get the input element, and not the inner div).
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable): If text fields are focusable, then they should be keyboard focusable. This works for the
old text fields because HTMLGenericFormElement::isKeyboardFocusable does the right thing for RenderWidgets. That's not needed for the new form
elements.
(WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events.
* page/FrameView.cpp:
(WebCore::FrameView::updateDragAndDrop): Send drag events to the shadowAncestorNode.
(WebCore::FrameView::dispatchMouseEvent): Send mouse events to the shadowAncestorNode.
(WebCore::FrameView::handleWheelEvent): Send wheel events to the shadowAncestorNode.
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element.
* rendering/RenderTextField.h: Added forwardEvent method.
* kwq/WebCoreAXObject.mm:
(-[WebCoreAXObject accessibilityHitTest:]): Gets the shadowAncestorNode (so we get the input element, and not the inner div).
(-[WebCoreAXObject role]): Gets the right role for text fields, since we no longer get that from AppKit.
(-[WebCoreAXObject roleDescription]): Gets the right description for text fields.
2006-03-21 Darin Adler <darin@apple.com>
Reviewed by Tim O.
- fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT
Test: fast/html/listing.html
* html/HTMLNames.h: Add listing tag.
* bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]):
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
* css/html4.css:
* editing/ReplaceSelectionCommand.cpp: (WebCore::isProbablyBlock):
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleNonTextNode):
(WebCore::TextIterator::exitNode):
(WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
* editing/markup.cpp:
(WebCore::startMarkup):
(WebCore::createMarkup):
* html/HTMLElement.cpp: (WebCore::blockTagList):
* html/HTMLElementFactory.cpp:
(WebCore::addTag):
(WebCore::createFunctionMap):
(WebCore::HTMLElementFactory::createHTMLElement):
* html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle):
* html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
* khtml/ecma/kjs_html.cpp:
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
Add listing tags everywhere pre tags are listed.
2006-03-21 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fix horrible build fallout from my attr fix
* bindings/js/JSCanvasRenderingContext2DBase.cpp:
* bindings/js/JSDOMCore.cpp:
* bindings/js/JSDOMEvents.cpp:
* bindings/js/JSDOMHTML.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
2006-03-21 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7223
Reproducible crash when tabbing to a frame that has not been loaded
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't
have a widget, skip it in the focus loop.
2006-03-20 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix a unsafe static cast causing intermittent crashes.
<rdar://problem/4411663> crash at KXMLCore::RefPtr<WebCore::DOMStringImpl>::get() const + 20 (RefPtr.h:45)
Test: fast/dom/NodeList/item-by-id-with-no-document.html
* dom/NodeList.cpp:
(WebCore::NodeList::itemById): fix unsafe static cast.
2006-03-20 Maciej Stachowiak <mjs@apple.com>
- touch this file in hopes of fixing build
* bindings/js/JSDOMCore.cpp:
2006-03-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem
* bindings/scripts/CodeGeneratorJS.pm: Add a framework for typechecking method
arguments. For now only use it for parameters of type Attr.
* dom/Element.idl: Arbitrary change to make it regenerate.
* dom/dom_elementimpl.cpp:
(WebCore::Element::setAttributeNode): ASSERT that attr is not null
* khtml/ecma/kjs_dom.cpp:
(KJS::toAttr): add bool ok parameter
* khtml/ecma/kjs_dom.h:
2006-03-20 Eric Seidel <eseidel@apple.com>
* ksvg2/css/SVGCSSParser.h: Removed unused file.
2006-03-20 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix tokenizer crash when document.open() is called from an external script:
<rdar://problem/4483882> REGRESSION (417.8-TOT): crash at yourmovies.com.au in WebCore::HTMLTokenizer::reset() + 92 (7818)
* dom/Document.cpp:
(WebCore::Document::open): Check to make sure the current tokenizer isn't executing a script
* dom/xml_tokenizer.h:
(WebCore::Tokenizer::executingScript): Add a way for others to know if scripts are executing.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptExecution): Wire into existing m_executingScript member var.
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::executingScript):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::prepareFilter): Unrelated code cleanup.
2006-03-20 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<rdar://problem/3997958>
REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode
* dom/Position.cpp:
(WebCore::Position::upstream): Avoid calling previous() when we know that
it will 1) end the search and 2) be expensive to compute.
(WebCore::Position::downstream): Removed some dead code.
(WebCore::Position::inRenderedText): Return false for offsets inside composed characters.
* dom/Position.h:
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose
the one that occurs first in document order. Using upstream() to find the one that occurs first is
much faster than the old code.
2006-03-20 Eric Seidel <eseidel@apple.com>
Reviewed by adele & ggaren.
Added new cachePluginDataIfNecessary function to update
plugins and mimes arrays. Made sure to call this in
constructor as well as refresh. The crash was caused by
a refresh rendering a "plugins" object invalid.
Changed existing test case to depend on this new correct behavior.
<rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24
* khtml/ecma/kjs_navigator.cpp:
(KJS::PluginBase::cachePluginDataIfNecessary):
(KJS::PluginBase::PluginBase):
(KJS::PluginBase::~PluginBase):
(KJS::PluginBase::refresh):
2006-03-20 Adele Peterson <adele@apple.com>
Reviewed by Justin.
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
When calculating the VisiblePosition for the first position in the text field, it
makes more sense for the position to have a downstream affinity.
2006-03-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Adele.
<rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine)
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners
as well as bubbling ones on the target.
2006-03-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
<rdar://problem/4458568> WebCore should not disclose https referrers
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
Don't send https URLs as referrers to non-secure http sites.
2006-03-20 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7867
get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
* config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
and qstring().
* WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
namespace for SVG names.
* ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
recompiling, since they are in a different namespace now.
* ForwardingHeaders/kjs/identifier.h: Added.
* dom/PlatformWheelEvent.idl: Removed.
* dom/WheelEvent.idl: Added. This file was renamed by accident.
* bindings/js/JSDOMCore.cpp:
* bindings/js/JSDOMEvents.cpp:
* bindings/js/JSDOMHTML.cpp:
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Entity.idl:
* dom/MutationEvent.idl:
* dom/Notation.idl:
* dom/ProcessingInstruction.idl:
* dom/Text.idl:
* html/CanvasGradient.idl:
* html/CanvasPattern.idl:
* html/CanvasRenderingContext2D.idl:
Touched, to get CodeGeneratorJS.pm changes to take effect.
* css/CSSGrammar.y:
* css/css_valueimpl.cpp: (WebCore::propertyID):
Changed calls to get CSS property values to use an explicit SVG:: namespace,
to match what the script writes out.
* khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
* ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
props: Made this compile with warnings and strict turned on.
Really just a trick to get properties to recompile, which turned out to be unneeded.
* ksvg2/scripts/cssmakevalues: Ditto.
* ksvg2/svg/SVGAElement.cpp:
(SVGAElement::parseMappedAttribute):
(SVGAElement::defaultEventHandler):
* ksvg2/svg/SVGAnimateTransformElement.cpp:
(SVGAnimateTransformElement::parseMappedAttribute):
* ksvg2/svg/SVGAnimationElement.cpp:
(SVGAnimationElement::parseMappedAttribute):
* ksvg2/svg/SVGClipPathElement.cpp:
(SVGClipPathElement::parseMappedAttribute):
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
(SVGComponentTransferFunctionElement::parseMappedAttribute):
* ksvg2/svg/SVGExternalResourcesRequired.cpp:
(SVGExternalResourcesRequired::parseMappedAttribute):
* ksvg2/svg/SVGFEBlendElement.cpp:
(SVGFEBlendElement::parseMappedAttribute):
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(SVGFEColorMatrixElement::parseMappedAttribute):
* ksvg2/svg/SVGFEComponentTransferElement.cpp:
(SVGFEComponentTransferElement::parseMappedAttribute):
* ksvg2/svg/SVGFECompositeElement.cpp:
(SVGFECompositeElement::parseMappedAttribute):
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
* ksvg2/svg/SVGFEDisplacementMapElement.cpp:
(SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
(SVGFEDisplacementMapElement::stringToChannel):
(SVGFEDisplacementMapElement::parseMappedAttribute):
(SVGFEDisplacementMapElement::filterEffect):
* ksvg2/svg/SVGFEDisplacementMapElement.h:
* ksvg2/svg/SVGFEFloodElement.cpp:
(SVGFEFloodElement::parseMappedAttribute):
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
(SVGFEGaussianBlurElement::parseMappedAttribute):
* ksvg2/svg/SVGFEImageElement.cpp:
(SVGFEImageElement::parseMappedAttribute):
* ksvg2/svg/SVGFELightElement.cpp:
(SVGFELightElement::parseMappedAttribute):
* ksvg2/svg/SVGFEMergeNodeElement.cpp:
(SVGFEMergeNodeElement::parseMappedAttribute):
* ksvg2/svg/SVGFEOffsetElement.cpp:
(SVGFEOffsetElement::parseMappedAttribute):
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
(SVGFESpecularLightingElement::parseMappedAttribute):
* ksvg2/svg/SVGFETileElement.cpp:
(SVGFETileElement::parseMappedAttribute):
* ksvg2/svg/SVGFETurbulenceElement.cpp:
(SVGFETurbulenceElement::parseMappedAttribute):
* ksvg2/svg/SVGFilterElement.cpp:
(SVGFilterElement::parseMappedAttribute):
* ksvg2/svg/SVGGradientElement.cpp:
(SVGGradientElement::parseMappedAttribute):
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::parseMappedAttribute):
* ksvg2/svg/SVGPolyElement.cpp:
(SVGPolyElement::parseMappedAttribute):
* ksvg2/svg/SVGStopElement.cpp:
(SVGStopElement::parseMappedAttribute):
* ksvg2/svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::parseMappedAttribute):
* ksvg2/svg/SVGTests.cpp:
(WebCore::SVGTests::parseMappedAttribute):
* ksvg2/svg/SVGTextContentElement.cpp:
(SVGTextContentElement::parseMappedAttribute):
* ksvg2/svg/SVGTextPositioningElement.cpp:
(SVGTextPositioningElement::parseMappedAttribute):
* ksvg2/svg/SVGViewElement.cpp:
(SVGViewElement::parseMappedAttribute):
* ksvg2/svg/SVGZoomAndPan.cpp:
(SVGZoomAndPan::parseMappedAttribute):
Changed code that converts an AtomicString to a String to do it in a
more-efficient fashion that works even with all the new conversions.
* page/Frame.cpp:
(WebCore::getString): Removed unneeded .deprecatedString().
(WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
* platform/AtomicString.h: Added conversion to and from KJS::Identifier
and KJS::UString.
* platform/AtomicString.cpp:
(WebCore::AtomicString::add): Added overloads for Identifier and UString.
(WebCore::AtomicString::operator Identifier): Added.
(WebCore::AtomicString::operator UString): Added.
* platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
and KJS::UString.
* platform/DeprecatedString.cpp:
(DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
(DeprecatedString::operator Identifier): Added.
(DeprecatedString::operator UString): Added.
* platform/PlatformString.h: Added conversion to and from KJS::Identifier
and KJS::UString.
* platform/String.cpp:
(WebCore::String::String): Added overloads for Identifier and UString.
(WebCore::String::operator Identifier): Added.
(WebCore::String::operator UString): Added.
* platform/StringImpl.h: Added constructors that take KJS::Identifier
and KJS::UString
* platform/StringImpl.cpp:
(WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
instead because of ambiguity with KJS::UChar.
(WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.
* bindings/js/JSCanvasRenderingContext2DBase.cpp:
(WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
(WebCore::toHTMLCanvasStyle):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/mac/WebCoreFrameBridge.mm:
(aeDescFromJSValue):
(-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::toString):
* khtml/ecma/JSDOMParser.cpp:
(KJS::DOMParserProtoFunc::callAsFunction):
* khtml/ecma/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
* khtml/ecma/JSXSLTProcessor.cpp:
(KJS::XSLTProcessorProtoFunc::callAsFunction):
* khtml/ecma/kjs_binding.cpp:
(KJS::valueToStringWithNullCheck):
* khtml/ecma/kjs_css.cpp:
(KJS::cssPropertyName):
(KJS::DOMCSSStyleDeclaration::put):
(KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
(KJS::DOMStyleSheetList::nameGetter):
(KJS::DOMStyleSheetList::getOwnPropertySlot):
(KJS::DOMMediaList::put):
(KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
(KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
(KJS::DOMCSSRule::putValueProperty):
(KJS::DOMCSSRuleFunc::callAsFunction):
(KJS::DOMCSSValue::put):
(KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::putValueProperty):
(KJS::DOMNode::toString):
(KJS::DOMNodeProtoFunc::callAsFunction):
(KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
(KJS::DOMNodeList::nameGetter):
(KJS::DOMNodeList::getOwnPropertySlot):
(KJS::DOMDocument::putValueProperty):
(KJS::DOMDocumentProtoFunc::callAsFunction):
(KJS::DOMElement::attributeGetter):
(KJS::DOMElement::getOwnPropertySlot):
(KJS::DOMNamedNodeMap::nameGetter):
(KJS::DOMNamedNodeMap::getOwnPropertySlot):
(KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
(KJS::DOMNamedNodesCollection::getOwnPropertySlot):
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
(KJS::DOMEvent::getValueProperty):
(KJS::DOMEventProtoFunc::callAsFunction):
(KJS::DOMUIEventProtoFunc::callAsFunction):
(KJS::DOMMouseEventProtoFunc::callAsFunction):
(KJS::DOMKeyboardEventProtoFunc::callAsFunction):
(KJS::Clipboard::putValueProperty):
(KJS::ClipboardProtoFunc::callAsFunction):
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocFunction::callAsFunction):
(KJS::JSHTMLDocument::namedItemGetter):
(KJS::JSHTMLDocument::getOwnPropertySlot):
(KJS::JSHTMLDocument::putValueProperty):
(KJS::JSHTMLElement::framesetNameGetter):
(KJS::JSHTMLElement::getOwnPropertySlot):
(KJS::HTMLElementFunction::callAsFunction):
(KJS::JSHTMLElement::putValueProperty):
(KJS::JSHTMLCollection::callAsFunction):
(KJS::JSHTMLCollection::getNamedItems):
(KJS::HTMLCollectionProtoFunc::callAsFunction):
(KJS::OptionConstructorImp::construct):
* khtml/ecma/kjs_navigator.cpp:
(KJS::Plugins::nameGetter):
(KJS::Plugins::getOwnPropertySlot):
(KJS::MimeTypes::nameGetter):
(KJS::MimeTypes::getOwnPropertySlot):
(KJS::Plugin::nameGetter):
(KJS::Plugin::getOwnPropertySlot):
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxy::evaluate):
* khtml/ecma/kjs_range.cpp:
(KJS::DOMRangeProtoFunc::callAsFunction):
* khtml/ecma/kjs_views.cpp:
(KJS::DOMAbstractViewProtoFunc::callAsFunction):
* khtml/ecma/kjs_window.cpp:
(KJS::parseModalDialogFeatures):
(KJS::showModalDialog):
(KJS::Window::childFrameGetter):
(KJS::Window::namedFrameGetter):
(KJS::Window::namedItemGetter):
(KJS::Window::getOwnPropertySlot):
(KJS::Window::put):
(KJS::WindowFunc::callAsFunction):
(KJS::ScheduledAction::execute):
(KJS::Window::installTimeout):
(KJS::FrameArray::nameGetter):
(KJS::FrameArray::getOwnPropertySlot):
(KJS::Location::put):
(KJS::LocationFunc::callAsFunction):
(KJS::SelectionFunc::callAsFunction):
Removed explicit calls to domString(), sometimes replacing with explicit calls to the
String() constructor. Other similar changes for AtomicString and DeprecatedString use.
2006-03-20 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Remove many, many uses of DeprecatedString.
Fix various style issues throughout the touched code.
* bindings/objc/DOM.mm:
(-[DOMRange _text]):
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.h:
(WebCore::FrameMac::bridge):
(WebCore::FrameMac::markedTextRange):
(WebCore::Mac):
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::openURLRequest):
(WebCore::FrameMac::searchForLabelsAboveCell):
(WebCore::FrameMac::searchForLabelsBeforeElement):
(WebCore::FrameMac::matchLabelsAgainstElement):
(WebCore::FrameMac::findString):
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::urlSelected):
(WebCore::FrameMac::objectContentType):
(WebCore::FrameMac::createPlugin):
(WebCore::FrameMac::createFrame):
(WebCore::FrameMac::setTitle):
(WebCore::FrameMac::setStatusBarText):
(WebCore::FrameMac::advanceToNextMisspelling):
(WebCore::FrameMac::userAgent):
(WebCore::FrameMac::mimeTypeForFileName):
(WebCore::FrameMac::openURLFromPageCache):
(WebCore::FrameMac::incomingReferrer):
(WebCore::FrameMac::attributedString):
(WebCore::FrameMac::overrideMediaType):
(WebCore::FrameMac::shouldClose):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge _documentTypeString]):
(-[WebCoreFrameBridge selectedString]):
(-[WebCoreFrameBridge stringForRange:]):
(-[WebCoreFrameBridge advanceToNextMisspelling]):
(-[WebCoreFrameBridge advanceToNextMisspellingStartingJustBeforeSelection]):
(-[WebCoreFrameBridge domain]):
* bridge/mac/WebCoreSettings.mm:
(-[WebCoreSettings setStandardFontFamily:]):
(-[WebCoreSettings setFixedFontFamily:]):
(-[WebCoreSettings setSerifFontFamily:]):
(-[WebCoreSettings setSansSerifFontFamily:]):
(-[WebCoreSettings setCursiveFontFamily:]):
(-[WebCoreSettings setFantasyFontFamily:]):
(-[WebCoreSettings setUserStyleSheetLocation:]):
(-[WebCoreSettings setDefaultTextEncoding:]):
* css/css_valueimpl.cpp:
(WebCore::quoteStringIfNeeded):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::setEncodedURL):
(WebCore::cleanpath):
(WebCore::checkPseudoState):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::styleRulesForElement):
(WebCore::convertToLength):
(WebCore::colorForCSSValue):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
* css/cssstyleselector.h:
* dom/CDATASection.cpp:
(WebCore::CDATASection::toString):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* dom/Document.h:
(WebCore::Document::baseTarget):
(WebCore::Document::setBaseTarget):
* dom/dom_elementimpl.cpp:
(WebCore::Element::openTagStartToString):
* dom/xml_tokenizer.cpp:
(WebCore::handleElementAttributes):
(WebCore::XMLTokenizer::startElementNs):
* editing/SelectionController.cpp:
(WebCore::SelectionController::type):
* editing/TextIterator.cpp:
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::handleNonTextNode):
(WebCore::TextIterator::exitNode):
(WebCore::SimplifiedBackwardsTextIterator::advance):
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
(WebCore::CharacterIterator::advance):
(WebCore::WordAwareIterator::advance):
(WebCore::WordAwareIterator::length):
(WebCore::WordAwareIterator::characters):
(WebCore::CircularSearchBuffer::CircularSearchBuffer):
(WebCore::CircularSearchBuffer::append):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::findPlainText):
* editing/TextIterator.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formData):
* khtml/ecma/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxy::initScriptIfNeeded):
* khtml/ecma/kjs_window.cpp:
(KJS::Location::getValueProperty):
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::KSVGPainterFactory::fillPaintServer):
(WebCore::KSVGPainterFactory::strokePaintServer):
* ksvg2/svg/SVGAngle.cpp:
(SVGAngle::calculate):
(SVGAngle::setValueAsString):
(SVGAngle::valueAsString):
(SVGAngle::convertToSpecifiedUnits):
(SVGAngle::shortestArcBisector):
* ksvg2/svg/SVGAngle.h:
* ksvg2/svg/SVGAnimationElement.cpp:
(SVGAnimationElement::targetElement):
(SVGAnimationElement::parseMappedAttribute):
(SVGAnimationElement::parseClockValue):
(SVGAnimationElement::targetAttribute):
(SVGAnimationElement::setTargetAttribute):
(SVGAnimationElement::detectAnimationMode):
(SVGAnimationElement::calculateCurrentValueItem):
(SVGAnimationElement::calculateRelativeTimePercentage):
* ksvg2/svg/SVGColor.cpp:
(SVGColor::setRGBColor):
* ksvg2/svg/SVGDOMImplementation.cpp:
(svgFeatureSet):
(SVGDOMImplementation::self):
(SVGDOMImplementation::hasFeature):
(SVGDOMImplementation::createDocumentType):
(SVGDOMImplementation::createDocument):
* ksvg2/svg/SVGDOMImplementation.h:
* ksvg2/svg/SVGPaint.cpp:
(SVGPaint::cssText):
* ksvg2/svg/SVGPathSegClosePath.h:
(WebCore::SVGPathSegClosePath::toString):
* ksvg2/svg/SVGPreserveAspectRatio.cpp:
(SVGPreserveAspectRatio::parsePreserveAspectRatio):
(SVGPreserveAspectRatio::getCTM):
* ksvg2/svg/SVGStopElement.cpp:
(SVGStopElement::parseMappedAttribute):
* ksvg2/svg/SVGStyleElement.cpp:
(SVGStyleElement::childrenChanged):
* ksvg2/svg/SVGURIReference.cpp:
(SVGURIReference::getTarget):
* kwq/ClipboardMac.mm:
(WebCore::ClipboardMac::setData):
(WebCore::ClipboardMac::types):
(WebCore::ClipboardMac::setEffectAllowed):
(WebCore::cocoaOpFromIEOp):
(WebCore::IEOpFromCocoaOp):
(WebCore::ClipboardMac::sourceOperation):
(WebCore::ClipboardMac::destinationOperation):
* kwq/KWQCString.cpp:
(DeprecatedCString::append):
* kwq/KWQKHTMLSettings.h:
(KHTMLSettings::stdFontName):
(KHTMLSettings::fixedFontName):
(KHTMLSettings::serifFontName):
(KHTMLSettings::sansSerifFontName):
(KHTMLSettings::cursiveFontName):
(KHTMLSettings::fantasyFontName):
(KHTMLSettings::minFontSize):
(KHTMLSettings::minLogicalFontSize):
(KHTMLSettings::mediumFontSize):
(KHTMLSettings::mediumFixedFontSize):
(KHTMLSettings::autoLoadImages):
(KHTMLSettings::isJavaScriptEnabled):
(KHTMLSettings::JavaScriptCanOpenWindowsAutomatically):
(KHTMLSettings::isJavaEnabled):
(KHTMLSettings::isPluginsEnabled):
(KHTMLSettings::encoding):
(KHTMLSettings::userStyleSheet):
(KHTMLSettings::shouldPrintBackgrounds):
(KHTMLSettings::textAreasAreResizable):
(KHTMLSettings::setStdFontName):
(KHTMLSettings::setFixedFontName):
(KHTMLSettings::setSerifFontName):
(KHTMLSettings::setSansSerifFontName):
(KHTMLSettings::setCursiveFontName):
(KHTMLSettings::setFantasyFontName):
(KHTMLSettings::setMinFontSize):
(KHTMLSettings::setMinLogicalFontSize):
(KHTMLSettings::setMediumFontSize):
(KHTMLSettings::setMediumFixedFontSize):
(KHTMLSettings::setAutoLoadImages):
(KHTMLSettings::setIsJavaScriptEnabled):
(KHTMLSettings::setIsJavaEnabled):
(KHTMLSettings::setArePluginsEnabled):
(KHTMLSettings::setJavaScriptCanOpenWindowsAutomatically):
(KHTMLSettings::setEncoding):
(KHTMLSettings::setUserStyleSheet):
(KHTMLSettings::setShouldPrintBackgrounds):
(KHTMLSettings::setTextAreasAreResizable):
* kwq/KWQLoader.mm:
(KWQServeSynchronousRequest):
* kwq/KWQTextStream.cpp:
(QTextStream::QTextStream):
(QTextStream::operator<<):
(QTextStream::precision):
* kwq/KWQTextStream.h:
* kwq/RenderTreeAsText.cpp:
(operator<<):
(quoteAndEscapeNonPrintables):
(writeTextRun):
(write):
(writeSelection):
* loader/Cache.cpp:
(WebCore::Cache::init):
(WebCore::Cache::requestImage):
(WebCore::Cache::requestStyleSheet):
(WebCore::Cache::preloadStyleSheet):
(WebCore::Cache::requestScript):
(WebCore::Cache::preloadScript):
(WebCore::Cache::requestXSLStyleSheet):
(WebCore::Cache::requestXBLDocument):
(WebCore::Cache::remove):
* loader/Cache.h:
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::error):
* loader/CachedCSSStyleSheet.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::error):
* loader/CachedImage.h:
* loader/CachedObject.h:
* loader/CachedScript.cpp:
(WebCore::CachedScript::checkNotify):
(WebCore::CachedScript::error):
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
(WebCore::CachedXBLDocument::error):
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::error):
* loader/CachedXSLStyleSheet.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::DocLoader):
(WebCore::DocLoader::~DocLoader):
(WebCore::DocLoader::needReload):
(WebCore::DocLoader::requestImage):
(WebCore::DocLoader::requestStyleSheet):
(WebCore::DocLoader::requestScript):
(WebCore::DocLoader::requestXSLStyleSheet):
(WebCore::DocLoader::requestXBLDocument):
(WebCore::DocLoader::setAutoloadImages):
(WebCore::DocLoader::setShowAnimations):
(WebCore::DocLoader::removeCachedObject):
* loader/loader.cpp:
(WebCore::Loader::receivedAllData):
(WebCore::Loader::receivedResponse):
* page/Frame.cpp:
(WebCore::UserStyleSheetLoader::setStyleSheet):
(WebCore::Frame::didOpenURL):
(WebCore::Frame::setMetaRefreshEnabled):
(WebCore::Frame::setAutoloadImages):
(WebCore::Frame::autoloadImages):
(WebCore::Frame::clear):
(WebCore::Frame::receivedFirstData):
(WebCore::Frame::begin):
(WebCore::Frame::write):
(WebCore::Frame::baseTarget):
(WebCore::Frame::completeURL):
(WebCore::Frame::scheduleRedirection):
(WebCore::Frame::scheduleLocationChange):
(WebCore::Frame::scheduleHistoryNavigation):
(WebCore::Frame::changeLocation):
(WebCore::Frame::redirectionTimerFired):
(WebCore::Frame::encoding):
(WebCore::Frame::gotoAnchor):
(WebCore::Frame::setStandardFont):
(WebCore::Frame::setFixedFont):
(WebCore::Frame::selectedText):
(WebCore::Frame::selection):
(WebCore::Frame::dragCaret):
(WebCore::Frame::setSelection):
(WebCore::Frame::setDragCaret):
(WebCore::Frame::paintCaret):
(WebCore::Frame::paintDragCaret):
(WebCore::Frame::urlSelected):
(WebCore::Frame::requestFrame):
(WebCore::Frame::requestObject):
(WebCore::Frame::shouldUsePlugin):
(WebCore::Frame::loadPlugin):
(WebCore::Frame::loadSubframe):
(WebCore::Frame::submitForm):
(WebCore::Frame::lastModified):
(WebCore::Frame::reparseConfiguration):
(WebCore::Frame::shouldChangeSelection):
(WebCore::Frame::appliedEditing):
(WebCore::Frame::unappliedEditing):
(WebCore::Frame::reappliedEditing):
(WebCore::Frame::executeScript):
(WebCore::updateState):
(WebCore::Frame::isCharacterSmartReplaceExempt):
(WebCore::Frame::openURL):
(WebCore::Frame::didNotOpenURL):
(WebCore::Frame::setEncoding):
(WebCore::Frame::saveInterpreterBuiltins):
(WebCore::Frame::restoreInterpreterBuiltins):
(WebCore::Frame::mutableInstances):
(WebCore::Frame::setPolicyBaseURL):
(WebCore::Frame::addMetaData):
(WebCore::Frame::scrollToAnchor):
(WebCore::Frame::setMediaType):
(WebCore::Frame::highlightAllMatchesForString):
(WebCore::Frame::tree):
* page/Frame.h:
(WebCore::Frame::instances):
* page/FramePrivate.h:
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate):
(WebCore::FrameView::FrameView):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::init):
(WebCore::FrameView::setMarginWidth):
(WebCore::FrameView::setMarginHeight):
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::layout):
(WebCore::FrameView::dispatchDragEvent):
(WebCore::FrameView::scrollTo):
(WebCore::FrameView::setMediaType):
(WebCore::FrameView::mediaType):
(WebCore::FrameView::setResizingFrameSet):
(WebCore::FrameView::setIgnoreWheelEvents):
* page/FrameView.h:
(WebCore::FrameView::frameWidth):
(WebCore::FrameView::marginWidth):
(WebCore::FrameView::marginHeight):
(WebCore::FrameView::ref):
(WebCore::FrameView::deref):
* page/ResourceRequest.h:
(WebCore::ResourceRequest::contentType):
(WebCore::ResourceRequest::setContentType):
* platform/FontFamily.h:
* platform/Image.h:
* platform/KURL.cpp:
(KURL::KURL):
(KURL::parse):
(urlcmp):
(KURL::encode_string):
(encodeHostname):
* platform/KURL.h:
* platform/PlatformString.h:
(WebCore::String::left):
(WebCore::String::right):
* platform/String.cpp:
(WebCore::String::toInt):
* platform/StringImpl.cpp:
(WebCore::StringImpl::toInt):
* platform/TransferJob.cpp:
(WebCore::TransferJob::queryMetaData):
(WebCore::TransferJob::addMetaData):
* platform/TransferJob.h:
* platform/mac/ImageMac.mm:
(WebCore::Image::supportsType):
* platform/mac/TransferJobMac.mm:
(WebCore::TransferJob::start):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::information):
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::updateFromElement):
* xml/xmlhttprequest.cpp:
(WebCore::getMIMEType):
(WebCore::getCharset):
(WebCore::XMLHttpRequest::getReadyState):
(WebCore::XMLHttpRequest::getResponseText):
(WebCore::XMLHttpRequest::getResponseXML):
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::~XMLHttpRequest):
(WebCore::XMLHttpRequest::changeState):
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::overrideMIMEType):
(WebCore::XMLHttpRequest::setRequestHeader):
(WebCore::XMLHttpRequest::getRequestHeader):
(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):
(WebCore::XMLHttpRequest::responseIsXML):
(WebCore::XMLHttpRequest::getStatus):
(WebCore::XMLHttpRequest::getStatusText):
(WebCore::XMLHttpRequest::processSyncLoadResults):
(WebCore::XMLHttpRequest::receivedAllData):
(WebCore::XMLHttpRequest::receivedRedirect):
(WebCore::XMLHttpRequest::receivedData):
(WebCore::XMLHttpRequest::cancelRequests):
(WebCore::XMLHttpRequest::detachRequests):
* xml/xmlhttprequest.h:
2006-03-20 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=3439
mouseover effects can get stuck sometimes due to missing events
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7701
mouseout sent to the wrong element when layout changes simultaneously
Implemented saving the previous node under the mouse, so that we don't need to
recalculate it, which is slow and even not really possible. This has fixed a number
of issues with mouse event dispatching when the content changes.
The code still needs refactoring and cleanup, see bug 3439 for comments.
Tests (both files perform multiple checks):
- fast/events/mouseover-mouseout.html
- fast/events/mouseover-mouseout2.html
* page/Frame.h: Added a Frame parameter to passSubframeEventToSubframe(),
used for mouseMoved events.
* bridge/mac/FrameMac.h: Ditto.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::passSubframeEventToSubframe): Use the passed subframe to target
NSMouseMoved events.
* page/FrameView.h: Added a prepareMouseEvent() helper that does viewportToContents translation.
* page/FrameView.cpp: Added data members for storing the previous node and subframe
under the mouse to FrameViewPrivate. Removed the now unused prevMouseX/prevMouseY.
(WebCore::FrameViewPrivate::reset): Reset the new data members.
(WebCore::subframeForEvent): A temporary place for the code that extracts a subframe
pointer from MouseEventWithHitTestResults, moved from FrameMac::passSubframeEventToSubframe().
(WebCore::FrameView::prepareMouseEvent): The new helper.
(WebCore::FrameView::handleMousePressEvent): Use the new helper.
(WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
(WebCore::FrameView::handleMouseReleaseEvent): Ditto.
(WebCore::FrameView::updateDragAndDrop): Ditto.
(WebCore::FrameView::hoverTimerFired): Ditto.
(WebCore::FrameView::dispatchMouseEvent): Store and use the oldUnder node, don't store
or use prevMouseX/Y.
(WebCore::FrameView::handleMouseMoveEvent): Rewrote dispatching events to subframes using
a stored oldSubframe reference. Protect "this" from being removed while in this function.
2006-03-20 Darin Adler <darin@apple.com>
Reviewed by Anders.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7875
autogenerate bindings for Range
* dom/Range.idl: Added.
* khtml/ecma/kjs_range.cpp: Removed.
* khtml/ecma/kjs_range.h: Removed.
* WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate
kjs_range.lut.h.
* WebCore.xcodeproj/project.pbxproj: Added Range.idl source file.
Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group.
Removed rule to generate kjs_range.lut.h.
* bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp.
* bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow,
and short to the types this script can handle. Added code to generate toRange
functions and the like. Added separate code to handle exceptions for getters
vs. setters for attributes. Changed return values for the "bad ID" case to 0
-- there's no need to generate the extra code to return jsUndefined() in such
cases, which should be unreachable. Changed exception handling to use setDOMException
directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick
to make it easier to convert existing bindings and shouldn't be used going
forward. Fixed names of constructors to use the JavaScript class name (the
interface name), not the name of the C++ implementation class. Fixed generation
of code for functions that have no parameters but do raise exceptions.
* bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter
exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support
declaring exceptions on attributes at all. We'll probably want to revisit our
syntax for this some day.
* bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from
domAttribute, and replaced raisesExceptions field with getterExceptions and
setterExceptions. Added regular expressions for parsing getter/setter syntax.
We'll probably have to redo this whole thing parse in a better way at some
point -- the regular expressions allow any invalid syntax in between them.
* dom/Attr.idl: Change exception declaration for setting the value attribute
to use setter-specific exception syntax.
* dom/CharacterData.idl: Change exception declaration for setting the data
attribute to use setter-specific exception syntax.
* dom/ProcessingInstruction.idl: Change exception declaration for setting the
data attribute to use setter-specific exception syntax.
* khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h.
* khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h.
(KJS::Window::getValueProperty): Use JSRange::getConstructor instead of
getRangeConstructor.
2006-03-20 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix win32 compile.
* Viewer/ImageView.cpp:
* platform/GraphicsContext.cpp:
(WebCore::WebCore::GraphicsContext::createGraphicsContextPrivate):
(WebCore::WebCore::GraphicsContext::destroyGraphicsContextPrivate):
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::fillRectSourceOver):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawFocusRing):
* platform/win/FontWin.cpp:
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawLineForText):
2006-03-19 Darin Adler <darin@apple.com>
Rubber stamped by Eric.
- moved khtml/html files all into html directory
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new paths.
* WebCore.vcproj/WebCore/build-generated-files.sh: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* khtml/html: Removed.
* html/DocTypeStrings.gperf: Moved.
* html/FormDataList.cpp: Ditto.
* html/FormDataList.h: Ditto.
* html/HTMLBaseFontElement.cpp: Ditto.
* html/HTMLBaseFontElement.h: Ditto.
* html/HTMLButtonElement.cpp: Ditto.
* html/HTMLButtonElement.h: Ditto.
* html/HTMLCanvasElement.cpp: Ditto.
* html/HTMLCanvasElement.h: Ditto.
* html/HTMLCollection.cpp: Ditto.
* html/HTMLCollection.h: Ditto.
* html/HTMLDocument.cpp: Ditto.
* html/HTMLDocument.h: Ditto.
* html/HTMLElement.cpp: Ditto.
* html/HTMLElement.h: Ditto.
* html/HTMLElementFactory.cpp: Ditto.
* html/HTMLElementFactory.h: Ditto.
* html/HTMLEntityNames.gperf: Ditto.
* html/HTMLFieldSetElement.cpp: Ditto.
* html/HTMLFieldSetElement.h: Ditto.
* html/HTMLFormCollection.cpp: Ditto.
* html/HTMLFormCollection.h: Ditto.
* html/HTMLFormElement.cpp: Ditto.
* html/HTMLFormElement.h: Ditto.
* html/HTMLGenericFormElement.cpp: Ditto.
* html/HTMLGenericFormElement.h: Ditto.
* html/HTMLInputElement.cpp: Ditto.
* html/HTMLInputElement.h: Ditto.
* html/HTMLIsIndexElement.cpp: Ditto.
* html/HTMLIsIndexElement.h: Ditto.
* html/HTMLKeygenElement.cpp: Ditto.
* html/HTMLKeygenElement.h: Ditto.
* html/HTMLLabelElement.cpp: Ditto.
* html/HTMLLabelElement.h: Ditto.
* html/HTMLLegendElement.cpp: Ditto.
* html/HTMLLegendElement.h: Ditto.
* html/HTMLNameCollection.cpp: Ditto.
* html/HTMLNameCollection.h: Ditto.
* html/HTMLNames.cpp: Ditto.
* html/HTMLNames.h: Ditto.
* html/HTMLOptGroupElement.cpp: Ditto.
* html/HTMLOptGroupElement.h: Ditto.
* html/HTMLOptionElement.cpp: Ditto.
* html/HTMLOptionElement.h: Ditto.
* html/HTMLOptionsCollection.cpp: Ditto.
* html/HTMLOptionsCollection.h: Ditto.
* html/HTMLParser.cpp: Ditto.
* html/HTMLParser.h: Ditto.
* html/HTMLSelectElement.cpp: Ditto.
* html/HTMLSelectElement.h: Ditto.
* html/HTMLTextAreaElement.cpp: Ditto.
* html/HTMLTextAreaElement.h: Ditto.
* html/HTMLTextFieldInnerElement.cpp: Ditto.
* html/HTMLTextFieldInnerElement.h: Ditto.
* html/HTMLTokenizer.cpp: Ditto.
* html/HTMLTokenizer.h: Ditto.
* html/html_baseimpl.cpp: Ditto.
* html/html_baseimpl.h: Ditto.
* html/html_blockimpl.cpp: Ditto.
* html/html_blockimpl.h: Ditto.
* html/html_headimpl.cpp: Ditto.
* html/html_headimpl.h: Ditto.
* html/html_imageimpl.cpp: Ditto.
* html/html_imageimpl.h: Ditto.
* html/html_inlineimpl.cpp: Ditto.
* html/html_inlineimpl.h: Ditto.
* html/html_listimpl.cpp: Ditto.
* html/html_listimpl.h: Ditto.
* html/html_objectimpl.cpp: Ditto.
* html/html_objectimpl.h: Ditto.
* html/html_tableimpl.cpp: Ditto.
* html/html_tableimpl.h: Ditto.
* bindings/objc/DOM.mm:
* bridge/mac/WebCoreEncodings.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* css/CSSGrammar.y:
* css/cssstyleselector.cpp:
* dom/Document.cpp:
* dom/EventTargetNode.cpp:
* dom/NameNodeList.cpp:
* dom/Node.cpp:
* dom/Position.cpp:
* dom/dom_elementimpl.cpp:
* dom/xml_tokenizer.cpp:
* editing/ApplyStyleCommand.cpp:
* editing/BreakBlockquoteCommand.cpp:
* editing/CompositeEditCommand.cpp:
* editing/DeleteSelectionCommand.cpp:
* editing/InsertLineBreakCommand.cpp:
* editing/InsertParagraphSeparatorCommand.cpp:
* editing/JSEditor.cpp:
* editing/ReplaceSelectionCommand.cpp:
* editing/TextIterator.cpp:
* editing/VisiblePosition.cpp:
* editing/htmlediting.cpp:
* editing/markup.cpp:
* editing/visible_units.cpp:
* html/CanvasRenderingContext2D.cpp:
* kcanvas/KCanvasTreeDebug.cpp:
* khtml/ecma/JSDOMParser.cpp:
* khtml/ecma/kjs_css.cpp:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_events.cpp:
* khtml/misc/decoder.cpp:
* khtml/xsl/XSLStyleSheet.cpp:
* khtml/xsl/XSLTProcessor.cpp:
* ksvg2/misc/SVGImageLoader.h:
* ksvg2/svg/SVGElement.cpp:
* ksvg2/svg/SVGSVGElement.cpp:
* kwq/WebCoreAXObject.mm:
* page/Frame.cpp:
* page/FrameView.cpp:
* rendering/RenderBlock.cpp:
* rendering/RenderBox.cpp:
* rendering/RenderFlow.cpp:
* rendering/RenderHTMLCanvas.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderObject.cpp:
* rendering/RenderTable.cpp:
* rendering/RenderTableCell.cpp:
* rendering/RenderTableCol.cpp:
* rendering/RenderTableRow.cpp:
* rendering/RenderTableSection.cpp:
* rendering/RenderTextField.cpp:
* rendering/RenderTheme.cpp:
* rendering/render_applet.cpp:
* rendering/render_button.cpp:
* rendering/render_frames.cpp:
* rendering/render_list.cpp:
Updated includes.
2006-03-17 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Move Form code from MacFrame to Frame.
Move GraphicsContext code from GraphicsContextMac to GraphicsContext.
Use IntRect, FloatRect in more places throughout the code.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7824
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::MacFrame):
(WebCore::MacFrame::searchForLabelsAboveCell):
(WebCore::MacFrame::searchForLabelsBeforeElement):
(WebCore::dictionaryFromHashMap):
(WebCore::MacFrame::submitForm):
(WebCore::MacFrame::setView):
(WebCore::MacFrame::currentEventIsMouseDownInWidget):
(WebCore::MacFrame::currentEventIsKeyboardOptionTab):
(WebCore::MacFrame::handleKeyboardOptionTabInView):
(WebCore::MacFrame::tabsToAllControls):
(WebCore::MacFrame::shouldDragAutoNode):
(WebCore::MacFrame::selectionImage):
(WebCore::MacFrame::snapshotDragImage):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge nextKeyView]):
(-[WebCoreFrameBridge previousKeyView]):
(-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
(-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
* kcanvas/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::clearRecordedFormValues):
(WebCore::Frame::recordFormValue):
(WebCore::Frame::didNotOpenURL):
(WebCore::scanForForm):
(WebCore::Frame::paint):
(WebCore::Frame::prepareForUserAction):
* page/Frame.h:
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
(WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::font):
(WebCore::GraphicsContext::setFont):
(WebCore::GraphicsContext::pen):
(WebCore::GraphicsContext::setPen):
(WebCore::GraphicsContext::setBrush):
(WebCore::GraphicsContext::brush):
(WebCore::GraphicsContext::setUsesInactiveTextBackgroundColor):
(WebCore::GraphicsContext::usesInactiveTextBackgroundColor):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContext::setUpdatingControlTints):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::printing):
(WebCore::GraphicsContext::drawImageAtPoint):
(WebCore::GraphicsContext::drawImageInRect):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::initFocusRing):
(WebCore::GraphicsContext::clearFocusRing):
(WebCore::GraphicsContext::addFocusRingRect):
(WebCore::GraphicsContext::focusRingWidth):
(WebCore::GraphicsContext::focusRingOffset):
(WebCore::GraphicsContext::focusRingRects):
* platform/GraphicsContext.h:
* platform/mac/GraphicsContextMac.mm:
(WebCore::fillRectSourceOver):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::setColorFromBrush):
(WebCore::GraphicsContext::setColorFromPen):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawFloatImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawScaledAndTiledImage):
(WebCore::GraphicsContext::selectedTextBackgroundColor):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::addClip):
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::drawFocusRing):
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
(WebCore::RenderBox::outlineBox):
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_list.cpp:
(WebCore::RenderListMarker::paint):
* rendering/render_object.cpp:
(WebCore::RenderObject::drawBorder):
(WebCore::RenderObject::paintBorderImage):
2006-03-19 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7854
CanvasGradient leaks
* html/CanvasGradient.cpp: (WebCore::CanvasGradient::platformShading):
Don't make the CG shading object keep a reference to the DOM gradient object.
I got confused because in the case of a CanvasPattern, the pattern does need
to keep a reference to the DOM pattern object, but the object lifetime is
handled differently here. The CG shading object is used right away, not set
in a graphics context.
2006-03-19 Darin Adler <darin@apple.com>
Reviewed by Eric.
- attempt to fix the buildbot by handling DOMImplementation another way
* WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp.
* bindings/objc/DOMImplementationFront.cpp: Added.
* bindings/objc/DOMImplementationFront.h: Added.
* bindings/objc/DOMInternal.h: Use DOMImplementationFront, not DOMImplementation.
* bindings/objc/DOM.mm:
(-[DOMImplementation dealloc]): Ditto.
(-[DOMImplementation finalize]): Ditto.
(-[DOMImplementation _initWithDOMImplementation:]): Ditto.
(+[DOMImplementation _DOMImplementationWith:]): Ditto.
(-[DOMImplementation _DOMImplementation]): Ditto.
(-[DOMDocument implementation]): Call implementationFront from the
DOMImplementationFront header instead of using the real implementation
function on the Document.
2006-03-19 Darin Adler <darin@apple.com>
- global rename, done by script
* <lots of files>: Renamed XXXImpl to XXX, and a number of other renames.
See WebKitTools/Scripts/do-webcore-rename version 13392 for details.
2006-03-19 Darin Adler <darin@apple.com>
- roll out fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
Unclosed <style> element in <head> makes page completely blank
This fix was breaking major sites -- details in the bug report.
* khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
Removed the bug fix, added a FIXME about the <title> code that has
the same problem.
2006-03-18 David Carson <dacarson@gmail.com>
Test: fast/canvas/patternfill-repeat.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7830
<canvas> createPattern 'repeat' options fail
* CanvasPattern.cpp (CanvasPattern::createPattern)
Change stepping so that repeat-x, repeat-y, and no-repeat repeat
outside the view area by using large values for repeat interval.
2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/dom/Element/class-attribute-whitespace.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7761
Tabs in class attribute not treated as whitespace
* dom/dom_elementimpl.cpp:
(WebCore::isClassWhitespace): Helper function to check if a character
in the class attribute should be treated as whitespace. Added \r and \t.
(WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating
a QStringList and iterating it, do everything in one pass over the string.
2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/block/float/vertical-move-relayout.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6795
Slow image load causes render problem
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
when the child's vertical position changes.
2006-03-18 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
Unclosed <style> element in <head> makes page completely blank
Test: fast/js/exception-linenums-in-html-3.html
Test: fast/js/missing-style-end-tag-js.html
Test: fast/tokenizer/missing-style-end-tag-1.html
Test: fast/tokenizer/missing-style-end-tag-2.html
* khtml/html/htmlparser.cpp:
(WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle
this condition if identified.
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
document looking for a </style> tag, reset the state of the tokenizer and
retokenize with no special handling for <style>. The parser will handle the
missing </style> tag in HTMLParser::handleError().
2006-03-18 Rob Buis <buis@kde.org>
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5351:
SVG: Safari ignores <title> elements
Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
in the process setting the title on the right triggers.
* ksvg2/svg/SVGTitleElementImpl.cpp:
(SVGTitleElementImpl::SVGTitleElementImpl):
(SVGTitleElementImpl::title):
(SVGTitleElementImpl::closeRenderer):
(SVGTitleElementImpl::insertedIntoDocument):
(SVGTitleElementImpl::removedFromDocument):
(SVGTitleElementImpl::childrenChanged):
* ksvg2/svg/SVGTitleElementImpl.h:
2006-03-18 Darin Adler <darin@apple.com>
- another try at fixing Windows build
* WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.
2006-03-18 Darin Adler <darin@apple.com>
- another try at fixing Windows build
* bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.
2006-03-18 Darin Adler <darin@apple.com>
- try to fix Windows build
* bridge/win/FrameWin.h: Remove KURL parameter.
* bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto.
* platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto.
2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- fix leaks caused by the fix for Bugzilla bug 3560
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with
first-letter pseudo style are children of an existing first-letter inline
that has been updated, and should be destroyed.
2006-03-18 David Hyatt <hyatt@apple.com>
Fix for bug 7841, tables, table rows, and table row groups should
all support overflow:hidden.
Reviewed by eric
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
(WebCore::RenderTable::paint):
(WebCore::RenderTable::getOverflowClipRect):
* rendering/RenderTable.h:
* rendering/RenderTableCol.h:
(WebCore::RenderTableCol::requiresLayer):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
* rendering/render_box.cpp:
(WebCore::RenderBox::setStyle):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::paintLayer):
2006-03-17 Alice Liu <alice.liu@apple.com>
Reviewed by Hyatt.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6999
"Dynamically added link-tag disables the use of change styles
dynamically"
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::process):
- dynamically added link-tags for stylesheets were messing up the
counting of pending stylesheets. If a head link element
specifies a new stylesheet but the previously specified
stylesheet is still loading, tell the document that stylesheets
are loaded so that there are no remaining requests for it to be
loaded.
2006-03-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin.
- Fixed some crashes in event dispatch and settled the question of
when getDocument() can return NULL, removing superfluous NULL checks.
I promise to check in a test case soon, but I need to land this before
the global rename happens, and I left the test file on my other machine.
Here's what I did:
(1) Removed NULL checks for getDocument() in cases where we know it
should not return NULL (which turned out to be all but one). Replaced
with ASSERT inside getDocument(). Tested to ensure there was no
regression @ albertsons.com.
(2) Added the EventTargetNode class, which represents Nodes that
implement the DOM EventTarget interface. Discussed this design with
Maciej and Hyatt. The previous dsign -- assuming that all Nodes were
EventTargets -- made it possible to crash WebKit by, for example,
dispatching a mouse event to a documentType node that was not
associated with a document.
(3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to
force a re-build.
(4) Using classInfo checking, strengthened type constraints on
JavaScript method dispatch so that you can't finagle JavaScript into,
for example, invoking a document-dependent method belonging to a
node type that's guaranteed to have a document on a node type that may
not have one.
(5) Pushed some IE-specific JS bindings that depend on a node having a
document down from DOMNode to DOMElement. (An element always has a
document.) Tested that Firefox's behavior matched. Confirmed with MSDN.
(6) Updated Objc bindigns to throw an exception if you try to use
the event interface on a node that doesn't support it. Discussed this
design with Maciej and TimH.
(7) Consolidated repeated documentElement-finding code in the Position
class into the Position::documentElement() method. Did the same for
repeated top-level document finding and DocumentImpl::topDocument().
* WebCore+SVG/KDOMHeaders.h:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMCore.cpp:
* bindings/objc/DOM.mm:
(-[DOMNode addEventListener:::]):
(-[DOMNode removeEventListener:::]):
(-[DOMNode dispatchEvent:]):
(-[DOMNode KJS::Bindings::]):
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::keyEvent):
(WebCore::MacFrame::dispatchCPPEvent):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
(-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
* css/css_base.cpp:
(WebCore::StyleBaseImpl::baseURL):
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/css_valueimpl.cpp:
(WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
(WebCore::CSSMutableStyleDeclarationImpl::setProperty):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/CharacterDataImpl.cpp:
(WebCore::CharacterDataImpl::CharacterDataImpl):
(WebCore::CharacterDataImpl::rendererIsNeeded):
(WebCore::CharacterDataImpl::dump):
* dom/CharacterDataImpl.h:
* dom/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::ContainerNodeImpl):
(WebCore::ContainerNodeImpl::removeChild):
(WebCore::ContainerNodeImpl::attach):
(WebCore::ContainerNodeImpl::detach):
(WebCore::ContainerNodeImpl::insertedIntoDocument):
(WebCore::ContainerNodeImpl::removedFromDocument):
(WebCore::ContainerNodeImpl::insertedIntoTree):
(WebCore::ContainerNodeImpl::removedFromTree):
(WebCore::ContainerNodeImpl::setFocus):
(WebCore::ContainerNodeImpl::setActive):
(WebCore::ContainerNodeImpl::setHovered):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/ContainerNodeImpl.h:
* dom/DOMImplementationImpl.cpp:
(WebCore::DOMImplementationImpl::createDocument):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::removeAllEventListenersFromAllNodes):
(WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners):
(WebCore::DocumentImpl::getAccObjectCache):
(WebCore::DocumentImpl::setFocusNode):
(WebCore::DocumentImpl::topDocument):
* dom/Element.idl:
* dom/EventTargetNodeImpl.cpp: Added.
(WebCore::EventTargetNodeImpl::EventTargetNodeImpl):
(WebCore::EventTargetNodeImpl::~EventTargetNodeImpl):
(WebCore::EventTargetNodeImpl::insertedIntoDocument):
(WebCore::EventTargetNodeImpl::removedFromDocument):
(WebCore::EventTargetNodeImpl::addEventListener):
(WebCore::EventTargetNodeImpl::removeEventListener):
(WebCore::EventTargetNodeImpl::removeAllEventListeners):
(WebCore::EventTargetNodeImpl::handleLocalEvents):
(WebCore::EventTargetNodeImpl::dispatchGenericEvent):
(WebCore::EventTargetNodeImpl::dispatchEvent):
(WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent):
(WebCore::EventTargetNodeImpl::dispatchWindowEvent):
(WebCore::EventTargetNodeImpl::dispatchUIEvent):
(WebCore::EventTargetNodeImpl::dispatchKeyEvent):
(WebCore::EventTargetNodeImpl::dispatchMouseEvent):
(WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent):
(WebCore::EventTargetNodeImpl::dispatchWheelEvent):
(WebCore::EventTargetNodeImpl::dispatchHTMLEvent):
(WebCore::EventTargetNodeImpl::removeHTMLEventListener):
(WebCore::EventTargetNodeImpl::setHTMLEventListener):
(WebCore::EventTargetNodeImpl::getHTMLEventListener):
(WebCore::EventTargetNodeImpl::disabled):
(WebCore::EventTargetNodeImpl::defaultEventHandler):
(WebCore::EventTargetNodeImpl::dump):
* dom/EventTargetNodeImpl.h: Added.
(WebCore::EventTargetNodeImpl::isEventTargetNode):
(WebCore::EventTargetNodeImpl::preDispatchEventHandler):
(WebCore::EventTargetNodeImpl::postDispatchEventHandler):
(WebCore::EventTarget):
(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
(WebCore::eventDispatchForbidden):
* dom/NodeImpl.cpp:
(WebCore::NodeImpl::NodeImpl):
(WebCore::NodeImpl::~NodeImpl):
(WebCore::NodeImpl::dump):
(WebCore::NodeImpl::detach):
(WebCore::NodeImpl::insertedIntoDocument):
(WebCore::NodeImpl::removedFromDocument):
* dom/NodeImpl.h:
(WebCore::NodeImpl::isEventTargetNode):
(WebCore::NodeImpl::isLink):
(WebCore::NodeImpl::getDocument):
(WebCore::NodeImpl::inDocument):
* dom/dom2_eventsimpl.cpp:
(WebCore::MouseRelatedEventImpl::receivedTarget):
* dom/dom2_rangeimpl.cpp:
(WebCore::RangeImpl::commonAncestorContainer):
* dom/dom_elementimpl.cpp:
(WebCore::inHTMLDocument):
(WebCore::ElementImpl::focus):
(WebCore::ElementImpl::blur):
(WebCore::StyledElementImpl::parseMappedAttribute):
* dom/dom_position.cpp:
(WebCore::Position::documentElement):
* dom/dom_position.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::computeAndStoreNodeDesiredStyle):
* editing/SelectionController.cpp:
(WebCore::SelectionController::needsCaretRepaint):
* editing/visible_units.cpp:
(WebCore::previousBoundary):
(WebCore::nextBoundary):
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
(WebCore::startOfDocument):
(WebCore::endOfDocument):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::mark):
(KJS::DOMNode::getValueProperty):
(KJS::DOMNode::putValueProperty):
(KJS::DOMNodeProtoFunc::callAsFunction):
(KJS::DOMEventTargetNode::DOMEventTargetNode):
(KJS::DOMEventTargetNode::getOwnPropertySlot):
(KJS::DOMEventTargetNode::getValueProperty):
(KJS::DOMEventTargetNode::put):
(KJS::DOMEventTargetNode::putValueProperty):
(KJS::DOMEventTargetNode::setListener):
(KJS::DOMEventTargetNode::getListener):
(KJS::DOMEventTargetNode::pushEventHandlerScope):
(KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
(KJS::):
(KJS::DOMDocument::DOMDocument):
(KJS::DOMDocument::getOwnPropertySlot):
(KJS::DOMDocument::put):
(KJS::DOMDocument::putValueProperty):
(KJS::DOMDocumentProtoFunc::callAsFunction):
(KJS::DOMElement::DOMElement):
(KJS::DOMElement::getValueProperty):
(KJS::DOMElement::put):
(KJS::DOMElement::putValueProperty):
(KJS::DOMElement::getOwnPropertySlot):
(KJS::DOMElementProtoFunc::callAsFunction):
(KJS::checkNodeSecurity):
* khtml/ecma/kjs_dom.h:
(KJS::DOMNode::):
(KJS::DOMEventTargetNode::):
(KJS::DOMElement::):
* khtml/ecma/kjs_events.cpp:
(KJS::JSLazyEventListener::parseCode):
(KJS::getNodeEventListener):
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElement::bodyGetter):
(KJS::HTMLElement::anchorGetter):
(KJS::HTMLElement::getValueProperty):
(KJS::HTMLElement::bodySetter):
* khtml/ecma/kjs_views.cpp:
(KJS::DOMAbstractViewProtoFunc::callAsFunction):
* khtml/html/HTMLFormElementImpl.cpp:
(WebCore::HTMLFormElementImpl::registerFormElement):
(WebCore::HTMLFormElementImpl::removeFormElement):
* khtml/html/HTMLGenericFormElementImpl.cpp:
(WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::~HTMLInputElementImpl):
(WebCore::HTMLInputElementImpl::focus):
* khtml/html/HTMLOptionElementImpl.cpp:
(WebCore::HTMLOptionElementImpl::text):
* khtml/html/HTMLSelectElementImpl.cpp:
(WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
* khtml/html/HTMLTextAreaElementImpl.cpp:
(WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLBodyElementImpl::insertedIntoDocument):
(WebCore::HTMLFrameElementImpl::isURLAllowed):
(WebCore::HTMLFrameElementImpl::openURL):
(WebCore::HTMLFrameElementImpl::frameWidth):
(WebCore::HTMLFrameElementImpl::frameHeight):
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLImageLoader::~HTMLImageLoader):
(WebCore::HTMLImageLoader::updateFromElement):
(WebCore::HTMLImageLoader::notifyFinished):
(WebCore::HTMLImageElementImpl::width):
(WebCore::HTMLImageElementImpl::height):
(WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
* khtml/html/html_inlineimpl.cpp:
(WebCore::HTMLAnchorElementImpl::defaultEventHandler):
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::notifyFinished):
* ksvg2/svg/SVGAnimateColorElementImpl.cpp:
(SVGAnimateColorElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimateElementImpl.cpp:
(SVGAnimateElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
(SVGAnimateTransformElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimationElementImpl.cpp:
(SVGAnimationElementImpl::closeRenderer):
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
* ksvg2/svg/SVGDocumentImpl.cpp:
(WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGImageElementImpl.cpp:
* ksvg2/svg/SVGSetElementImpl.cpp:
(SVGSetElementImpl::handleTimerEvent):
* kwq/KWQAccObject.mm:
(-[KWQAccObject mouseButtonListener]):
(-[KWQAccObject accessibilityPerformAction:]):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView dispatchHTMLEvent:]):
* page/Frame.cpp:
(WebCore::dispatchKHTMLEditableContentChanged):
* page/FrameView.cpp:
(WebCore::FrameView::dispatchDragEvent):
(WebCore::FrameView::dispatchMouseEvent):
(WebCore::FrameView::viewportWheelEvent):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::scrollToOffset):
* rendering/render_object.cpp:
(WebCore::RenderObject::shouldSelect):
(WebCore::RenderObject::backslashAsCurrencySymbol):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::sendConsumedMouseUp):
2006-03-17 David Hyatt <hyatt@apple.com>
Fix for 7837, make opacity work with table rows. Make transparent backgrounds
stack properly in cells (so that the layers behind can show through like they
should).
Reviewed by beth
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::requiresLayer):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):
* rendering/RenderTableCell.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::paint):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::isTransparent):
(WebCore::RenderLayer::transparentAncestor):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::absoluteBoundingBox):
* rendering/render_object.cpp:
(WebCore::RenderObject::requiresLayer):
* rendering/render_object.h:
(WebCore::RenderObject::isTransparent):
(WebCore::RenderObject::opacity):
2006-03-17 Maciej Stachowiak <mjs@apple.com>
Reviewed by Adele.
- clean up ResourceRequest to be closer to a proper request interface
* page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
(WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
that takes a KURL.
(WebCore::ResourceRequest::url): getter for KURL
(WebCore::ResourceRequest::setURL): corresponding setter
(WebCore::ResourceRequest::referrer): new getter for referrer, instead
of storing it in m_metaData (it was the only remaining real use of it)
(WebCore::ResourceRequest::setReferrer): corresponding setter
* bridge/BrowserExtension.h:
- removed unused openURLRequest and openURLNotify methods
- folded KURL parameter into ResourceRequest
* bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that
also take a ResourceRequest
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest
changes.
* bridge/mac/MacFrame.h: remove KURL args from methods that also take a
ResourceRequest
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes
(WebCore::MacFrame::submitForm): ditto
(WebCore::MacFrame::urlSelected): ditto
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
adjust for ResourceRequest changes
* bridge/win/BrowserExtensionWin.h:
* khtml/ecma/kjs_window.cpp:
(KJS::createNewWindow): adjust for ResourceRequest changes
(KJS::WindowFunc::callAsFunction): ditto
* page/Frame.cpp:
(WebCore::Frame::didOpenURL): adjust for ResourceRequest changes
(WebCore::Frame::receivedFirstData): ditto
(WebCore::Frame::begin): ditto
(WebCore::Frame::completeURL): ditto
(WebCore::Frame::changeLocation): ditto
(WebCore::Frame::urlSelected): ditto
(WebCore::Frame::requestFrame): ditto
(WebCore::Frame::submitForm): ditto
* page/Frame.h:
* platform/win/TemporaryLinkStubs.cpp:
(BrowserExtensionWin::createNewWindow): ditto
2006-03-17 Adele Peterson <adele@apple.com>
Reviewed by Tim H.
Make default backgrounds for new text fields white
instead of transparent. This will move to html4.css
when we flip the switch.
Test added:
* fast/forms/input-appearance-default-bkcolor.html
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::adjustTextFieldStyle):
2006-03-17 David Hyatt <hyatt@apple.com>
Make table sections and table captions support opacity.
Reviewed by darin
Covered by some of the new Mozilla table tests.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
2006-03-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Maciej, landed by Beth.
fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3560
page with use of first-letter crashes reproducibly in
RenderObject::renderArena()
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter): Pass the first-leter
renderer to the remaining text fragment.
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy
first-letter renderers since they are destroyed by their remaining
text now.
* rendering/RenderTextFragment.cpp:
(khtml::RenderTextFragment::RenderTextFragment):
(khtml::RenderTextFragment::destroy): Destroy the first-letter
renderer.
* rendering/RenderTextFragment.h:
(khtml::RenderTextFragment::firstLetter):
2006-03-17 Adele Peterson <adele@apple.com>
Reviewed by Eric.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7798
New text fields are much wider than they should be for a specified size
I changed the character we use to calculate the width from "w" back to "0",
which matches our old behavior. The original change was intentional, to try
to better match other browsers, but "w" is a little too wide. For now, lets
go back to the old behavior.
I also set the minWidth = maxWidth. We were trying to match a WinIE quirk,
but that caused some odd behavior with growth of the text field in table cells.
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
2006-03-17 Eric Seidel <eseidel@apple.com>
Reviewed by adele.
Fix win32 build.
Add PageWin class.
Add previously forgotten KeyEventWin class.
Pass MouseEvent() instead of 0 in a couple places to make compiler happy.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/BrowserExtensionWin.h:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::urlSelected):
(WebCore::FrameWin::keyPress):
* bridge/win/FrameWin.h:
* bridge/win/PageWin.cpp: Added.
(WebCore::rootWindowForFrame):
(WebCore::Page::windowRect):
(WebCore::Page::setWindowRect):
* page/FrameView.cpp:
(WebCore::FrameView::updateDragAndDrop):
(WebCore::FrameView::hoverTimerFired):
* page/Page.h:
(WebCore::Page::mainFrame):
* platform/win/KeyEventWin.cpp: Added.
(WebCore::KeyEvent::KeyEvent):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::findNextWordFromIndex):
(FrameWin::passMouseDownEventToWidget):
(FrameWin::scheduleClose):
(BrowserExtensionWin::createNewWindow):
(WebCore::findWordBoundary):
(FrameWin::registerCommandForUndo):
(FrameWin::markMisspellingsInAdjacentWords):
(FrameWin::respondToChangedContents):
2006-03-17 David Hyatt <hyatt@apple.com>
Fix pixel test regression in fast/table/overflowHidden.html. There was
a borderTopExtra error made in the new boundingBox code for layers that
caused the bottom half of cells with opacity set to be clipped out.
Reviewed by andersca
* rendering/render_layer.cpp:
(WebCore::RenderLayer::absoluteBoundingBox):
2006-03-17 David Hyatt <hyatt@apple.com>
Give table rows and sections accurate dimensions. Fix absolutePosition
to work for table cells properly. Add an absolutePositionForContent method
to make sure callers that want to deal with the content of a cell handle
the cell's extra space correctly.
Reviewed by darin
Existing layout tests cover this change.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge copyRenderNode:copier:]):
* dom/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::getUpperLeftCorner):
(WebCore::ContainerNodeImpl::getLowerRightCorner):
* dom/NodeImpl.cpp:
(WebCore::NodeImpl::getRect):
* editing/SelectionController.cpp:
(WebCore::SelectionController::layout):
(WebCore::SelectionController::caretRect):
* editing/visible_units.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::defaultEventHandler):
* kwq/KWQRenderTreeDebug.cpp:
(operator<<):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRects):
(WebCore::RenderBlock::positionForCoordinates):
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::positionForCoordinates):
(WebCore::RenderContainer::lineBoxRects):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeAbsoluteRepaintRect):
(WebCore::RenderTableCell::absolutePosition):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):
(WebCore::RenderTableRow::getAbsoluteRepaintRect):
(WebCore::RenderTableRow::nodeAtPoint):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::recalcCells):
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTableSection.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::lineBoxRects):
(WebCore::RenderText::positionForCoordinates):
(WebCore::RenderText::caretRect):
(WebCore::RenderText::posOfChar):
(WebCore::RenderText::selectionRect):
* rendering/render_box.cpp:
(WebCore::RenderBox::absolutePosition):
(WebCore::RenderBox::caretRect):
* rendering/render_br.cpp:
(WebCore::RenderBR::caretRect):
* rendering/render_canvas.h:
* rendering/render_flow.cpp:
(WebCore::RenderFlow::caretRect):
* rendering/render_frames.cpp:
(WebCore::RenderPart::updateWidgetPosition):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
* rendering/render_object.cpp:
(WebCore::RenderObject::absoluteRects):
(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::absolutePosition):
* rendering/render_object.h:
(WebCore::RenderObject::absolutePositionForContent):
(WebCore::RenderObject::offsetHeight):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::updateWidgetPosition):
2006-03-17 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
WebCore part of fix for:
http://bugzilla.opendarwin.org/show_bug.cgi?id=7797
Can't set background color on new text fields
Bezeled NSTextFieldCells always draw a background, so instead we'll use a new
WebKitSystemInterface function to just draw the border of the cell.
Since the theme is drawing the border and the engine is drawing the background
(which is different from the other form controls), we have to make sure we let the
theme paint the border after the engine paints the background.
* platform/mac/WebCoreGraphicsBridge.h:
* platform/mac/WebCoreGraphicsBridge.m:
(-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
* rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
* rendering/render_theme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorder):
(WebCore::RenderTheme::shouldPaintBorder):
* rendering/render_theme.h:
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::setTextFieldCellState):
2006-03-16 Darin Adler <darin@apple.com>
Reviewed by Eric.
- removed KWQWindowWidget
- changed most event handling to use references instead of pointers
- chagned PageMac to no longer be a subclass of Page
Yes, I know there's no detail in this ChangeLog entry.
No, I don't plan to make a habit of doing things this way.
Yes, this will probably break the Windows build again.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameViewMac.mm:
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::MacFrame):
(WebCore::MacFrame::~MacFrame):
(WebCore::MacFrame::wheelEvent):
(WebCore::MacFrame::keyEvent):
(WebCore::MacFrame::khtmlMousePressEvent):
(WebCore::MacFrame::khtmlMouseMoveEvent):
(WebCore::MacFrame::khtmlMouseReleaseEvent):
(WebCore::MacFrame::mouseDown):
(WebCore::MacFrame::mouseDragged):
(WebCore::MacFrame::mouseUp):
(WebCore::MacFrame::mouseMoved):
(WebCore::MacFrame::sendContextMenuEvent):
(WebCore::MacFrame::setBridge):
(WebCore::MacFrame::dragSourceMovedTo):
(WebCore::MacFrame::dragSourceEndedAt):
(WebCore::MacFrame::dispatchDragSrcEvent):
* bridge/mac/PageMac.h: Removed.
* bridge/mac/PageMac.mm: Added.
(WebCore::Page::Page):
(WebCore::Page::windowRect):
(WebCore::Page::setWindowRect):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge page]):
(-[WebCoreFrameBridge initializeSettings:]):
(globalPoint):
(createMouseEventFromDraggingInfo):
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
(-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
(-[WebCoreFrameBridge dragSourceMovedTo:]):
(-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
* bridge/mac/WebCoreFrameNamespaces.mm:
(WebCore::):
* bridge/mac/WebCorePageBridge.h:
* bridge/mac/WebCorePageBridge.mm:
(-[WebCorePageBridge init]):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::prepareMouseEvent):
(WebCore::DocumentImpl::defaultEventHandler):
* dom/DocumentImpl.h:
* dom/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchMouseEvent):
(WebCore::NodeImpl::dispatchKeyEvent):
(WebCore::NodeImpl::dispatchWheelEvent):
* dom/NodeImpl.h:
* dom/dom2_eventsimpl.cpp:
(WebCore::KeyboardEventImpl::KeyboardEventImpl):
* dom/dom2_eventsimpl.h:
(WebCore::KeyboardEventImpl::keyEvent):
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
(KJS::WindowFunc::callAsFunction):
* khtml/html/html_inlineimpl.cpp:
(WebCore::HTMLAnchorElementImpl::defaultEventHandler):
* ksvg2/svg/SVGDocumentImpl.cpp:
* ksvg2/svg/SVGDocumentImpl.h:
* kwq/KWQWindowWidget.h:
* kwq/KWQWindowWidget.mm: Removed.
* page/Frame.cpp:
(WebCore::Frame::selectClosestWordFromMouseEvent):
(WebCore::Frame::handleMousePressEventDoubleClick):
(WebCore::Frame::handleMousePressEventTripleClick):
(WebCore::Frame::handleMousePressEventSingleClick):
(WebCore::Frame::khtmlMousePressEvent):
(WebCore::Frame::handleMouseMoveEventSelection):
(WebCore::Frame::khtmlMouseMoveEvent):
(WebCore::Frame::khtmlMouseReleaseEvent):
(WebCore::Frame::khtmlMouseDoubleClickEvent):
(WebCore::Frame::passWidgetMouseDownEventToWidget):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::viewportMousePressEvent):
(WebCore::FrameView::viewportMouseDoubleClickEvent):
(WebCore::FrameView::viewportMouseMoveEvent):
(WebCore::FrameView::viewportMouseReleaseEvent):
(WebCore::FrameView::dispatchDragEvent):
(WebCore::FrameView::updateDragAndDrop):
(WebCore::FrameView::cancelDragAndDrop):
(WebCore::FrameView::performDragAndDrop):
(WebCore::FrameView::dispatchMouseEvent):
(WebCore::FrameView::viewportWheelEvent):
* page/FrameView.h:
* page/MouseEventWithHitTestResults.h:
(WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
(WebCore::MouseEventWithHitTestResults::event):
* page/Page.cpp:
(WebCore::Page::init):
* page/Page.h:
(WebCore::Page::bridge):
* platform/KeyEvent.h:
(WebCore::KeyEvent::isAutoRepeat):
* platform/MouseEvent.h:
(WebCore::MouseEvent::MouseEvent):
* platform/mac/KeyEventMac.mm:
(WebCore::KeyEvent::KeyEvent):
* platform/win/TemporaryLinkStubs.cpp:
(FrameView::isFrameView):
* rendering/render_form.cpp:
(WebCore::RenderFormElement::clicked):
2006-03-16 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Add additional hackish Font, focusring and caret code.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7803
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.vcproj/WebCore/build-generated-files.sh:
* bindings/js/JSCanvasRenderingContext2DBase.cpp:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::keyPress):
* bridge/win/FrameWin.h:
* html/CanvasRenderingContext2D.h:
* platform/IntSize.h:
* platform/KeyEvent.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawArc):
(WebCore::GraphicsContext::drawFocusRing):
* platform/win/FontWin.cpp:
(WebCore::hackishExtentForString):
(WebCore::Font::floatWidth):
(WebCore::convertRange):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::selectionRectForText):
(WebCore::Font::checkSelectionPoint):
(WebCore::Font::drawLineForText):
(WebCore::Font::misspellingLineThickness):
* platform/win/IntSizeWin.cpp: Added.
(WebCore::IntSize::IntSize):
(WebCore::IntSize::operator SIZE):
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::visibleContentRect):
* platform/win/TemporaryLinkStubs.cpp:
(Widget::disableFlushDrawing):
(GraphicsContext::GraphicsContext):
(QListBox::setSelected):
(QListBox::sizeForNumberOfLines):
(QListBox::isSelected):
(QListBox::appendItem):
(QListBox::doneAppendingItems):
(FrameWin::locationbarVisible):
(FrameWin::canUndo):
(FrameWin::mimeTypeForFileName):
(FrameWin::issueTransposeCommand):
(RenderCanvasImage::setNeedsImageUpdate):
(FrameWin::shouldChangeSelection):
(FrameWin::respondToChangedSelection):
(FrameWin::clearRecordedFormValues):
(FrameWin::recordFormValue):
(BrowserExtensionWin::getHistoryLength):
(Widget::setIsSelected):
(GraphicsContext::selectedTextBackgroundColor):
(GraphicsContext::addRoundedRectClip):
(QScrollBar::QScrollBar):
(QScrollBar::~QScrollBar):
(QScrollBar::setSteps):
(QScrollBar::scroll):
(QScrollBar::setValue):
(QScrollBar::setKnobProportion):
(QListBox::QListBox):
(QListBox::~QListBox):
(QListBox::setSelectionMode):
(QListBox::setFont):
* rendering/render_canvasimage.h:
2006-03-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- renamed URLArgs to ResourceRequest, split it into its own header
- moved methods to get and set ResourceRequest to Frame
* WebCore.xcodeproj/project.pbxproj:
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::openURLRequest):
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::openURLRequest):
(WebCore::MacFrame::submitForm):
(WebCore::MacFrame::urlSelected):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
* khtml/ecma/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::WindowFunc::callAsFunction):
* page/Frame.cpp:
(WebCore::Frame::didOpenURL):
(WebCore::Frame::receivedFirstData):
(WebCore::Frame::setResourceRequest):
(WebCore::Frame::resourceRequest):
(WebCore::Frame::begin):
(WebCore::Frame::changeLocation):
(WebCore::Frame::urlSelected):
(WebCore::Frame::requestFrame):
(WebCore::Frame::submitForm):
* page/Frame.h:
* page/FramePrivate.h:
* page/ResourceRequest.h: Added.
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::contentType):
(WebCore::ResourceRequest::setContentType):
(WebCore::ResourceRequest::doPost):
(WebCore::ResourceRequest::setDoPost):
(WebCore::ResourceRequest::lockHistory):
(WebCore::ResourceRequest::setLockHistory):
(WebCore::ResourceRequest::metaData):
2006-03-16 Darin Adler <darin@apple.com>
- need to touch one more file to fix the build
(Darn the lack of dependencies for autogenerated bindings!)
* dom/Element.idl: Touch. (Really this time.)
2006-03-16 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Pushed focus ring handling down into GraphicsContext.cpp
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::mouseDown):
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::initFocusRing):
(WebCore::GraphicsContext::clearFocusRing):
(WebCore::GraphicsContext::addFocusRingRect):
* platform/GraphicsContext.h:
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
(WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::drawFocusRing):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::addFocusRingRects):
* rendering/render_object.cpp:
(WebCore::RenderObject::addFocusRingRects):
2006-03-15 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7749
canvas should be in DOM, not implemented in the JS bindings
* WebCore.xcodeproj/project.pbxproj: Added new files.
Changed bindings-generation code to work on the new html directory
as well as the dom one.
* bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
* bindings/js/JSCanvasRenderingContext2DBase.h: Added.
* bindings/js/JSDOMHTML.cpp: Added.
* html: Added.
* html/CanvasGradient.cpp: Added.
* html/CanvasGradient.h: Added.
* html/CanvasGradient.idl: Added.
* html/CanvasPattern.cpp: Added.
* html/CanvasPattern.h: Added.
* html/CanvasPattern.idl: Added.
* html/CanvasRenderingContext2D.cpp: Added.
* html/CanvasRenderingContext2D.h: Added.
* html/CanvasRenderingContext2D.idl: Added.
* html/CanvasStyle.cpp: Added.
* html/CanvasStyle.h: Added.
* bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
* bindings/js/JSDOMEvents.cpp: Ditto.
* dom/Attr.idl: Ditto.
* dom/DOMImplementation.idl: Ditto.
* dom/DocumentType.idl: Ditto.
* dom/MutationEvent.idl: Ditto.
* dom/ProcessingInstruction.idl: Ditto.
* dom/Text.idl: Ditto.
* khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call
toJS on a PassRefPtr as well as on a raw pointer.
* bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only
a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase
as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D,
CanvasGradient, and CanvasPattern to the "waht to include". Added a special
case for strings beginning with Canvas to not add an "Impl" suffix. Made the
generated impl() function be a const member function. Made m_mimpl be private
instead of protected. Generate a toJS function for each class. Added flaot as
a type. Generate String, not DOMString. Made the HashTable const.
* bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to
try to make a missing semicolon trigger an error, but ended up giving up on
that for now.
* khtml/html/html_canvasimpl.h:
* khtml/html/html_canvasimpl.cpp:
(WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0.
(WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas
on m_2DContext, if any.
(WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any.
(WebCore::HTMLCanvasElementImpl::getContext): Added.
(WebCore::HTMLCanvasElementImpl::size): Added.
(WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.
* platform/Image.h:
* platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
Changed to take a String instead of a const char*.
* khtml/html/html_imageimpl.h:
* khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
Tweaked formatting. Changed to use PassRefPtr.
* bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
* khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
* khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
* khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::getValueProperty):
(KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
(KJS::toJS):
(KJS::DOMStyleSheet::getValueProperty):
(KJS::DOMStyleSheetList::indexGetter):
(KJS::DOMStyleSheetList::nameGetter):
(KJS::DOMStyleSheetListFunc::callAsFunction):
(KJS::DOMCSSStyleSheet::getValueProperty):
(KJS::DOMCSSRuleList::indexGetter):
(KJS::DOMCSSRuleListFunc::callAsFunction):
(KJS::DOMCSSRule::getValueProperty):
(KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
(KJS::DOMCSSValueList::indexGetter):
(KJS::DOMCSSValueListFunc::callAsFunction):
(KJS::DOMRect::getValueProperty):
* khtml/ecma/kjs_css.h:
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::getValueProperty):
(KJS::DOMNodeProtoFunc::callAsFunction):
(KJS::DOMNodeList::indexGetter):
(KJS::DOMNodeList::nameGetter):
(KJS::DOMNodeList::callAsFunction):
(KJS::DOMNodeListFunc::callAsFunction):
(KJS::DOMDocument::getValueProperty):
(KJS::DOMDocumentProtoFunc::callAsFunction):
(KJS::DOMNamedNodeMap::indexGetter):
(KJS::DOMNamedNodeMap::nameGetter):
(KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
(KJS::toJS):
(KJS::DOMNamedNodesCollection::indexGetter):
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
(KJS::JSLazyEventListener::parseCode):
(KJS::DOMEvent::getValueProperty):
(KJS::toJS):
(KJS::DOMUIEvent::getValueProperty):
(KJS::DOMMouseEvent::getValueProperty):
* khtml/ecma/kjs_events.h:
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocFunction::callAsFunction):
(KJS::HTMLDocument::namedItemGetter):
(KJS::HTMLDocument::getValueProperty):
(KJS::HTMLDocument::put):
(KJS::HTMLDocument::putValueProperty):
(KJS::HTMLElement::classInfo):
(KJS::HTMLElement::formIndexGetter):
(KJS::HTMLElement::selectIndexGetter):
(KJS::HTMLElement::implementsCall):
(KJS::HTMLElement::callAsFunction):
(KJS::HTMLElement::linkGetter):
(KJS::HTMLElement::isIndexGetter):
(KJS::HTMLElement::styleGetter):
(KJS::HTMLElement::selectGetter):
(KJS::HTMLElement::optionGetter):
(KJS::HTMLElement::inputGetter):
(KJS::HTMLElement::textAreaGetter):
(KJS::HTMLElement::buttonGetter):
(KJS::HTMLElement::labelGetter):
(KJS::HTMLElement::fieldSetGetter):
(KJS::HTMLElement::legendGetter):
(KJS::HTMLElement::objectGetter):
(KJS::HTMLElement::tableGetter):
(KJS::HTMLElement::frameGetter):
(KJS::HTMLElement::iFrameGetter):
(KJS::HTMLElement::getValueProperty):
(KJS::HTMLElement::toString):
(KJS::HTMLElement::pushEventHandlerScope):
(KJS::toJS):
(KJS::HTMLElementFunction::callAsFunction):
(KJS::HTMLElement::put):
(KJS::HTMLCollection::indexGetter):
(KJS::HTMLCollection::callAsFunction):
(KJS::HTMLCollection::getNamedItems):
(KJS::HTMLCollectionProtoFunc::callAsFunction):
(KJS::HTMLSelectCollection::put):
(KJS::OptionConstructorImp::construct):
(KJS::ImageConstructorImp::construct):
* khtml/ecma/kjs_html.h:
* khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
* khtml/ecma/kjs_range.cpp:
(KJS::DOMRange::getValueProperty):
(KJS::DOMRangeProtoFunc::callAsFunction):
(KJS::toJS):
* khtml/ecma/kjs_range.h:
* khtml/ecma/kjs_traversal.cpp:
(KJS::DOMNodeIterator::getValueProperty):
(KJS::DOMNodeIteratorProtoFunc::callAsFunction):
(KJS::toJS):
(KJS::DOMTreeWalker::getValueProperty):
(KJS::DOMTreeWalkerProtoFunc::callAsFunction):
(KJS::JSNodeFilterCondition::acceptNode):
* khtml/ecma/kjs_traversal.h:
* khtml/ecma/kjs_views.cpp:
(KJS::DOMAbstractView::getValueProperty):
(KJS::DOMAbstractViewProtoFunc::callAsFunction):
(KJS::toJS):
* khtml/ecma/kjs_views.h:
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
(KJS::Window::namedItemGetter):
(KJS::Selection::getValueProperty):
(KJS::SelectionFunc::callAsFunction):
Rename uses and definitions of all the various converstions to JavaScript
wrappers to the new common overloaded name: "toJS".
2006-03-15 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Push more of MacFrame down into Frame.
Add visibleContentRect method to ScrollView.
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::imageFromRect):
(WebCore::MacFrame::setDisplaysWithFocusAttributes):
(WebCore::MacFrame::bodyBackgroundColor):
* bridge/mac/WebCoreFrameBridge.mm:
* page/Frame.cpp:
(WebCore::Frame::visibleSelectionRect):
(WebCore::Frame::setDisplaysWithFocusAttributes):
* page/Frame.h:
* platform/ScrollView.h:
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::visibleWidth):
(WebCore::ScrollView::visibleHeight):
(WebCore::ScrollView::visibleContentRect):
(WebCore::ScrollView::contentsWidth):
(WebCore::ScrollView::contentsHeight):
(WebCore::ScrollView::contentsX):
(WebCore::ScrollView::contentsY):
(WebCore::ScrollView::scrollXOffset):
(WebCore::ScrollView::scrollYOffset):
(WebCore::ScrollView::inWindow):
2006-03-15 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Remove unused code and clean-up style.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::advanceToNextMisspelling):
(WebCore::MacFrame::wheelEvent):
(WebCore::MacFrame::nextKeyViewInFrame):
(WebCore::MacFrame::nextKeyViewInFrameHierarchy):
(WebCore::MacFrame::nextKeyView):
* page/Frame.cpp:
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::dispatchMouseEvent):
2006-03-15 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7790
addEventListener does not work with "dblclick" event.
Renamed khtmlDblclickEvent to dblclickEvent to fix.
Test: fast/events/dblclick-addEventListener.html
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::mouseUp):
(WebCore::MacFrame::mouseMoved):
(WebCore::MacFrame::shouldDragAutoNode):
(WebCore::MacFrame::sendContextMenuEvent):
* dom/EventNames.h:
* dom/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchMouseEvent):
* dom/NodeImpl.h:
* khtml/ecma/kjs_binding.cpp:
(KJS::ScriptInterpreter::wasRunByUserGesture):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::getValueProperty):
(KJS::DOMNode::putValueProperty):
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
(KJS::Window::put):
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::parseMappedAttribute):
* page/FrameView.cpp:
(WebCore::FrameView::dispatchMouseEvent):
* page/FrameView.h:
2006-03-16 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4395
REGRESSION: document.open doesn't clear the document
Test: fast/dom/Document/document-reopen.html
Test: fast/dom/Document/doc-open-while-parsing.html
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
* page/Frame.cpp:
(WebCore::Frame::isComplete): Added const specifier.
(WebCore::Frame::isLoadingMainResource): New function.
* page/Frame.h:
2006-03-15 Adele Peterson <adele@apple.com>
Reviewed by Eric.
- Fixes win32 build.
* page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
* platform/MouseEvent.h: Added isMouseButtonDown
* platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
* platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.
2006-03-15 Eric Seidel <eseidel@apple.com>
Reviewed by geoff.
* platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
2006-03-15 David Hyatt <hyatt@apple.com>
Fix the box-sizing layout test by stopping integer overflowing from
occurring in the flexbox code.
Reviewed by beth
* rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::allowedChildFlex):
2006-03-15 Beth Dakin <bdakin@apple.com>
Reviewed by Eric
Fix for some leaks and intermittent broken pipes in the layout
tests after check-in for http://bugzilla.opendarwin.org/
show_bug.cgi?id=4171.
* platform/StringImpl.cpp:
(WebCore::StringImpl::capitalize): Call deleteQCharVector() for
stringWithPrevious and make sure we don't walk off the end of
stringWithPrevious when copying to capitalizedString.
2006-03-15 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
Followup fix for previous checkin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
<rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas
Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.
This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will
also work with nested layers, like those in the RSS View.
* bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
2006-03-15 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
Dragging to scroll doesn't work for overflow areas
No test case. There doesn't appear to be a way to trigger the autoscroll with the EventSender.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::khtmlMouseMoveEvent): If we have a layer that can scroll, let the layer handle its autoscroll.
Otherwise, call over the bridge to let AppKit scroll the view.
(WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
* page/Frame.cpp:
(WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
(WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer.
(WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer.
(WebCore::Frame::startAutoscrollTimer): Added.
(WebCore::Frame::stopAutoscrollTimer): Added.
* page/Frame.h: Added new autoscroll methods.
* page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
* rendering/render_layer.cpp:
(WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls.
(WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll.
Except for overflow:hidden areas that aren't editable.
In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
* rendering/render_layer.h: Added new autoscroll methods.
2006-03-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by mjs
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
TinyMCE: Implement execCommand CreateLink
Used ApplyStyleCommand so that creating a link from
a selection doesn't change document structure.
* WebCore.xcodeproj/project.pbxproj:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::doApply):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/ApplyStyleCommand.h:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::applyStyle):
* editing/CreateLinkCommand.cpp: Added.
(WebCore::CreateLinkCommand::CreateLinkCommand):
(WebCore::CreateLinkCommand::doApply):
* editing/CreateLinkCommand.h: Added.
* editing/jsediting.cpp:
* page/Frame.cpp:
(WebCore::Frame::computeAndSetTypingStyle):
(WebCore::Frame::applyStyle):
(WebCore::Frame::applyParagraphStyle):
2006-03-14 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4171
This patch changes the word-break algorithm used to apply text-
transform:capitalize to use a UBreakIterator. This fixes some
existing edge cases we have in our text-transform:capitalize
support and generally makes our results more consistent.
* platform/StringImpl.cpp:
(WebCore::getWordBreakIterator): Returns a UBreakIterator for a
given string of a given length.
(WebCore::StringImpl::capitalize): Now uses the UBreakIterator to
step between words and requires the previous character as input.
* platform/StringImpl.h: Change the declaration of capitalize() to
take the previous character as a parameter.
* rendering/RenderText.cpp:
(WebCore::RenderText::setText): Find the previous character and
send it to StringImpl::capitalize()
2006-03-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by adele
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7770>
Should only dispatch the khtmlTextInsertedEvent for high level editing operations
Dispatching this event for low level editing operations
isn't necessary and causes a big performance regression.
Also renamed the event because it's dispatched for changes
other than just text insertion.
* dom/EventNames.h:
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply):
(WebCore::EditCommand::unapply):
(WebCore::EditCommand::reapply):
* khtml/html/HTMLTextFieldInnerElementImpl.cpp:
(WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
* page/Frame.cpp:
(WebCore::dispatchKHTMLEditableContentChanged):
(WebCore::Frame::appliedEditing):
(WebCore::Frame::unappliedEditing):
(WebCore::Frame::reappliedEditing):
2006-03-14 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
Don't call setBridge(nil).
2006-03-14 Darin Adler <darin@apple.com>
- oops, didn't mean to check this in
* dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
Reverted nil-document check that I didn't mean to remove.
2006-03-14 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6796
This fix prevents infinite recursion when a block with overflow:
auto can't decide if it needs scrollbars or not. This fix puts a
guard in place in updateScrollInforAfterLayout that only allows you
to re-layout if you are not currently laying out.
* rendering/render_layer.cpp:
(WebCore::RenderLayer::RenderLayer): Initialize
m_inOverflowRelayout to false. Fixed spacing too.
(WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard
around layout calls in overflow:auto case.
* rendering/render_layer.h: Add m_inOverflowRelayout.
2006-03-14 Darin Adler <darin@apple.com>
Reviewed by Geoff and Eric.
- fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7765>, <rdar://problem/4474884>
hasAttribute always returns false for uppercase attribute names like "STYLE"
- re-add missing JavaScript binding for getAttributeNS
- fixed handling of null namespace parameters in getAttributeNS and friends
Test: fast/dom/Element/attribute-uppercase.html
To match Gecko's behavior, the magic "lowercasing" of all attribute names
is only done when calling DOM Level 1 functions that lack an NS suffix.
The functions with an NS suffix are case sensitive, even in HTML documents.
* dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
functions instead of calling through to getNamedItemNS and removeNamedItemNS.
* dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called
the NS functions. They can't work that way any more since the lowercasing behavior
is different.
* dom/dom_elementimpl.cpp:
(WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document
is an HTML document, and then calls through to the qualified name version. Removed
the null check since getDocument is guaranteed to never return 0 now that nodes
hold a reference to their document.
(WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code.
(WebCore::ElementImpl::setAttribute): More of the same.
(WebCore::ElementImpl::setAttributeNS): Ditto.
(WebCore::ElementImpl::removeAttribute): Ditto.
(WebCore::ElementImpl::removeAttributeNS): Ditto.
(WebCore::ElementImpl::getAttributeNode): Ditto.
(WebCore::ElementImpl::getAttributeNodeNS): Ditto.
(WebCore::ElementImpl::hasAttribute): Ditto.
(WebCore::ElementImpl::hasAttributeNS): Ditto.
(WebCore::NamedAttrMapImpl::getNamedItem): Ditto.
(WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto.
(WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
(WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
(WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null
check like the one mentioned above.
* dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI
parameters, since we don't want null to turn into "null". Added a semicolon
to the end of the hasAttributeNS line -- was causing the next declaration to
be eaten up (so getAttributeNS was completely broken).
* khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
for both getNamedItemNS and removeNamedItemNS.
* bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
2006-03-14 David Hyatt <hyatt@apple.com>
Fix for bug 7259, opacity performs badly.
Reviewed by mjs
Adding some tests in fast/opacity.
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
* rendering/render_layer.cpp:
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::absoluteBoundingBox):
* rendering/render_layer.h:
(WebCore::RenderLayer::root):
2006-03-14 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix Gif crasher.
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::do_lzw): Initialize array after new.
2006-03-14 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Make MouseEvents aware of current scroll position.
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::viewportToContents):
(WebCore::ScrollView::contentsToViewport):
2006-03-13 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix mouse events to be window-relative.
* platform/win/MouseEventWin.cpp:
(WebCore::positionForEvent):
(WebCore::globalPositionForEvent):
(WebCore::MouseEvent::MouseEvent):
2006-03-13 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Close DeviceContext leaks in Font code.
Also add moveCursor stub to make maps.google.com not crash.
* platform/win/FontWin.cpp:
(WebCore::getFontData):
(WebCore::Font::floatWidth):
(WebCore::Font::drawText):
* platform/win/TemporaryLinkStubs.cpp:
(Cursor::Cursor):
(WebCore::moveCursor):
2006-03-13 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren & TimH.
<rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
XML_DTD_NODE objects in the tree were causing loadChildSheets to
fail to preload child stylesheets, this patch causes us to
correctly ignore all nodes besides the first XML_ELEMENT_NODE at
the root level when searching the tree for xsl:include statements
to pre-load.
Test: fast/xsl/xslt-second-level-import.xml
* khtml/xsl/xsl_stylesheetimpl.cpp:
(WebCore::XSLStyleSheetImpl::loadChildSheets):
2006-03-10 Rob Buis <buis@kde.org>
Reviewed by darin. Landed by eseidel.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7666:
dasharray on rounded rectangles is broken
Make sure the rounded rectangle is drawn clockwise, as outlined
in the specification.
Test: svg/custom/dashArrayOrigin.svg
* kcanvas/KCanvasCreator.cpp:
(WebCore::KCanvasCreator::createRoundedRectangle):
2006-03-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Maciej, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5923
REGRESSION: scrolling on Google maps continues after the mouse is
released outside the window
Test: fast/events/drag-outside-window.html
* rendering/render_layer.cpp:
(WebCore::RenderLayer::containsPoint): Always return true for the root
object to ensure that mouse events occurring outside the window target
the document.
2006-03-12 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7735
REGRESSION: crash on importing bookmarks
No test - only reproducible when Safari imports the bookmarks.
* dom/EventNames.cpp:
(WebCore::EventNames::init): Initialize AtomicString before using it.
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::init): Ditto.
* khtml/html/htmlnames.cpp:
(WebCore::HTMLNames::init): Ditto.
* ksvg2/scripts/make_names.pl: Ditto.
2006-03-12 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin, landed by ap.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7724
Minor refactoring to HTMLParser::handleError() to remove duplicate code
Test: fast/invalid/missing-address-end-tag.html
Test: fast/invalid/missing-dl-end-tag.html
Test: fast/invalid/missing-dt-end-tag.html
Test: fast/invalid/missing-font-end-tag.html
* khtml/html/htmlparser.cpp:
(WebCore::HTMLParser::handleError): Refactored code.
2006-03-10 Darin Adler <darin@apple.com>
- fix Windows build
* bridge/win/FrameWin.h: Removed declaration of generateFrameName.
2006-03-10 Darin Adler <darin@apple.com>
Reviewed by Adele.
- removed some unused stuff from Frame and MacFrame
* page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh,
setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet,
preloadScript, restored, onURL, selectionChanged, htmlError, openFile,
updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId.
* page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL,
m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion,
m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists.
* page/Frame.cpp:
(WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
m_bClearing.
(WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId.
(WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL
and m_strSelectedURLTarget.
* bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and
requestedURLString.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored.
Removed unused requestedURLString.
* bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.
2006-03-10 Darin Adler <darin@apple.com>
- fix Windows build
* page/FrameTree.cpp: Add include of <stdarg.h>.
2006-03-10 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3308
Pop-up blocking blocks window.open for already open windows
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7422
Setting a frame name to the same value resets it to a generated one
- refactor frame-name-related functions into the FrameTree object
* WebCore.xcodeproj/project.pbxproj: Update for rename.
* bridge/mac/MacFrame.h: Remove generateFrameName.
* bridge/mac/MacFrame.mm: Ditto.
* bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge.
* bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName,
setFrameNamespace, frameNamespace.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child
function on the FrameTree.
(-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find
function on the FrameTree.
(-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the
contentPart function has been renamed to contentFrame.
* bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the
one method still used on the WebKit side, framesInNamespace:.
* bridge/mac/WebCoreFrameNamespaces.m: Renamed.
* bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the
framesInNamespace method to use the namespace in WebCore::Page.
* bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName.
* bridge/mac/WebCorePageBridge.mm:
(-[WebCorePageBridge setGroupName:]): Added. Calls through to Page.
(-[WebCorePageBridge groupName]): Ditto.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name.
(KJS::HTMLElement::frameGetter): Ditto.
(KJS::HTMLElement::iFrameGetter): Ditto.
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty): Changed to call FrameTree::childCount
instead of Frame::frames.
(KJS::Window::childFrameGetter): Changed to call FrameTree::child
instead of Frame::childFrameNamed.
(KJS::Window::namedFrameGetter): Changed to call FrameTree::find
instead of Frame::findFrame.
(KJS::Window::indexGetter): Changed to call FrameTree::child
instead of Frame::frames.
(KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child,
FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed,
and Frame::findFrame, and Frame::frames.
(KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window
is already open when considering whether to block a pop-up.
(KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount
instead of Frame::frames.
(KJS::FrameArray::indexGetter): Changed to call FrameTree::child
instead of Frame::frames.
(KJS::FrameArray::nameGetter): Changed to call FrameTree::child
instead of Frame::findFrame.
(KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child,
and FrameTree::childCount instead of Frame::findFrame and Frame::frames.
* khtml/html/html_baseimpl.h:
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount
instead of Frame::topLevelFrameCount.
(WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child
instead of Frame::findFrame.
(WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount
instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
instead of Frame::requestFrameName.
(WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount
instead of Frame::decrementFrameCount. Changed to call FrameTree::child
instead of Frame::findFrame.
(WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also
changed to call FrameTree::child instead of Frame::findFrame.
(WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of
contentFrame from contentPart.
(WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount
instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
instead of Frame::requestFrameName.
* rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
instead of Frame::topLevelFrameCount.
* page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame,
frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount,
generateFrameName, and requestFrameName functions.
* page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child
instead of Frame::childFrameNamed.
* page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned.
Added isDescendantOf, traverseNext, child, find, uniqueChildName.
* page/FrameTree.cpp:
(WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name
duplication logic.
(WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates
an appropriate frame name if there is a duplicate.
(WebCore::FrameTree::child): Added.
(WebCore::FrameTree::find): Added.
(WebCore::FrameTree::isDescendantOf): Added.
(WebCore::FrameTree::traverseNext): Added.
* page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
decrementFrameCount, and frameCount.
* page/Page.cpp:
(WebCore::Page::Page): Initialize m_frameCount to 0.
(WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in.
(WebCore::Page::setGroupName): Added.
(WebCore::Page::frameNamespace): Added.
* platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.
2006-03-10 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin, harrison
~3x speedup pasting plain text from the console
* dom/dom_position.cpp:
(WebCore::Position::next):
(WebCore::Position::atEnd):
2006-03-10 David Hyatt <hyatt@apple.com>
More refactoring. Split the FontData into cross-platform and
platform-specific components.
Reviewed by eric
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/FontData.h: Added.
(WebCore::FontData:::m_platformData):
(WebCore::FontData::platformData):
(WebCore::FontData::setMetrics):
(WebCore::FontData::ascent):
(WebCore::FontData::descent):
(WebCore::FontData::xHeight):
(WebCore::FontData::lineSpacing):
* platform/FontPlatformData.h: Added.
(WebCore::FontPlatformData::hfont):
(WebCore::FontPlatformData::scaledFont):
* platform/win/FontPlatformDataWin.cpp: Added.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData):
* platform/win/FontWin.cpp:
(WebCore::Font::floatWidth):
(WebCore::Font::drawText):
2006-03-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- fix win32 networking to properly use async load API
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJobWndProc):
(WebCore::TransferJob::start):
2006-03-10 Eric Seidel <eseidel@apple.com>
Fix build.
* platform/win/FontWin.cpp:
(WebCore::getFontData):
* platform/win/TemporaryLinkStubs.cpp:
2006-03-10 Adele Peterson <adele@apple.com>
Reviewed by Tim Hatcher.
- fix for <rdar://problem/4469419>
REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute
Test: fast/forms/radio-attr-order.html
* khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute):
When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked.
Also, when the name changes on a checked button, we don't need to check that
there's a form before removing it as the checked button for that group.
That was an old check from when we required a form to keep track of checked buttons.
2006-03-10 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)
* platform/ScrollView.h:
* platform/Widget.h:
* platform/win/FontWin.cpp:
(WebCore::getCairoFont): Fix crasher.
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::~ScrollView):
(WebCore::ScrollView::updateContents):
(WebCore::ScrollView::visibleWidth):
(WebCore::ScrollView::visibleHeight):
(WebCore::ScrollView::setContentsPos):
(WebCore::ScrollView::resizeContents):
(WebCore::ScrollView::contentsX):
(WebCore::ScrollView::contentsY):
(WebCore::ScrollView::contentsWidth):
(WebCore::ScrollView::contentsHeight):
(WebCore::ScrollView::viewportToContents):
(WebCore::ScrollView::contentsToViewport):
(WebCore::ScrollView::scrollXOffset):
(WebCore::ScrollView::scrollYOffset):
(WebCore::ScrollView::scrollBy):
(WebCore::ScrollView::hScrollBarMode):
(WebCore::ScrollView::vScrollBarMode):
(WebCore::ScrollView::suppressScrollBars):
(WebCore::ScrollView::setHScrollBarMode):
(WebCore::ScrollView::setVScrollBarMode):
(WebCore::ScrollView::setScrollBarsMode):
(WebCore::ScrollView::setStaticBackground):
(WebCore::ScrollView::updateScrollInfo):
(WebCore::ScrollView::updateScrollBars):
* platform/win/TemporaryLinkStubs.cpp:
(BrowserExtensionWin::goBackOrForward):
(BrowserExtensionWin::setIconURL):
(ScrollView::scrollPointRecursively):
* platform/win/WidgetWin.cpp:
(WebCore::Widget::windowHandle): mark as const
2006-03-10 David Hyatt <hyatt@apple.com>
Rename the m_renderer variable to m_dataSet now that the class name
has changed.
Reviewed by adele
* platform/Font.cpp:
(WebCore::m_wordSpacing):
(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::update):
* platform/Font.h:
* platform/FontDataSet.h:
* platform/mac/FontMac.mm:
(WebCore::Font::getWebCoreFont):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::lineSpacing):
(WebCore::Font::xHeight):
(WebCore::Font::isFixedPitch):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawLineForText):
(WebCore::Font::drawLineForMisspelling):
(WebCore::Font::misspellingLineThickness):
(WebCore::Font::floatWidth):
(WebCore::Font::checkSelectionPoint):
* platform/win/FontWin.cpp:
(WebCore::FontData::FontData):
(WebCore::FontData::~FontData):
(WebCore::getFontData):
(WebCore::FontDataSet::primaryFont):
(WebCore::Font::floatWidth):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::xHeight):
(WebCore::Font::lineSpacing):
(WebCore::Font::isFixedPitch):
(WebCore::Font::drawText):
2006-03-10 David Hyatt <hyatt@apple.com>
Rename FontRenderer to FontDataSet.
Reviewed by adele
* WebCore.xcodeproj/project.pbxproj:
* platform/Font.cpp:
(WebCore::Font::update):
* platform/Font.h:
* platform/FontDataSet.h: Added.
* platform/FontRenderer.h: Removed.
* platform/mac/FontMac.mm:
(WebCore::FontDataSet::~FontDataSet):
(WebCore::FontDataSet::getWebCoreFont):
(WebCore::FontDataSet::getRenderer):
(WebCore::FontDataSet::determinePitch):
(WebCore::FontDataSet::invalidate):
* platform/win/FontWin.cpp:
(WebCore::getCairoFont):
(WebCore::FontDataSet::~FontDataSet):
(WebCore::FontDataSet::determinePitch):
(WebCore::FontDataSet::invalidate):
(WebCore::FontDataSet::primaryCairoFont):
2006-03-09 Justin Garcia <justin.garcia@apple.com>
Reviewed by adele
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7692>
Should use an iterator in CompositeEditCommand::doUnapply()
~30% speedup of a big undo
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::doUnapply):
(WebCore::CompositeEditCommand::doReapply):
2006-03-09 Adele Peterson <adele@apple.com>
Reviewed by Tim O.
Removed unnecessary alerts in TextIterator advance methods.
We want to be able to use advance() even if the iterator is already at the end.
* editing/visible_text.cpp:
(khtml::TextIterator::advance): remove assert since TextIterator will just do nothing if its already at the end.
(khtml::CharacterIterator::advance): ditto.
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
Since the asserts in the iterator are removed, we don't have to check for it.atEnd() before calling advance.
2006-03-09 David Hyatt <hyatt@apple.com>
Make text paint with the correct foreground color on Windows.
Make the face validation check case insensitive.
Force ClearType to be on for font rendering.
Reviewed by Tim Hatcher
* platform/win/FontWin.cpp:
(WebCore::getCairoFont):
(WebCore::Font::drawText):
2006-03-09 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7675
When new text fields change from visibility:hidden to visibility:visible, value doesn't display
Test: fast/forms/input-appearance-visibility.html
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle):
Sets the style directly on the children of the inner div.
2006-03-09 David Hyatt <hyatt@apple.com>
Make basic text rendering work on Win32.
Reviewed by eric
* WebCore.vcproj/WebCore/WebCore.vcproj:
Add FontDescription.h to the Visual Studio project.
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
Add some good default font settings to KHTMLSettings.
* platform/Font.cpp:
(WebCore::Font::update):
Renamed the FontRenderer method to invalidate, so that's what
update calls now.
* platform/FontRenderer.h:
* platform/mac/FontMac.mm:
(WebCore::FontRenderer::~FontRenderer):
(WebCore::FontRenderer::invalidate):
Rename the update method to invalidate. Make sure the Mac
font renderer releases its resources when it gets destroyed.
* platform/win/FontWin.cpp:
(WebCore::CairoFont::CairoFont):
(WebCore::CairoFont::~CairoFont):
(WebCore::CairoFont::hfont):
(WebCore::CairoFont::scaledFont):
(WebCore::CairoFont::setMetrics):
(WebCore::CairoFont::ascent):
(WebCore::CairoFont::descent):
(WebCore::CairoFont::xHeight):
(WebCore::CairoFont::lineSpacing):
Implement a new class called CairoFont that encapsulates
the windows HFONT, the cairo font face, and the cairo scaled
font.
(WebCore::getCairoFont):
The method to look up a Cairo font. This will eventually use
a hash, but for now it just always makes the fonts over and
over again.
(WebCore:::m_pitch):
(WebCore::FontRenderer::~FontRenderer):
(WebCore::FontRenderer::determinePitch):
(WebCore::FontRenderer::invalidate):
More of the FontRenderer plumbing.
(WebCore::FontRenderer::primaryCairoFont):
Returns the primary Cairo font for a family list. This is basically
the first family that is present on the system.
(WebCore::Font::floatWidth):
The width method uses GetTextExtentPoint32W for now. This
is totally wrong and will eventually be replaced by Cairo
code.
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::xHeight):
(WebCore::Font::lineSpacing):
(WebCore::Font::isFixedPitch):
Accessors for the metrics and pitch info.
(WebCore::Font::drawText):
Drawing of text. Uses TextOut and is also basically throwaway
code.
* platform/win/TemporaryLinkStubs.cpp:
(Font::checkSelectionPoint):
Move the checkSelectionPoint method back to the link stubs.
2006-03-09 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
Fixed formatting and changed functions to take in
a const Selection& instead of a Selection.
* editing/ModifySelectionListLevelCommand.cpp:
(WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
(WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
(WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
(WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
(WebCore::modifySelectionListLevel):
(WebCore::getStartEndListChildren):
(WebCore::canIncreaseListLevel):
(WebCore::canDecreaseListLevel):
(WebCore::ModifySelectionListLevelCommand::increaseListLevel):
(WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
* editing/ModifySelectionListLevelCommand.h:
2006-03-09 Adele Peterson <adele@apple.com>
Reviewed by Darin.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6814
Implement selection methods for RenderTextField
Test: fast/forms/input-appearance-selection.html
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::createDivStyle): removed extra space.
(WebCore::RenderTextField::select): Removed checks for document and m_div since there should always be a document and
m_div will be initialized as the renderer gets attached.
(WebCore::RenderTextField::selectionStart): Calls indexForVisiblePosition.
(WebCore::RenderTextField::selectionEnd): ditto.
(WebCore::RenderTextField::setSelectionStart): calls setSelectionRange.
(WebCore::RenderTextField::setSelectionEnd): ditto.
(WebCore::RenderTextField::setSelectionRange): gets VisiblePositions for both indices, and sets the selection.
(WebCore::RenderTextField::visiblePositionForIndex): Added helper method.
(WebCore::RenderTextField::indexForVisiblePosition): Added helper method.
* rendering/RenderTextField.h: Added new helper methods for selection.
2006-03-09 David Carson <dacarson@gmail.com>
Test: fast/canvas/fillrect_gradient.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6103
Rectangles are not filled according to the Web Applications Working Draft
* khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::callAsFunction):
Modified fillrect function to check and use a gradient if set.
Builds a path to fill rects with a gradient.
2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
No test because this fixes an existing pixel test (and does not affect
the render tree).
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7664
REGRESSION: tests that include numeric list markers fail in pixel mode
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText): Restored AlignRight behavior.
2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
No test because we couldn't figure out how to write one.
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7680
REGRESSION: Ellipsis painted over the chrome and in invalid contexts
* rendering/render_line.cpp:
(WebCore::EllipsisBox::paint): Replaced call to Font::drawText with
GraphicsContext::drawText, which checks the paintingDisabled flag.
2006-03-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- make link clicks work by propagating them up to a client
* Viewer/ImageView.cpp:
* bridge/win/FrameWin.cpp:
* bridge/win/FrameWin.h:
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::incomingReferrer):
2006-03-09 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Add support for Timers under 10ms.
Fix random crashers due to multi-threaded loading.
* platform/TransferJob.h:
* platform/TransferJobInternal.h:
(WebCore::TransferJobInternal::TransferJobInternal):
* platform/Widget.h:
* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc):
(WebCore::initializeOffScreenTimerWindow):
(WebCore::setSharedTimerFireTime):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::TransferJob::assembleResponseHeaders):
(WebCore::TransferJob::retrieveCharset):
* platform/win/TransferJobWin.cpp:
(WebCore::addToOutstandingJobs):
(WebCore::removeFromOutstandingJobs):
(WebCore::lookupTransferJob):
(WebCore::TransferJobWndProc):
(WebCore::initializeOffScreenTransferJobWindow):
(WebCore::TransferJob::~TransferJob):
(WebCore::transferJobStatusCallback):
(WebCore::TransferJob::start):
(WebCore::TransferJob::cancel):
* platform/win/WidgetWin.cpp:
2006-03-08 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7579>
TinyMCE: Implement execCommand(insertImage, ...)
Implemented InsertImage and also changed paste to use a single
rule for when to remove junk that remains after node removal.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors):
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
* editing/ReplaceSelectionCommand.h:
* editing/htmlediting.cpp:
* editing/jsediting.cpp:
2006-03-08 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix build script to properly copy dll files.
* WebCore.vcproj/WebCore/build-generated-files.sh:
2006-03-08 Rob Buis <buis@kde.org>
Reviewed by eseidel.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none
For svg elements that can render, call StyledElementImpl::rendererIsNeeded
to decide whether the element should render. In particular this way
any setting of display="none" is handled.
* ksvg2/svg/SVGAElementImpl.h:
(WebCore::SVGAElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGCircleElementImpl.h:
(WebCore::SVGCircleElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGEllipseElementImpl.h:
(WebCore::SVGEllipseElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGForeignObjectElementImpl.h:
(WebCore::SVGForeignObjectElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGGElementImpl.h:
(WebCore::SVGGElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGImageElementImpl.h:
(WebCore::SVGImageElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGLineElementImpl.h:
(WebCore::SVGLineElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGMarkerElementImpl.h:
(WebCore::SVGMarkerElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGMaskElementImpl.h:
(WebCore::SVGMaskElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGPathElementImpl.h:
(WebCore::SVGPathElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGPatternElementImpl.h:
(WebCore::SVGPatternElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGPolyElementImpl.h:
(WebCore::SVGPolyElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGRectElementImpl.h:
(WebCore::SVGRectElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGSVGElementImpl.h:
(WebCore::SVGSVGElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGSwitchElementImpl.h:
(WebCore::SVGSwitchElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGTSpanElementImpl.h:
(WebCore::SVGTSpanElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGTextElementImpl.h:
(WebCore::SVGTextElementImpl::rendererIsNeeded):
* ksvg2/svg/SVGUseElementImpl.h:
(WebCore::SVGUseElementImpl::rendererIsNeeded):
2006-03-08 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Add stubs to allow JavaScript-enabled WebCore to not crash.
Add ScreenWin implementation.
Add alert() support.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::runJavaScriptAlert):
(WebCore::FrameWin::runJavaScriptConfirm):
* platform/win/ScreenWin.cpp: Added.
(WebCore::monitorInfoForWidget):
(WebCore::WebCore::screenRect):
(WebCore::WebCore::screenDepth):
(WebCore::WebCore::usableScreenRect):
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::canUndo):
(FrameWin::runJavaScriptPrompt):
(FrameWin::canPaste):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookiesEnabled):
(PlugInInfoStore::createPluginInfoForPluginAtIndex):
(PlugInInfoStore::pluginCount):
(WebCore::refreshPlugins):
(FrameWin::clearUndoRedoOperations):
(FrameWin::incomingReferrer):
2006-03-08 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix another instance of the bug I just fixed in the Macintosh-specific code path
* platform/image-decoders/gif/GIFImageReader.h: Remove not-so-useful 100ms constant.
* platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
Use the correct rule for minimum frame durations.
2006-03-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- very rough implementation of networking in TransferJob for windows
* platform/TransferJob.h:
* platform/TransferJobInternal.h:
(WebCore::TransferJobInternal::TransferJobInternal):
* platform/win/TransferJobWin.cpp:
(WebCore::transferJobStatusCallback):
(WebCore::TransferJob::start):
2006-03-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fix win32 build
* platform/win/FontWin.cpp:
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::clearFocusRing):
(GraphicsContext::selectedTextBackgroundColor):
(Font::selectionRectForText):
2006-03-08 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix one more thing from http://bugzilla.opendarwin.org/show_bug.cgi?id=7528
REGRESSION: GIF animation speeds are wrong on a page with many animated GIFs
No layout test because I don't know how to test animated GIF speed.
* platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
Use the correct rule for minimum frame durations. It's a bit non-intuitive, so
I made the comment more explicit. The old code in WebKit had this rule.
2006-03-08 David Hyatt <hyatt@apple.com>
Make GraphicsContext call into Font to draw all text and eliminate
all knowledge of WebTextRenderers from it.
Reviewed by darin
* platform/Font.h:
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawHighlightForText):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawLineForMisspelling):
(WebCore::GraphicsContext::misspellingLineThickness):
* platform/GraphicsContext.h:
(WebCore::GraphicsContext::platformContext):
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::platformContext):
* platform/mac/FontMac.mm:
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawLineForText):
(WebCore::Font::drawLineForMisspelling):
(WebCore::Font::misspellingLineThickness):
* platform/mac/GraphicsContextMac.mm:
* platform/win/FontWin.cpp:
(WebCore::Font::drawText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
2006-03-08 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fixed super-fast animation of many animated GIFs
No layout test because I don't know how to test animated GIF speed.
* platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
Always take the minimum duration into account, even if there's some kind of failure
getting the duration from the GIF.
2006-03-07 Darin Adler <darin@apple.com>
Reviewed by Anders.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
unwanted output while running layout tests
* khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::parseString):
Pass XML_PARSE_NOERROR and XML_PARSE_NOWARNING. We don't want errors and warnings
to be logged to stdout or stderr. If we later decide we want the error messages,
then we should do the additional work to put them into the web page or the
console (along with the JavaScript errors).
* platform/ArrayImpl.cpp: (WebCore::ArrayImpl::resize): Add a preflight to protect
against integer overflow due to large array size. Noticed this while looking into
the malloc error message.
2006-03-07 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7647
Crash when typing into text contols
I missed a couple places that were still saying KWQWidgetHolder
in the change I landed late last night.
* kwq/KWQTextArea.h:
* kwq/KWQTextArea.mm:
* kwq/KWQTextField.h:
Changed them all to say WebCoreWidgetHolder.
2006-03-07 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix cursor support on win32.
* platform/win/WidgetWin.cpp:
(WebCore::Widget::setCursor):
2006-03-07 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix basic text support.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawText):
2006-03-07 Dave Hyatt <hyatt@apple.com>
Eliminate the unused parameters of the QString version of drawText.
Reviewed by eric
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawText):
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawText):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_list.cpp:
(WebCore::RenderListMarker::paint):
2006-03-07 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Add very basic text support.
Sort a few more stubs.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::font):
(WebCore::GraphicsContext::setFont):
(WebCore::GraphicsContext::drawText):
* platform/win/FontWin.cpp: Added.
(WebCore::Font::drawText):
* platform/win/TemporaryLinkStubs.cpp:
(QComboBox::focusPolicy):
(ScrollView::scrollXOffset):
(Font::isFixedPitch):
(Path::boundingRect):
2006-03-07 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7319
Can't see caret at the end of a contenteditable div with overflow:hidden
No tests added since I don't think the blinking caret will show up in our tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::rightmostPosition): When calculating the rightmostPosition for editable blocks,
we need to account for the caret that can be drawn 1 px past the last child inline box.
2006-03-07 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=3905
Missing </title> makes page blank
Test: fast/js/exception-linenums-in-html-1.html
Test: fast/js/exception-linenums-in-html-2.html
Test: fast/js/missing-title-end-tag-js.html
Test: fast/tokenizer/missing-title-end-tag-1.html
Test: fast/tokenizer/missing-title-end-tag-2.html
* khtml/html/htmlparser.cpp:
(WebCore::HTMLParser::handleError): Add check for missing </title> tag and handle
this condition if identified.
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
document looking for a </title> tag, reset the state of the tokenizer and
retokenize with no special handling for <title>. The parser will handle the
missing </title> tag in HTMLParser::handleError().
* platform/SegmentedString.cpp:
(WebCore::SegmentedString::SegmentedString): Added copy constructor.
(WebCore::SegmentedString::operator=): Added assignment operator. Previously the
compiler was generating a default method for the assignment operator, but it did
not handle m_currentChar properly.
* platform/SegmentedString.h: Added prototypes for copy constructor and
assignment operator.
2006-03-07 Eric Seidel <eseidel@apple.com>
Fix win32 link stubs.
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::searchableIndexIntroduction):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookiesEnabled):
(WebCore::findNextSentenceFromIndex):
(WebCore::findSentenceBoundary):
(WebCore::findNextWordFromIndex):
(WebCore::findWordBoundary):
(WebCore::submitButtonDefaultLabel):
(WebCore::inputElementAltText):
(WebCore::resetButtonDefaultLabel):
(WebCore::defaultLanguage):
2006-03-07 Darin Adler <darin@apple.com>
Reviewed by Adele, except for the first change listed.
- fix recently-introduced bug that GuardMalloc found while I was debugging my other change
* rendering/render_frames.cpp: (WebCore::RenderPart::~RenderPart):
Set m_widget to 0 before calling deref so we don't end up trying to do unwanted work.
- removed 10 more files from KWQ
* ForwardingHeaders/klocale.h: Removed.
* khtml/misc/helper.cpp: Removed.
* khtml/misc/helper.h: Removed.
* kwq/KWQCollection.h: Removed.
* kwq/KWQKCookieJar.h: Removed.
* kwq/KWQKCookieJar.mm: Removed.
* kwq/KWQKLocale.h: Removed.
* kwq/KWQKLocale.mm: Removed.
* kwq/KWQKURL.h: Removed.
* kwq/KWQKURL.mm: Removed.
* kwq/KWQTextUtilities.h: Removed.
* kwq/KWQTextUtilities.mm: Removed.
* kwq/KWQView.h: Removed.
* platform/CookieJar.h: Added.
* platform/Language.h: Added.
* platform/LocalizedStrings.h: Added.
* platform/TextBoundaries.h: Added.
* platform/mac/CookieJar.mm: Added.
* platform/mac/Language.mm: Added.
* platform/mac/LocalizedStringsMac.mm: Added.
* platform/mac/TextBoundaries.mm: Added.
* platform/mac/WebCoreWidgetHolder.h: Added.
* WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removed and added files.
* bridge/mac/WebCoreFrameBridge.mm: Updated includes.
(-[WebCoreFrameBridge elementForView:]): Changed KWQWidgetHolder to WebCoreWidgetHolder.
* editing/visible_units.cpp:
(WebCore::previousWordPositionBoundary):
(WebCore::nextWordPositionBoundary):
(WebCore::previousSentencePositionBoundary):
(WebCore::nextSentencePositionBoundary):
Call TextBoundaries.h functions instead of helper.h ones.
* khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty):
* ksvg2/svg/SVGTestsImpl.cpp: (WebCore::SVGTestsImpl::isValid):
Changed to call defaultLanguage; cleaned up formatting.
* khtml/html/HTMLFormElementImpl.cpp: Removed stray comment.
* khtml/html/html_documentimpl.cpp:
(WebCore::HTMLDocumentImpl::cookie):
(WebCore::HTMLDocumentImpl::setCookie):
Call CookieJar.h functions.
* css/css_valueimpl.cpp:
* css/cssparser.cpp:
* css/cssstyleselector.cpp:
* dom/DocumentImpl.cpp:
* dom/dom_position.cpp:
* khtml/ecma/kjs_window.cpp:
* khtml/html/HTMLInputElementImpl.cpp:
* khtml/html/html_headimpl.cpp:
* khtml/html/htmlparser.cpp:
* khtml/misc/decoder.cpp:
* ksvg2/svg/SVGDocumentImpl.cpp:
* kwq/KWQComboBox.mm:
* kwq/KWQKSSLKeyGen.mm:
* kwq/KWQListBox.mm:
* kwq/KWQListImpl.cpp:
* kwq/KWQListImpl.h:
* kwq/KWQScrollBar.mm:
* kwq/KWQSlider.mm:
* kwq/KWQTextField.mm:
* kwq/KWQValueList.h:
* loader/DocLoader.cpp:
* page/Frame.cpp:
* page/FrameView.cpp:
* platform/mac/WidgetMac.mm:
(WebCore::Widget::beforeMouseDown):
(WebCore::Widget::afterMouseDown):
* rendering/render_applet.cpp:
* rendering/render_form.cpp:
* rendering/render_image.cpp:
* rendering/render_list.cpp:
Updated includes and protocol names.
* khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::write): Remove
QT_VERSION code.
* platform/QString.h: Remove QT_VERSION.
* kwq/KWQPtrList.h: Change to no longer use QPtrCollection.
* kwq/KWQRenderTreeDebug.h:
* kwq/KWQRenderTreeDebug.cpp: (externalRepresentation):
Remove unused debuggingRenderTree boolean.
2006-03-07 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
* platform/mac/GraphicsContextMac.mm: Add Widget.h to fix no-svg build.
2006-03-06 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Make spinneret run again, fix webview to support dynamic resize.
* platform/win/TemporaryLinkStubs.cpp:
(Widget::setDrawingAlpha):
* platform/win/WidgetWin.cpp:
(WebCore::Widget::Widget):
(WebCore::Widget::setClient):
(WebCore::Widget::client):
(WebCore::Widget::frameGeometry):
2006-03-06 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Fix win32 build.
* platform/win/TemporaryLinkStubs.cpp:
(QScrollBar::QScrollBar):
(QTextEdit::setAlignment):
(Widget::client):
(Widget::setClient):
(QLineEdit::setAlignment):
2006-03-06 Beth Dakin <bdakin@apple.com>
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7566 (also
<rdar://problem/4467128> ). Must call update() on a Font before
attempting to use it because the FontRenderer is not created until
update() is called.
* kwq/KWQListBox.mm:
(QListBox::sizeForNumberOfLines): Call update()
(-[KWQTableView drawRow:clipRect:]): Call update()
2006-03-06 Darin Adler <darin@apple.com>
Reviewed by Adele.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7564
remove QObject, QGuardedPtr, slots, and signals
I had written a detailed change log entry, but I lost it!
I'm too annoyed to write one all over again.
* ForwardingHeaders/qguardedptr.h: Removed.
* ForwardingHeaders/qobject.h: Removed.
* kwq/KWQGuardedPtr.cpp: Removed.
* kwq/KWQGuardedPtr.h: Removed.
* kwq/KWQNamespace.h: Removed.
* kwq/KWQObject.cpp: Removed.
* kwq/KWQObject.h: Removed.
* kwq/KWQSignal.cpp: Removed.
* kwq/KWQSignal.h: Removed.
* kwq/KWQSlot.cpp: Removed.
* kwq/KWQSlot.h: Removed.
* platform/WidgetClient.h: Added.
* WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* bindings/js/JSDOMCore.cpp: Touched.
* bindings/js/JSDOMEvents.cpp: Ditto.
* bridge/BrowserExtension.h:
(WebCore::BrowserExtension::~BrowserExtension):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge elementForView:]):
* dom/CDATASectionImpl.cpp:
(WebCore::CDATASectionImpl::cloneNode):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::~DocumentImpl):
* dom/DocumentImpl.h:
* kcanvas/device/KRenderingDevice.h:
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::put):
* khtml/ecma/kjs_window.cpp:
(KJS::FrameArray::indexGetter):
(KJS::FrameArray::nameGetter):
* khtml/html/html_documentimpl.cpp:
(WebCore::HTMLDocumentImpl::createTokenizer):
* khtml/html/htmlparser.cpp:
(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::insertNode):
(WebCore::HTMLParser::handleError):
(WebCore::HTMLParser::commentCreateErrorCheck):
(WebCore::HTMLParser::noscriptCreateErrorCheck):
(WebCore::HTMLParser::isInline):
(WebCore::HTMLParser::finished):
* khtml/html/htmlparser.h:
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::scriptHandler):
(WebCore::HTMLTokenizer::scriptExecution):
(WebCore::HTMLTokenizer::parseComment):
(WebCore::HTMLTokenizer::parseTag):
(WebCore::HTMLTokenizer::stopParsing):
(WebCore::HTMLTokenizer::timerFired):
(WebCore::HTMLTokenizer::processToken):
(WebCore::parseHTMLDocumentFragment):
* khtml/html/htmltokenizer.h:
* kwq/KWQComboBox.h:
* kwq/KWQComboBox.mm:
(-[KWQPopUpButton setPopulatingMenu:QComboBox:::]):
(QComboBox::itemSelected):
(-[KWQPopUpButton becomeFirstResponder]):
(-[KWQPopUpButton resignFirstResponder]):
* kwq/KWQFileButton.h:
(KWQFileButton::filename):
* kwq/KWQFileButton.mm:
(KWQFileButton::KWQFileButton):
(KWQFileButton::filenameChanged):
(-[KWQFileButtonAdapter filenameChanged:]):
(-[KWQFileButtonAdapter focusChanged:]):
(-[KWQFileButtonAdapter clicked]):
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm:
(QLineEdit::QLineEdit):
(QLineEdit::setAlignment):
(KWQNSTextAlignment):
* kwq/KWQListBox.h:
(QListBox::changingSelection):
* kwq/KWQListBox.mm:
(QListBox::QListBox):
(-[KWQTableView becomeFirstResponder]):
(-[KWQTableView resignFirstResponder]):
(-[KWQTableView tableViewSelectionDidChange:]):
* kwq/KWQScrollBar.h:
(WebCore::):
(QScrollBar::orientation):
* kwq/KWQScrollBar.mm:
(-[KWQScrollBar initWithQScrollBar:]):
(QScrollBar::QScrollBar):
(QScrollBar::valueChanged):
(QScrollBar::scroll):
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(-[KWQSlider mouseDown:]):
(-[KWQSlider slide:]):
(-[KWQSlider becomeFirstResponder]):
(-[KWQSlider resignFirstResponder]):
(QSlider::QSlider):
(QSlider::sliderValueChanged):
(QSlider::dimensions):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView textViewDidChangeSelection:]):
(-[KWQTextAreaTextView textDidChange:]):
(-[KWQTextAreaTextView becomeFirstResponder]):
(-[KWQTextAreaTextView resignFirstResponder]):
(-[KWQTextAreaTextView mouseDown:]):
(-[KWQTextAreaTextView dispatchHTMLEvent:]):
* kwq/KWQTextEdit.h:
* kwq/KWQTextEdit.mm:
(QTextEdit::QTextEdit):
(QTextEdit::setAlignment):
* kwq/KWQTextField.mm:
(-[KWQTextFieldController action:]):
(-[KWQTextFieldController controlTextDidEndEditing:]):
(-[KWQTextFieldController controlTextDidChange:]):
(-[KWQTextFieldController textChanged]):
(-[KWQTextFieldController textView:didHandleEvent:]):
(-[KWQTextFieldController setHasFocus:]):
(-[KWQTextFieldController textViewDidChangeSelection:]):
* loader/CachedObject.h:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::~Frame):
(WebCore::Frame::setOpener):
(WebCore::Frame::nodeForWidget):
(WebCore::Frame::disconnectOwnerRenderer):
* page/Frame.h:
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
* page/FrameView.cpp:
(WebCore::FrameView::~FrameView):
* platform/Brush.h:
* platform/Pen.h:
* platform/Widget.cpp:
(WebCore::Widget::isFrameView):
* platform/Widget.h:
(WebCore::):
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawText):
* platform/mac/WidgetMac.mm:
(WebCore::Widget::Widget):
(WebCore::Widget::focusPolicy):
(WebCore::Widget::sendConsumedMouseUp):
(WebCore::Widget::setClient):
(WebCore::Widget::client):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::operator delete):
* rendering/render_applet.cpp:
(WebCore::RenderApplet::createWidgetIfNecessary):
* rendering/render_form.cpp:
(WebCore::RenderFormElement::clicked):
(WebCore::RenderFormElement::textAlignment):
(WebCore::RenderLineEdit::RenderLineEdit):
(WebCore::RenderLineEdit::selectionChanged):
(WebCore::RenderLineEdit::returnPressed):
(WebCore::RenderLineEdit::performSearch):
(WebCore::RenderLineEdit::valueChanged):
(WebCore::RenderFileButton::RenderFileButton):
(WebCore::RenderFileButton::returnPressed):
(WebCore::RenderFileButton::valueChanged):
(WebCore::RenderLegend::RenderLegend):
(WebCore::RenderSelect::RenderSelect):
(WebCore::RenderSelect::updateFromElement):
(WebCore::RenderSelect::valueChanged):
(WebCore::RenderSelect::selectionChanged):
(WebCore::RenderSelect::createListBox):
(WebCore::RenderTextArea::RenderTextArea):
(WebCore::RenderTextArea::valueChanged):
(WebCore::RenderTextArea::selectionChanged):
(WebCore::RenderSlider::RenderSlider):
(WebCore::RenderSlider::valueChanged):
* rendering/render_form.h:
(WebCore::RenderFormElement::element):
(WebCore::RenderLineEdit::element):
(WebCore::RenderFileButton::element):
(WebCore::RenderFileButton::isEditable):
(WebCore::RenderSelect::element):
(WebCore::RenderTextArea::element):
(WebCore::RenderSlider::element):
* rendering/render_frames.cpp:
(WebCore::RenderPart::RenderPart):
(WebCore::RenderPart::~RenderPart):
(WebCore::RenderPart::setFrame):
(WebCore::RenderPart::setWidget):
(WebCore::RenderPart::deleteWidget):
(WebCore::RenderFrame::RenderFrame):
(WebCore::RenderPartObject::RenderPartObject):
(WebCore::RenderPartObject::layout):
* rendering/render_frames.h:
* rendering/render_layer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::valueChanged):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
(WebCore::RenderLayer::hitTest):
* rendering/render_layer.h:
(WebCore::RenderLayer::parent):
(WebCore::RenderLayer::previousSibling):
(WebCore::RenderLayer::nextSibling):
(WebCore::RenderLayer::firstChild):
(WebCore::RenderLayer::lastChild):
* rendering/render_list.cpp:
(WebCore::RenderListMarker::paint):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::RenderWidget):
(WebCore::RenderWidget::destroy):
(WebCore::RenderWidget::~RenderWidget):
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::layout):
(WebCore::RenderWidget::sendConsumedMouseUp):
(WebCore::RenderWidget::focusIn):
(WebCore::RenderWidget::focusOut):
(WebCore::RenderWidget::scrollToVisible):
(WebCore::RenderWidget::isVisible):
(WebCore::RenderWidget::element):
(WebCore::RenderWidget::deleteWidget):
* rendering/render_replaced.h:
* xml/xmlhttprequest.cpp:
(WebCore::requestsByDocument):
(WebCore::addToRequestsByDocument):
(WebCore::removeFromRequestsByDocument):
(WebCore::XMLHttpRequest::getResponseText):
(WebCore::XMLHttpRequest::getResponseXML):
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::~XMLHttpRequest):
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::overrideMIMEType):
(WebCore::XMLHttpRequest::setRequestHeader):
(WebCore::XMLHttpRequest::getRequestHeader):
(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):
(WebCore::XMLHttpRequest::getSpecificHeader):
(WebCore::XMLHttpRequest::responseIsXML):
(WebCore::XMLHttpRequest::getStatus):
(WebCore::XMLHttpRequest::getStatusText):
(WebCore::XMLHttpRequest::receivedAllData):
(WebCore::XMLHttpRequest::receivedRedirect):
(WebCore::XMLHttpRequest::receivedData):
(WebCore::XMLHttpRequest::cancelRequests):
(WebCore::XMLHttpRequest::detachRequests):
* xml/xmlhttprequest.h:
2006-03-06 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Reorganize link stubs (alphabetically).
Stub out Path methods to make cnn.com work.
* platform/win/TemporaryLinkStubs.cpp:
(FrameView::viewportToGlobal):
(FrameView::updateBorder):
(FrameView::isFrameView):
(FrameView::topLevelWidget):
(QScrollBar::~QScrollBar):
(QScrollBar::setSteps):
(QScrollBar::scroll):
(QScrollBar::QScrollBar):
(QScrollBar::setValue):
(QScrollBar::setKnobProportion):
(QListBox::QListBox):
(QListBox::setSelected):
(QListBox::sizeForNumberOfLines):
(QListBox::isSelected):
(QListBox::appendItem):
(QListBox::doneAppendingItems):
(ScrollView::scrollXOffset):
(QComboBox::focusPolicy):
(QTextEdit::QTextEdit):
(QTextEdit::~QTextEdit):
(QTextEdit::textWithHardLineBreaks):
(QTextEdit::sizeWithColumnsAndRows):
(QTextEdit::setColors):
(QTextEdit::setFont):
(QTextEdit::setWritingDirection):
(QTextEdit::checksDescendantsForFocus):
(QTextEdit::selectionStart):
(QTextEdit::hasSelectedText):
(QTextEdit::setReadOnly):
(QTextEdit::setDisabled):
(QTextEdit::setLineHeight):
(QTextEdit::setSelectionStart):
(QTextEdit::text):
(QTextEdit::setWordWrap):
(QTextEdit::setAlignment):
(QTextEdit::getCursorPosition):
(QTextEdit::setSelectionRange):
(Widget::enableFlushDrawing):
(Widget::isEnabled):
(Widget::focusPolicy):
(Widget::disableFlushDrawing):
(Widget::setIsSelected):
(Widget::unlockDrawingFocus):
(KJavaAppletWidget::KJavaAppletWidget):
(ScrollView::scrollPointRecursively):
(ScrollView::scrollBy):
(QLineEdit::selectAll):
(QLineEdit::addSearchResult):
(QLineEdit::selectionStart):
(QLineEdit::hasSelectedText):
(QLineEdit::selectedText):
(QLineEdit::setAutoSaveName):
(QLineEdit::checksDescendantsForFocus):
(QLineEdit::setMaxResults):
(GraphicsContext::GraphicsContext):
(GraphicsContext::addFocusRingRect):
(GraphicsContext::drawLineForMisspelling):
(GraphicsContext::drawFocusRing):
(GraphicsContext::selectedTextBackgroundColor):
(GraphicsContext::drawHighlightForText):
(GraphicsContext::misspellingLineThickness):
(GraphicsContext::addRoundedRectClip):
(QSlider::QSlider):
(QSlider::sizeHint):
(QSlider::setValue):
(QSlider::setMaxValue):
(QSlider::~QSlider):
(QSlider::setFont):
(QListBox::setFont):
(QListBox::~QListBox):
(QListBox::setSelectionMode):
(QListBox::setEnabled):
(QListBox::clear):
(QListBox::checksDescendantsForFocus):
(KWQFileButton::KWQFileButton):
(KWQFileButton::click):
(KWQFileButton::sizeForCharacterWidth):
(KWQFileButton::frameGeometry):
(KWQFileButton::setFilename):
(KWQFileButton::baselinePosition):
(KWQFileButton::setFrameGeometry):
(QSlider::focusPolicy):
(QListBox::focusPolicy):
(Cursor::Cursor):
(MouseEvent::MouseEvent):
(KWQKCookieJar::cookieEnabled):
(WebCore::screenDepth):
(WebCore::usableScreenRect):
(FrameWin::createPlugin):
(ScrollView::resizeContents):
(ScrollView::visibleHeight):
(ScrollView::visibleWidth):
(ScrollView::setContentsPos):
(ScrollView::contentsHeight):
(ScrollView::contentsWidth):
(ScrollView::inWindow):
(Path::~Path):
(Path::Path):
(Path::contains):
(Path::translate):
(Path::boundingRect):
(Path::operator=):
2006-03-03 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6844>
elementAtPoint returns the list when the point is over a list marker
Call RenderObject::setInnerNode(), which sets both the
innerNode and the innerNonSharedNode.
* rendering/render_list.cpp:
(WebCore::RenderListItem::nodeAtPoint):
* rendering/render_list.h:
2006-03-05 Darin Adler <darin@apple.com>
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed a lot of long-ago-deleted files
from the kwq directory.
2006-03-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- moved all the remnants of the public C++ DOM API out of khtml/dom
- changed from "int" to "ExceptionCode" for DOM exceptions
- removed unused CSS_HTML_RELATIVE
- changed offsetInCharacters to be a member function of NodeImpl
- changed DOM functions that take a NodeType to use NodeType instead of
unsigned short for clarity (will still be unsigned short in bindings)
- changed exception constants so they can be used directly in the
implementation code (added in the offsets for different types of exceptions)
- replaced the eventListenerType function with an isHTMLEventListener function
- got rid of EventListenerEvent, which is a synonym for EventImpl*
- eliminated handleEventImpl, whish is now the same as handleEvent
- did other preparation for the "remove Impl suffix" renaming
(tested by using a script that does the renaming)
* khtml/dom/css_rule.h: Removed.
* khtml/dom/css_stylesheet.h: Removed.
* khtml/dom/css_value.h: Removed.
* khtml/dom/dom2_events.cpp: Removed.
* khtml/dom/dom2_events.h: Removed.
* khtml/dom/dom2_range.h: Removed.
* khtml/dom/dom2_traversal.cpp: Removed.
* khtml/dom/dom2_traversal.h: Removed.
* khtml/dom/dom_exception.h: Removed.
* khtml/dom/dom_node.h: Removed.
* dom/EventListener.h: Added.
* dom/ExceptionCode.h: Added.
* WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes
* WebCore+SVG/kdomevents.h: Removed.
* WebCore.xcodeproj/project.pbxproj: Updated for file changes.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file
names and exception prefix for changes in DOM exceptions.
* bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be
recompiled. We need to get this fixed!
* bindings/js/JSDOMEvents.cpp: Ditto.
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Entity.idl:
* dom/MutationEvent.idl:
* dom/Notation.idl:
* dom/ProcessingInstruction.idl:
* dom/Text.idl:
* dom/WheelEvent.idl:
Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect.
Added license headers.
* bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes.
Changed from a single "using namespace WebCore" to individual using statements
because of the imminent conflict between DOMImplementation in Objective C
and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef
for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int.
* bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception
codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated
and use basic DOM exception codes instead. We might have to do something for binary
compatibility eventually, but perhaps not.
* bindings/objc/DOMCSS.mm:
* bindings/objc/DOMEvents.mm:
* bindings/objc/DOMEventsInternal.h:
* bindings/objc/DOMHTML.mm:
* bindings/objc/DOMHTMLInternal.h:
* bindings/objc/DOMViews.mm:
* bindings/objc/DOMViewsInternal.h:
Fixed garbled license agreements.
Changed to use ExceptionCode instead of int and name the variable "ec".
* bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead
of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be
addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name
of the WebCore class. This helps work around what seems like a bug in namespace support
in Objective-C mode, although the bug only happens after the "remove Impl" renaming.
* bindings/objc/DOMInternal.mm:
(getDOMWrapperImpl): Changed to use HashMap.
(addDOMWrapperImpl): Ditto.
(removeDOMWrapper): Ditto.
(raiseDOMException): Update to use new names for exception number ranges.
* bridge/mac/WebCoreFrameBridge.mm:
* khtml/ecma/xmlserializer.cpp:
* kwq/KWQAccObject.mm:
Removed unneeded includes.
* css/css_ruleimpl.h: Moved "rule type" into this header.
* dom/CommentImpl.h:
* dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true.
* khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
Changed this around so we don't have a local variable named docImpl.
* khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception
constants.
* khtml/ecma/kjs_events.h:
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent.
(KJS::JSAbstractEventListener::isHTMLEventListener): Added.
* rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of
InputMutationListener. (Might be unnecessary since this class might be deleted soon.)
* bridge/mac/MacFrame.mm:
* css/css_computedstyle.cpp:
* css/css_computedstyle.h:
* css/css_ruleimpl.cpp:
* css/css_stylesheetimpl.cpp:
* css/css_stylesheetimpl.h:
* css/css_valueimpl.cpp:
* css/css_valueimpl.cpp:
* css/css_valueimpl.h:
* css/css_valueimpl.h:
* css/cssparser.cpp:
* css/cssstyleselector.cpp:
* dom/CDATASectionImpl.cpp:
* dom/CDATASectionImpl.h:
* dom/CharacterDataImpl.cpp:
* dom/CharacterDataImpl.h:
* dom/ContainerNodeImpl.cpp:
* dom/DOMImplementationImpl.cpp:
* dom/DocumentFragmentImpl.cpp:
* dom/DocumentFragmentImpl.h:
* dom/DocumentImpl.cpp:
* dom/DocumentImpl.h:
* dom/DocumentTypeImpl.cpp:
* dom/DocumentTypeImpl.h:
* dom/NamedNodeMapImpl.h:
* dom/NodeImpl.cpp:
* dom/NodeImpl.h:
* dom/NodeListImpl.cpp:
* dom/TextImpl.cpp:
* dom/TextImpl.h:
* dom/dom2_eventsimpl.cpp:
* dom/dom2_eventsimpl.h:
* dom/dom2_rangeimpl.cpp:
* dom/dom2_rangeimpl.h:
* dom/dom2_traversalimpl.cpp:
* dom/dom2_traversalimpl.h:
* dom/dom_elementimpl.cpp:
* dom/dom_elementimpl.h:
* dom/dom_position.cpp:
* dom/dom_xmlimpl.cpp:
* dom/dom_xmlimpl.h:
* dom/xml_tokenizer.cpp:
* editing/AppendNodeCommand.cpp:
* editing/ApplyStyleCommand.cpp:
* editing/CompositeEditCommand.cpp:
* editing/DeleteFromTextNodeCommand.cpp:
* editing/InsertIntoTextNodeCommand.cpp:
* editing/InsertLineBreakCommand.cpp:
* editing/InsertNodeBeforeCommand.cpp:
* editing/InsertParagraphSeparatorCommand.cpp:
* editing/JoinTextNodesCommand.cpp:
* editing/MergeIdenticalElementsCommand.cpp:
* editing/RemoveNodeAttributeCommand.cpp:
* editing/RemoveNodeCommand.cpp:
* editing/ReplaceSelectionCommand.cpp:
* editing/Selection.cpp:
* editing/SelectionController.cpp:
* editing/SelectionController.h:
* editing/SetNodeAttributeCommand.cpp:
* editing/SplitElementCommand.cpp:
* editing/SplitTextNodeCommand.cpp:
* editing/VisiblePosition.cpp:
* editing/WrapContentsInDummySpanCommand.cpp:
* editing/htmlediting.cpp:
* editing/markup.cpp:
* editing/visible_text.cpp:
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_css.cpp:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/ecma/kjs_range.cpp:
* khtml/ecma/kjs_traversal.cpp:
* khtml/ecma/kjs_traversal.h:
* khtml/ecma/kjs_window.cpp:
* khtml/html/HTMLElementImpl.cpp:
* khtml/html/HTMLOptionElementImpl.cpp:
* khtml/html/HTMLOptionElementImpl.h:
* khtml/html/HTMLOptionsCollectionImpl.cpp:
* khtml/html/HTMLSelectElementImpl.cpp:
* khtml/html/HTMLTextAreaElementImpl.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_documentimpl.h:
* khtml/html/html_headimpl.cpp:
* khtml/html/html_tableimpl.cpp:
* khtml/html/html_tableimpl.h:
* khtml/html/htmlparser.cpp:
* khtml/xbl/xbl_tokenizer.cpp:
* khtml/xsl/xsl_stylesheetimpl.cpp:
* ksvg2/misc/SVGDocumentExtensions.cpp:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.h:
* ksvg2/svg/SVGDocumentImpl.cpp:
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGElementImpl.cpp:
* ksvg2/svg/SVGLengthImpl.cpp:
* ksvg2/svg/SVGLocatableImpl.cpp:
* ksvg2/svg/SVGPolyElementImpl.cpp:
* ksvg2/svg/SVGSVGElementImpl.cpp:
* ksvg2/svg/SVGStyleElementImpl.cpp:
* ksvg2/svg/SVGStyleElementImpl.h:
* ksvg2/svg/SVGUseElementImpl.cpp:
* page/Frame.cpp:
* page/FrameView.cpp:
* rendering/render_object.cpp:
* xml/xmlhttprequest.cpp:
Changed to use ExceptionCode instead of int and name the variable "ec".
Also updated use of exception codes and other constants to get them from
their new locations.
2006-03-06 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix more pages (apple.com, yahoo.com) by returning empty error image.
Empty a couple more stubs and clean up stub style a little.
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::loadResource):
* platform/win/TemporaryLinkStubs.cpp:
(QListBox::isSelected):
(QSlider::sizeHint):
(QScrollBar::~QScrollBar):
(FrameWin::getObjectInstanceForWidget):
(FrameWin::getEmbedInstanceForWidget):
(FrameWin::recordFormValue):
(FrameWin::getAppletInstanceForWidget):
(FrameWin::passMouseDownEventToWidget):
(FrameWin::passWheelEventToChildWidget):
(FrameWin::createPlugin):
(BrowserExtensionWin::createNewWindow):
(Path::Path):
(QLineEdit::~QLineEdit):
(QLineEdit::setLiveSearch):
(QComboBox::~QComboBox):
2006-03-06 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Empty enough stubs to make apple.com load.
* platform/win/TemporaryLinkStubs.cpp:
(QTextEdit::sizeWithColumnsAndRows):
(GraphicsContext::misspellingLineThickness):
(QTextEdit::selectAll):
(QTextEdit::setSelectionStart):
(Widget::unlockDrawingFocus):
(QLineEdit::setAutoSaveName):
(ScrollView::scrollYOffset):
(KWQFileButton::setFilename):
(QListBox::setFont):
(GraphicsContext::beginTransparencyLayer):
(GraphicsContext::endTransparencyLayer):
(QComboBox::QComboBox):
(QComboBox::setFont):
(QComboBox::baselinePosition):
(QComboBox::setWritingDirection):
(QComboBox::clear):
(QComboBox::appendItem):
(QComboBox::setCurrentItem):
(QComboBox::sizeHint):
(QComboBox::frameGeometry):
(QComboBox::setFrameGeometry):
(QLineEdit::setLiveSearch):
2006-03-06 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Fix external resource loading.
Make a bunch of stubs not abort (to fix slashdot).
* platform/win/TemporaryLinkStubs.cpp:
(QTextEdit::textWithHardLineBreaks):
(KWQFileButton::click):
(QComboBox::setFrameGeometry):
(QTextEdit::setText):
(QListBox::appendItem):
(GraphicsContext::endTransparencyLayer):
(QLineEdit::selectionStart):
(QTextEdit::QTextEdit):
(QListBox::isSelected):
(QComboBox::focusPolicy):
(QTextEdit::setCursorPosition):
(QTextEdit::setAlignment):
(QLineEdit::selectedText):
(ScrollView::scrollPointRecursively):
(QScrollBar::setSteps):
(QComboBox::appendItem):
(GraphicsContext::drawLineForMisspelling):
(KWQFileButton::setFilename):
(QListBox::setWritingDirection):
(QListBox::focusPolicy):
(MouseEvent::MouseEvent):
(QSlider::setFont):
(Widget::setEnabled):
(Widget::paint):
(ScrollView::addChild):
(ScrollView::inWindow):
(GraphicsContext::setShadow):
(GraphicsContext::clearShadow):
(RenderThemeWin::paintCheckbox):
(RenderThemeWin::paintRadio):
(RenderThemeWin::paintButton):
(RenderThemeWin::paintTextField):
(QLineEdit::QLineEdit):
(QLineEdit::setFont):
(QLineEdit::setAlignment):
(QLineEdit::setWritingDirection):
(QLineEdit::maxLength):
(QLineEdit::setMaxLength):
(QLineEdit::text):
(QLineEdit::setText):
(QLineEdit::cursorPosition):
(QLineEdit::setCursorPosition):
(QLineEdit::setEdited):
(QLineEdit::setReadOnly):
(QLineEdit::setPlaceholderString):
(QLineEdit::setColors):
(QLineEdit::sizeForCharacterWidth):
(QLineEdit::baselinePosition):
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJob::fileLoadTimer):
(WebCore::TransferJob::cancel):
2006-03-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix failure seen running editing layout tests
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
Use selectNodeContents instead of rolling our own.
It handles the "nothing at all" edge case properly.
2006-03-05 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Make updateContents invalidate entire window for now.
Fix indentation in fileLoadTimer.
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::updateContents):
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJob::fileLoadTimer):
2006-03-05 Eric Seidel <eseidel@apple.com>
Reviewed by adele.
Add missing files to vcproj (fix win32 build).
Also add svn:eol-style=native to new files.
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-03-05 Darin Adler <mjs@apple.com>
- fix build
* rendering/render_style.h: (compareEqual): Made it inline, fixed variable name.
2006-03-05 Adele Peterson <adele@apple.com>
Reviewed by Darin.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6987
Implement maxlength for new text fields
Test added:
* fast/forms/input-appearance-maxlength.html
* WebCore.xcodeproj/project.pbxproj:
Added BeforeTextInsertedEventImpl.h, BeforeTextInsertedEventImpl.cpp, HTMLTextFieldInnerElementImpl.h, and HTMLTextFieldInnerElementImpl.cpp
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::init): initialize max length to 1024.
(WebCore::HTMLInputElementImpl::defaultEventHandler): Added case to use the khtmlBeforeTextInsertedEvent to check for maxlength.
(WebCore::HTMLInputElementImpl::parseMappedAttribute): Makes sure that maxlength is between 0 and 1024.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment): After doing a test insert of the fragment,
Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text, and we can update the fragment.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertText): Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text if necessary.
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply): If we've just applied a command, send the khtmlTextInsertedEvent to the root editable element.
(WebCore::EditCommand::unapply): ditto.
(WebCore::EditCommand::reapply): ditto.
* khtml/html/HTMLTextFieldInnerElementImpl.h: Added this class to store a pointer to the input element for the text field and to handle default events.
(DOM::HTMLTextFieldInnerElementImpl::shadowParentNode): Added.
(DOM::HTMLTextFieldInnerElementImpl::setShadowParentNode): Added.
* khtml/html/HTMLTextFieldInnerElementImpl.cpp: Added.
(WebCore::HTMLTextFieldInnerElementImpl::HTMLTextFieldInnerElementImpl):
(WebCore::HTMLTextFieldInnerElementImpl::~HTMLTextFieldInnerElementImpl):
(WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
Sends khtmlBeforeTextInsertedEvents to the shadowParentNode,
and handles khtmlTextInsertedEvents by telling the renderer that the subtree has changed.
* rendering/RenderTextField.cpp: Removed InputMutationListener since subtreeHasChanged is now called from the editing code.
(WebCore::RenderTextField::~RenderTextField): removed event listener code.
(WebCore::RenderTextField::updateFromElement): ditto. And creates HTMLTextFieldInnerElementImpl.
(WebCore::RenderTextField::subtreeHasChanged): calls new text() method.
(WebCore::RenderTextField::text): created to get a String of all text in the RenderTextField.
* rendering/RenderTextField.h: Removed InputMutationListener class.
* dom/EventNames.h: Added khtmlTextInserted and khtmlBeforeTextInserted.
* dom/BeforeTextInsertedEventImpl.cpp: Added.
(WebCore::BeforeTextInsertedEventImpl::BeforeTextInsertedEventImpl):
* dom/BeforeTextInsertedEventImpl.h: Added.
(WebCore::BeforeTextInsertedEventImpl::isBeforeTextInsertedEvent):
(WebCore::BeforeTextInsertedEventImpl::text):
* dom/dom2_eventsimpl.cpp: (WebCore::EventImpl::isBeforeTextInsertedEvent): Added.
* dom/dom2_eventsimpl.h: Added isBeforeTextInsertedEvent.
2006-03-05 Maciej Stachowiak <mjs@apple.com>
- fix build, give this a return type.
* rendering/render_style.h:
(compareEqual):
2006-03-05 Eric Seidel <eseidel@apple.com>
Add "Font.h" to (try to) fix the no-svg build.
* platform/mac/GraphicsContextMac.mm:
2006-03-05 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Darin.
- fix win32 build by avoiding use of typeof
* rendering/render_style.h:
(compareEqual):
2006-03-05 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej.
- Second cut at fixing <rdar://problem/4467143> JavaScript enumeration
of HTML element properties skips DOM node properties
The approach here is for prototypes, in their constructor methods,
to set their own prototypes, preserving the prototype
chain in cases of multiple levels of inheritance. (Previously, our
code assumed that a prototype never had a prototype of its own,
and always used an empty object as a prototype's prototype).
* bindings/scripts/CodeGeneratorJS.pm: Use the new
DEFINE_PROTOTYPE_WITH_PROTOTYPE macro in place of the
KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro.
* khtml/ecma/kjs_dom.cpp: Ditto.
* khtml/ecma/kjs_dom.h: Ditto.
* khtml/ecma/kjs_events.cpp: Ditto.
Touched these files to force a rebuild:
* bindings/js/JSDOMCore.cpp:
* bindings/js/JSDOMEvents.cpp:
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Entity.idl:
* dom/MutationEvent.idl:
* dom/Notation.idl:
* dom/ProcessingInstruction.idl:
* dom/Text.idl:
* dom/WheelEvent.idl:
2006-03-05 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- use unsigned bitfields when storing enums in them, to avoid mangling on win32 (was causing all layout to be RTL)
http://bugzilla.opendarwin.org/show_bug.cgi?id=7618
* css/css_base.cpp:
(WebCore::CSSSelector::operator == ):
(WebCore::CSSSelector::selectorText):
* css/css_base.h:
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::pseudoType):
(WebCore::CSSSelector::relation):
* css/css_grammar.y:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkSelector):
(WebCore::CSSStyleSelector::checkOneSelector):
* kcanvas/KCanvasPath.cpp:
(WebCore::operator<<):
* kcanvas/KCanvasPath.h:
(WebCore::KCClipData::windRule):
(WebCore::KCClipDataList::addPath):
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(WebCore::KCanvasClipperQuartz::applyClip):
* khtml/ecma/kjs_html.h:
* khtml/html/HTMLButtonElementImpl.h:
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::setInputType):
* khtml/html/HTMLInputElementImpl.h:
(DOM::HTMLInputElementImpl::inputType):
* khtml/html/html_tableimpl.h:
* khtml/xbl/xbl_protohandler.cpp:
(XBL::m_button):
* khtml/xbl/xbl_protohandler.h:
* ksvg2/css/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::InheritedFlags::):
(WebCore::SVGRenderStyle::NonInheritedFlags::):
(WebCore::SVGRenderStyle::setBitDefaults):
* ksvg2/svg/SVGAnimateTransformElementImpl.h:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
(SVGAnimationElementImpl::targetAttribute):
(SVGAnimationElementImpl::setTargetAttribute):
* ksvg2/svg/SVGAnimationElementImpl.h:
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::value):
* ksvg2/svg/SVGLengthImpl.h:
* kwq/KWQKHTMLSettings.h:
* loader/CachedImage.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::setCachePolicy):
(WebCore::DocLoader::setShowAnimations):
* loader/DocLoader.h:
(WebCore::DocLoader::showAnimations):
* platform/FontDescription.h:
(WebCore::FontDescription::genericFamily):
* platform/QString.cpp:
(HandleNode::):
* platform/QString.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::setSelectionState):
(WebCore::RenderBlock::leftRelOffset):
(WebCore::RenderBlock::rightRelOffset):
(WebCore::RenderBlock::leftBottom):
(WebCore::RenderBlock::rightBottom):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::selectionState):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::FloatingObject::type):
* rendering/RenderTable.h:
(WebCore::RenderTable::getRules):
* rendering/bidi.cpp:
(khtml::BidiContext::BidiContext):
(khtml::operator==):
(khtml::embed):
(khtml::RenderBlock::computeHorizontalPositionsForLine):
(khtml::RenderBlock::bidiReorderLine):
(khtml::RenderBlock::layoutInlineChildren):
* rendering/bidi.h:
(khtml::BidiContext::dir):
(khtml::BidiContext::basicDir):
(khtml::BidiRun::BidiRun):
* rendering/render_canvasimage.h:
* rendering/render_layer.h:
(WebCore::Marquee::whiteSpace):
* rendering/render_object.cpp:
(WebCore::RenderObject::paintBorderImage):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::setSelectionState):
* rendering/render_replaced.h:
(WebCore::RenderReplaced::selectionState):
* rendering/render_style.cpp:
(WebCore::RenderStyle::getPseudoStyle):
* rendering/render_style.h:
(khtml::BorderValue::BorderValue):
(khtml::BorderValue::style):
(khtml::BorderValue::nonZero):
(khtml::BorderValue::operator==):
(khtml::OutlineValue::operator==):
(khtml::CollapsedBorderValue::style):
(khtml::BorderImage::horizontalRule):
(khtml::BorderImage::verticalRule):
(khtml::BorderData::borderLeftWidth):
(khtml::BorderData::borderRightWidth):
(khtml::BorderData::borderTopWidth):
(khtml::BorderData::borderBottomWidth):
(khtml::BackgroundLayer::backgroundClip):
(khtml::BackgroundLayer::backgroundOrigin):
(khtml::BackgroundLayer::backgroundRepeat):
(khtml::RenderStyle::styleType):
(khtml::RenderStyle::display):
(khtml::RenderStyle::originalDisplay):
(khtml::RenderStyle::position):
(khtml::RenderStyle::floating):
(khtml::RenderStyle::borderLeftStyle):
(khtml::RenderStyle::borderLeftColor):
(khtml::RenderStyle::borderRightStyle):
(khtml::RenderStyle::borderRightColor):
(khtml::RenderStyle::borderTopStyle):
(khtml::RenderStyle::borderTopColor):
(khtml::RenderStyle::borderBottomStyle):
(khtml::RenderStyle::borderBottomColor):
(khtml::RenderStyle::outlineWidth):
(khtml::RenderStyle::outlineStyle):
(khtml::RenderStyle::overflow):
(khtml::RenderStyle::visibility):
(khtml::RenderStyle::verticalAlign):
(khtml::RenderStyle::unicodeBidi):
(khtml::RenderStyle::clear):
(khtml::RenderStyle::tableLayout):
(khtml::RenderStyle::textAlign):
(khtml::RenderStyle::textTransform):
(khtml::RenderStyle::direction):
(khtml::RenderStyle::whiteSpace):
(khtml::RenderStyle::backgroundRepeat):
(khtml::RenderStyle::backgroundClip):
(khtml::RenderStyle::backgroundOrigin):
(khtml::RenderStyle::emptyCells):
(khtml::RenderStyle::captionSide):
(khtml::RenderStyle::listStyleType):
(khtml::RenderStyle::listStylePosition):
(khtml::RenderStyle::cursor):
(khtml::RenderStyle::pageBreakInside):
(khtml::RenderStyle::pageBreakBefore):
(khtml::RenderStyle::pageBreakAfter):
(khtml::RenderStyle::outlineOffset):
(khtml::RenderStyle::appearance):
(khtml::RenderStyle::boxAlign):
(khtml::RenderStyle::boxDirection):
(khtml::RenderStyle::boxLines):
(khtml::RenderStyle::boxOrient):
(khtml::RenderStyle::boxPack):
(khtml::RenderStyle::boxSizing):
(khtml::RenderStyle::marqueeBehavior):
(khtml::RenderStyle::marqueeDirection):
(khtml::RenderStyle::userModify):
(khtml::RenderStyle::userDrag):
(khtml::RenderStyle::userSelect):
(khtml::RenderStyle::marginTopCollapse):
(khtml::RenderStyle::marginBottomCollapse):
(khtml::RenderStyle::wordWrap):
(khtml::RenderStyle::nbspMode):
(khtml::RenderStyle::khtmlLineBreak):
(khtml::RenderStyle::matchNearestMailBlockquoteColor):
(khtml::RenderStyle::setBorderLeftWidth):
(khtml::RenderStyle::setBorderLeftStyle):
(khtml::RenderStyle::setBorderLeftColor):
(khtml::RenderStyle::setBorderRightWidth):
(khtml::RenderStyle::setBorderRightStyle):
(khtml::RenderStyle::setBorderRightColor):
(khtml::RenderStyle::setBorderTopWidth):
(khtml::RenderStyle::setBorderTopStyle):
(khtml::RenderStyle::setBorderTopColor):
(khtml::RenderStyle::setBorderBottomWidth):
(khtml::RenderStyle::setBorderBottomStyle):
(khtml::RenderStyle::setBorderBottomColor):
(khtml::RenderStyle::setOutlineWidth):
(khtml::RenderStyle::setOutlineStyle):
(khtml::RenderStyle::pseudoState):
2006-03-05 Geoffrey Garen <ggaren@apple.com>
- Rolled out the fix for <rdar://problem/4467143> because it's the
wrong approach. Maciej and I discussed this on IRC.
* khtml/ecma/kjs_dom.cpp:
(KJS::): Don't use classInfo to express prototype inheritance.
classInfo is only for representing a c++ superclass relationship.
2006-03-05 Eric Seidel <eseidel@apple.com>
Move improperly placed #endif causing no-svg build to fail.
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2006-03-05 Alexander Kellett <lypanov@kde.org>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6890
and http://bugzilla.opendarwin.org/show_bug.cgi?id=6951
by being more tolerant towards invalid points data
- new tests:
svg/custom/polyline-setattribute-points-null.svg
svg/custom/polyline-invalid-points.svg
* ksvg2/svg/svgpathparser.cpp:
(SVGPolyParser::parsePoints):
2006-03-05 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- remove no longer used KDOMSettings and KSVGSettings
* WebCore+SVG/KDOMSettings.cpp: Removed.
* WebCore+SVG/KDOMSettings.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/KSVGSettings.h: Removed.
* ksvg2/svg/SVGStyledElementImpl.cpp:
2006-03-05 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
* platform/Font.cpp:
(WebCore::Font::update): remove extra ref causing large leak.
2006-03-04 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Re-work ImageViewer to use GraphicsContext.
Add GraphicsContext(cairo_t*) constructor to make double-buffering easier.
Add one more stub to prevent slashdot from crashing.
Also fixed win32 build after Font change.
* Viewer.vcproj:
* Viewer/ImageView.cpp:
* platform/Color.h:
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::GraphicsContext):
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::createPlugin):
(BrowserExtensionWin::setTypedIconURL):
2006-03-05 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4840
Frames only resize wider, can't make them narrower
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameSetElementImpl::HTMLFrameSetElementImpl): Removed unused m_resizing flag.
* khtml/html/html_baseimpl.h:
* manual-tests/bugzilla-4840.html: Added.
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::reset):
(WebCore::FrameView::viewportMouseMoveEvent):
(WebCore::FrameView::viewportMouseReleaseEvent):
(WebCore::FrameView::setResizingFrameSet): New method. When a resizing frameset is set,
mouse move and mouse release events target it instead of hit-testing.
* page/FrameView.h:
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::setResizing): Inform the FrameView that we are resizing (or not).
2006-03-04 David Hyatt <hyatt@apple.com>
Fix for bug 7586, eliminate QFontMetrics.
Reviewed by eric
* WebCore.xcodeproj/project.pbxproj:
* css/css_valueimpl.cpp:
(WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::updateValue):
* kwq/KWQFontMetrics.h: Removed.
* kwq/KWQFontMetrics.mm: Removed.
* platform/Font.cpp:
(WebCore::m_wordSpacing):
(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::~Font):
(WebCore::Font::update):
(WebCore::Font::width):
* platform/Font.h:
(WebCore::Font::operator==):
(WebCore::Font::width):
(WebCore::Font::height):
* platform/FontRenderer.h: Added.
(WebCore::FontRenderer::isFixedPitch):
* platform/GraphicsContext.h:
* platform/mac/FontMac.mm: Added.
(WebCore::m_renderer):
(WebCore::FontRenderer::getWebCoreFont):
(WebCore::FontRenderer::getRenderer):
(WebCore::FontRenderer::determinePitch):
(WebCore::FontRenderer::update):
(WebCore::Font::getWebCoreFont):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::lineSpacing):
(WebCore::Font::xHeight):
(WebCore::Font::isFixedPitch):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::checkSelectionPoint):
* platform/mac/GraphicsContextMac.mm:
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::stripTrailingSpace):
* rendering/RenderText.cpp:
(WebCore::RenderText::trimmedMinMaxWidth):
* rendering/RenderText.h:
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::calcMinMaxWidth):
* rendering/bidi.cpp:
(khtml::RenderBlock::tabWidth):
(khtml::RenderBlock::checkLinesForTextOverflow):
* rendering/render_box.cpp:
(WebCore::RenderBox::caretRect):
* rendering/render_br.cpp:
(WebCore::RenderBR::lineHeight):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::lineHeight):
(WebCore::RenderFlow::caretRect):
* rendering/render_image.cpp:
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::paint):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::placeBoxesVertically):
* rendering/render_list.cpp:
(WebCore::toHebrew):
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::calcMinMaxWidth):
(WebCore::RenderListMarker::baselinePosition):
(WebCore::RenderListMarker::getRelativeMarkerRect):
* rendering/render_object.cpp:
(WebCore::RenderObject::getVerticalPosition):
(WebCore::RenderObject::lineHeight):
(WebCore::RenderObject::baselinePosition):
* rendering/render_object.h:
* rendering/render_style.h:
2006-03-04 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Add urlSelected stub, adjust font metrics, and fix view size/move bug.
* platform/win/TemporaryLinkStubs.cpp:
(MouseEvent::MouseEvent):
(FrameWin::urlSelected):
(QFontMetrics::height):
(QFontMetrics::xHeight):
(QFontMetrics::ascent):
(QFontMetrics::descent):
(ScrollView::resizeContents):
(ScrollView::setContentsPos):
2006-03-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- stop background image loads from crashing
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawScaledAndTiledImage):
- fix termination condition on file load loop
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJob::fileLoadTimer):
2006-03-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin.
- Fixed <rdar://problem/4467143> JavaScript enumeration of HTML
element properties skips DOM node properties
No test case yet because this is a preliminary step toward enabling my
uber test case for DOM support, which will cover this.
* khtml/ecma/kjs_dom.cpp:
(KJS::): Make DOMNode's classinfo reflect inheritance from
DOMNodeProto, so a for in enumeration can properly walk the
inheritance chain.
* khtml/ecma/kjs_html.cpp:
(KJS::): Used a script to sort classInfo data alphbetically.
(KJS::KJS::HTMLElement::classInfo): Ditto.
2006-03-04 Maciej Stachowiak <mjs@apple.com
Reviewed by Eric.
- fix mistake in TransferJob::start that made it cause a crash
on non-file URLs
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJob::start):
2006-03-04 Maciej Stachowiak <mjs@apple.com
Reviewed by Eric.
- make TransferJobWin handle file: URLs, and fix other bugs
as needed to make local file image loads work
http://bugzilla.opendarwin.org/show_bug.cgi?id=7587
* WebCore.vcproj/WebCore/WebCore.vcproj: add TransferJobWin
to build.
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin): Set autoLoadImages to true.
* platform/TransferJob.cpp:
(WebCore::TransferJob::TransferJob): Pass this to internal
constructor, so windows version can initialize timer
* platform/TransferJob.h:
* platform/TransferJobInternal.h:
(WebCore::TransferJobInternal::TransferJobInternal): On windows,
prepare a timer for file loads.
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFloatImage): If passed-in context
is null, use our built-in context (this is probably not the best,
but should work for now).
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::issueRedoCommand): Don't break.
(WebCore::TransferJob::assembleResponseHeaders): ditto
(FrameWin::saveDocumentState): ditto
(FrameWin::clearUndoRedoOperations): ditto
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJobInternal::~TransferJobInternal): Close file
handle if we have one.
(WebCore::TransferJob::~TransferJob): Empty.
(WebCore::TransferJob::start): Open a windows file handle.
(WebCore::TransferJob::fileLoadTimer): Load from windows file
handle.
(WebCore::TransferJob::cancel): Stop timer and close windows file
handle if present.
2006-03-03 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix QString crasher on Win32, also remove c-style casts from file.
Add a few more stubs to allow more layout tests to not crash.
Make dlls only copy when changed.
Add RenderThemeWin stubs.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.vcproj/WebCore/build-generated-files.sh:
* platform/QString.cpp:
(QString::stripWhiteSpace):
(QString::simplifyWhiteSpace):
(QString::setLatin1):
(QString::sprintf):
(QString::insert):
(QString::fill):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::usableScreenRect):
(FrameWin::respondToChangedContents):
(FrameWin::unfocusWindow):
(FrameWin::locationbarVisible):
(FrameWin::clearUndoRedoOperations):
(FrameWin::issueRedoCommand):
(FrameWin::canRedo):
(FrameWin::canUndo):
(FrameWin::saveDocumentState):
(FrameWin::print):
(FrameWin::issueCutCommand):
(FrameWin::issueCopyCommand):
(FrameWin::issueUndoCommand):
(FrameWin::mimeTypeForFileName):
(FrameWin::clearRecordedFormValues):
(FrameWin::issuePasteCommand):
(FrameWin::scheduleClose):
(FrameWin::menubarVisible):
(FrameWin::personalbarVisible):
(FrameWin::statusbarVisible):
(FrameWin::toolbarVisible):
(FrameWin::issueTransposeCommand):
(FrameWin::canPaste):
(FrameWin::incomingReferrer):
(FrameWin::canGoBackOrForward):
(FrameWin::issuePasteAndMatchStyleCommand):
(FrameWin::createPlugin):
(BrowserExtensionWin::getHistoryLength):
(BrowserExtensionWin::canRunModal):
(BrowserExtensionWin::openURLNotify):
(BrowserExtensionWin::canRunModalNow):
(BrowserExtensionWin::runModal):
(QListBox::setFont):
(WebCore::TransferJob::assembleResponseHeaders):
(WebCore::TransferJob::~TransferJob):
(QFontMetrics::QFontMetrics):
(QFontMetrics::lineSpacing):
(QFontMetrics::xHeight):
(QFontMetrics::ascent):
(FrameWin::shouldChangeSelection):
(FrameWin::generateFrameName):
(FrameWin::createFrame):
(RenderThemeWin::paintCheckbox):
(RenderThemeWin::paintRadio):
(RenderThemeWin::paintButton):
(RenderThemeWin::paintTextField):
* rendering/RenderThemeWin.cpp: Added.
(WebCore::theme):
* rendering/RenderThemeWin.h: Added.
2006-03-03 Geoffrey Garen <ggaren@apple.com>
Test case for <rdar://problem/4465598> REGRESSION (TOT): Crash occurs at
http://maps.google.com/?output=html ( KJS::Identifier::add(KJS::UString::Rep*)
* manual-tests/property-map-save-crash.html: Added.
2006-03-03 Eric Seidel <eseidel@apple.com>
Reviewed by adele.
Fix clearly bogus cairo elipse drawing code.
Make QFontMetrics stubs slightly more sane.
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawEllipse):
* platform/win/TemporaryLinkStubs.cpp:
(QFontMetrics::floatWidth):
(QFontMetrics::height):
(QFontMetrics::width):
(QFontMetrics::isFixedPitch):
2006-03-03 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7480
non-HTML elems w/o children in HTML docs get serialized self-closing
- fix problem where the HTML tokenizer would discard the first newline after </pre>
Test: fast/innerHTML/innerHTML-custom-tag.html
* editing/markup.cpp: (WebCore::shouldSelfClose): Refined rule so that it doesn't
try to do any self-closing tags in HTML documents at all; updated comment.
* khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Added a check
of beginTag in the <pre> tag case. We were accidentally discarding a newline after
a </pre> tag.
2006-03-03 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- add new files to build, fix link stubs.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/win/TemporaryLinkStubs.cpp:
(KWQKCookieJar::cookieEnabled):
(WebCore::TransferJob::retrieveCharset):
(WebCore::TransferJob::assembleResponseHeaders):
(WebCore::TransferJob::~TransferJob):
* platform/win/TransferJobWin.cpp: Added.
2006-03-03 Maciej Stachowiak <mjs@apple.com>
- add file I forgot in my last commit.
* platform/TransferJobInternal.h: Added.
(WebCore::TransferJobInternal::TransferJobInternal):
2006-03-03 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Wire up WidgetWin, CursorWin, ScrollViewWin.
Stub out methods for selection and cursors.
* Viewer/ImageDocument.h:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxyImpl::initScriptIfNeeded):
* platform/IntRect.h:
(WebCore::IntRect::IntRect):
* platform/Widget.h:
* platform/win/CursorWin.cpp:
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
(WebCore::northEastResizeCursor):
(WebCore::northWestResizeCursor):
(WebCore::southResizeCursor):
(WebCore::southEastResizeCursor):
(WebCore::southWestResizeCursor):
(WebCore::westResizeCursor):
* platform/win/IntRectWin.cpp:
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator RECT):
* platform/win/MouseEventWin.cpp:
* platform/win/ScrollViewWin.cpp: Added.
(WebCore::ScrollView::updateContents):
* platform/win/TemporaryLinkStubs.cpp:
(QTextEdit::textWithHardLineBreaks):
(QLineEdit::setPlaceholderString):
(QScrollBar::scroll):
(GraphicsContext::beginTransparencyLayer):
(Widget::setIsSelected):
(QLineEdit::selectedText):
(QComboBox::sizeHint):
(KWQFileButton::focusPolicy):
(QTextEdit::focusPolicy):
(QSlider::focusPolicy):
(QListBox::focusPolicy):
(QLineEdit::focusPolicy):
(WebCore::moveCursor):
(ScrollView::scrollBy):
(KWQKCookieJar::cookieEnabled):
(WebCore::TransferJob::TransferJob):
(WebCore::screenDepth):
(WebCore::usableScreenRect):
(FrameWin::getObjectInstanceForWidget):
(FrameWin::getEmbedInstanceForWidget):
(FrameWin::getAppletInstanceForWidget):
(FrameWin::passMouseDownEventToWidget):
(FrameWin::issuePasteCommand):
(FrameWin::issueTransposeCommand):
(QSlider::setFont):
(QLineEdit::setFont):
(QListBox::setFont):
(QFontMetrics::QFontMetrics):
(QComboBox::setFont):
(QTextEdit::setFont):
(QTextEdit::setWritingDirection):
(QFontMetrics::setFontDescription):
(QFontMetrics::checkSelectionPoint):
(FrameWin::addMessageToConsole):
(FrameWin::shouldChangeSelection):
(ScrollView::resizeContents):
(ScrollView::visibleHeight):
(ScrollView::visibleWidth):
(ScrollView::setContentsPos):
(ScrollView::contentsX):
(ScrollView::contentsY):
(ScrollView::contentsHeight):
(ScrollView::contentsWidth):
(ScrollView::viewportToContents):
* platform/win/WidgetWin.cpp: Added.
(WebCore::Widget::Widget):
(WebCore::Widget::~Widget):
(WebCore::Widget::windowHandle):
(WebCore::Widget::setWindowHandle):
(WebCore::Widget::setActiveWindow):
(WebCore::Widget::frameGeometry):
(WebCore::Widget::hasFocus):
(WebCore::Widget::setFocus):
(WebCore::Widget::clearFocus):
(WebCore::Widget::font):
(WebCore::Widget::setFont):
(WebCore::Widget::setCursor):
(WebCore::Widget::show):
(WebCore::Widget::hide):
(WebCore::Widget::setFrameGeometry):
(WebCore::Widget::mapFromGlobal):
2006-03-03 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- move TransferJob from kwq to platform, separate platform from non-platform bits
* ForwardingHeaders/kio/job.h: Removed.
* ForwardingHeaders/kio/jobclasses.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
* dom/xml_tokenizer.cpp:
* khtml/xsl/xslt_processorimpl.cpp:
* kwq/KWQKJobClasses.h: Removed.
* kwq/KWQKJobClasses.mm: Removed.
* kwq/KWQLoader.mm:
* kwq/KWQResourceLoader.mm:
* kwq/TransferJobClient.h: Removed.
* loader/Cache.cpp:
* loader/loader.cpp:
* page/Frame.cpp:
* platform/TransferJob.cpp: Added.
(WebCore::TransferJob::TransferJob):
(WebCore::TransferJob::queryMetaData):
(WebCore::TransferJob::addMetaData):
* platform/TransferJob.h: Added.
* platform/TransferJobClient.h: Added.
* platform/mac/TransferJobMac.mm: Added.
(WebCore::TransferJobInternal::~TransferJobInternal):
(WebCore::TransferJob::retrieveCharset):
(WebCore::TransferJob::cancel):
* xml/xmlhttprequest.cpp:
2006-03-03 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- enough link stubs to "display" local copy of WebKit site w/o hitting breakpoint
* platform/win/TemporaryLinkStubs.cpp:
(QLineEdit::setReadOnly):
(QTextEdit::setCursorPosition):
(QLineEdit::setCursorPosition):
(QFontMetrics::width):
(GraphicsContext::drawText):
(GraphicsContext::drawLineForText):
2006-03-02 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- remove function that is now gone
* platform/win/TemporaryLinkStubs.cpp:
2006-03-02 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- move logic to kick off load from KWQLoader function to a TransferJob method
* kwq/KWQKJobClasses.h:
* kwq/KWQKJobClasses.mm:
(WebCore::TransferJob::start):
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
2006-03-02 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- remove unused loader parameter to KWQServeRequest.
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
(KWQServeRequest):
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
2006-03-02 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- remove one of the versions of KWQServeRequest.
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
* platform/win/TemporaryLinkStubs.cpp:
(Widget::isEnabled):
(KWQServeRequest):
2006-03-02 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- win32 build fix.
* platform/win/MouseEventWin.cpp:
2006-03-02 Justin Garcia <justin.garcia@apple.com>
Reviewed by eric
<http://bugzilla.opendarwin.org/show_bug.cgi?id=3894>
uses of <cmath> should change to <math>
* ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
* ksvg2/svg/SVGHelper.cpp:
* ksvg2/svg/SVGLengthImpl.cpp:
2006-03-02 Andrew Wellington <proton@wiretapped.net>
Reviewed by Darin, landed by Beth
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=3230
CSS1: Words with inline elements get extra capital letters
Does not use UBreakIterator (yet?) for this, but a relatively
simple change that fixes our failure in the CSS1 test suite
(5.4.5).
* platform/StringImpl.cpp:
(WebCore::StringImpl::capitalize): Specify if this is a run-on
* platform/StringImpl.h:
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::addChild): Change to re-run
capitalisation when added into tree as previous text node changes
* rendering/RenderText.cpp:
(WebCore::RenderText::setText): Check if previous node is text that
doesn't end in a space
2006-03-02 Justin Garcia <justin.garcia@apple.com>
Reviewed by sullivan
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7542>
REGRESSION: (r13028) Scrolling causes incomplete drawing of <ul> bullets
* rendering/render_list.cpp:
(WebCore::RenderListMarker::paint):
2006-03-02 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Add (partially stubbed out) mouse event handling for Win32.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/IntPoint.h:
* platform/MouseEvent.h:
* platform/win/IntPointWin.cpp: Added.
(WebCore::IntPoint::IntPoint):
(WebCore::IntPoint::operator POINT):
* platform/win/MouseEventWin.cpp: Added.
(WebCore::MouseEvent::MouseEvent):
* platform/win/TemporaryLinkStubs.cpp:
(QLineEdit::setMaxLength):
(ScrollView::scrollBy):
(WebCore::Widget::setFocus):
(FrameWin::respondToChangedSelection):
(FrameWin::runJavaScriptPrompt):
(FrameWin::recordFormValue):
(FrameWin::registerCommandForRedo):
(FrameWin::runJavaScriptAlert):
(FrameWin::runJavaScriptConfirm):
(FrameWin::openURL):
(FrameWin::registerCommandForUndo):
(FrameWin::addMessageToConsole):
(FrameWin::mimeTypeForFileName):
(FrameWin::shouldChangeSelection):
(FrameWin::markMisspellingsInAdjacentWords):
(FrameWin::markMisspellings):
(FrameWin::personalbarVisible):
(FrameWin::objectContentType):
(FrameWin::createFrame):
(FrameWin::createPlugin):
(BrowserExtensionWin::setTypedIconURL):
(BrowserExtensionWin::getHistoryLength):
(BrowserExtensionWin::canRunModal):
(BrowserExtensionWin::openURLNotify):
(BrowserExtensionWin::createNewWindow):
(BrowserExtensionWin::canRunModalNow):
(BrowserExtensionWin::runModal):
(BrowserExtensionWin::goBackOrForward):
(BrowserExtensionWin::setIconURL):
(FrameWin::passSubframeEventToSubframe):
(FrameWin::lastEventIsMouseUp):
(BrowserExtensionWin::BrowserExtensionWin):
(Widget::setCursor):
(ScrollView::visibleHeight):
(ScrollView::visibleWidth):
(ScrollView::setContentsPos):
(ScrollView::contentsX):
(ScrollView::contentsY):
(ScrollView::contentsHeight):
(ScrollView::contentsWidth):
(ScrollView::viewportToContents):
(TransferJob::TransferJob):
(TransferJob::addMetaData):
2006-03-02 Justin Garcia <justin.garcia@apple.com>
Reviewed by mjs
<http://tinymce.moxiecode.com/example_full.php?example=true>
TinyMCE: Undo still enabled after a location change, crashes if performed
Can't clear undo/redo operations registered by subframes in didOpenURL,
because subframes have already been detached.
* page/Frame.cpp:
(WebCore::Frame::didOpenURL):
(WebCore::Frame::closeURL):
2006-03-01 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- WebCore updates for "Set up new prototype macros and avoid using #if without defined() in JSC"
http://bugzilla.opendarwin.org/show_bug.cgi?id=7387
Add Platform.h
* ForwardingHeaders/kxmlcore/Platform.h: Added.
* bridge/mac/WebCoreFrameNamespaces.m:
* bridge/mac/WebCoreViewFactory.m:
* bridge/mac/WebDashboardRegion.m:
* config.h:
* platform/Logging.cpp:
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::addChild):
* platform/mac/WebCoreCookieAdapter.m:
* platform/mac/WebCoreGraphicsBridge.m:
* platform/mac/WebCoreHistory.m:
* platform/mac/WebCoreImageRendererFactory.m:
* platform/mac/WebCoreKeyGenerator.m:
* platform/mac/WebCoreView.m:
2006-03-02 Eric Seidel <eseidel@apple.com>
* WebCore.xcodeproj/project.pbxproj: update GraphicsContext.cpp path to fix build
2006-03-01 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Add first-stab GraphicsContextCairo.
Shuffle a few more link stubs around, remove uncessary WebCore::
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/GraphicsContext.cpp: Added.
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::setColor):
(WebCore::fillRectSourceOver):
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
(WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::pen):
(WebCore::GraphicsContext::setPen):
(WebCore::GraphicsContext::setBrush):
(WebCore::GraphicsContext::brush):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::setColorFromBrush):
(WebCore::GraphicsContext::setColorFromPen):
(WebCore::adjustLineToPixelBounderies):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawFloatImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawScaledAndTiledImage):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::addClip):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
* platform/cairo/ImageCairo.cpp:
* platform/cg/GraphicsContextCG.cpp: Removed.
* platform/win/TemporaryLinkStubs.cpp:
(QLineEdit::selectAll):
(Widget::mapFromGlobal):
(QLineEdit::cursorPosition):
(QTextEdit::setScrollBarModes):
(QTextEdit::selectAll):
(QComboBox::focusPolicy):
(GraphicsContext::clearShadow):
(QTextEdit::setCursorPosition):
(GraphicsContext::drawText):
(QLineEdit::setLiveSearch):
(QComboBox::QComboBox):
(Widget::lockDrawingFocus):
(QTextEdit::setSelectionRange):
(QSlider::QSlider):
(ScrollView::scrollYOffset):
(QComboBox::sizeHint):
(QLineEdit::edited):
(QTextEdit::text):
(QSlider::value):
(WebCore::Widget::setFocus):
(WebCore::TransferJob::addMetaData):
(FrameWin::respondToChangedContents):
(FrameWin::unfocusWindow):
(FrameWin::locationbarVisible):
(FrameWin::respondToChangedSelection):
(FrameWin::clearUndoRedoOperations):
(FrameWin::issueRedoCommand):
(FrameWin::getObjectInstanceForWidget):
(FrameWin::getEmbedInstanceForWidget):
(FrameWin::canRedo):
(FrameWin::canUndo):
(FrameWin::runJavaScriptPrompt):
(FrameWin::recordFormValue):
(FrameWin::registerCommandForRedo):
(FrameWin::runJavaScriptAlert):
(FrameWin::runJavaScriptConfirm):
(FrameWin::openURL):
(FrameWin::saveDocumentState):
(FrameWin::print):
(FrameWin::getAppletInstanceForWidget):
(FrameWin::passMouseDownEventToWidget):
(FrameWin::registerCommandForUndo):
(FrameWin::issueCutCommand):
(FrameWin::issueCopyCommand):
(FrameWin::addMessageToConsole):
(FrameWin::passWheelEventToChildWidget):
(FrameWin::issueUndoCommand):
(FrameWin::mimeTypeForFileName):
(FrameWin::clearRecordedFormValues):
(FrameWin::issuePasteCommand):
(FrameWin::shouldChangeSelection):
(FrameWin::scheduleClose):
(FrameWin::markMisspellingsInAdjacentWords):
(FrameWin::markMisspellings):
(FrameWin::menubarVisible):
(FrameWin::personalbarVisible):
(FrameWin::lastEventIsMouseUp):
(FrameWin::statusbarVisible):
(FrameWin::toolbarVisible):
(FrameWin::issueTransposeCommand):
(FrameWin::userAgent):
(FrameWin::canPaste):
(FrameWin::incomingReferrer):
(FrameWin::objectContentType):
(FrameWin::passSubframeEventToSubframe):
(FrameWin::createFrame):
(FrameWin::canGoBackOrForward):
(FrameWin::issuePasteAndMatchStyleCommand):
(FrameWin::createPlugin):
(FrameWin::generateFrameName):
(QTextEdit::setWritingDirection):
(QFontMetrics::checkSelectionPoint):
(GraphicsContext::GraphicsContext):
(QFontMetrics::isFixedPitch):
(FrameWin::restoreDocumentState):
(FrameWin::partClearedInBegin):
(FrameWin::createEmptyDocument):
(FrameWin::overrideMediaType):
(FrameWin::setTitle):
(FrameWin::handledOnloadEvents):
(FrameWin::markedTextRange):
(GraphicsContext::font):
(GraphicsContext::setFont):
2006-03-02 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
Changed an Objective-C forward declaration from "class" to "@class".
This doesn't appear to fix any problems, though.
* platform/StringImpl.h:
2006-03-01 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7059>
TinyMCE: Select All + delete sends you Back intsead of deleting
* page/Frame.cpp:
(WebCore::Frame::selectFrameElementInParentIfFullySelected):
2006-03-01 David Harrison <harrison@apple.com>
Reviewed by Justin.
(missed these in my earlier commit for <rdar://problem/4359736>)
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
(-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
(-[WebCoreFrameBridge increaseSelectionListLevel]):
(-[WebCoreFrameBridge decreaseSelectionListLevel]):
2006-03-01 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix win32 build, add IntRectWin and GraphicsContextCairo stub.
* Viewer/ImageDocument.cpp:
* Viewer/ImageMainFrame.cpp:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/IntRect.h:
* platform/cairo/GraphicsContextCairo.cpp: Added.
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::fillRect):
(WebCore::TransferJob::TransferJob):
(GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::~GraphicsContext):
2006-02-23 David Harrison <harrison@apple.com>
Reviewed by Justin.
<rdar://problem/4359736> Support outlining ability with lists
Added Mail SPI for list level changes. It is SPI because it is not complete support
for outlining. See <rdar://problem/4457070> "API for html lists as note outlines".
Additional support is to end a list when return is typed on empty list item.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added ModifySelectionListLevelCommand.cpp and ModifySelectionListLevelCommand.h
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
(-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
(-[WebCoreFrameBridge increaseSelectionListLevel]):
(-[WebCoreFrameBridge decreaseSelectionListLevel]):
Supply list level calls in the bridge.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::createListItemElement):
New. Creates an li.
(WebCore::InsertParagraphSeparatorCommand::doApply):
- slight logic cleanup
- on empty list item, end the list
* editing/ModifySelectionListLevelCommand.cpp: Added.
(WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
(WebCore::ModifySelectionListLevelCommand::preservesTypingStyle):
(WebCore::ModifySelectionListLevelCommand::doApply):
(WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
(WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
(WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
(WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
(WebCore::modifySelectionListLevel):
(WebCore::getStartEndListChildren):
(WebCore::canIncreaseListLevel):
(WebCore::canDecreaseListLevel):
(WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
(WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeAfter):
(WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
(WebCore::ModifySelectionListLevelCommand::increaseListLevel):
(WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
* editing/ModifySelectionListLevelCommand.h: Added.
New editing command for adjusting the list level.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
Slight logic cleanup
* editing/htmlediting.cpp:
(WebCore::isListElement):
(WebCore::enclosingListChild):
New helpers.
(WebCore::isTableElement):
Allow caller to pass 0... return false in that case.
* editing/htmlediting.h:
New helpers.
* rendering/RenderContainer.cpp:
(WebCore::updateListMarkerNumbers):
Allow for list children that are not li nodes. Ignore and continue rather than stopping.
(WebCore::RenderContainer::addChild):
Allow for nil beforeChild, meaning "add at end".
2006-03-01 Eric Seidel <eseidel@apple.com>
Reviewed by justing.
Update ESelectionGranulartiy enum to use newer CamelCase styling.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
* editing/Selection.cpp:
(WebCore::Selection::Selection):
(WebCore::Selection::validate):
* editing/SelectionController.cpp:
(WebCore::SelectionController::modifyExtendingRightForward):
(WebCore::SelectionController::modifyMovingRightForward):
(WebCore::SelectionController::modifyExtendingLeftBackward):
(WebCore::SelectionController::modifyMovingLeftBackward):
(WebCore::SelectionController::modify):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
* editing/jsediting.cpp:
* editing/text_granularity.h:
(WebCore::):
* page/Frame.cpp:
(WebCore::Frame::selectClosestWordFromMouseEvent):
(WebCore::Frame::handleMousePressEventTripleClick):
(WebCore::Frame::handleMousePressEventSingleClick):
(WebCore::Frame::handleMouseMoveEventSelection):
2006-03-01 Alexander Kellett <lypanov@kde.org>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5966
Fixes already existing test:
svg/W3C-SVG-1.1/coords-viewattr-02-b.svg
* kcanvas/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::adjustRectsForAspectRatio):
(WebCore::RenderSVGImage::paint):
* kcanvas/RenderSVGImage.h:
2006-03-01 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
HEAD is currently unimplemented because of what seems to be a bug in NSURLConnection,
and does a GET instead.
* kwq/KWQKJobClasses.h: Add a method parameter to TransferJob.
* kwq/KWQKJobClasses.mm:
(WebCore::TransferJobPrivate::TransferJobPrivate):
(WebCore::TransferJob::TransferJob):
(WebCore::TransferJob::method):
* bridge/mac/WebCoreFrameBridge.h: URL loading functions now take a method parameter.
* dom/xml_tokenizer.cpp:
(WebCore::openFunc):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::docLoaderFunc):
* kwq/KWQLoader.mm:
(KWQServeRequest):
(KWQServeSynchronousRequest):
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
* page/Frame.cpp:
(WebCore::Frame::didOpenURL):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send): Honor the method passed in open().
* khtml/ecma/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Don't serialize null as "null".
2006-03-01 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
elementAtPoint is expensive and should return a smart dictionary
<rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
Support for WebKit. This removes the old elementAtPoint: on the bridge.
WebKit now uses the bridge method getInnerNonSharedNode:innerNode:URLElement:atPoint:
* WebCore.exp: removes the WebCore* dictionary keys
* bindings/objc/DOM.mm:
(-[DOMElement image]): new method to get an NSImage if the element has an image renderer
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLElement titleDisplayString]): new method that returns the title after doing the backslash as currency symbol conversion
(-[DOMHTMLInputElement altDisplayString]): ditto for alt
(-[DOMHTMLImageElement altDisplayString]): ditto
(-[DOMHTMLAppletElement altDisplayString]): ditto
(-[DOMHTMLAreaElement altDisplayString]): ditto
(-[DOMHTMLAnchorElement absoluteLinkURL]): new method to get the absolute NSURL
(-[DOMHTMLAreaElement absoluteLinkURL]): ditto
(-[DOMHTMLLinkElement absoluteLinkURL]): ditto
(-[DOMHTMLInputElement absoluteImageURL]): new method to get the absolute image location as an NSURL
(-[DOMHTMLImageElement absoluteImageURL]): ditto
(-[DOMHTMLObjectElement absoluteImageURL]): ditto
* bindings/objc/DOMPrivate.h:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:]):
(-[WebCoreFrameBridge isPointInsideSelection:]):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::prepareMouseEvent):
(WebCore::DocumentImpl::backslashAsCurrencySymbol):
* dom/DocumentImpl.h:
* rendering/render_layer.cpp:
(WebCore::RenderLayer::hitTest):
* rendering/render_object.h:
(WebCore::RenderObject::NodeInfo::URLElement):
(WebCore::RenderObject::NodeInfo::setURLElement):
2006-03-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/css/hover-subselector.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7327
REGRESSION (r12869): :hover subselector does not work in quirks mode
* css/cssstyleselector.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkSelector): Pass flag to indicate sub-selector.
(WebCore::CSSStyleSelector::checkOneSelector): Apply the *:hover and *:active quirks only
when there are no sub-selectors.
2006-03-01 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Hyatt.
- fix win32 build (and make dumprendertree run)
* kwq/KWQComboBox.h:
* platform/win/TemporaryLinkStubs.cpp:
(QTextEdit::selectionEnd):
(Widget::~Widget):
(GraphicsContext::beginTransparencyLayer):
(QComboBox::populate):
(GraphicsContext::drawConvexPolygon):
(QFontMetrics::selectionRectForText):
(GraphicsContext::setShadow):
(GraphicsContext::clearFocusRing):
(GraphicsContext::drawImageInRect):
(KWQFileButton::setFilename):
(KWQFileButton::focusPolicy):
(KWQFileButton::frameGeometry):
(QSlider::focusPolicy):
(WebCore::GraphicsContext::font):
(QTextEdit::setWritingDirection):
(QFontMetrics::checkSelectionPoint):
(QFontMetrics::isFixedPitch):
(WebCore::TransferJob::addMetaData):
2006-02-28 Darin Adler <darin@apple.com>
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7444
move QPainter to platform directory and name it GraphicsContext
* platform/GraphicsContext.h: Added.
* platform/TextDirection.h: Added.
* platform/cg/GraphicsContextCG.cpp: Added.
* platform/mac/GraphicsContextMac.mm: Added.
* kwq/KWQPainter.h: Removed.
* kwq/KWQPainter.mm: Removed.
* ForwardingHeaders/qpainter.h: Removed.
* WebCore.xcodeproj/project.pbxproj: Updated for moved files.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for moved files.
* platform/win/TemporaryLinkStubs.cpp: Updated.
* bridge/mac/MacFrame.mm: (WebCore::MacFrame::setDisplaysWithFocusAttributes):
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
* editing/SelectionController.h:
* editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
* kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::Context2D::putValueProperty):
(KJS::drawPattern):
* page/Frame.h:
* page/Frame.cpp:
(WebCore::Frame::paintCaret):
(WebCore::Frame::paintDragCaret):
(WebCore::Frame::paint):
(WebCore::Frame::adjustPageHeight):
* page/FrameView.h:
* platform/Font.h:
* platform/Font.cpp:
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawText):
* platform/Widget.h:
* platform/mac/WidgetMac.mm: (WebCore::Widget::paint):
* rendering/InlineTextBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::paintAllMarkersOfType):
(WebCore::InlineTextBox::paintMarkedTextUnderline):
(WebCore::InlineTextBox::offsetForPosition):
* rendering/RenderTableCell.cpp:
(WebCore::outlineBox):
(WebCore::RenderTableCell::paintCollapsedBorder):
(WebCore::RenderTableCell::paintBoxDecorations):
* rendering/RenderTableCell.h:
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgrounds):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::paintBackgroundExtended):
(WebCore::RenderBox::outlineBox):
* rendering/render_box.h:
* rendering/render_button.cpp:
(WebCore::RenderButton::RenderButton):
(WebCore::RenderButton::paintObject):
* rendering/render_button.h:
(WebCore::RenderButton::removeLeftoverAnonymousBoxes):
* rendering/render_canvas.cpp:
* rendering/render_canvasimage.cpp:
(WebCore::RenderCanvasImage::paint):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::addFocusRingRects):
(WebCore::RenderFlow::paintFocusRing):
(WebCore::RenderFlow::paintOutlines):
(WebCore::RenderFlow::paintOutlineForLine):
* rendering/render_flow.h:
* rendering/render_form.cpp:
(WebCore::RenderLineEdit::setStyle):
(WebCore::RenderFieldset::paintBorderMinusLegend):
(WebCore::RenderSelect::setWidgetWritingDirection):
(WebCore::RenderTextArea::setStyle):
* rendering/render_form.h:
(WebCore::RenderFieldset::renderName):
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintScrollbars):
(WebCore::RenderLayer::paint):
(WebCore::setClip):
(WebCore::restoreClip):
(WebCore::RenderLayer::paintLayer):
(WebCore::Marquee::direction):
* rendering/render_layer.h:
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintBackgrounds):
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBackgroundAndBorder):
(WebCore::InlineFlowBox::paintDecorations):
(WebCore::EllipsisBox::paint):
* rendering/render_line.h:
* rendering/render_list.cpp:
(WebCore::RenderListMarker::paint):
* rendering/render_object.cpp:
(WebCore::RenderObject::drawBorder):
(WebCore::RenderObject::paintBorderImage):
(WebCore::RenderObject::paintBorder):
(WebCore::RenderObject::addFocusRingRects):
(WebCore::RenderObject::paintOutline):
(WebCore::RenderObject::selectionColor):
* rendering/render_object.h:
(WebCore::RenderObject::element):
(WebCore::RenderObject::document):
(WebCore::RenderObject::setNode):
(WebCore::RenderObject::node):
(WebCore::RenderObject::PaintInfo::PaintInfo):
(WebCore::RenderObject::paintBoxDecorations):
(WebCore::RenderObject::paintBackgroundExtended):
(WebCore::RenderObject::printBoxDecorations):
* rendering/render_replaced.cpp: (WebCore::RenderReplaced::selectionColor):
* rendering/render_replaced.h:
Updated to use GraphicsContext instead of QPainter.
* css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
* kwq/KWQComboBox.h:
* kwq/KWQComboBox.mm: (QComboBox::setWritingDirection):
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm: (QLineEdit::setWritingDirection):
* kwq/KWQListBox.h:
* kwq/KWQListBox.mm: (QListBox::setWritingDirection):
* kwq/KWQTextEdit.h:
* kwq/KWQTextEdit.mm: (QTextEdit::setWritingDirection):
* rendering/bidi.cpp:
(khtml::bidiNext):
(khtml::bidiFirst):
Updated to use TextDirection instead of QPainter::TextDirection and EDirection.
* kcanvas/device/KRenderingDevice.h: Added renderingDevice here to
replace QPainter::renderingDevice for now.
* khtml/ecma/kjs_html.h: Fixed comments to mention GraphicsContext.
* khtml/html/html_imageimpl.h:
* page/FrameView.cpp:
* rendering/RenderBlock.cpp:
Added include needed since I reduced includes elsewhere.
* kwq/KWQFontMetrics.h:
* kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint):
Changed QChar* to be const QChar*.
* platform/FontDescription.h: Added include that was missing.
* rendering/render_theme.cpp: Ditto.
* platform/Image.h: Removed unnecessary forward declaration of QPainter.
* rendering/RenderText.h: Clean up types, use const.
* rendering/render_style.h: Removed EDirection and replaced it with TextDirection.
* kcanvas/KCanvasCreator.cpp:
(WebCore::KCanvasCreator::createRoundedRectangle):
(WebCore::KCanvasCreator::createRectangle):
(WebCore::KCanvasCreator::createEllipse):
(WebCore::KCanvasCreator::createLine):
* kcanvas/KCanvasPath.cpp: (WebCore::operator<<):
* kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<):
* kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint):
* kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint):
* kcanvas/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
(WebCore::RenderSVGImage::translateForAttributes):
* kcanvas/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::prepareFilter):
(WebCore::KCanvasFilterQuartz::applyFilter):
* kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
(WebCore::KCanvasMaskerQuartz::applyMask):
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(WebCore::KCanvasContainerQuartz::paint):
(WebCore::KCanvasClipperQuartz::applyClip):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::pushContext):
(WebCore::KRenderingDeviceQuartz::popContext):
(WebCore::renderingDevice):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(WebCore::KRenderingPaintServerGradientQuartz::setup):
(WebCore::KRenderingPaintServerGradientQuartz::renderPath):
(WebCore::KRenderingPaintServerGradientQuartz::teardown):
* ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::sharedSolidPaintServer):
* ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::createRenderer):
* ksvg2/svg/SVGClipPathElementImpl.cpp: (SVGClipPathElementImpl::canvasResource):
* ksvg2/svg/SVGFEBlendElementImpl.cpp: (SVGFEBlendElementImpl::filterEffect):
* ksvg2/svg/SVGFEColorMatrixElementImpl.cpp: (SVGFEColorMatrixElementImpl::filterEffect):
* ksvg2/svg/SVGFEComponentTransferElementImpl.cpp: (SVGFEComponentTransferElementImpl::filterEffect):
* ksvg2/svg/SVGFECompositeElementImpl.cpp: (SVGFECompositeElementImpl::filterEffect):
* ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: (WebCore::SVGFEDiffuseLightingElementImpl::filterEffect):
* ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: (SVGFEDisplacementMapElementImpl::filterEffect):
* ksvg2/svg/SVGFEFloodElementImpl.cpp: (SVGFEFloodElementImpl::filterEffect):
* ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp: (SVGFEGaussianBlurElementImpl::filterEffect):
* ksvg2/svg/SVGFEImageElementImpl.cpp: (SVGFEImageElementImpl::filterEffect):
* ksvg2/svg/SVGFEMergeElementImpl.cpp: (SVGFEMergeElementImpl::filterEffect):
* ksvg2/svg/SVGFEOffsetElementImpl.cpp: (SVGFEOffsetElementImpl::filterEffect):
* ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: (SVGFESpecularLightingElementImpl::filterEffect):
* ksvg2/svg/SVGFETileElementImpl.cpp: (SVGFETileElementImpl::filterEffect):
* ksvg2/svg/SVGFETurbulenceElementImpl.cpp: (SVGFETurbulenceElementImpl::filterEffect):
* ksvg2/svg/SVGFilterElementImpl.cpp: (SVGFilterElementImpl::canvasResource):
* ksvg2/svg/SVGGElementImpl.cpp: (SVGGElementImpl::createRenderer):
* ksvg2/svg/SVGGradientElementImpl.cpp: (SVGGradientElementImpl::canvasResource):
* ksvg2/svg/SVGMarkerElementImpl.cpp:
(WebCore::SVGMarkerElementImpl::canvasResource):
(WebCore::SVGMarkerElementImpl::createRenderer):
* ksvg2/svg/SVGMaskElementImpl.cpp:
(WebCore::SVGMaskElementImpl::drawMaskerContent):
(WebCore::SVGMaskElementImpl::createRenderer):
(WebCore::SVGMaskElementImpl::canvasResource):
* ksvg2/svg/SVGPathElementImpl.cpp: (WebCore::SVGPathElementImpl::toPathData):
* ksvg2/svg/SVGPatternElementImpl.cpp:
(WebCore::SVGPatternElementImpl::drawPatternContentIntoTile):
(WebCore::SVGPatternElementImpl::createRenderer):
(WebCore::SVGPatternElementImpl::canvasResource):
* ksvg2/svg/SVGPolygonElementImpl.cpp: (SVGPolygonElementImpl::toPathData):
* ksvg2/svg/SVGPolylineElementImpl.cpp: (SVGPolylineElementImpl::toPathData):
* ksvg2/svg/SVGSVGElementImpl.cpp: (WebCore::SVGSVGElementImpl::createRenderer):
* ksvg2/svg/SVGStyledElementImpl.cpp: (WebCore::SVGStyledElementImpl::createRenderer):
* ksvg2/svg/SVGSwitchElementImpl.cpp: (SVGSwitchElementImpl::createRenderer):
* ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::createRenderer):
Updated to use renderingDevice instead of QPainter::renderingDevice.
2006-02-28 Darin Adler <darin@apple.com>
- fixed part of the reason the build is broken
* WebCore.xcodeproj/project.pbxproj: Updated project file.
2006-02-28 Darin Adler <darin@apple.com>
Rubber-stamped by Hyatt.
- moved the WebCoreXXX files from kwq to appropriate directories
No changes to the contents of the files.
* WebCore.xcodeproj/project.pbxproj: Updated project file.
* bridge/mac/WebCoreCache.h: Added.
* bridge/mac/WebCoreCache.mm: Added.
* bridge/mac/WebCoreEncodings.h: Added.
* bridge/mac/WebCoreEncodings.mm: Added.
* bridge/mac/WebCoreFrameNamespaces.h: Added.
* bridge/mac/WebCoreFrameNamespaces.m: Added.
* bridge/mac/WebCoreFrameView.h: Added.
* bridge/mac/WebCoreJavaScript.h: Added.
* bridge/mac/WebCoreJavaScript.mm: Added.
* bridge/mac/WebCoreKeyboardAccess.h: Added.
* bridge/mac/WebCoreResourceLoader.h: Added.
* bridge/mac/WebCoreScriptDebugger.h: Added.
* bridge/mac/WebCoreScriptDebugger.mm: Added.
* bridge/mac/WebCoreSettings.h: Added.
* bridge/mac/WebCoreSettings.mm: Added.
* bridge/mac/WebCoreTextDecoder.h: Added.
* bridge/mac/WebCoreTextDecoder.mm: Added.
* bridge/mac/WebCoreViewFactory.h: Added.
* bridge/mac/WebCoreViewFactory.m: Added.
* bridge/mac/WebDashboardRegion.h: Added.
* bridge/mac/WebDashboardRegion.m: Added.
* kwq/WebCoreCache.h: Removed.
* kwq/WebCoreCache.mm: Removed.
* kwq/WebCoreCookieAdapter.h: Removed.
* kwq/WebCoreCookieAdapter.m: Removed.
* kwq/WebCoreEncodings.h: Removed.
* kwq/WebCoreEncodings.mm: Removed.
* kwq/WebCoreFrameNamespaces.h: Removed.
* kwq/WebCoreFrameNamespaces.m: Removed.
* kwq/WebCoreFrameView.h: Removed.
* kwq/WebCoreGraphicsBridge.h: Removed.
* kwq/WebCoreGraphicsBridge.m: Removed.
* kwq/WebCoreHistory.h: Removed.
* kwq/WebCoreHistory.m: Removed.
* kwq/WebCoreImageRenderer.h: Removed.
* kwq/WebCoreImageRendererFactory.h: Removed.
* kwq/WebCoreImageRendererFactory.m: Removed.
* kwq/WebCoreJavaScript.h: Removed.
* kwq/WebCoreJavaScript.mm: Removed.
* kwq/WebCoreKeyGenerator.h: Removed.
* kwq/WebCoreKeyGenerator.m: Removed.
* kwq/WebCoreKeyboardAccess.h: Removed.
* kwq/WebCoreResourceLoader.h: Removed.
* kwq/WebCoreScriptDebugger.h: Removed.
* kwq/WebCoreScriptDebugger.mm: Removed.
* kwq/WebCoreSettings.h: Removed.
* kwq/WebCoreSettings.mm: Removed.
* kwq/WebCoreTextDecoder.h: Removed.
* kwq/WebCoreTextDecoder.mm: Removed.
* kwq/WebCoreTextRenderer.h: Removed.
* kwq/WebCoreTextRendererFactory.h: Removed.
* kwq/WebCoreTextRendererFactory.mm: Removed.
* kwq/WebCoreView.h: Removed.
* kwq/WebCoreView.m: Removed.
* kwq/WebCoreViewFactory.h: Removed.
* kwq/WebCoreViewFactory.m: Removed.
* kwq/WebDashboardRegion.h: Removed.
* kwq/WebDashboardRegion.m: Removed.
* platform/mac/WebCoreCookieAdapter.h: Added.
* platform/mac/WebCoreCookieAdapter.m: Added.
* platform/mac/WebCoreGraphicsBridge.h: Added.
* platform/mac/WebCoreGraphicsBridge.m: Added.
* platform/mac/WebCoreHistory.h: Added.
* platform/mac/WebCoreHistory.m: Added.
* platform/mac/WebCoreImageRenderer.h: Added.
* platform/mac/WebCoreImageRendererFactory.h: Added.
* platform/mac/WebCoreImageRendererFactory.m: Added.
* platform/mac/WebCoreKeyGenerator.h: Added.
* platform/mac/WebCoreKeyGenerator.m: Added.
* platform/mac/WebCoreTextRenderer.h: Added.
* platform/mac/WebCoreTextRendererFactory.h: Added.
* platform/mac/WebCoreTextRendererFactory.mm: Added.
* platform/mac/WebCoreView.h: Added.
* platform/mac/WebCoreView.m: Added.
2006-02-28 David Hyatt <hyatt@apple.com>
Fold QFont into Font and eliminate QFont completely.
Reviewed by eric
* ForwardingHeaders/qfont.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(-[DOMElement _font]):
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::attributedString):
(WebCore::MacFrame::fontForSelection):
(WebCore::MacFrame::fontAttributesForSelectionStart):
* bridge/mac/WebCoreFrameBridge.mm:
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::recalcStyle):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::updateValue):
* kwq/KWQAccObject.mm:
(AXAttributeStringSetStyle):
* kwq/KWQComboBox.h:
* kwq/KWQComboBox.mm:
(QComboBox::setFont):
* kwq/KWQFont.h: Removed.
* kwq/KWQFont.mm: Removed.
* kwq/KWQFontMetrics.h:
* kwq/KWQFontMetrics.mm:
(QFontMetricsPrivate::QFontMetricsPrivate):
(QFontMetricsPrivate::~QFontMetricsPrivate):
(QFontMetricsPrivate::getRenderer):
(QFontMetricsPrivate::fontDescription):
(QFontMetricsPrivate::setFontDescription):
(QFontMetricsPrivate::getWebCoreFont):
(QFontMetricsPrivate::isFixedPitch):
(QFontMetricsPrivate::determinePitch):
(QFontMetrics::QFontMetrics):
(QFontMetrics::setFontDescription):
(QFontMetrics::width):
(QFontMetrics::floatWidth):
(QFontMetrics::selectionRectForText):
(QFontMetrics::checkSelectionPoint):
(QFontMetrics::getWebCoreFont):
(QFontMetrics::isFixedPitch):
* kwq/KWQKHTMLSettings.h:
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm:
(-[NSSearchField _addStringToRecentSearches:]):
(QLineEdit::setFont):
* kwq/KWQListBox.h:
* kwq/KWQListBox.mm:
(QListBox::sizeForNumberOfLines):
(QListBox::setFont):
(-[KWQTableView drawRow:clipRect:]):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(WebCore::QPainter::font):
(WebCore::QPainter::setFont):
(WebCore::QPainter::fontMetrics):
(WebCore::QPainter::_updateRenderer):
(WebCore::QPainter::drawText):
(WebCore::QPainter::drawHighlightForText):
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(QSlider::setFont):
* kwq/KWQTextEdit.h:
* kwq/KWQTextEdit.mm:
(QTextEdit::setFont):
* platform/Font.cpp:
(khtml::Font::update):
* platform/Font.h:
(WebCore::):
(WebCore::Font::m_wordSpacing):
(WebCore::Font::Font):
(WebCore::Font::operator==):
(WebCore::Font::operator!=):
(WebCore::Font::fontMetrics):
(WebCore::Font::pixelSize):
(WebCore::Font::size):
(WebCore::Font::letterSpacing):
(WebCore::Font::setWordSpacing):
(WebCore::Font::setLetterSpacing):
(WebCore::Font::isFixedPitch):
(WebCore::Font::isPrinterFont):
(WebCore::Font::firstFamily):
(WebCore::Font::family):
(WebCore::Font::italic):
(WebCore::Font::weight):
(WebCore::Font::getNSFamily):
(WebCore::Font::getNSFont):
(WebCore::Font::getWebCoreFont):
* platform/FontDescription.h:
(WebCore::FontDescription::FontDescription):
* platform/FontFamily.h:
* platform/Widget.h:
* platform/mac/WidgetMac.mm:
(WebCore::Widget::font):
(WebCore::Widget::setFont):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderBlock.cpp:
(WebCore::stripTrailingSpace):
* rendering/RenderText.cpp:
(WebCore::RenderText::cacheWidths):
(WebCore::RenderText::trimmedMinMaxWidth):
(WebCore::RenderText::calcMinMaxWidth):
(WebCore::RenderText::font):
(WebCore::RenderText::width):
* rendering/RenderText.h:
* rendering/bidi.cpp:
(khtml::RenderBlock::computeHorizontalPositionsForLine):
(khtml::RenderBlock::findNextLineBreak):
* rendering/render_br.cpp:
(WebCore::RenderBR::lineHeight):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::lineHeight):
* rendering/render_form.cpp:
(WebCore::RenderFormElement::setStyle):
(WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
(WebCore::InlineFlowBox::paintDecorations):
(WebCore::EllipsisBox::paint):
* rendering/render_list.cpp:
(RenderListMarker::paint):
* rendering/render_object.cpp:
(WebCore::RenderObject::getVerticalPosition):
(WebCore::RenderObject::lineHeight):
* rendering/render_object.h:
(WebCore::RenderObject::font):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::setStyle):
* rendering/render_style.h:
(khtml::RenderStyle::fontSize):
(khtml::RenderStyle::fontMetrics):
(khtml::RenderStyle::wordSpacing):
(khtml::RenderStyle::letterSpacing):
(khtml::RenderStyle::setFontDescription):
(khtml::RenderStyle::setWordSpacing):
(khtml::RenderStyle::setLetterSpacing):
2006-02-28 Darin Adler <darin@apple.com>
Reviewed by Adele.
- remove obsolete WebCoreScrollView class
* WebCore.exp: Remove WebCoreScrollView class name.
* kwq/WebCoreScrollView.h: Removed.
* kwq/WebCoreScrollView.m: Removed.
* WebCore.xcodeproj/project.pbxproj: Remove WebCoreScrollView source files.
* kwq/KWQListBox.mm: (-[KWQListBoxScrollView autoforwardsScrollWheelEvents]): Added.
* kwq/KWQTextArea.h: Change base class to NSScrollView instead of WebCoreScrollView.
* kwq/KWQTextArea.mm: (-[KWQTextAreaTextView autoforwardsScrollWheelEvents]): Ditto.
2006-02-28 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix spacing/style on several of the stubs.
Reorganize stubs, separating empty stubs.
Remove the abort from certain stubs blocking DRT.
Add a virtual setView call to Frame baseclass.
* bridge/mac/MacFrame.h: mark setView virtual
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::attach): remove no-renderer hack
* page/Frame.cpp:
(WebCore::Frame::view): fix spacing
(WebCore::Frame::setView): added.
* page/Frame.h:
* platform/win/TemporaryLinkStubs.cpp:
(notImplemented): make break directly into debugger.
Moved, modified several other stubs not mentioned here.
2006-02-28 Justin Garcia <justin.garcia@apple.com>
Reviewed by mjs
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6647>
TinyMCE: document.execCommand("insertHTML", ...) unimplemented
* editing/jsediting.cpp:
2006-02-28 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- make win32 DumpRenderTree run without crashing
http://bugzilla.opendarwin.org/show_bug.cgi?id=7511
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/BrowserExtensionWin.h: Added.
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin): Initialize browser
extension and settings.
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::attach): Don't create renderers
for now.
* dom/EventNames.cpp:
(WebCore::EventNames::init): use placement new even when
not avoiding static constructors.
* khtml/html/htmlnames.cpp:
(WebCore::HTMLNames::init): ditto
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::init): ditto
* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedName): Added default
constructor but only in ifdef.
* page/Frame.h:
* platform/AtomicString.cpp:
(WebCore::AtomicString::init): use placement new even when
not avoiding static constructors
* platform/StaticConstructors.h: don't initialize when
not avoiding static constructors, just default construct
and let initialization happen normally
* platform/win/TemporaryLinkStubs.cpp: Stub out some more things
(Cursor::~Cursor):
(QFont::~QFont):
(QFontMetrics::~QFontMetrics):
(WebCore::FrameWin::restoreDocumentState):
(WebCore::FrameWin::partClearedInBegin):
(WebCore::FrameWin::createEmptyDocument):
(WebCore::BrowserExtensionWin::getHistoryLength):
(WebCore::BrowserExtensionWin::canRunModal):
(WebCore::BrowserExtensionWin::openURLNotify):
(WebCore::BrowserExtensionWin::canRunModalNow):
(WebCore::BrowserExtensionWin::runModal):
(WebCore::BrowserExtensionWin::goBackOrForward):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove abort() from constructors to allow DRT to run.
* platform/win/TemporaryLinkStubs.cpp:
(QFont::QFont):
(QFontMetrics::QFontMetrics):
2006-02-27 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6893>
REGRESSION: Major bug with TinyMCE, no value submitted from textarea
<rdar://problem/3465857> value from textarea form field inside of hidden div isn't submitted
<rdar://problem/3968059> Textarea with hard-wrap: pre-filled text doesn't get hard-wrapped
Canonicalize line endings in textareas to avoid the workarounds that were a source of bugs,
Also call textWithHardLineWraps inside appendFormData (and nowhere else) if wrap="hard".
* khtml/html/HTMLTextAreaElementImpl.cpp:
(WebCore::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
(WebCore::HTMLTextAreaElementImpl::select):
(WebCore::HTMLTextAreaElementImpl::appendFormData):
(WebCore::HTMLTextAreaElementImpl::rendererWillBeDestroyed):
(WebCore::HTMLTextAreaElementImpl::updateValue):
(WebCore::HTMLTextAreaElementImpl::value):
(WebCore::HTMLTextAreaElementImpl::setValue):
(WebCore::HTMLTextAreaElementImpl::defaultValue):
* khtml/html/HTMLTextAreaElementImpl.h:
(DOM::HTMLTextAreaElementImpl::invalidateValue):
* kwq/KWQTextArea.h:
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView textDidChange:]):
(-[KWQTextAreaTextView text]):
(-[KWQTextAreaTextView textWithHardLineBreaks]):
(-[KWQTextAreaTextView setSelectedRange:]):
(-[KWQTextAreaTextView selectedRange]):
(-[KWQTextAreaTextView getCursorPositionAsIndex:inParagraph:]):
(RangeOfParagraph):
(-[KWQTextAreaTextView textView:shouldChangeTextInRange:replacementString:]):
* rendering/render_form.cpp:
(WebCore::RenderTextArea::destroy):
(WebCore::RenderTextArea::updateFromElement):
(WebCore::RenderTextArea::text):
(WebCore::RenderTextArea::textWithHardLineBreaks):
* rendering/render_form.h:
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Copy missing dlls to build directory.
* Viewer.cpp: fix line endings
* Viewer/ImageView.cpp: fix line endings
* Viewer/stdafx.cpp: fix line endings
* WebCore.vcproj/WebCore/build-generated-files.sh:
2006-02-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: added to fast/dom/css-selectorText.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7338
Incorrect selectorText for multiple subselectors.
* css/css_base.cpp:
(CSSSelector::selectorText): Iterate over subselectors
2006-02-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- write a portable ICU version of TextEncoding::fromUnicode for use on win32
* platform/StreamingTextDecoder.h:
* platform/TextEncoding.cpp:
(WebCore::TextEncoding::fromUnicode): added
(WebCore::getConverter): helper
(WebCore::cacheConverter): ditto
(WebCore::effectiveEncoding): ditto
* platform/mac/TextEncodingMac.cpp: Add comment
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::TextEncoding::fromUnicode): remove
2006-02-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/text/in-rendered-text-rtl.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7433
REGRESSION (r12789): Second RTL text run on a line cannot be selected
* dom/dom_position.cpp:
(WebCore::Position::inRenderedText): If the RenderText contains
reversed text, the text boxes are not necessarily ordered by start
position, so iterate through all of them.
(WebCore::Position::isRenderedCharacter): Ditto.
2006-02-27 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7321
REGRESSION: style tag in body causes two head elements to appear in the DOM
* khtml/html/htmlparser.cpp: Handle the head node like form and map nodes.
(WebCore::HTMLParser::parseToken):
(WebCore::HTMLParser::headCreateErrorCheck):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Add stub to make DRT link.
Make WebCore copy libxml.dll into build directory when building.
* WebCore.vcproj/WebCore/build-generated-files.sh:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::TextEncoding::fromUnicode):
2006-02-27 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix regression in layout tests
* dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength):
Fix some code that was not properly truncating. I broke it in my
string change this morning.
2006-02-27 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- add stubs for FrameWin overrides of pure virtual Frame methods
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::FrameWin::respondToChangedContents):
(WebCore::FrameWin::unfocusWindow):
(WebCore::FrameWin::locationbarVisible):
(WebCore::FrameWin::respondToChangedSelection):
(WebCore::FrameWin::clearUndoRedoOperations):
(WebCore::FrameWin::issueRedoCommand):
(WebCore::FrameWin::canRedo):
(WebCore::FrameWin::restoreDocumentState):
(WebCore::FrameWin::canUndo):
(WebCore::FrameWin::overrideMediaType):
(WebCore::FrameWin::saveDocumentState):
(WebCore::FrameWin::print):
(WebCore::FrameWin::issueCutCommand):
(WebCore::FrameWin::issueCopyCommand):
(WebCore::FrameWin::partClearedInBegin):
(WebCore::FrameWin::issueUndoCommand):
(WebCore::FrameWin::clearRecordedFormValues):
(WebCore::FrameWin::issuePasteCommand):
(WebCore::FrameWin::markedTextRange):
(WebCore::FrameWin::shouldChangeSelection):
(WebCore::FrameWin::scheduleClose):
(WebCore::FrameWin::menubarVisible):
(WebCore::FrameWin::personalbarVisible):
(WebCore::FrameWin::createEmptyDocument):
(WebCore::FrameWin::lastEventIsMouseUp):
(WebCore::FrameWin::statusbarVisible):
(WebCore::FrameWin::toolbarVisible):
(WebCore::FrameWin::issueTransposeCommand):
(WebCore::FrameWin::userAgent):
(WebCore::FrameWin::canPaste):
(WebCore::FrameWin::incomingReferrer):
(WebCore::FrameWin::canGoBackOrForward):
(WebCore::FrameWin::issuePasteAndMatchStyleCommand):
(WebCore::FrameWin::handledOnloadEvents):
(WebCore::FrameWin::generateFrameName):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Add constructor and destructor.
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
(WebCore::FrameWin::~FrameWin):
2006-02-27 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric (sorta).
- add return values where needed
* platform/win/TemporaryLinkStubs.cpp:
(KWQServeRequest):
(KWQServeSynchronousRequest):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Add a couple more stubs to make Win32 link.
* platform/win/TemporaryLinkStubs.cpp:
(KWQServeSynchronousRequest):
(WebCore::FrameView::topLevelWidget):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Move mac-specific logging logic up into WebCore (from JavaScriptCore).
Remove KWQ prefixes from default log channels.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7503
* bridge/mac/WebCorePageBridge.mm:
(initializeLogChannel):
(initializeLoggingChannelsIfNecessary):
(-[WebCorePageBridge init]):
* page/Frame.h:
* platform/Logging.cpp:
* platform/Logging.h:
2006-02-27 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix <rdar://problem/4104575> hang due to slow saveDocumentState method
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge saveDocumentState]):
Change code that iterates a QStringList with indices to use iterator instead.
2006-02-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- portable version of QString::utf8
* platform/QString.cpp:
(QString::utf8): moved here, rewritten to use TextCodec
* platform/mac/QStringMac.mm:
(QString::utf8): removed from here
2006-02-27 Eric Seidel <eseidel@apple.com>
Rubber-stamped by mjs.
Fix FrameWin.h to use consistant line endings.
Fix TemporaryLinkStubs to better match style guidelines.
* bridge/win/FrameWin.h:
(WebCore::Win):
* platform/win/TemporaryLinkStubs.cpp:
(QLineEdit::selectAll):
(QPainter::save):
(Widget::enableFlushDrawing):
(QPainter::drawHighlightForText):
(QFont::setPrinterFont):
(QTextEdit::textWithHardLineBreaks):
(Widget::mapFromGlobal):
(QPainter::addClip):
(QLineEdit::cursorPosition):
(QPainter::setPen):
(QPainter::selectedTextBackgroundColor):
(QPainter::fontMetrics):
(Widget::show):
(QFont::setItalic):
(QSlider::setValue):
(QLineEdit::addSearchResult):
(KWQFileButton::click):
(QLineEdit::setWritingDirection):
(QPainter::drawFocusRing):
(KWQFileButton::sizeForCharacterWidth):
(QTextEdit::sizeWithColumnsAndRows):
(QComboBox::clear):
(QPainter::misspellingLineThickness):
(QComboBox::setFrameGeometry):
(QLineEdit::maxLength):
(Widget::isEnabled):
(KWQServeRequest):
(QTextEdit::setText):
(Widget::paint):
(QPainter::addRoundedRectClip):
(FrameView::viewportToGlobal):
(QTextEdit::selectionEnd):
(QFont::determinePitch):
(QTextEdit::setScrollBarModes):
(QPainter::drawEllipse):
(QTextEdit::setReadOnly):
(QListBox::appendItem):
(QLineEdit::setPlaceholderString):
(Cursor::Cursor):
(Widget::focusPolicy):
(ScrollView::removeChild):
(QTextEdit::selectAll):
(QPainter::fillRect):
(QPainter::endTransparencyLayer):
(QFont::QFont):
(ScrollView::addChild):
(QTextEdit::setDisabled):
(QScrollBar::scroll):
(Widget::~Widget):
(QPainter::xForm):
(QListBox::sizeForNumberOfLines):
(ScrollView::resizeContents):
(QLineEdit::selectionStart):
(QLineEdit::QLineEdit):
(FrameView::updateBorder):
(QLineEdit::hasSelectedText):
(QScrollBar::QScrollBar):
(QListBox::doneAppendingItems):
(QTextEdit::QTextEdit):
(ScrollView::inWindow):
(QScrollBar::setValue):
(QFont::setFirstFamily):
(QTextEdit::hasSelectedText):
(QTextEdit::selectionStart):
(QFont::setWeight):
(ScrollView::scrollXOffset):
(QListBox::isSelected):
(QLineEdit::setReadOnly):
(QPainter::drawLineForText):
(QPainter::QPainter):
(QComboBox::~QComboBox):
(QComboBox::focusPolicy):
(QPainter::drawImageAtPoint):
(QPainter::clearShadow):
(QTextEdit::setLineHeight):
(QScrollBar::setKnobProportion):
(KWQFileButton::KWQFileButton):
(QFontMetrics::boundingRect):
(QTextEdit::setSelectionStart):
(QPainter::beginTransparencyLayer):
(QFontMetrics::setFont):
(QComboBox::setFont):
(Widget::frameGeometry):
(QListBox::setSelected):
(QPainter::addFocusRingRect):
(QTextEdit::setCursorPosition):
(QPainter::restore):
(QFontMetrics::width):
(Widget::setEnabled):
(QTextEdit::setSelectionEnd):
(QComboBox::populate):
(ScrollView::setStaticBackground):
(QPainter::font):
(QTextEdit::setAlignment):
(QLineEdit::setCursorPosition):
(QPainter::drawText):
(QPainter::pen):
(KJavaAppletWidget::KJavaAppletWidget):
(QFontMetrics::descent):
(QListBox::QListBox):
(QFontMetrics::ascent):
(QLineEdit::selectedText):
(Widget::setIsSelected):
(QLineEdit::text):
(Widget::unlockDrawingFocus):
(QLineEdit::setLiveSearch):
(QPainter::paintingDisabled):
(QComboBox::QComboBox):
(QPainter::drawConvexPolygon):
(Widget::setFont):
(QSlider::setMaxValue):
(Widget::lockDrawingFocus):
(QPainter::drawLine):
(QPainter::setBrush):
(QTextEdit::setSelectionRange):
(ScrollView::scrollPointRecursively):
(QLineEdit::sizeForCharacterWidth):
(Cursor::~Cursor):
(QFontMetrics::selectionRectForText):
(ScrollView::suppressScrollBars):
(QFontMetrics::checkSelectionPoint):
(QTextEdit::getCursorPosition):
(FrameView::isFrameView):
(QScrollBar::setSteps):
(QLineEdit::setMaxLength):
(Widget::setCursor):
(QLineEdit::setAutoSaveName):
(QComboBox::baselinePosition):
(QComboBox::appendItem):
(QPainter::setShadow):
(QTextEdit::setWritingDirection):
(Widget::setDrawingAlpha):
(QSlider::QSlider):
(ScrollView::setVScrollBarMode):
(QPainter::drawScaledAndTiledImage):
(ScrollView::scrollYOffset):
(QPainter::drawImage):
(QComboBox::setCurrentItem):
(QFontMetrics::height):
(QComboBox::setWritingDirection):
(ScrollView::setScrollBarsMode):
(QComboBox::sizeHint):
(QPainter::drawRect):
(QFont::setPixelSize):
(Widget::setFrameGeometry):
(QLineEdit::setSelection):
(QLineEdit::setMaxResults):
(QListBox::clear):
(QLineEdit::edited):
(QPainter::drawTiledImage):
(QPainter::clearFocusRing):
(QFont::operator==):
(Widget::Widget):
(QTextEdit::text):
(QPainter::drawImageInRect):
(QPainter::setFont):
(Widget::disableFlushDrawing):
(QPainter::initFocusRing):
(QSlider::setMinValue):
(QTextEdit::setWordWrap):
(QPainter::drawLineForMisspelling):
(QLineEdit::setText):
(QSlider::value):
(QListBox::setSelectionMode):
(KWQFileButton::setFilename):
(QFontMetrics::QFontMetrics):
(QFontMetrics::lineSpacing):
(QLineEdit::setEdited):
(QComboBox::frameGeometry):
(QListBox::setWritingDirection):
(QLineEdit::setAlignment):
(ScrollView::updateContents):
(QFontMetrics::floatWidth):
(ScrollView::setHScrollBarMode):
(KWQFileButton::focusPolicy):
(QListBox::setFont):
(QLineEdit::checksDescendantsForFocus):
(KWQFileButton::baselinePosition):
(QSlider::~QSlider):
(KWQFileButton::setFrameGeometry):
(QListBox::~QListBox):
(KWQFileButton::frameGeometry):
(QTextEdit::setFont):
(QLineEdit::setFont):
(KWQFileButton::~KWQFileButton):
(QTextEdit::focusPolicy):
(QSlider::focusPolicy):
(QSlider::setFont):
(QListBox::setEnabled):
(QListBox::checksDescendantsForFocus):
(QListBox::focusPolicy):
(QLineEdit::baselinePosition):
(QSlider::sizeHint):
(QLineEdit::~QLineEdit):
(QTextEdit::~QTextEdit):
(QTextEdit::checksDescendantsForFocus):
(QLineEdit::focusPolicy):
(QScrollBar::~QScrollBar):
(Path::operator=):
(QLineEdit::setColors):
(QTextEdit::setColors):
(searchableIndexIntroduction):
(KWQKCookieJar::setCookie):
(KWQKCookieJar::cookie):
(WebCore::screenRect):
(WebCore::Widget::clearFocus):
(WebCore::historyContains):
(KWQFindNextSentenceFromIndex):
(KWQFindSentenceBoundary):
(KWQFindNextWordFromIndex):
(KWQFindWordBoundary):
(submitButtonDefaultLabel):
(inputElementAltText):
(resetButtonDefaultLabel):
(KWQKCookieJar::cookieEnabled):
(WebCore::Widget::setFocus):
(WebCore::QPainter::fillRect):
(WebCore::QPainter::~QPainter):
(WebCore::ScrollView::viewportToContents):
(WebCore::TransferJob::kill):
(WebCore::TransferJob::addMetaData):
(WebCore::TransferJob::queryMetaData):
(WebCore::TransferJob::error):
(WebCore::TransferJob::errorText):
(WebCore::TransferJob::isErrorPage):
(WebCore::TransferJob::TransferJob):
(WebCore::Widget::hide):
(KLocale::language):
(PlugInInfoStore::createPluginInfoForPluginAtIndex):
(WebCore::screenDepth):
(QFont::italic):
(QFontMetrics::operator=):
(QFontMetrics::xHeight):
(WebCore::usableScreenRect):
(QFont::operator=):
(Widget::setActiveWindow):
(KWQCheckIfReloading):
(WebCore::ScrollView::contentsX):
(WebCore::ScrollView::contentsY):
(WebCore::ScrollView::contentsHeight):
(WebCore::ScrollView::contentsWidth):
(WebCore::ScrollView::visibleHeight):
(WebCore::ScrollView::visibleWidth):
(WebCore::ScrollView::hScrollBarMode):
(WebCore::ScrollView::vScrollBarMode):
(KWQCheckCacheObjectStatus):
2006-02-27 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6844>
elementAtPoint returns the list when the point is over a list marker
Consider the case of outside list markers in nodeAtPoint. Had to pull
the code out of RenderListMarker::paint that computed the position/size
of the list marker.
Added:
* fast/events/onclick-list-marker.html
* rendering/render_list.cpp:
(RenderListItem::nodeAtPoint):
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::paint):
(RenderListMarker::nodeAtPoint):
(RenderListMarker::getRelativeMarkerRect):
* rendering/render_list.h:
* rendering/render_object.h:
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
Fix xcode project after previous KWQLogging move.
* WebCore.xcodeproj/project.pbxproj:
* platform/Logging.h:
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
Move KWQLogging to platform and rename as Logging.*, fix headers.
This will break the mac build, which I will fix on my next commit.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* dom/DocumentImpl.cpp:
* dom/dom_position.cpp:
* editing/DeleteSelectionCommand.cpp:
* editing/InsertLineBreakCommand.cpp:
* editing/InsertParagraphSeparatorCommand.cpp:
* editing/InsertTextCommand.cpp:
* editing/VisiblePosition.cpp:
* editing/markup.cpp:
* khtml/ecma/kjs_window.cpp:
* kwq/KWQLogging.h: Removed.
* kwq/KWQLogging.m: Removed.
* kwq/KWQRegExp.cpp:
* kwq/KWQTextStream.cpp:
* platform/Logging.cpp: Added.
* platform/Logging.h: Added.
* platform/QString.cpp:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ScrollView::vScrollBarMode):
(WebCore::theme):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix a bunch more link errors in the win32 build, mostly by adding stubs.
* WebCore.vcproj/WebCore/WebCore.vcproj: add JSXMLHttpRequest and PlugInInfoStore
* WebCore.vcproj/WebCore/build-generated-files.sh: update for JSXMLHttpRequest
* khtml/ecma/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequest::getValueProperty): fix switch to compile
* platform/PlugInInfoStore.h:
* platform/mac/PlugInInfoStoreMac.mm:
* platform/win/TemporaryLinkStubs.cpp: add a bunch of stubs.
(WebCore::TransferJob::errorText):
(WebCore::TransferJob::isErrorPage):
(WebCore::Widget::hide):
(PlugInInfoStore::createPluginInfoForPluginAtIndex):
(PlugInInfoStore::pluginCount):
(WebCore::refreshPlugins):
(QFont::QFont):
(QFont::~QFont):
(QFont::italic):
(QFont::weight):
(QFontMetrics::QFontMetrics):
(QFontMetrics::~QFontMetrics):
(QFontMetrics::xHeight):
(Widget::setActiveWindow):
(WebCore::ScrollView::contentsX):
(WebCore::ScrollView::contentsY):
(WebCore::ScrollView::contentsHeight):
(WebCore::ScrollView::contentsWidth):
(WebCore::ScrollView::visibleHeight):
(WebCore::ScrollView::visibleWidth):
(WebCore::ScrollView::hScrollBarMode):
(WebCore::ScrollView::vScrollBarMode):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
Add missing include to fix build.
* platform/win/TemporaryLinkStubs.cpp:
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Move KConfig to platform/PlugInInfoStore and add test.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7498
Test: plugins/plugin-javascript-access.html
* ForwardingHeaders/kconfig.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* khtml/ecma/kjs_navigator.cpp:
(KJS::PluginBase::PluginBase):
* khtml/ecma/kjs_window.cpp:
* kwq/KWQKConfigBase.h: Removed.
* kwq/KWQKConfigBase.mm: Removed.
* platform/PlugInInfoStore.h: Added.
* platform/mac/PlugInInfoStoreMac.mm: Added.
(WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
(WebCore::PlugInInfoStore::pluginCount):
(WebCore::refreshPlugins):
2006-02-27 Darin Adler <darin@apple.com>
Reviewed by Eric.
* platform/win/TemporaryLinkStubs.cpp: Added more stubs.
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Reworked KConfig and plugin architecture to be much more sane.
This is part one. Once this lands, I'll move it under platform with a better name.
Darin had several great suggested further improvements as part of:
http://bugzilla.opendarwin.org/show_bug.cgi?id=7451
I'll make some of those when I move this to platform.
No layout test possible (no way to control which plugins DRT sees).
* khtml/ecma/kjs_navigator.cpp:
(KJS::PluginBase::PluginBase):
(KJS::PluginBase::~PluginBase):
(KJS::PluginBase::refresh):
(KJS::Plugins::getValueProperty):
(KJS::Plugins::nameGetter):
(KJS::Plugins::getOwnPropertySlot):
(KJS::MimeTypes::getValueProperty):
(KJS::MimeTypes::nameGetter):
(KJS::MimeTypes::getOwnPropertySlot):
(KJS::Plugin::getValueProperty):
(KJS::Plugin::nameGetter):
(KJS::Plugin::getOwnPropertySlot):
* khtml/ecma/kjs_navigator.h:
* khtml/ecma/kjs_window.cpp:
* kwq/KWQKConfigBase.h:
(WebCore::PluginInfoStore::PluginInfoStore):
* kwq/KWQKConfigBase.mm:
(WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
(WebCore::PluginInfoStore::pluginCount):
(WebCore::refreshPlugins):
2006-02-27 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Build fix: cast to unsigned from size_t.
* platform/StreamingTextDecoder.cpp:
2006-02-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- add Selection.cpp to win32 build
http://bugzilla.opendarwin.org/show_bug.cgi?id=7490
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-02-27 Maciej Stachowiak <mjs@apple.com>
- use proper header for std::min.
* platform/StreamingTextDecoder.cpp:
2006-02-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- add new TextEncoding stuff to win32 build
http://bugzilla.opendarwin.org/show_bug.cgi?id=7491
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.vcproj/WebCore/build-generated-files.sh:
* platform/StreamingTextDecoder.cpp:
(WebCore::StreamingTextDecoder::convertUTF16):
* platform/TextEncoding.cpp:
2006-02-27 Darin Adler <darin@apple.com>
- try to fix Windows build
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed rendering/font.* and added platform/Font.*.
2006-02-27 Darin Adler <darin@apple.com>
* css/csshelper.cpp: (WebCore::parseURL): Actually, the second version was fine. Rolling
back to that; apologies for the churn.
2006-02-27 Darin Adler <darin@apple.com>
* css/csshelper.cpp: (WebCore::parseURL): Third time's the charm.
2006-02-27 Darin Adler <darin@apple.com>
* css/csshelper.cpp: (WebCore::parseURL): Oops! Checked in fixed version of this file.
2006-02-27 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7486
a first step in improving String/StringImpl API -- use "s" and "l" less
* css/csshelper.cpp: (WebCore::parseURL): Use a local buffer rather than
manipulating the characters directly inside a StringImpl buffer.
* css/cssstyleselector.cpp: (WebCore::parseUASheet): Copy the data to parse
it rather than going out of our way to hack StringImpl to not copy the data.
It would be better not to copy, but this is one-time work.
* dom/DOMImplementationImpl.cpp: (WebCore::DOMImplementationImpl::createDocument):
* dom/dom2_viewsimpl.cpp: (DOM::AbstractViewImpl::getMatchedCSSRules):
* dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength):
* dom/dom_xmlimpl.cpp: (WebCore::EntityImpl::toString):
* editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText):
* khtml/html/htmlparser.cpp: (WebCore::HTMLParser::handleError):
* platform/AtomicString.cpp:
(WebCore::CStringTranslator::equal):
(WebCore::QCharBufferTranslator::equal):
(WebCore::AtomicString::add):
* platform/StringImpl.h:
(WebCore::StringImpl::unicode): Added.
(KXMLCore::CaseInsensitiveHash::hash):
(KXMLCore::CaseInsensitiveHash::equal):
* rendering/InlineTextBox.cpp: (khtml::InlineTextBox::selectionStartEnd):
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderText.cpp:
(WebCore::getCharacterBreakIterator):
(WebCore::RenderText::RenderText):
(WebCore::RenderText::atLineWrap):
(WebCore::RenderText::allAscii):
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedMinMaxWidth):
(WebCore::RenderText::containsOnlyWhitespace):
(WebCore::RenderText::setSelectionState):
(WebCore::RenderText::setTextWithOffset):
(WebCore::RenderText::setText):
(WebCore::RenderText::width):
(WebCore::RenderText::selectionRect):
(WebCore::RenderText::caretMaxOffset):
* rendering/RenderTextFragment.cpp:
(khtml::RenderTextFragment::RenderTextFragment):
(khtml::RenderTextFragment::originalString):
Use length() instead of l, unicode() instead of s, and (*x)[] instead of x->s[].
* editing/visible_units.cpp:
(WebCore::startOfParagraph): Use const.
(WebCore::endOfParagraph): Ditto.
2006-02-27 Maciej Stachowiak <mjs@apple.com>
- fix problem with a prototype that broke win32 build
* platform/StreamingTextDecoder.h:
(WebCore::StreamingTextDecoder::convert):
2006-02-27 Maciej Stachowiak <mjs@apple.com>
- fix debug build (broken by my last commit)
* platform/StreamingTextDecoder.cpp:
(WebCore::StreamingTextDecoder::createICUConverter):
(WebCore::StreamingTextDecoder::convertUsingICU):
2006-02-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- platformize KWQTextCodec
http://bugzilla.opendarwin.org/show_bug.cgi?id=7487
I renamed QTextCodec to TextEncoding and QTextDecoder to
StreamingTextDecoder. I also made a bunch of other changes to make
the API more sensible.
* ForwardingHeaders/qtextcodec.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge URLWithAttributeString:]):
(-[WebCoreFrameBridge textEncoding]):
(+[WebCoreFrameBridge stringWithData:textEncoding:]):
(+[WebCoreFrameBridge stringWithData:textEncodingName:]):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::completeURL):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDocument::getValueProperty):
(KJS::DOMDocument::putValueProperty):
* khtml/html/FormDataList.cpp:
(DOM::FormDataList::FormDataList):
(DOM::FormDataList::appendString):
* khtml/html/FormDataList.h:
* khtml/html/HTMLFormElementImpl.cpp:
(WebCore::HTMLFormElementImpl::HTMLFormElementImpl):
(WebCore::HTMLFormElementImpl::formData):
* khtml/html/htmltokenizer.cpp:
* khtml/misc/decoder.cpp:
(Decoder::Decoder):
(Decoder::setEncodingName):
(Decoder::encodingName):
(Decoder::decode):
* khtml/misc/decoder.h:
(khtml::Decoder::):
(khtml::Decoder::visuallyOrdered):
(khtml::Decoder::encoding):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource):
* kwq/KWQCharsets.cpp: Removed.
* kwq/KWQCharsets.h: Removed.
* kwq/KWQTextCodec.cpp: Removed.
* kwq/KWQTextCodec.h: Removed.
* kwq/WebCoreTextDecoder.h:
* kwq/WebCoreTextDecoder.mm:
* kwq/can-convert.mm: Removed.
* kwq/character-sets.txt: Removed.
* kwq/mac-encodings.txt: Removed.
* kwq/make-charset-table.pl: Removed.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::setCharset):
(WebCore::CachedCSSStyleSheet::data):
* loader/CachedCSSStyleSheet.h:
* loader/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
(WebCore::CachedScript::setCharset):
(WebCore::CachedScript::data):
* loader/CachedScript.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::setCharset):
* page/Frame.cpp:
(WebCore::Frame::write):
(WebCore::Frame::gotoAnchor):
(WebCore::Frame::encoding):
(WebCore::Frame::backslashAsCurrencySymbol):
* platform/CharsetNames.cpp: Added.
(KXMLCore::):
(WebCore::EncodingHash::equal):
(WebCore::EncodingHash::hash):
(WebCore::buildDictionaries):
(WebCore::textEncodingIDFromCharsetName):
(WebCore::charsetNameFromTextEncodingID):
* platform/CharsetNames.h: Added.
* platform/KURL.cpp:
(KURL::KURL):
(KURL::decode_string):
(encodeRelativeString):
* platform/KURL.h:
* platform/QString.cpp:
(QString::fromUtf8):
* platform/StreamingTextDecoder.cpp: Added.
(WebCore::StreamingTextDecoder::StreamingTextDecoder):
(WebCore::StreamingTextDecoder::convertLatin1):
(WebCore::StreamingTextDecoder::~StreamingTextDecoder):
(WebCore::StreamingTextDecoder::convertUTF16):
(WebCore::effectiveEncoding):
(WebCore::StreamingTextDecoder::createICUConverter):
(WebCore::unwanted):
(WebCore::StreamingTextDecoder::appendOmittingUnwanted):
(WebCore::StreamingTextDecoder::convertUsingICU):
(WebCore::StreamingTextDecoder::convert):
(WebCore::StreamingTextDecoder::toUnicode):
* platform/StreamingTextDecoder.h: Added.
(WebCore::StreamingTextDecoder::convert):
* platform/TextEncoding.cpp: Added.
(WebCore::TextEncoding::TextEncoding):
(WebCore::TextEncoding::name):
(WebCore::effectiveEncoding):
(WebCore::TextEncoding::backslashAsCurrencySymbol):
(WebCore::TextEncoding::toUnicode):
* platform/TextEncoding.h: Added.
(WebCore::):
(WebCore::TextEncoding::):
(WebCore::TextEncoding::TextEncoding):
(WebCore::TextEncoding::isValid):
(WebCore::TextEncoding::usesVisualOrdering):
(WebCore::TextEncoding::isJapanese):
(WebCore::TextEncoding::encodingID):
(WebCore::TextEncoding::flags):
(WebCore::operator==):
(WebCore::operator!=):
* platform/character-sets.txt: Added.
* platform/mac/ExtraCFEncodings.h: Added.
* platform/mac/QStringMac.mm:
* platform/mac/TextEncodingMac.cpp: Added.
(WebCore::effectiveEncoding):
(WebCore::TextEncoding::fromUnicode):
* platform/mac/can-convert.mm: Added.
* platform/mac/mac-encodings.txt: Added.
* platform/make-charset-table.pl: Added.
* platform/win/win-encodings.txt: Added.
* rendering/render_object.cpp:
(WebCore::RenderObject::backslashAsCurrencySymbol):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::slotData):
2006-02-27 Darin Adler <darin@apple.com>
- fix Windows build
* platform/win/TemporaryLinkStubs.cpp: Change KIO::TransferJob to WebCore::TransferJob.
2006-02-26 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- merged Job and TransferJob into TransferJob and moved it to WebCore namespace
- changed TransferJob to use a TransferJobClient object instead of signals
* ForwardingHeaders/kio/job.h: Changed to point to "KWQKJobClasses.h".
* kwq/KWQKJob.h: Removed.
* kwq/TransferJobClient.h: Added.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/xml_tokenizer.cpp: (WebCore::openFunc):
* khtml/xsl/xslt_processorimpl.cpp: (DOM::docLoaderFunc):
Use "new TransferJob" instead of "KIO::get" and "KIO::http_post".
* kwq/KWQKJobClasses.h: Eliminate Job. Add a TransferJobClient* parameter to
TransferJob. Eliminate the deliverAllData parameter to TransferJob constructor.
Remove the signals from TransferJob.
* kwq/KWQKJobClasses.mm:
(WebCore::TransferJobPrivate::TransferJobPrivate): Store a client pointer.
(WebCore::TransferJob::TransferJob): Store a client pointer, remove the
deliverAllData boolean.
(WebCore::TransferJob::receivedResponse): Added. Replaces the old emitReceivedResponse
function; uses client instead of a signal.
(WebCore::TransferJob::client): Added.
* kwq/KWQLoader.h: Switched things to mention the WebCore namespace.
Changed KIO::TransferJob to WebCore::TransferJob.
* kwq/KWQLoader.mm: Ditto.
* kwq/KWQObject.h:
* kwq/KWQObject.cpp: Removed isKHTMLLoader.
* kwq/KWQResourceLoader.h: Changed KIO::TransferJob to WebCore::TransferJob.
* kwq/KWQResourceLoader.mm:
(-[KWQResourceLoader receivedResponse:]): Call receivedResponse function on
the job instead of emitReceivedResponse.
(-[KWQResourceLoader redirectedToURL:]): Call receivedRedirect function on the
client directly instead of emitRedirection on the job.
(-[KWQResourceLoader addData:]): Call receivedData function on the
client directly instead of emitData on the job.
(-[KWQResourceLoader finishJobAndHandle:]): Call receivedAllData function on the
client directly instead of emitResult on the job. Also fixed a potential memory leak
where the handle was not released if the job was 0.
* kwq/KWQSignal.h:
* kwq/KWQSignal.cpp:
* kwq/KWQSlot.h:
* kwq/KWQSlot.cpp:
Removed the job-related signals and slots.
* loader/CachedObject.h: Removed unneeded declaration of TransferJob.
* loader/loader.h:
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests): Use "new TransferJob" instead of "KIO::get".
Also don't connect signals.
(WebCore::Loader::receivedAllData): New name for slotFinished.
(WebCore::Loader::receivedResponse): New name for slotReceivedResponse.
(WebCore::Loader::receivedData): New name for slotData.
(WebCore::Loader::cancelRequests): Changed KIO::Job to TransferJob.
(WebCore::Loader::jobForRequest): Ditto.
* page/Frame.h:
* page/Frame.cpp:
(WebCore::Frame::didOpenURL): Use "new TransferJob" instead of "KIO::get" and
"KIO::http_post". Also don't connect signals.
(WebCore::Frame::receivedAllData): Renamed from slotFinished. Also slightly
cleaned up the logic.
(WebCore::Frame::receivedRedirect): Renamed from slotRedirection.
* page/FramePrivate.h: Changed KIO::TransferJob to WebCore::TransferJob.
* xml/xmlhttprequest.h:
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest): Eliminate XMLHttpRequestQObject.
(WebCore::XMLHttpRequest::send): Use "new TransferJob" instead of
"KIO::get" and "KIO::http_post". Also don't connect signals.
(WebCore::XMLHttpRequest::processSyncLoadResults): Change to call the functions
by their new names (names changed to use with TransferJobClient).
(WebCore::XMLHttpRequest::receivedAllData): Renamed from slotFinished.
(WebCore::XMLHttpRequest::receivedRedirect): Renamed from slotRedirection.
(WebCore::XMLHttpRequest::receivedData): Renamed from slotData.
2006-02-26 Darin Adler <darin@apple.com>
- try again after seeing errors from buildbot
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
Add __APPLE__ ifdefs to two more uses of response.
2006-02-26 Darin Adler <darin@apple.com>
- try again after seeing errors from buildbot
* loader/CachedObject.cpp: (WebCore::CachedObject::~CachedObject):
* loader/CachedObject.h: (WebCore::CachedObject::CachedObject):
* loader/loader.cpp:
Add __APPLE__ ifdefs to calls to setResponse and setAllData.
* platform/win/TemporaryLinkStubs.cpp: Add missing includes.
2006-02-26 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- more Win32 link fixes
* loader/CachedObject.h: Put some Mac-specific stuff inside
__APPLE__ ifdefs.
* platform/win/TemporaryLinkStubs.cpp: Added more stubs.
2006-02-26 Darin Adler <darin@apple.com>
- try again after seeing errors from buildbot
* platform/win/TemporaryLinkStubs.cpp: Added more includes.
2006-02-26 Darin Adler <darin@apple.com>
- try again after seeing errors from buildbot
* platform/win/TemporaryLinkStubs.cpp: Added more includes.
2006-02-26 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- work toward getting the Win32 build to link
* WebCore.vcproj/WebCore/WebCore.vcproj: Added KWQObject.cpp.
* platform/win/TemporaryLinkStubs.cpp: Added more stubs.
2006-02-24 Antti Koivisto <koivisto@iki.fi>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7440
Floats not positioned correctly
Test: fast/block/float/multiple-float-positioning.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::positionNewFloats): Correct iteration of the float list
2006-02-24 Graham Dennis <Graham.Dennis@gmail.com>
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6933>
Selection extends beyond focus ring for some contentEditable divs
Reviewed by justin
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelectionRoot): Have root editable elements paint their
own selection gaps.
2006-02-24 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix <rdar://problem/4456287> REGRESSION: assertion failure at mypage.apple.com
in WebCore::TimerBase::nextFireInterval() const + 100 (Timer.cpp:188)
Test: fast/dom/Window/redirect-with-timer.html
* platform/Timer.h: Made isActive no longer inline. Added inHeap function.
* platform/Timer.cpp: Changed assertions to use inHeap function for clarity.
(WebCore::TimerBase::isActive): Return true for timers that are ready to fire.
They have a next fire time of 0, but they should still be considered active.
(WebCore::TimerBase::checkConsistency): Correct the consistency check. The new
rule is that timers with a next fire time of 0 are not in the heap, and all other
timers are.
2006-02-24 Graham Dennis <Graham.Dennis@gmail.com>
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7245>
caret does not display at the end of some lines in contenteditable divs
Reviewed by justin
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::setContentEditable):
* page/Frame.cpp:
(WebCore::Frame::applyEditingStyleToElement):
(WebCore::Frame::removeEditingStyleFromElement):
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Move dom_qname to QualifiedName and dom_atomicstringlist to AtomicStringList.
* WebCore+SVG/KDOMHeaders.h:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/css_base.h:
* dom/AtomicStringList.h: Added.
(WebCore::AtomicStringList::AtomicStringList):
* dom/QualifiedName.cpp: Added.
* dom/QualifiedName.h: Added.
* dom/dom_atomicstringlist.h: Removed.
* dom/dom_elementimpl.h:
* dom/dom_qname.cpp: Removed.
* dom/dom_qname.h: Removed.
* editing/RemoveNodeAttributeCommand.h:
* editing/SetNodeAttributeCommand.h:
* khtml/html/htmlnames.h:
* khtml/html/htmltokenizer.h:
* ksvg2/scripts/make_names.pl: update for new headers
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Made a few methods on frame pure virtual.
Added a bunch of stub functions for win32 linking.
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::print):
(WebCore::MacFrame::canUndo):
(WebCore::MacFrame::canRedo):
(WebCore::MacFrame::canPaste):
* bridge/win/FrameWin.h:
* page/Frame.h:
* platform/win/TemporaryLinkStubs.cpp:
(QTextEdit::sizeWithColumnsAndRows):
(QLineEdit::maxLength):
(QPainter::drawEllipse):
(QTextEdit::setLineHeight):
(QPainter::beginTransparencyLayer):
(QLineEdit::selectedText):
(Widget::setIsSelected):
(QPainter::paintingDisabled):
(QFontMetrics::selectionRectForText):
(QTextEdit::getCursorPosition):
(QSlider::QSlider):
(WebCore::crossCursor):
(WebCore::handCursor):
(WebCore::moveCursor):
(WebCore::iBeamCursor):
(WebCore::waitCursor):
(WebCore::helpCursor):
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
(WebCore::northEastResizeCursor):
(WebCore::northWestResizeCursor):
(WebCore::southResizeCursor):
(WebCore::southEastResizeCursor):
(WebCore::southWestResizeCursor):
(WebCore::westResizeCursor):
2006-02-24 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt, tweaked and landed by ggaren.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5146
max-height/max-width not resizing images with correct aspect ratio
This patch is a port and adaptation of Allan Sandfeld Jensen's (carewolf)
patch of http://bugs.kde.org/show_bug.cgi?id=120107 with the needed
modifications to suit the Webcore tree. Makes images respect min/max
sizes and their intrinsic aspect ratios at the same time according to
CSS 2.1 (http://www.w3.org/TR/CSS21/visudet.html#min-max-widths).
Test: fast/replaced/maxheight-percent.html
Test: fast/replaced/maxheight-pxs.html
Test: fast/replaced/maxwidth-percent.html
Test: fast/replaced/maxwidth-pxs.html
Test: fast/replaced/minheight-percent.html
Test: fast/replaced/minheight-pxs.html
Test: fast/replaced/minwidth-percent.html
Test: fast/replaced/minwidth-pxs.html
* rendering/render_box.cpp:
(WebCore::RenderBox::calcReplacedWidth):
(WebCore::RenderBox::calcReplacedWidthUsing):
(WebCore::RenderBox::calcReplacedHeight):
(WebCore::RenderBox::calcReplacedHeightUsing): Calculate percent heights correctly
* rendering/render_image.cpp: Respect aspect ratios and calculate max/min
(WebCore::RenderImage::calcReplacedWidth):
(WebCore::RenderImage::calcReplacedHeight):
(WebCore::RenderImage::calcAspectRatioWidth): Added
(WebCore::RenderImage::calcAspectRatioHeight): Added
(WebCore::RenderImage::calcMinMaxWidth): Added
* rendering/render_image.h:
2006-02-24 Vicki Murley <vicki@apple.com>
- add missing resources for manual-tests/scrolling-nestedframesets.html
* manual-tests/resources/testframe-link_text.html: Added.
* manual-tests/resources/testframeset.html: Added.
2006-02-24 Vicki Murley <vicki@apple.com>
- test case for <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event
* manual-tests/onbeforeunload-close_with_javascript.html: Added.
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Add Path stubs for Win32 build.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/win/TemporaryLinkStubs.cpp:
(Path::Path):
(Path::~Path):
(Path::operator=):
(Path::contains):
(Path::translate):
(Path::boundingRect):
2006-02-24 David Hyatt <hyatt@apple.com>
In preparation for the elimination of QFont and QFontMetrics, rename methods on RenderStyle. htmlFont() becomes simply
font(). The old font() method turns into qfont(). Also added a helper for obtaining the fontDescription() directly from
the RenderStyle (without first obtaining the htmlFont()).
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(-[DOMElement _font]):
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::attributedString):
(WebCore::MacFrame::fontForSelection):
(WebCore::MacFrame::fontAttributesForSelectionStart):
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/css_valueimpl.cpp:
(WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::checkForTextSizeAdjust):
(WebCore::CSSStyleSelector::checkForGenericFamilyChange):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::recalcStyle):
* editing/visible_text.cpp:
(khtml::TextIterator::exitNode):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::updateValue):
* kwq/KWQAccObject.mm:
(AXAttributeStringSetStyle):
* rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paint):
(khtml::InlineTextBox::offsetForPosition):
* rendering/RenderText.cpp:
(WebCore::RenderText::shouldUseMonospaceCache):
(WebCore::RenderText::font):
(WebCore::RenderText::width):
(WebCore::RenderText::htmlFont):
* rendering/bidi.cpp:
(khtml::RenderBlock::tabWidth):
(khtml::RenderBlock::checkLinesForTextOverflow):
* rendering/render_br.cpp:
(WebCore::RenderBR::lineHeight):
* rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::layoutVerticalBox):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::lineHeight):
* rendering/render_form.cpp:
(WebCore::RenderFormElement::setStyle):
(WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintDecorations):
(WebCore::EllipsisBox::paint):
* rendering/render_list.cpp:
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::paint):
* rendering/render_object.cpp:
(WebCore::RenderObject::lineHeight):
* rendering/render_object.h:
(WebCore::RenderObject::font):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::setStyle):
* rendering/render_style.h:
(khtml::RenderStyle::font):
(khtml::RenderStyle::fontDescription):
(khtml::RenderStyle::qfont):
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::setFontFromControlSize):
2006-02-24 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- add link stubs for symbols only referenced from the link stubs file
* platform/win/TemporaryLinkStubs.cpp:
(KWQFileButton::focusPolicy):
(QLineEdit::checksDescendantsForFocus):
(KWQFileButton::baselinePosition):
(QSlider::~QSlider):
(QListBox::~QListBox):
(KWQFileButton::frameGeometry):
(KWQFileButton::~KWQFileButton):
(QTextEdit::focusPolicy):
(QSlider::focusPolicy):
(QListBox::setEnabled):
(QListBox::checksDescendantsForFocus):
(QListBox::focusPolicy):
(QLineEdit::baselinePosition):
(QSlider::sizeHint):
(QLineEdit::~QLineEdit):
(QTextEdit::~QTextEdit):
(QTextEdit::checksDescendantsForFocus):
(QLineEdit::focusPolicy):
(QScrollBar::~QScrollBar):
2006-02-24 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- fix up font.h inclues to be Font.h to fix build.
* css/css_computedstyle.cpp:
* css/css_valueimpl.cpp:
* platform/Font.cpp:
* rendering/render_style.h:
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix mac build by changing constants to an enum.
* khtml/dom/dom2_events.h:
(DOM::KeyboardEvent::):
2006-02-24 David Hyatt <hyatt@apple.com>
Move rendering/font to platform/Font.
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* css/cssstyleselector.cpp:
* platform/Font.cpp: Added.
* platform/Font.h: Added.
* rendering/font.cpp: Removed.
* rendering/font.h: Removed.
* rendering/render_theme_mac.mm:
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove delcarations causing duplicate symbols on win32.
* khtml/dom/dom2_events.cpp:
2006-02-24 Eric Seidel <eseidel@apple.com>
* bridge/win/FrameWin.cpp: fix line endings
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Removed WebCore:: prefixes added using namespace WebCore, fixes win32 build.
* platform/win/TemporaryLinkStubs.cpp:
(QPainter::save):
(Widget::enableFlushDrawing):
(QPainter::drawHighlightForText):
(QTextEdit::textWithHardLineBreaks):
(QPainter::setPen):
(QPainter::selectedTextBackgroundColor):
(QPainter::fontMetrics):
(Widget::show):
(QLineEdit::setWritingDirection):
(KWQFileButton::sizeForCharacterWidth):
(QTextEdit::sizeWithColumnsAndRows):
(iBeamCursor):
(QPainter::misspellingLineThickness):
(westResizeCursor):
(Widget::isEnabled):
(northWestResizeCursor):
(QPainter::drawEllipse):
(southWestResizeCursor):
(Widget::focusPolicy):
(waitCursor):
(QPainter::endTransparencyLayer):
(ScrollView::addChild):
(Widget::~Widget):
(QListBox::sizeForNumberOfLines):
(FrameView::updateBorder):
(QPainter::drawLineForText):
(QPainter::QPainter):
(QComboBox::focusPolicy):
(QPainter::drawImageAtPoint):
(QPainter::clearShadow):
(eastResizeCursor):
(QFontMetrics::boundingRect):
(QPainter::beginTransparencyLayer):
(northEastResizeCursor):
(Widget::frameGeometry):
(QPainter::addFocusRingRect):
(QPainter::restore):
(Widget::setEnabled):
(QPainter::font):
(QPainter::pen):
(crossCursor):
(Widget::setIsSelected):
(handCursor):
(QLineEdit::text):
(Widget::unlockDrawingFocus):
(QPainter::paintingDisabled):
(northResizeCursor):
(Widget::lockDrawingFocus):
(QPainter::drawLine):
(QPainter::setBrush):
(QPainter::drawText):
(QLineEdit::sizeForCharacterWidth):
(Cursor::~Cursor):
(QFontMetrics::selectionRectForText):
(southResizeCursor):
(moveCursor):
(FrameView::isFrameView):
(helpCursor):
(QTextEdit::setWritingDirection):
(Widget::setDrawingAlpha):
(southEastResizeCursor):
(QPainter::drawScaledAndTiledImage):
(QPainter::drawImage):
(QComboBox::setWritingDirection):
(QComboBox::sizeHint):
(QPainter::drawRect):
(QPainter::drawTiledImage):
(QPainter::clearFocusRing):
(Widget::Widget):
(QTextEdit::text):
(QPainter::drawImageInRect):
(Widget::disableFlushDrawing):
(QPainter::initFocusRing):
(QPainter::drawLineForMisspelling):
(QComboBox::frameGeometry):
(QListBox::setWritingDirection):
(ScrollView::updateContents):
2006-02-24 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- moved QScrollView from kwq to platform directory
* kwq/KWQScrollView.h: Removed.
* kwq/KWQScrollView.mm: Removed.
* platform/ScrollBarMode.h: Added. Just the enum for scroll bar mode.
* platform/ScrollView.h: Added. The rest of the former QScrollView.
* platform/mac/ScrollViewMac.mm: Added.
* WebCore.xcodeproj/project.pbxproj: Updated.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* platform/win/TemporaryLinkStubs.cpp: Updated.
* bridge/mac/MacFrame.mm: (WebCore::MacFrame::createFrame):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::init):
(WebCore::HTMLFrameElementImpl::parseMappedAttribute):
* page/Frame.cpp: (WebCore::Frame::scrollbarsVisible):
Changed scrolling constants to use new names.
* khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::bodySetter):
Use FrameView instead of QScrollView for a local variable.
* khtml/html/html_baseimpl.h: Use ScrollBarMode instead of
QScrollView::ScrollBarMode.
* kwq/KWQListBox.h: Use WebCore::ScrollView instead of
QScrollView and WebCore::ScrollBarMode instead of QScrollView::ScrollBarMode.
* kwq/KWQTextEdit.h: Ditto.
* kwq/KWQTextEdit.mm:
(QTextEdit::setScrollBarModes): Ditto.
(QTextEdit::focusPolicy): Ditto.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Use ScrollBarMode
instead of QScrollView::ScrollBarMode.
(WebCore::FrameView::FrameView): Remove mention of QScrollView.
(WebCore::FrameView::resetScrollBars): Rename QScrollView to ScrollView.
(WebCore::FrameView::applyOverflowToViewport): Use newly-named constants.
(WebCore::FrameView::layout): Ditto.
(WebCore::FrameView::setScrollBarsMode): Rename QScrollView to ScrollView.
(WebCore::FrameView::setVScrollBarMode): Ditto.
(WebCore::FrameView::setHScrollBarMode): Ditto.
(WebCore::FrameView::restoreScrollBar): Ditto.
* platform/mac/MouseEventMac.mm: (WebCore::positionForEvent): Fixed comment.
* platform/mac/WheelEventMac.mm: (WebCore::positionForEvent): Ditto.
* platform/mac/WidgetMac.mm: (WebCore::Widget::getOuterView): Ditto.
* rendering/render_form.cpp: (WebCore::RenderTextArea::setStyle):
Use ScrollBarMode instead of QScrollView::ScrollBarMode, and new constants.
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::userResize): Changed to use an IntRect to pass to
updateContents so we can remove the overload.
(WebCore::RenderPart::updateWidgetPosition): Remove unnecessary of QScrollView.
* rendering/render_layer.cpp:
(WebCore::RenderLayer::scrollRectToVisible): Use FrameView instead of QScrollView.
(WebCore::RenderLayer::setHasHorizontalScrollbar): Ditto.
(WebCore::RenderLayer::setHasVerticalScrollbar): Ditto.
2006-02-24 Eric Seidel <eseidel@apple.com>
Reviewed by anders.
Fix the win32 build.
* page/Frame.cpp:
(WebCore::Frame::adjustPageHeight):
(WebCore::Frame::forceLayoutWithPageWidthRange):
2006-02-23 David Hyatt <hyatt@apple.com>
Rename FontDef to FontDescription and move it into the platform directory.
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::attributedString):
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/css_valueimpl.cpp:
(WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::checkForTextSizeAdjust):
(WebCore::CSSStyleSelector::checkForGenericFamilyChange):
(WebCore::CSSStyleSelector::setFontSize):
* css/cssstyleselector.h:
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::recalcStyle):
* editing/visible_text.cpp:
(khtml::TextIterator::exitNode):
* platform/FontDescription.h: Added.
(WebCore::FontDescription::):
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::operator!=):
(WebCore::FontDescription::family):
(WebCore::FontDescription::firstFamily):
(WebCore::FontDescription::specifiedSize):
(WebCore::FontDescription::computedSize):
(WebCore::FontDescription::italic):
(WebCore::FontDescription::computedPixelSize):
(WebCore::FontDescription::smallCaps):
(WebCore::FontDescription::isAbsoluteSize):
(WebCore::FontDescription::weight):
(WebCore::FontDescription::genericFamily):
(WebCore::FontDescription::usePrinterFont):
(WebCore::FontDescription::setFamily):
(WebCore::FontDescription::setComputedSize):
(WebCore::FontDescription::setSpecifiedSize):
(WebCore::FontDescription::setItalic):
(WebCore::FontDescription::setSmallCaps):
(WebCore::FontDescription::setIsAbsoluteSize):
(WebCore::FontDescription::setWeight):
(WebCore::FontDescription::setGenericFamily):
(WebCore::FontDescription::setUsePrinterFont):
(WebCore::FontDescription::operator==):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedMinMaxWidth):
* rendering/bidi.cpp:
(khtml::RenderBlock::computeHorizontalPositionsForLine):
* rendering/font.cpp:
(khtml::Font::selectionRectForText):
(khtml::Font::drawHighlightForText):
(khtml::Font::drawText):
(khtml::Font::update):
* rendering/font.h:
(WebCore::Font::Font):
(WebCore::Font::operator==):
(WebCore::Font::fontDescription):
(WebCore::Font::isSmallCaps):
(WebCore::Font::wordSpacing):
(WebCore::Font::floatWidth):
(WebCore::Font::checkSelectionPoint):
(WebCore::Font::width):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
* rendering/render_list.cpp:
(RenderListItem::getAbsoluteRepaintRect):
* rendering/render_style.h:
(khtml::RenderStyle::wordSpacing):
(khtml::RenderStyle::letterSpacing):
(khtml::RenderStyle::setFontDescription):
(khtml::RenderStyle::setWordSpacing):
(khtml::RenderStyle::setLetterSpacing):
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::setFontFromControlSize):
2006-02-23 Maciej Stachowiak <mjs@apple.com>
- fix build by making some pointless changes to files that Xcode doesn't
rebuild otherwise
* bindings/js/JSDOMCore.cpp:
* bindings/js/JSDOMEvents.cpp:
* dom/Element.idl:
* dom/WheelEvent.idl:
- add -Y 3 flag to linking; this makes the linker say what files reference
unresolved symbols
* WebCore.xcodeproj/project.pbxproj:
2006-02-23 Darin Adler <darin@apple.com>
- try to fix Windows build
* platform/win/TemporaryLinkStubs.cpp: Removed childX/Y stubs.
2006-02-23 Darin Adler <darin@apple.com>
- try to fix Windows build
* platform/win/TemporaryLinkStubs.cpp: Removed QPalette-related stubs.
- remove unused forwarding headers
* ForwardingHeaders/kurl.h: Removed.
* ForwardingHeaders/qlist.h: Removed.
* ForwardingHeaders/qregion.h: Removed.
* ForwardingHeaders/qsortedlist.h: Removed.
2006-02-23 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- removed QPalette, QRegion, QPrinter
- added Path to replace QRegion
- removed unused QScrollView functions
* ForwardingHeaders/qpalette.h: Removed.
* kwq/KWQPalette.h: Removed.
* kwq/KWQPalette.mm: Removed.
* kwq/KWQPrinter.h: Removed.
* kwq/KWQRegion.cpp: Removed.
* kwq/KWQRegion.h: Removed.
* platform/Path.h: Added. Replaces QRegion.
* platform/cg: Added.
* platform/cg/PathCG.cpp: Added.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bridge/mac/MacFrame.mm: Removed use of KWQPrinter.h.
(WebCore::MacFrame::khtmlMouseMoveEvent): Removed use of viewport().
* bridge/mac/WebCoreFrameBridge.mm: Removed use of KWQPrinter.h.
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLAreaElementImpl::getRect): Replaced QRegion with Path.
(WebCore::HTMLAreaElementImpl::getRegion): Ditto.
* khtml/html/html_imageimpl.h: Ditto.
* kwq/KWQPainter.mm: Removed use of QRegion.
* page/Frame.cpp: (WebCore::Frame::~Frame): Removed use of viewport().
* page/FrameView.cpp:
(WebCore::FrameView::FrameView): Ditto.
(WebCore::FrameView::viewportMouseMoveEvent): Ditto.
* rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Ditto.
* rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Ditto.
* kwq/KWQScrollView.h: Removed viewport(), hasVerticalScrollBar(),
hasHorizontalScrollBar(), childX(), childY().
* kwq/KWQScrollView.mm: Ditto.
* rendering/render_box.cpp: (WebCore::RenderBox::paintBackgroundExtended):
Removed use of QPalette that always yields white.
* rendering/render_canvas.cpp: (WebCore::RenderCanvas::paintBoxDecorations):
Ditto.
* platform/Widget.h:
* platform/mac/WidgetMac.mm: Removed palette() and setPalette().
* kwq/KWQLineEdit.h: Replaced setPalette with setColors.
* kwq/KWQLineEdit.mm: (QLineEdit::setColors): Replaced setPalette.
* kwq/KWQTextEdit.h: Ditto.
* kwq/KWQTextEdit.mm: (QTextEdit::setColors): Ditto.
* rendering/render_form.cpp:
(WebCore::RenderFormElement::updateFromElement): Removed call to setPalette.
(WebCore::RenderLineEdit::updateFromElement): Added call to setColors.
(WebCore::RenderTextArea::updateFromElement): Ditto.
* rendering/render_replaced.cpp: (WebCore::RenderWidget::paint):
Removed use of childX and childY functions.
2006-02-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- add KURL to windows build and fix its compile issues
http://bugzilla.opendarwin.org/show_bug.cgi?id=7439
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/KURL.cpp:
2006-02-23 Maciej Stachowiak <mjs@apple.com>
- fix build (header name changed)
* platform/mac/KURLMac.mm:
2006-02-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- add temporary stubs that call abort() for functions only called from render and editing code
http://bugzilla.opendarwin.org/show_bug.cgi?id=7429
This gets rid of a couple hundred link errors.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* kwq/KWQFontMetrics.h:
* kwq/KWQSignal.h:
(KWQSignal::KWQSignal):
* platform/win/TemporaryLinkStubs.cpp: Added.
(notImplemented):
(QLineEdit::selectAll):
(WebCore::QPainter::save):
(WebCore::Widget::enableFlushDrawing):
(WebCore::QPainter::drawHighlightForText):
(QFont::setPrinterFont):
(QTextEdit::textWithHardLineBreaks):
(QLineEdit::cursorPosition):
(WebCore::QPainter::setPen):
(WebCore::QPainter::selectedTextBackgroundColor):
(WebCore::QPainter::fontMetrics):
(WebCore::Widget::show):
(QFont::setItalic):
(QSlider::setValue):
(QLineEdit::addSearchResult):
(KWQFileButton::click):
(QLineEdit::setWritingDirection):
(KWQFileButton::sizeForCharacterWidth):
(QTextEdit::sizeWithColumnsAndRows):
(WebCore::iBeamCursor):
(QComboBox::clear):
(WebCore::QPainter::misspellingLineThickness):
(QLineEdit::maxLength):
(WebCore::westResizeCursor):
(WebCore::Widget::isEnabled):
(WebCore::northWestResizeCursor):
(QTextEdit::selectionEnd):
(QFont::determinePitch):
(QTextEdit::setScrollBarModes):
(WebCore::QPainter::drawEllipse):
(WebCore::southWestResizeCursor):
(QTextEdit::setReadOnly):
(QListBox::appendItem):
(WebCore::Widget::focusPolicy):
(QTextEdit::selectAll):
(WebCore::waitCursor):
(WebCore::QPainter::endTransparencyLayer):
(QScrollView::addChild):
(QTextEdit::setDisabled):
(QScrollBar::scroll):
(WebCore::Widget::~Widget):
(QListBox::sizeForNumberOfLines):
(QScrollView::resizeContents):
(QLineEdit::selectionStart):
(QLineEdit::QLineEdit):
(WebCore::FrameView::updateBorder):
(QLineEdit::hasSelectedText):
(QListBox::doneAppendingItems):
(QScrollView::inWindow):
(QScrollBar::setValue):
(QTextEdit::hasSelectedText):
(QTextEdit::selectionStart):
(QFont::setWeight):
(QScrollView::scrollXOffset):
(QListBox::isSelected):
(QLineEdit::setReadOnly):
(WebCore::QPainter::drawLineForText):
(QObject::disconnect):
(WebCore::QPainter::QPainter):
(QComboBox::~QComboBox):
(QComboBox::focusPolicy):
(WebCore::QPainter::drawImageAtPoint):
(WebCore::QPainter::clearShadow):
(QTextEdit::setLineHeight):
(QMouseEvent::QMouseEvent):
(WebCore::eastResizeCursor):
(QScrollBar::setKnobProportion):
(QFontMetrics::boundingRect):
(QTextEdit::setSelectionStart):
(WebCore::QPainter::beginTransparencyLayer):
(WebCore::northEastResizeCursor):
(WebCore::Widget::frameGeometry):
(QListBox::setSelected):
(WebCore::QPainter::addFocusRingRect):
(QTextEdit::setCursorPosition):
(WebCore::QPainter::restore):
(QFontMetrics::width):
(WebCore::Widget::setEnabled):
(QTextEdit::setSelectionEnd):
(QComboBox::populate):
(QScrollView::setStaticBackground):
(WebCore::QPainter::font):
(QTextEdit::setAlignment):
(QLineEdit::setCursorPosition):
(WebCore::Widget::palette):
(WebCore::QPainter::pen):
(QFontMetrics::descent):
(QListBox::QListBox):
(QFontMetrics::ascent):
(QLineEdit::selectedText):
(WebCore::crossCursor):
(WebCore::Widget::setIsSelected):
(WebCore::handCursor):
(QLineEdit::text):
(WebCore::Widget::unlockDrawingFocus):
(QLineEdit::setLiveSearch):
(WebCore::QPainter::paintingDisabled):
(WebCore::northResizeCursor):
(QComboBox::QComboBox):
(QSlider::setMaxValue):
(WebCore::Widget::lockDrawingFocus):
(WebCore::QPainter::drawLine):
(WebCore::QPainter::setBrush):
(QTextEdit::setSelectionRange):
(WebCore::QPainter::drawText):
(QScrollView::scrollPointRecursively):
(QLineEdit::sizeForCharacterWidth):
(WebCore::Cursor::~Cursor):
(QFontMetrics::selectionRectForText):
(WebCore::southResizeCursor):
(QScrollView::suppressScrollBars):
(QFontMetrics::checkSelectionPoint):
(QTextEdit::getCursorPosition):
(WebCore::moveCursor):
(WebCore::FrameView::isFrameView):
(QScrollBar::setSteps):
(QLineEdit::setMaxLength):
(QComboBox::baselinePosition):
(QComboBox::appendItem):
(WebCore::helpCursor):
(QTextEdit::setWritingDirection):
(WebCore::Widget::setDrawingAlpha):
(QSlider::QSlider):
(WebCore::southEastResizeCursor):
(QScrollView::setVScrollBarMode):
(WebCore::QPainter::drawScaledAndTiledImage):
(QScrollView::scrollYOffset):
(WebCore::QPainter::drawImage):
(QComboBox::setCurrentItem):
(QFontMetrics::height):
(QComboBox::setWritingDirection):
(QScrollView::setScrollBarsMode):
(QComboBox::sizeHint):
(WebCore::QPainter::drawRect):
(QFont::setPixelSize):
(QLineEdit::setSelection):
(QLineEdit::setMaxResults):
(QListBox::clear):
(QLineEdit::edited):
(WebCore::QPainter::drawTiledImage):
(WebCore::QPainter::clearFocusRing):
(WebCore::Widget::Widget):
(QTextEdit::text):
(WebCore::QPainter::drawImageInRect):
(WebCore::Widget::disableFlushDrawing):
(WebCore::QPainter::initFocusRing):
(QSlider::setMinValue):
(QTextEdit::setWordWrap):
(WebCore::QPainter::drawLineForMisspelling):
(QSlider::value):
(QListBox::setSelectionMode):
(QFontMetrics::lineSpacing):
(QLineEdit::setEdited):
(QComboBox::frameGeometry):
(QListBox::setWritingDirection):
(QLineEdit::setAlignment):
(QScrollView::updateContents):
(QFontMetrics::floatWidth):
(QScrollView::setHScrollBarMode):
2006-02-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- Move KURL from kwq to platform, make portable
http://bugzilla.opendarwin.org/show_bug.cgi?id=7437
* WebCore.xcodeproj/project.pbxproj:
* css/css_ruleimpl.cpp:
* css/cssparser.cpp:
* css/cssstyleselector.cpp:
* dom/DocumentImpl.h:
* khtml/html/html_baseimpl.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_headimpl.cpp:
* khtml/xbl/xbl_binding.cpp:
* ksvg2/svg/SVGDocumentImpl.cpp:
* kwq/KWQTextCodec.cpp:
(QTextCodec::codecForName):
(QTextCodec::utf8Codec):
(QTextCodec::codecForNameEightBitOnly):
(QTextCodec::codecForLocale):
(QTextCodec::name):
(QTextCodec::makeDecoder):
* kwq/KWQTextCodec.h:
* loader/CachedObject.cpp:
* loader/DocLoader.cpp:
* page/Frame.h:
* platform/KURL.cpp: Added.
(KURL::decode_string):
(encodeRelativeString):
* platform/KURL.h: Added.
* platform/mac/KURLMac.mm: Added.
(KURL::getNSURL):
* xml/xmlhttprequest.h:
2006-02-23 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- moved QMouseEvent, QKeyEvent, QWheelEvent, and "Foundation extras"
from kwq to platform directory
- moved history function from kwq to bridge directory
- eliminated QEvent, MousePressEvent, MouseDoubleClickEvent, MouseMoveEvent,
MoveReleaseEvent, and DrawContents classes
- merged NodeImpl::MouseEvent and the MouseEvent from khtml_events.h into
a single class in the page directory
- broke khtmllayout.h out into a file for the Length structure in the css
directory and a file for the GapRects structure in the rendering directory
- redid the Length structure to work more portably by not relying on bitfield
layout and improve the names to no longer explicitly mention "width"
- reduced use of QGuardedPtr and other uses of the QObject "destroyed" signal
* ForwardingHeaders/kparts: Removed.
* ForwardingHeaders/qevent.h: Removed.
* khtml/khtml_events.cpp: Removed.
* khtml/khtml_events.h: Removed.
* khtml/misc/khtmllayout.h: Removed.
* kwq/KWQEvent.h: Removed.
* kwq/KWQEvent.mm: Removed.
* kwq/KWQFoundationExtras.h: Removed.
* kwq/KWQKHistoryProvider.mm: Removed.
* kwq/KWQKPartsHistoryProvider.h: Removed.
* bridge/History.h: Added.
* bridge/mac/HistoryMac.mm: Added.
* css/Length.h: Added.
* page/MouseEventWithHitTestResults.h: Added.
* platform/KeyEvent.h: Added.
* platform/MouseEvent.h: Added.
* platform/WheelEvent.h: Added.
* platform/mac/FoundationExtras.h: Added.
* platform/mac/KeyEventMac.mm: Added.
* platform/mac/MouseEventMac.mm: Added.
* platform/mac/WheelEventMac.mm: Added.
* rendering/GapRects.h: Added.
* WebCore.xcodeproj/project.pbxproj: Updated for above changes.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
* bridge/mac/MacFrame.h: Removed unused parameters from urlSelected functions.
Replaced MouseEvent, MousePressEvent, MouseMoveEvent, and MouseReleaseEvent
with MouseEventWithHitTestResults.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::urlSelected): Removed unused parameters.
(WebCore::MacFrame::wheelEvent): Changed to use WheelEvent.
(WebCore::MacFrame::keyEvent): Changed to use KeyEvent.
(WebCore::MacFrame::khtmlMousePressEvent): Changed parameter type.
(WebCore::MacFrame::khtmlMouseMoveEvent): Ditto.
(WebCore::MacFrame::khtmlMouseReleaseEvent): Ditto.
(WebCore::MacFrame::passSubframeEventToSubframe): Ditto.
(WebCore::MacFrame::mouseDown): Changed to use MouseEvent.
(WebCore::MacFrame::mouseDragged): Ditto.
(WebCore::MacFrame::mouseUp): Ditto.
(WebCore::MacFrame::mouseMoved): Ditto.
(WebCore::MacFrame::sendContextMenuEvent): Ditto.
* css/csshelper.h: Removed a bunch of unused declarations.
* dom/DocumentImpl.h:
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::prepareMouseEvent): Changed to take a MouseEvent
and return a MouseEventWithHitTestResults.
(WebCore::DocumentImpl::defaultEventHandler): Changed to use KeyEvent.
* dom/NodeImpl.h: Removed NodeImpl::MouseEvent and NodeImpl::MouseEventType.
* dom/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchMouseEvent): Changed to always get the type and
detail values from the caller, never from the event. Changed to use MouseEvent.
(WebCore::NodeImpl::dispatchKeyEvent): Changed to use KeyEvent.
(WebCore::NodeImpl::dispatchWheelEvent): Changed to use WheelEvent.
* dom/dom2_eventsimpl.h:
* dom/dom2_eventsimpl.cpp:
(WebCore::KeyboardEventImpl::KeyboardEventImpl): Changed to use KeyEvent.
(WebCore::KeyboardEventImpl::charCode): Ditto.
* dom/dom_elementimpl.h: Removed unused mouseEventHandler function.
* khtml/ecma/domparser.h: Use RefPtr instead of QGuardedPtr to hold the reference
to the document.
* khtml/ecma/kjs_proxy.h: (WebCore::KJSProxyImpl::haveInterpreter): Added. For
use in the Frame destructor so we can get an existing KJS::Window object without
creating a new interpreter and window object.
* khtml/ecma/kjs_window.h: Merged WindowQObject into Window. Changed all the
guarded pointers to Frame to use plain old pointers that are cleared by the
Frame explicitly (by the function disconnectFrame). Made the pointers to all
the sub-objects of KJS::Window be mutable so we don't have to const_cast in
the functions to get (and lazily create) them.
* khtml/ecma/kjs_window.cpp:
(KJS::DOMWindowTimer::DOMWindowTimer): Use Window* instead of WindowQObject*.
(KJS::History::disconnectFrame): Added. Clears m_frame.
(KJS::FrameArray::disconnectFrame): Added. Clears m_frame.
(KJS::Window::Window): Removed code to create a WindowQObject.
(KJS::Window::~Window): Removed code to delete a WindowQObject.
(KJS::Window::location): Remove now-unneeded const_cast.
(KJS::Window::selection): Ditto.
(KJS::Window::locationbar): Ditto.
(KJS::Window::menubar): Ditto.
(KJS::Window::personalbar): Ditto.
(KJS::Window::statusbar): Ditto.
(KJS::Window::toolbar): Ditto.
(KJS::Window::scrollbars): Ditto.
(KJS::Window::getValueProperty): Update since m_frame is now a raw pointer.
(KJS::Window::getOwnPropertySlot): Ditto.
(KJS::Window::toBoolean): Ditto.
(KJS::Window::scheduleClose): Remove assert that WindowQObject* is not null.
(KJS::Window::isSafeScript): Update since m_frame is now a raw pointer.
(KJS::Window::clear): Remove code to delete a WindowQObject. Added a call
to clearAllTimeouts instead.
(KJS::Window::clearAllTimeouts): Added. Does equivalent of the WindowQObject
destructor.
(KJS::Window::installTimeout): Moved to Window from WindowQObject.
(KJS::Window::pauseTimeouts): Ditto.
(KJS::Window::resumeTimeouts): Ditto.
(KJS::Window::clearTimeout): Ditto.
(KJS::Window::timerFired): Ditto.
(KJS::Window::disconnectFrame): Added. Sets all the frame pointers to 0.
(KJS::FrameArray::getOwnPropertySlot): Update since m_frame is now a raw pointer.
(KJS::Location::getOwnPropertySlot): Ditto.
(KJS::Location::put): Ditto.
(KJS::Selection::getOwnPropertySlot): Ditto.
(KJS::BarInfo::getOwnPropertySlot): Ditto.
* khtml/html/html_baseimpl.h: Forward-declare Length instead of including khtmllayout.h.
* khtml/html/html_imageimpl.h: Ditto.
* khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
Changed to use KeyEvent and removed the code to extract the button and state from the
DOM even to pass to urlSelected.
* ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler): Ditto.
* khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::timerFired): Change to use
a RefPtr instead of a QGuardedPtr.
* khtml/misc/helper.h:
* khtml/misc/helper.cpp: Removed printpainter and setPrintPainter.
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchKeyEvent):
Change to use KeyEvent.
* kwq/KWQComboBox.mm:
(-[KWQPopUpButton becomeFirstResponder]):
(-[KWQPopUpButton resignFirstResponder]):
* kwq/KWQFileButton.mm:
(KWQFileButton::focusChanged):
* kwq/KWQListBox.mm:
(-[KWQTableView becomeFirstResponder]):
(-[KWQTableView resignFirstResponder]):
* kwq/KWQSlider.mm:
(-[KWQSlider becomeFirstResponder]):
(-[KWQSlider resignFirstResponder]):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView becomeFirstResponder]):
(-[KWQTextAreaTextView resignFirstResponder]):
* kwq/KWQTextField.mm:
(-[KWQTextFieldController setHasFocus:]):
Updated to use new eventFilterFocusIn/Out instead of the general purpose
eventFilter function. This allows us to remove QEvent and the focus events.
* kwq/KWQNamespace.h: Removed ButtonState.
* kwq/KWQObject.h:
* kwq/KWQObject.cpp: Replaced eventFilter function with eventFilterFocusIn and
eventFilterFocusOut, allowing us to remove QEvent. Removed event function.
* kwq/KWQSlot.cpp:
(KWQSlot::KWQSlot): Removed the parentDestroyed slot.
(KWQSlot::call): Ditto.
* page/Frame.h:
* page/Frame.cpp:
(WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Renamed from
PartStyleSheetLoader. Removed a lot of unneeded null checks. Use a
raw Frame pointer instead of a QGuardedPtr, and count on the Frame
to delete us when it's being deleted.
(WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): No longer
a virtual function. This is not a polymorphic class.
(WebCore::UserStyleSheetLoader::setStyleSheet): Remove code to delete
ourselves -- that's now the frame's responsibility.
(WebCore::Frame::~Frame): Call disconnectFrame on the KJS::Window and
delete m_userStyleSheetLoader.
(WebCore::Frame::changeLocation): Update since urlSelected no longer takes
button and state parameters.
(WebCore::Frame::setUserStyleSheet): Delete existing loader to stop a load
in progress before starting a new load. Store reference to loader.
(WebCore::Frame::urlSelected): Remove button and state parameters and unused
local variable hasTarget.
(WebCore::Frame::selectClosestWordFromMouseEvent): Change from QMouseEvent
to MouseEvent.
(WebCore::Frame::handleMousePressEventDoubleClick): Change from MousePressEvent
to MouseEventWithHitTestResults.
(WebCore::Frame::handleMousePressEventTripleClick): Ditto.
(WebCore::Frame::handleMousePressEventSingleClick): Ditto.
(WebCore::Frame::khtmlMousePressEvent): Ditto.
(WebCore::Frame::handleMouseMoveEventSelection): Change from MouseMoveEvent
to MouseEventWithHitTestResults.
(WebCore::Frame::khtmlMouseMoveEvent): Ditto.
(WebCore::Frame::khtmlMouseReleaseEvent): Change from MouseReleaseEvent
to MouseEventWithHitTestResults.
(WebCore::Frame::khtmlMouseDoubleClickEvent): Change from
MouseReleaseDoubleClickEvent to MouseEventWithHitTestResults.
(WebCore::Frame::passWidgetMouseDownEventToWidget): Change from
NodeImpl::MouseEvent to MouseEventWithHitTestResults.
* page/FramePrivate.h: Added m_userStyleSheetLoader.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::viewportMousePressEvent): Change from QMouseEvent to
MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
(WebCore::FrameView::viewportMouseDoubleClickEvent): Ditto.
(WebCore::selectCursor): Ditto.
(WebCore::FrameView::viewportMouseMoveEvent): Ditto.
(WebCore::FrameView::viewportMouseReleaseEvent): Ditto.
(WebCore::FrameView::keyPressEvent): Change from QKeyEvent to KeyEvent.
(WebCore::FrameView::dispatchMouseEvent): Change from QMouseEvent to
MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
(WebCore::FrameView::viewportWheelEvent): Change from QWheelEvent to
WheelEvent.
(WebCore::FrameView::hoverTimerFired): Update for change to prepareMouseEvent
parameters.
* platform/Widget.h:
* platform/Widget.cpp: Removed event function.
* rendering/render_form.h: Removed LineEditWidget, ComboBoxWidget, TextAreaWidget.
* rendering/render_form.cpp:
(WebCore::RenderFormElement::slotClicked): Changed from QMouseEvent to MouseEvent.
(WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): Updated for changes
to the Length class.
(WebCore::RenderSelect::setWidgetWritingDirection): Updated for removal of
ComboBoxWidget.
(WebCore::RenderSelect::slotSelected): Ditto.
(WebCore::RenderSelect::createComboBox): Ditto.
* rendering/render_replaced.h:
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::destroy): Updated since removeEventFilter no longer takes
a parameter.
(WebCore::RenderWidget::setQWidget): Ditto.
(WebCore::RenderWidget::eventFilterFocusIn): Added. Replaces eventFilter.
(WebCore::RenderWidget::eventFilterFocusOut): Ditto.
* css/css_computedstyle.cpp:
(WebCore::valueForLength):
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/cssstyleselector.cpp:
(WebCore::checkPseudoState):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLAreaElementImpl::getRegion):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::determineHorizontalPosition):
(WebCore::RenderBlock::leftRelOffset):
(WebCore::RenderBlock::rightRelOffset):
(WebCore::RenderBlock::calcMinMaxWidth):
(WebCore::getBPMWidth):
(WebCore::RenderBlock::calcInlineMinMaxWidth):
(WebCore::RenderBlock::calcBlockMinMaxWidth):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::calcWidth):
(WebCore::RenderTable::layout):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::calcMinMaxWidth):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::calcRowHeight):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderText.h:
(khtml::RenderText::marginLeft):
(khtml::RenderText::marginRight):
* rendering/bidi.cpp:
(khtml::getBPMWidth):
* rendering/render_applet.cpp:
(WebCore::RenderApplet::createWidgetIfNecessary):
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
(WebCore::RenderBox::getClipRect):
(WebCore::RenderBox::relativePositionOffset):
(WebCore::RenderBox::calcWidth):
(WebCore::RenderBox::calcWidthUsing):
(WebCore::RenderBox::sizesToIntrinsicWidth):
(WebCore::RenderBox::calcHorizontalMargins):
(WebCore::RenderBox::calcHeight):
(WebCore::RenderBox::calcHeightUsing):
(WebCore::RenderBox::calcPercentageHeight):
(WebCore::RenderBox::calcReplacedWidth):
(WebCore::RenderBox::calcReplacedWidthUsing):
(WebCore::RenderBox::calcReplacedHeight):
(WebCore::RenderBox::calcReplacedHeightUsing):
(WebCore::RenderBox::availableHeightUsing):
(WebCore::RenderBox::calcVerticalMargins):
(WebCore::RenderBox::calcAbsoluteHorizontal):
(WebCore::RenderBox::calcAbsoluteHorizontalValues):
(WebCore::RenderBox::calcAbsoluteVertical):
(WebCore::RenderBox::calcAbsoluteVerticalValues):
* rendering/render_br.cpp:
(WebCore::RenderBR::lineHeight):
* rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth):
(khtml::RenderFlexibleBox::calcVerticalMinMaxWidth):
(khtml::RenderFlexibleBox::calcMinMaxWidth):
(khtml::RenderFlexibleBox::allowedChildFlex):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::lineHeight):
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::layout):
* rendering/render_image.cpp:
(WebCore::RenderImage::isWidthSpecified):
(WebCore::RenderImage::isHeightSpecified):
* rendering/render_layer.cpp:
(WebCore::Marquee::direction):
(WebCore::Marquee::start):
(WebCore::Marquee::updateMarqueeStyle):
(WebCore::Marquee::timerFired):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::marginLeft):
(WebCore::InlineFlowBox::marginRight):
* rendering/render_object.cpp:
(WebCore::RenderObject::mustRepaintBackgroundOrBorder):
(WebCore::RenderObject::paintBorderImage):
(WebCore::RenderObject::paddingTop):
(WebCore::RenderObject::paddingBottom):
(WebCore::RenderObject::paddingLeft):
(WebCore::RenderObject::paddingRight):
(WebCore::RenderObject::getVerticalPosition):
(WebCore::RenderObject::lineHeight):
(WebCore::RenderObject::addDashboardRegions):
* rendering/render_style.h:
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::addIntrinsicMargins):
* rendering/table_layout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::calcMinMaxWidth):
(WebCore::FixedTableLayout::layout):
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::AutoTableLayout::calcMinMaxWidth):
(WebCore::AutoTableLayout::calcEffectiveWidth):
(WebCore::AutoTableLayout::layout):
(WebCore::AutoTableLayout::calcPercentages):
Updated for changes to the Length class.
Also removed a check of the printpainter global, never used in WebCore.
* bindings/objc/DOM.mm:
* bindings/objc/DOMCSS.mm:
* bindings/objc/DOMHTML.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* css/csshelper.cpp:
* editing/SelectionController.cpp:
* khtml/ecma/kjs_html.h:
* kwq/KWQAccObject.mm:
* kwq/KWQAccObjectCache.mm:
* kwq/KWQClipboard.mm:
* kwq/KWQFont.mm:
* kwq/KWQFontMetrics.mm:
* kwq/KWQKJobClasses.mm:
* kwq/KWQKURL.mm:
* kwq/KWQLoader.mm:
* kwq/KWQPageState.mm:
* kwq/KWQPainter.mm:
* kwq/WebCoreSettings.mm:
* platform/StringImpl.cpp:
* platform/mac/CursorMac.mm:
* platform/mac/WidgetMac.mm:
* rendering/RenderBlock.h:
* rendering/render_canvas.cpp:
* rendering/render_line.h:
* rendering/render_style.cpp:
* rendering/table_layout.h:
Updated includes.
* bindings/js/JSDOMCore.cpp: Touched, because I got strange failures if this
didn't rebuild.
* bindings/js/JSDOMEvents.cpp: Ditto.
2006-02-23 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Fix linking of static constructed globals on win32.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* config.h:
* dom/EventNames.cpp:
(WebCore::EventNames::init):
* dom/EventNames.h:
* dom/dom_qname.cpp:
(WebCore::QualifiedName::init):
* dom/dom_qname.h:
* khtml/html/htmlnames.cpp:
(WebCore::HTMLNames::init):
* khtml/html/htmlnames.h:
* platform/AtomicString.cpp:
(WebCore::AtomicString::init):
* platform/StaticConstructors.h: Added.
2006-02-23 Vicki Murley <vicki@apple.com>
Reviewed by Tim Omernick.
- fix <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event
Check shouldClose() before actually scheduling a close.
shouldClose() checks for the onbeforeunload handler, displays the onbeforeunload dialog, and returns a
result based on whether the user clicks "OK" or "Cancel". In cases where the window is closed with cmd-w
or by clicking the red globe, shouldClose() is checked in the windowShouldClose delegate method. Since
windowShouldClose isn't invoked when a window is closed with Javascript, it makes sense to add a check
for shouldClose() in scheduleClose(), returning early when appropriate before the chain of events that
closes a window even gets started.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::scheduleClose): add a check for shouldClose()
2006-02-23 Vicki Murley <vicki@apple.com>
Reviewed by Hyatt.
- fix <rdar://problem/4456004> onbeforeunload should cancel, and
<rdar://problem/4453579> REGRESSION (TOT): onbeforeunload is broken (7421)
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::shouldClose): Onbeforeunload is a non-bubbling window
event, so we should be using handleWindowEvent rather than dispatching a
generic event on the body. It seems this only worked before because of incorrect
code in other parts of the tree.
* dom/dom2_eventsimpl.cpp:
(WebCore::BeforeUnloadEventImpl::BeforeUnloadEventImpl): for this constructor,
pass true for the cancel parameter
2006-02-22 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Adding stub FrameWin class to expose link errors.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp: Added.
* bridge/win/FrameWin.h: Added.
(WebCore::Win):
2006-02-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- move QStringList to platform, make it portable
* ForwardingHeaders/qstringlist.h: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DocumentImpl.h:
* kcanvas/KCanvasFilters.h:
* khtml/xbl/xbl_protohandler.cpp:
* ksvg2/svg/SVGColorImpl.cpp:
* ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.h:
* ksvg2/svg/SVGFEBlendElementImpl.cpp:
* ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
* ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
* ksvg2/svg/SVGFECompositeElementImpl.cpp:
* ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp:
* ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp:
* ksvg2/svg/SVGFEFloodElementImpl.cpp:
* ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
* ksvg2/svg/SVGFELightElementImpl.cpp:
* ksvg2/svg/SVGFEMergeElementImpl.cpp:
* ksvg2/svg/SVGFEOffsetElementImpl.cpp:
* ksvg2/svg/SVGFESpecularLightingElementImpl.cpp:
* ksvg2/svg/SVGFETileElementImpl.cpp:
* ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
* ksvg2/svg/SVGFitToViewBoxImpl.cpp:
* ksvg2/svg/SVGLengthListImpl.cpp:
* ksvg2/svg/SVGNumberListImpl.cpp:
* ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
* ksvg2/svg/SVGStringListImpl.cpp:
* ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
* ksvg2/svg/SVGTransformableImpl.cpp:
* kwq/KWQClipboard.mm:
* kwq/KWQKConfigBase.mm:
* kwq/KWQKHTMLSettings.h:
* kwq/KWQKLocale.h:
* kwq/KWQKSSLKeyGen.h:
* kwq/KWQStringList.h: Removed.
* kwq/KWQStringList.mm: Removed.
* loader/DocLoader.h:
* page/Frame.h:
* platform/QStringList.cpp: Added.
(QStringList::split):
(QStringList::pop_front):
* platform/QStringList.h: Added.
* platform/mac/QStringListMac.mm: Added.
(QStringList::getNSArray):
2006-02-21 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Tests:
* fast/forms/input-baseline.html
* fast/inline-block/contenteditable-baseline.html
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=7330
baselinePosition is wrong for new text field when empty
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox):
If we're dealing with an empty contenteditable block, then we've added height to the block to make room for the caret,
and there are no children to give us the baseline. Instead, compute the baseline for the block itself, and factor in the border and the padding.
2006-02-21 Vicki Murley <vicki@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7363
REGRESSION (r12872): Repro crash when clicking the Quick Reply box in Gmail
Add a nil check for the renderer, and refetch the renderer for the old focus node
after dispatching the event.
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::setFocusNode):
2006-02-21 Maciej Stachowiak <mjs@apple.com>
Rubber Stamped by Hyatt.
- renamed STATIC, FIXED, RELATIVE, ABSOLUTE to StaticPosition, FixedPosition, etc
This avoids conflicting with win32 headers.
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
(WebCore::CSSStyleSelector::applyProperty):
* editing/htmlediting.cpp:
(WebCore::isSpecialElement):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
* rendering/render_box.cpp:
(WebCore::RenderBox::setStyle):
(WebCore::RenderBox::absolutePosition):
(WebCore::RenderBox::computeAbsoluteRepaintRect):
* rendering/render_flow.cpp:
(WebCore::RenderFlow::getAbsoluteRepaintRect):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::convertToLayerCoords):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
* rendering/render_object.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::setStyle):
(WebCore::RenderObject::container):
* rendering/render_style.cpp:
(WebCore::RenderStyle::diff):
* rendering/render_style.h:
(khtml::):
(khtml::RenderStyle::initialPosition):
2006-02-21 Maciej Stachowiak <mjs@apple.com>
Rubber Stamped by Hyatt.
- remove KWQSignalStubs.cpp from project.
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-02-21 Maciej Stachowiak <mjs@apple.com>
Platform build fix, not reviewed.
- undef min and max, and include <algorithm> so std::min works
* rendering/font.h:
2006-02-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff and Darin.
Patch from Maks Orlovich, based on work by David Faure, hand-applied and
significantly reworked by me.
- Patch: give internal function names (KJS merge)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6279
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElementFunction::HTMLElementFunction):
* kwq/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame functionName]):
2006-02-20 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7331
CSS parser leaks when parsing incorrect CSS
* css/css_base.h:
(WebCore::CSSSelector::append): Replaced recursive implementation
with an iterative one.
(WebCore::StyleBaseImpl::StyleBaseImpl): Changed to be a Shared, not
a TreeShared; parents now ref children as needed. This change was
vital to fix the storage leaks. Also removed unused multiLength bool.
(WebCore::StyleBaseImpl::parent): Added. Needed now that there's no
TreeShared base class.
(WebCore::StyleBaseImpl::setParent): Ditto.
(WebCore::StyleBaseImpl::insertedIntoParent): Added. Hook for
notification when added to a parent -- used by import style rules.
(WebCore::StyleListImpl::StyleListImpl): Changed to use a Vector instead
of a QPtrList for children. Slower for dynamic insert and remove for the
DOM API, faster and more efficient for everything else.
* css/css_base.cpp:
(WebCore::StyleListImpl::append): Now calls insertedIntoParent
and uses Vector.
(WebCore::StyleListImpl::insert): Added. Calls insertedIntoParent.
(WebCore::StyleListImpl::remove): Added.
* css/css_grammar.y: Removed obsolete "don't inline" stuff. Changed all
code that creates new objects to use new functions on CSSParser. For
CSSSelector, ValueList, Function, and Value, this means using new
functions with a "floating" concept, but for reference-counted classes
this just means asking the CSSParser to create the object instead of
calling new. Remove all explicit "delete", which is now handled by the
parser instead, which works when the Bison-generated parser fails too,
not just when it hits error rules in the grammar.
* css/css_ruleimpl.h:
* css/css_ruleimpl.cpp:
(WebCore::CSSImportRuleImpl::CSSImportRuleImpl): Remove call to init()
which kicks off style sheet loading. We now do that when we are added to
our parent instead of construction time. Also removed unused constructor.
(WebCore::CSSImportRuleImpl::insertedIntoParent): Replaced init() with this
function that does much the same thing at a different time. Changed code
that sets m_loading to do it in a simple way that doesn't need a big comment.
(WebCore::CSSMediaRuleImpl::insertRule): Use RefPtr.
* css/css_stylesheetimpl.cpp:
(StyleSheetImpl::StyleSheetImpl): Pass 0 for parent explicitly since the
empty constructor was removed in the other patch.
(CSSStyleSheetImpl::CSSStyleSheetImpl): Remove code to set up m_lstChildren;
that's now handled by the base class.
(CSSStyleSheetImpl::insertRule): Use length() instead of m_listChildren->count()
and insert instead of m_lstChildren->insert. Also use RefPtr for the result of
parseRule.
(CSSStyleSheetImpl::addRule): Use length() instead of m_lstChildren->count().
(CSSStyleSheetImpl::deleteRule): Use length() instead of checking the result of
take() for 0. Use remove() instead of m_lstChildren->take().
(CSSStyleSheetImpl::parseString): Use setStrictParsing instead of going at the
strictParsing data member directly.
(CSSStyleSheetImpl::isLoading): Use length() and item() instead of
m_lstChildren->first() and m_lstChildren->next().
* css/css_valueimpl.h: Add an include of QPtrList now that it's not used in
any included file. Also added a constructor for CSSValueImpl, now that StyleBaseImpl
has no empty constructor.
* css/css_valueimpl.cpp:
(WebCore::CSSMutableStyleDeclarationImpl::setProperty): Use useStrictParsing()
instead of looking at the strictParsing data member directly.
(WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration): Ditto.
(WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty): Ditto.
(WebCore::CSSMutableStyleDeclarationImpl::setCssText): Ditto.
* css/cssparser.h:
(WebCore::ValueList): Changed to use a Vector and an index rather
than using a QPtrList.
(WebCore::CSSParser): Changed parseRule to return a PassRefPtr, removed the
createStyleDeclaration function since that's now handled by createStyleRule,
made clearProperties be private, and added a suite of functions to create the
objects formerly made with "new" in the Bison grammar. Also put the Units enum
here in the header, and added an operator so they can be or'ed together while
staying with the enum type so we can use Units instead of int for a function arg.
* css/cssparser.cpp:
(WebCore::ValueList::~ValueList): Changed to use Vector.
(WebCore::CSSParser::CSSParser): Removed initializer for rule now that it's a RefPtr.
(WebCore::CSSParser::~CSSParser): Added code to delete all the items in the sets that
track floating objects. Also removed an unneeded check before callling clearProperties.
(WebCore::CSSParser::parseSheet): Removed "delete rule" since rule is now a RefPtr.
(WebCore::CSSParser::parseRule): Changed code to use rule.release() since rule is now
a RefPtr and this function now returns a PassRefPtr.
(WebCore::CSSParser::parseValue): Removed "delete rule" since rule is now a RefPtr.
(WebCore::CSSParser::parseColor): Ditto.
(WebCore::CSSParser::parseDeclaration): Ditto.
(WebCore::CSSParser::validUnit): Made this a static class member instead of a local
function so it can be used by the SVG parser code. Also updated to use the new ValueList
class that uses Vector.
(WebCore::CSSParser::parse4Values): Updated to new ValueList.
(WebCore::CSSParser::parseContent): Ditto.
(WebCore::skipCommaInDashboardRegion): Ditto.
(WebCore::CSSParser::parseDashboardRegions): Ditto.
(WebCore::CSSParser::parseShape): Ditto.
(WebCore::CSSParser::parseColorFromValue): Ditto.
(WebCore::BorderImageParseContext::commitBorderImage): Ditto.
(WebCore::CSSParser::createFloatingSelector): Added. Puts selector into floating set.
(WebCore::CSSParser::sinkFloatingSelector): Added. Removes from floating set.
(WebCore::CSSParser::createFloatingValueList): Added. Puts list into floating set.
(WebCore::CSSParser::sinkFloatingValueList): Added. Removes from floating set.
(WebCore::CSSParser::createFloatingFunction): Added. Puts function into floating set.
(WebCore::CSSParser::sinkFloatingFunction): Added. Removes from floating set.
(WebCore::CSSParser::sinkFloatingValue): Added. Removes function from floating set if
value contains a function pointer.
(WebCore::CSSParser::createMediaList): Added. Puts list in a vector of RefPtrs kept
by the parser, so the object won't end up floating.
(WebCore::CSSParser::createImportRule): Ditto.
(WebCore::CSSParser::createMediaRule): Ditto.
(WebCore::CSSParser::createRuleList): Ditto.
(WebCore::CSSParser::createStyleRule): Ditto. The properties come from the parser's
global state instead of from a parameter.
* khtml/xsl/xsl_stylesheetimpl.h:
* khtml/xsl/xsl_stylesheetimpl.cpp:
(WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl): Initialize the new m_stylesheetDocTaken
bool to false. Also remove code to set up m_lstChildren since the base class takes care
of that now.
(WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl): Only call xmlFreeDoc if the document
was not taken by libxslt. We used to leak XSLStyleSheetImpl objects, which is why we
didn't notice this before; we'll try to double free without this change.
(WebCore::XSLStyleSheetImpl::isLoading): Use length() and item() instead of
m_lstChildren->first() and m_lstChildren->next().
(WebCore::XSLStyleSheetImpl::clearDocuments): Ditto.
(WebCore::XSLStyleSheetImpl::parseString): Only call xmlFreeDoc if the document was not
taken by libxslt. Also set m_stylesheetDocTaken for the new document.
(WebCore::XSLStyleSheetImpl::loadChildSheet): Use RefPtr and append instead of
m_lstChildren->append.
(WebCore::XSLStyleSheetImpl::compileStyleSheet): Set m_stylesheetDocTaken to true if
xsltParseStylesheetDoc is successful, since the stylesheet then owns the document.
(WebCore::XSLStyleSheetImpl::locateStylesheetSubResource): Use length() and item()
instead of m_lstChildren->first() and m_lstChildren->next().
(WebCore::XSLStyleSheetImpl::markAsProcessed): Set m_stylesheetDocTaken, since when
this is called, the document is returned to libxslt which then attaches it to a
stylesheet or parent document.
* ksvg2/css/KSVGCSSParser.cpp: Changed to compile as separate
file instead of being included in cssparser.cpp.
(WebCore::CSSParser::parseSVGPaint): Take out unnnecessary check
of number of args. Everything works fine without that check, and
otherwise I'd have to change it for the change in data structure.
(WebCore::CSSParser::parseSVGColor): Ditto.
* WebCore.xcodeproj/project.pbxproj: Added KSVGCSSParser.cpp.
- fixed another leak found by run-webkit-leaks --leaks
* kwq/KWQLoader.mm: (KWQServeRequest): Delete the job if we can't do the I/O, because
the caller is passing ownership to us.
- updated other code to use new Vector insert and remove
* khtml/html/HTMLFormElementImpl.cpp:
(WebCore::removeFromVector): Changed to use Vector's remove.
(WebCore::HTMLFormElementImpl::registerFormElement): Changed to use Vector's insert.
2006-02-20 Darin Adler <darin@apple.com>
Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
contentEditable outline darkens as caret moves
Test: editing/selection/move-by-character-6.html
The trick was to draw the focus ring clipped to a list of rectangles instead
of clipped to exactly one.
* kwq/KWQPainter.h: Move Color parameter from initFocusRing to drawFocusRing.
* kwq/KWQPainter.mm:
(WebCore::QPainterPrivate::QPainterPrivate): Change focusRingPath from
an NSBezierPath to a CGMutablePathRef.
(WebCore::QPainterPrivate::~QPainterPrivate): Ditto.
(WebCore::QPainter::initFocusRing): Removed color parameter, and made a
CGPath instead of an NSBezierPath.
(WebCore::QPainter::addFocusRingRect): CGPath instead of NSBezierPath.
(WebCore::QPainter::drawFocusRing): Added color parameter, and changed to
use new bridge method to draw the focus ring.
(WebCore::QPainter::clearFocusRing): CGPath instead of NSBezierPath.
* kwq/WebCoreGraphicsBridge.h:
* kwq/WebCoreGraphicsBridge.m:
(-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:]):
Replaced setFocusRingStyle: method with this one.
* rendering/render_flow.cpp: (WebCore::RenderFlow::paintFocusRing):
* rendering/render_object.cpp: (WebCore::RenderObject::paintOutline):
Pass color to drawFocusRing instead of initFocusRing.
- fixed message on exit from the other patch I just landed
* platform/mac/CursorMac.mm:
(WebCore::leakNamedCursor): Renamed and made this leak intentionally.
2006-02-20 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- moved Cursor into the platform directory from KWQ
- removed a lot of other unneeded stuff from KWQ
* platform/Cursor.h: Added.
* platform/mac/CursorMac.mm: Added.
* platform/mac/CursorWin.cpp: Added.
* kwq/KWQBuffer.cpp: Removed.
* kwq/KWQBuffer.h: Removed.
* kwq/KWQCursor.h: Removed.
* kwq/KWQCursor.mm: Removed.
* kwq/KWQIODevice.h: Removed.
* kwq/KWQKCursor.h: Removed.
* kwq/KWQKCursor.mm: Removed.
* kwq/KWQKDebug.h: Removed.
* kwq/KWQSignalStubs.cpp: Removed.
* ForwardingHeaders/kcursor.h: Removed.
* ForwardingHeaders/kdebug.h: Removed.
* ForwardingHeaders/qbuffer.h: Removed.
* kwq/KWQEvent.h: Removed unused constants and types QCustomEvent,
QFocusEvent, QHideEvent, QShowEvent, QContextMenuEvent, and QResizeEvent.
* kwq/KWQLoader.h: Removed KWQLoader class since signals are no longer needed.
* kwq/KWQLoader.mm: Ditto.
* kwq/KWQNamespace.h: Removed DontClip, ShowPrefix, WordBreak, LayoutDirection,
LeftToRight, RightToLeft, RasterOp, CopyROP, OrROP, and XorROP.
* kwq/KWQObject.h: Removed blockSignals, sender, _signalsBlocked, _sender,
and KWQObjectSenderScope.
* kwq/KWQObject.cpp:
(QObject::QObject): Removed _signalsBlocked.
(QObject::connect): Removed special-case signals to not complain about.
All of them were either unused, converted to non-signal functions, or in one
case (slotScrollBarMoved) turned into a FIXME.
* kwq/KWQPainter.h: Removed rasterOp and setRasterOp.
* kwq/KWQPainter.mm: Ditto.
* kwq/KWQSignal.h:
* kwq/KWQSignal.cpp: (KWQSignal::disconnect): Removed special cases for
various signals; all are now using plain function calls instead.
* kwq/KWQSlot.h:
* kwq/KWQSlot.cpp: Removed slots that are no longer needed because they
are using plain function calls instead of signals.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Updated for changed files.
* bridge/mac/FrameViewMac.mm: Moved the contents of KWQKHTMLView.cpp in here.
* bridge/mac/KWQKHTMLView.cpp: Removed.
* bridge/mac/MacFrame.h: Removed signals, changed setStatusBarText to take
String instead of QString.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::MacFrame): Removed signals.
(WebCore::MacFrame::setStatusBarText): Changed parameter type.
(WebCore::MacFrame::openURLFromPageCache): Removed parameter from started function.
(WebCore::MacFrame::khtmlMouseMoveEvent): Changed from QCursor() to pointerCursor().
* dom/DocumentImpl.h:
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl): Removed signals.
(WebCore::DocumentImpl::implicitOpen): Ditto.
(WebCore::DocumentImpl::determineParseMode): Removed a use of kdDebug.
(WebCore::DocumentImpl::finishedParsing): Added. Does a setParsing(false) and then
calls finishedParsing on the frame. Replaces the old finishedParsing signal.
* dom/xml_tokenizer.h:
* dom/xml_tokenizer.cpp: Removed the finishedParsing signal since it's not just
a function on the document.
(WebCore::XMLTokenizer::finish): Call the function instead of emitting the signal.
* khtml/html/htmlparser.h:
* khtml/html/htmlparser.cpp: Moved the parser inside the WebCore namespace.
* khtml/html/htmltokenizer.h:
* khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::end): Updated
to call finishedParsing function on document rather than emitting a signal.
* kwq/KWQComboBox.mm:
(-[KWQPopUpButton becomeFirstResponder]): Use QEvent instead of QFocusEvent.
(-[KWQPopUpButton resignFirstResponder]): Ditto.
* kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): Ditto.
* kwq/KWQListBox.mm:
(-[KWQTableView becomeFirstResponder]): Ditto.
(-[KWQTableView resignFirstResponder]): Ditto.
* kwq/KWQSlider.mm:
(-[KWQSlider becomeFirstResponder]): Ditto.
(-[KWQSlider resignFirstResponder]): Ditto.
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView becomeFirstResponder]): Ditto.
(-[KWQTextAreaTextView resignFirstResponder]): Ditto.
* kwq/KWQTextField.mm:
(-[KWQTextFieldController setHasFocus:]): Ditto.
* kwq/KWQTextStream.h: Removed the mode parameter from the QTextStream constructor.
Removed the QTextIStream and QTextOStream classes.
* kwq/KWQTextStream.cpp: (QTextStream::QTextStream): Removed the mode parameter.
* loader/CachedCSSStyleSheet.h: Changed to take a ByteArray instead of a QBuffer.
* loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data): Ditto.
* loader/CachedImage.h: Ditto.
* loader/CachedImage.cpp: (WebCore::CachedImage::data): Ditto.
* loader/CachedObject.h: Ditto.
* loader/CachedScript.h: Ditto.
* loader/CachedScript.cpp: (WebCore::CachedScript::data): Ditto.
* loader/CachedXBLDocument.h: Ditto.
* loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::data): Ditto.
* loader/CachedXSLStyleSheet.h:
* loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data): Ditto.
* loader/DocLoader.cpp: (WebCore::DocLoader::setLoadInProgress): Added a call
to loadDone on the frame. Replaces the requestFailed and requestDone signals.
* loader/DocLoader.h: Removed include of <qbuffer.h>.
* loader/Request.h:
* loader/Request.cpp: Updated to use ByteArray instead of QBuffer.
* loader/loader.h: Removed unused signals.
* loader/loader.cpp:
(WebCore::Loader::Loader): Removed use of KWQLoader.
(WebCore::Loader::~Loader): Ditto.
(WebCore::Loader::load): Removed code to emit unused requestStarted signal.
(WebCore::Loader::slotFinished): Removed code to emit requestFailed and
requestDone signals, now handled by DocLoader::setLoadInProgress(false).
(WebCore::Loader::slotReceivedResponse): Use ByteArray instead of QBuffer.
(WebCore::Loader::slotData): Ditto.
* page/Frame.h: Removed setURLCursor, urlCursor, slotRestoreData, slotIncZoom,
slotDecZoom, slotLoadImages, slotPartRemoved, slotActiveFrameChanged,
slotChildURLRequest, slotShowDocument, slotAutoScroll, slotPrintFrame, slotSelectAll,
slotProgressUpdate, slotJobPercent, slotJobSpeed.connectChild, disconnectChild,
and changed a number of others from slots to plain old functions.
* page/Frame.cpp:
(WebCore::Frame::Frame): Don't connect to loader signals.
(WebCore::Frame::~Frame): Don't disconnect from loader signals.
(WebCore::Frame::didOpenURL): Call started function instead of emitting
started signal. Don't connect to speed and percent signals (which never
existed in WebCore anyway).
(WebCore::Frame::stopLoading): Call finishedParsing function instead of
calling slotFinishedParsing.
(WebCore::Frame::executeScript): Removed redundant checks and let
submitFormAgain do the checking.
(WebCore::Frame::clear): Removed code to disconnect from finishedParsing
signal; we now use a function. Also removed loop that calls disconnectChild,
becase again we use functions now instead of signals.
(WebCore::Frame::setDocument): Remove code to disconnect and connect to the
finishedParsing signal.
(WebCore::Frame::begin): Remove code to connect to the finishedParsing signal.
(WebCore::Frame::finishedParsing): Moved code that does setParsing(false) into
the document class. Also renamed from slotFinishedParsing.
(WebCore::Frame::loadDone): Renamed from slotLoaderRequestDone.
(WebCore::Frame::checkCompleted): Changed to call the completed function instead
of emitting one of the two completed signals.
(WebCore::Frame::loadSubframe): Removed call to connectChild because we now use
functions instead of signals. Also change the call to completed to pass false
instead of true.
(WebCore::Frame::submitFormAgain): Change function around so we are less likely
to leak if something strange happens inside submitForm.
(WebCore::Frame::submitForm): Remove code to connect signal. We now call
submitFormAgain from inside the completed function.
(WebCore::Frame::parentCompleted): Renamed from slotParentCompleted. No longer
a slot, now called from completed.
(WebCore::Frame::childCompleted): Renamed from slotChildCompleted.
(WebCore::Frame::setJSStatusBarText): Removed "emit" from function call. Changed
to use String instead of QString.
(WebCore::Frame::setJSDefaultStatusBarText): Ditto.
(WebCore::Frame::sendResizeEvent): Changed to send DOM event directly instead of
creating a QResizeEvent to send along to the FrameView.
(WebCore::Frame::scrollToAnchor): Changed to not pass a parameter to the started
function, which no longer takes one.
(WebCore::Frame::frameDetached): Removed code that calls disconnectChild, since
we no longer use signals.
(WebCore::Frame::completed): Added. Calls childCompleted, parentCompleted, and
submitFormAgain.
(WebCore::Frame::setStatusBarText): Added.
(WebCore::Frame::started): Added. Sets the complete flag to false for the frame
and all its ancestors, which is what slotChildStarted did recursively.
* page/FramePrivate.h: Removed m_activeFrame and changed m_kjsStatusBarText and
m_kjsDefaultStatusBarText to String from QString.
* page/FrameView.h: Removed resizeEvent, focusInEvent, focusOutEvent, and
slotPaletteChanged. Changed cleared from a signal to a private function and
slotScrollBarMoved to a private function named scrollBarMoved.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView): Removed connect call here that was connecting
a signal that's nonexistent in WebCore; we'll want to rig it up later.
(WebCore::FrameView::~FrameView): Added a call to setQWidget(0) here to replace
something that was done with a signal before.
(WebCore::FrameView::clear): Call cleared as a function rather than a signal.
(WebCore::selectCursor): Changed to use Cursor instead of QCursor.
(WebCore::FrameView::scrollBarMoved): Renamed this function, which is never called.
Added a FIXME about calling it.
(WebCore::FrameView::cleared): Added. Calls viewCleared on the owner part, which
used to be done with a signal.
* platform/Widget.h: Changed to Cursor from QCursor.
* platform/mac/WidgetMac.mm: (WebCore::Widget::setCursor): Ditto.
* rendering/render_frames.h:
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::userResize): Removed cursor-setting code here. We might
want to use resize cursors for frames again, but it was mostly disabled anyway and
it's not clear which cursors to use.
(WebCore::RenderPart::setWidget): Removed code to connect to the cleared signal.
Instead, FrameView takes care of it directly.
(WebCore::RenderPart::viewCleared): Renamed from slotViewCleared.
(WebCore::RenderFrame::viewCleared): Ditto.
(WebCore::RenderPartObject::viewCleared): Ditto.
* rendering/render_image.cpp:
(WebCore::RenderImage::imageChanged): Removed use of WordBreak, which doesn't exist
in WebCore text rendering.
(WebCore::RenderImage::paint): Ditto.
* rendering/render_list.cpp: (RenderListMarker::paint): Removed use of DontClip, which
doesn't exist in WebCore text rendering. Also removed incorrect use of references to
temporaries for the ". " and " ." strings.
* rendering/render_object.cpp:
(WebCore::RenderObject::drawBorder): Removed call to setRasterOp since it is a no-op
in WebCore's painter. Added a FIXME.
(WebCore::RenderObject::information): Remove mode parameter to QTextStream.
* rendering/render_replaced.h: Removed slotWidgetDestructed, made setQWidget public,
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::setQWidget): Removed code to connect slotWidgetDestructed to
the destroyed signal. Instead FrameView calls setQWidget(0) on us.
(WebCore::RenderWidget::eventFilter): Removed use of QFocusEvent::reason, which is
never "popup" in WebCore.
* WebCore+SVG/kdom.h:
* css/css_stylesheetimpl.cpp:
* css/css_valueimpl.cpp:
* css/cssparser.cpp:
* kcanvas/KCanvasCreator.cpp:
* kcanvas/KCanvasResources.cpp:
* kcanvas/RenderPath.cpp:
* khtml/ecma/xmlserializer.cpp:
* khtml/html/html_baseimpl.cpp:
* khtml/xsl/xsl_stylesheetimpl.cpp:
* ksvg2/svg/SVGPathSegLinetoImpl.cpp:
* ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
* ksvg2/svg/SVGTransformImpl.cpp:
* platform/StringImpl.cpp:
* rendering/RenderBlock.cpp:
* rendering/render_box.cpp:
* rendering/render_canvas.cpp:
* rendering/render_flow.cpp:
* rendering/render_form.cpp:
* rendering/render_layer.cpp:
* rendering/render_style.cpp:
Removed includes of <kdebug.h>.
* css/css_base.cpp: (CSSSelector::selectorText):
* khtml/ecma/kjs_binding.cpp:
(KJS::ScriptInterpreter::wasRunByUserGesture):
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSRule::putValueProperty):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::getValueProperty):
(KJS::DOMNode::putValueProperty):
(KJS::DOMDocument::getValueProperty):
* khtml/ecma/kjs_events.cpp:
(KJS::DOMEvent::getValueProperty):
(KJS::DOMUIEvent::getValueProperty):
(KJS::DOMMouseEvent::getValueProperty):
(KJS::DOMKeyboardEvent::getValueProperty):
(KJS::Clipboard::getValueProperty):
(KJS::Clipboard::putValueProperty):
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::getValueProperty):
(KJS::KJS::HTMLDocument::putValueProperty):
(KJS::HTMLElement::anchorGetter):
(KJS::HTMLElement::areaGetter):
(KJS::KJS::HTMLElementFunction::callAsFunction):
* khtml/ecma/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* khtml/ecma/kjs_traversal.cpp:
(KJS::DOMNodeIterator::getValueProperty):
(KJS::DOMTreeWalker::getValueProperty):
* khtml/ecma/kjs_window.cpp:
(KJS::Screen::getValueProperty):
(KJS::Window::scheduleClose):
(KJS::Window::isSafeScript):
(KJS::Window::clear):
(KJS::LocationFunc::callAsFunction):
(KJS::History::getValueProperty):
* ksvg2/svg/SVGAnimateColorElementImpl.cpp:
(SVGAnimateColorElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimateElementImpl.cpp:
(SVGAnimateElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
(SVGAnimateTransformElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimationElementImpl.cpp:
(SVGAnimationElementImpl::parseMappedAttribute):
* ksvg2/svg/SVGCursorElementImpl.cpp:
* ksvg2/svg/SVGDocumentImpl.cpp:
(WebCore::SVGDocumentImpl::finishedParsing):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::updateValueInSpecifiedUnits):
Removed use of kdWarning, kdDebug, etc.
2006-02-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- port QString to win32
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/QString.cpp:
(strncasecmp):
(QString::mid):
(freeHandle):
2006-02-20 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
<rdar://problem/4449442> GMAIL: XMLHttpRequest does not correctly report "Interactive" state on receipt of load data
Also cleaned up spacing a little.
No layout test possible (local loads are non incremental).
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::changeState):
(WebCore::XMLHttpRequest::slotData):
2006-02-20 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7318
REGRESSION: Timer bug causes gif animation and (html and JS) page forwarding to fail
Timers were stopping firing after a while.
My testing makes this look like a CFRunLoopTimer bug, and it would be nice to reproduce
this with a standalone test and report it to the CF team, but in the mean time, change
to create a new timer each time instead of reusing the existing timer.
* platform/mac/SharedTimerMac.cpp:
(WebCore::setSharedTimerFiredFunction): Added an assertion.
(WebCore::setSharedTimerFireTime): Destroy the existing timer and create a new one every time.
Also create a non-repeating timer rather than a repeating timer.
(WebCore::stopSharedTimer): Destroy the existing timer rather than setting its fire date
far into the future.
2006-02-19 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- cut out a little unneeded bridge code
* bridge/mac/WebCoreFrameBridge.h: Removed frame name from createWindowWithURL: method
and changed it to return a page bridge. Also made createModalDialogWithURL: method
return a page bridge. Removed the mainFrame and webView methods.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge nextFrameWithWrap:]): Use page to get to main frame.
(-[WebCoreFrameBridge setFrameNamespace:]): Ditto.
(-[WebCoreFrameBridge frameNamespace]): Ditto.
(-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Ditto.
(-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]): Ditto.
(-[WebCoreFrameBridge findFrameNamed:]): Ditto.
(-[WebCoreFrameBridge installInFrame:]): Ditto.
* bridge/mac/WebCorePageBridge.h: Added outerView method to replace webView method
on the frame bridge.
* bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
Update to use a page bridge instead of frame bridge.
2006-02-19 Maciej Stachowiak <mjs@apple.com>
Rubber-stamped by Anders.
- renamed ERROR to LOG_ERROR because some operating systems define ERROR in a system header
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::passMouseDownEventToWidget):
* bridge/mac/WebCoreFrameBridge.mm:
(aeDescFromJSValue):
(-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* editing/Selection.cpp:
(WebCore::Selection::toRange):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFEBlendQuartz::getCIFilter):
(WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::createResource):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::parseErrorFunc):
* kwq/KWQFontMetrics.mm:
(QFontMetrics::ascent):
(QFontMetrics::descent):
(QFontMetrics::lineSpacing):
(QFontMetrics::xHeight):
(QFontMetrics::width):
(QFontMetrics::floatWidth):
(QFontMetrics::checkSelectionPoint):
* kwq/KWQKConfigBase.mm:
(KConfig::readEntry):
(KConfig::readNumEntry):
(KConfig::readUnsignedNumEntry):
* kwq/KWQLineEdit.mm:
(KWQNSTextAlignmentForAlignmentFlags):
* kwq/KWQObject.cpp:
(QObject::connect):
* kwq/KWQPainter.mm:
(WebCore::QPainter::restore):
(WebCore::QPainter::drawFocusRing):
* kwq/KWQRegExp.cpp:
(QRegExp::KWQRegExpPrivate::compile):
(QRegExp::match):
* kwq/KWQSignal.cpp:
(KWQSignal::connect):
(KWQSignal::disconnect):
* kwq/KWQSlot.cpp:
(KWQSlot::KWQSlot):
* kwq/KWQTextCodec.cpp:
(KWQTextDecoder::createICUConverter):
(KWQTextDecoder::convertUsingICU):
* kwq/WebCoreTextRendererFactory.mm:
(-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
(-[WebCoreTextRendererFactory isFontFixedPitch:]):
(-[WebCoreTextRendererFactory rendererWithFont:]):
* page/Frame.cpp:
(WebCore::Frame::paint):
2006-02-17 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dave Hyatt.
- fix win32 build
* css/css_grammar.y:
* khtml/html/html_objectimpl.cpp: #ifdef out all bindings code
(WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
(WebCore::HTMLAppletElementImpl::detach):
(WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
(WebCore::HTMLEmbedElementImpl::detach):
(WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
(WebCore::HTMLObjectElementImpl::detach):
* khtml/html/html_objectimpl.h:
2006-02-18 Alexander Kellett <lypanov@kde.org>
Reviewed by Maciej.
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7199.
Testcase:
svg/custom/text-gradient-no-content.svg
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(WebCore::KRenderingPaintServerGradientQuartz::teardown):
2006-02-18 David Harrison <harrison@apple.com>
Reviewed by John.
<rdar://problem/4448212> _accessibilityTableCell please remove this.
Remove override of a defamed AX method.
* kwq/KWQListBox.mm:
Dump _accessibilityTableCell.
2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/css/ex-after-font-variant.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4227
The ex unit doesn't work for font-variant: small-caps
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyDeclarations): Added CSS_PROP_FONT_VARIANT to the properties
that need to be applied first, since it dirties the font.
2006-02-17 Adele Peterson <adele@apple.com>
Reviewed by Beth.
Adding isEdited/setEdited hooks so onChange will fire for the new text fields.
* rendering/RenderTextField.cpp:
(WebCore::m_dirty):
(WebCore::RenderTextField::updateFromElement): setEdited to false when value attribute has changed.
(WebCore::RenderTextField::subtreeHasChanged): setEdited to true when anonymous editable div has changed.
* rendering/RenderTextField.h:
(WebCore::RenderTextField::isEdited):
(WebCore::RenderTextField::setEdited):
(WebCore::RenderTextField::isTextField):
2006-02-17 Vicki Murley <vicki@apple.com>
Reviewed by Justin.
Get rid of handleFocusOut on text fields and textareas - move this functionality to the place
where we resign focus on the previous node in setFocusNode. Add isTextField on RenderObject
as one way to distinguish from contenteditable elements - Win IE does not fire onChange for
contenteditable elements, so we won't either. Also, expose the dirty bit variables previously
checked in handleFocusOut methods in isEdited() and setEdited().
Fixes the following bugs:
<rdar://problem/4315673> REGRESSION (1.2.2 - 1.3): onChange and onFocus events firing order differs for mouse click and tab (7227)
<rdar://problem/4447009> for text fields, onChange should fire before onBlur to match Win IE
Test case is on the way.
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::setFocusNode): For textareas and text fields, fire a change event
on the node that is resigning focus. Make sure the blur event fires after the change event - 4447009.
* rendering/render_form.cpp:
(WebCore::RenderLineEdit::slotReturnPressed): Replace call to handleFocusOut with equivalent code.
(WebCore::RenderLineEdit::isEdited): Added.
(WebCore::RenderLineEdit::setEdited): Added.
(WebCore::RenderTextArea::setEdited): Added.
* rendering/render_form.h:
(WebCore::RenderLineEdit::isTextField): Added.
(WebCore::RenderTextArea::isTextArea): Make this non-virtual.
(WebCore::RenderTextArea::isEdited): Added.
* rendering/render_object.h:
(WebCore::RenderObject::isEdited): Added.
(WebCore::RenderObject::setEdited): Added.
(WebCore::RenderObject::isTextField): Added.
* rendering/render_replaced.h: Remove handleFocusOut().
* rendering/render_replaced.cpp: Ditto.
(WebCore::RenderWidget::eventFilter): Remove call to handleFocusOut(). Safe to do here,
since we call setFocusNode immediately beforehand.
2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/parser/nofoo-tags-inside-paragraph.html
Reviewed by Anders Carlsson.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7265
REGRESSION: noscript, noframes, nolayer, noembed tags insert break inside paragraph tag
* khtml/html/htmlparser.cpp:
(HTMLParser::isInline): Treat noframes, nolayer, noembed and skipped noscript
as inline elements.
2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7235
Pure CSS Tooltips method renders wrong and creates artifacts
* manual-tests/bugzilla-7235.html: Added.
* rendering/render_box.cpp:
(WebCore::RenderBox::absolutePosition): Copied in here the logic for positioning
relative to a relpositioned inline from RenderLayer::updateLayerPosition.
(WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/css/universal-hover-quirk.html
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7218
Text underlined on mouse over
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkOneSelector): Prevent *:hover and *:active
from matching anything in quirks mode.
2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/text/whitespace/pre-wrap-spaces-after-newline.html
Reviewed by Dave Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7216
white-space: pre-wrap collapses leading whitespace following a newline
* rendering/bidi.cpp:
(khtml::RenderBlock::bidiReorderLine): Use previousLineBrokeCleanly instead of
resetBidiAtEnd now that the former is always correct.
(khtml::RenderBlock::layoutInlineChildren): Use new skipTrailingNewline flag.
(khtml::RenderBlock::findNextLineBreak): Set previousLineBrokeCleanly for line breaks
caused by newlines as well. Added skipTrailingNewline flag.
2006-02-16 Tim Omernick <timo@apple.com>
Reviewed by Adele.
<rdar://problem/4193286> enabledPlugin returns a non-NULL object even when plugins are
disabled (4140)
* khtml/ecma/kjs_navigator.cpp:
(KJS::MimeType::getValueProperty):
Only return a Plugin object for the "enabledPlugin" property if plugins are enabled. This
matches what other browsers do.
2006-02-16 Darin Adler <darin@apple.com>
Reviewed by Eric and Justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7310
fix leaks by using RefPtr more
* bindings/objc/DOM.mm:
(-[DOMDocument adoptNode:]):
(-[DOMDocument createElement:]):
(-[DOMDocument createDocumentFragment]):
(-[DOMDocument createTextNode:]):
(-[DOMDocument createComment:]):
(-[DOMDocument createCDATASection:]):
(-[DOMDocument createProcessingInstruction::]):
(-[DOMDocument createEntityReference:]):
(-[DOMDocument importNode::]):
(-[DOMDocument createElementNS::]):
(-[DOMDocument createRange]):
(-[DOMDocument createCSSStyleDeclaration]):
(-[DOMDocument createNodeIterator::::]):
(-[DOMDocument createTreeWalker::::]):
* bindings/objc/DOMCSS.mm:
(-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
* bindings/objc/DOMEvents.mm:
(-[DOMDocument createEvent:]):
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::MacFrame):
(WebCore::MacFrame::freeClipboard):
(WebCore::MacFrame::setView):
(WebCore::MacFrame::wheelEvent):
(WebCore::MacFrame::openURLFromPageCache):
(WebCore::MacFrame::mouseDownViewIfStillGood):
(WebCore::MacFrame::khtmlMouseMoveEvent):
(WebCore::MacFrame::dispatchCPPEvent):
(WebCore::MacFrame::mouseDown):
(WebCore::MacFrame::mouseDragged):
(WebCore::MacFrame::mouseUp):
(WebCore::MacFrame::mouseMoved):
(WebCore::MacFrame::sendContextMenuEvent):
(WebCore::MacFrame::dispatchDragSrcEvent):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge convertToDOMRange:]):
(-[WebCoreFrameBridge convertNSRangeToDOMRange:]):
(-[WebCoreFrameBridge selectNSRange:]):
(-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
(-[WebCoreFrameBridge typingStyle]):
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
(-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
* css/css_computedstyle.cpp:
(WebCore::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl):
(WebCore::CSSComputedStyleDeclarationImpl::cssText):
(WebCore::CSSComputedStyleDeclarationImpl::setCssText):
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclarationImpl::getPropertyValue):
(WebCore::CSSComputedStyleDeclarationImpl::removeProperty):
(WebCore::CSSComputedStyleDeclarationImpl::setProperty):
(WebCore::CSSComputedStyleDeclarationImpl::item):
(WebCore::CSSComputedStyleDeclarationImpl::copyInheritableProperties):
(WebCore::CSSComputedStyleDeclarationImpl::copy):
(WebCore::CSSComputedStyleDeclarationImpl::makeMutable):
* css/css_computedstyle.h:
* css/css_grammar.y:
* css/css_ruleimpl.cpp:
(WebCore::CSSStyleRuleImpl::~CSSStyleRuleImpl):
(WebCore::CSSStyleRuleImpl::setDeclaration):
* css/css_ruleimpl.h:
(DOM::CSSStyleRuleImpl::style):
(DOM::CSSStyleRuleImpl::declaration):
* css/css_valueimpl.cpp:
(WebCore::propertyID):
(WebCore::quoteStringIfNeeded):
(WebCore::CSSStyleDeclarationImpl::getPropertyCSSValue):
(WebCore::CSSStyleDeclarationImpl::getPropertyValue):
(WebCore::CSSStyleDeclarationImpl::getPropertyPriority):
(WebCore::CSSStyleDeclarationImpl::getPropertyShorthand):
(WebCore::CSSStyleDeclarationImpl::isPropertyImplicit):
(WebCore::CSSStyleDeclarationImpl::setProperty):
(WebCore::CSSStyleDeclarationImpl::removeProperty):
(WebCore::CSSStyleDeclarationImpl::isPropertyName):
(WebCore::CSSMutableStyleDeclarationImpl::getPropertyValue):
(WebCore::CSSMutableStyleDeclarationImpl::get4Values):
(WebCore::CSSMutableStyleDeclarationImpl::getShortHandValue):
(WebCore::CSSMutableStyleDeclarationImpl::getPropertyCSSValue):
(WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
(WebCore::CSSMutableStyleDeclarationImpl::setProperty):
(WebCore::CSSMutableStyleDeclarationImpl::setStringProperty):
(WebCore::CSSMutableStyleDeclarationImpl::setImageProperty):
(WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration):
(WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty):
(WebCore::CSSMutableStyleDeclarationImpl::item):
(WebCore::CSSMutableStyleDeclarationImpl::cssText):
(WebCore::CSSMutableStyleDeclarationImpl::setCssText):
(WebCore::CSSMutableStyleDeclarationImpl::copyBlockProperties):
(WebCore::CSSStyleDeclarationImpl::copyPropertiesInSet):
(WebCore::CSSMutableStyleDeclarationImpl::removePropertiesInSet):
(WebCore::CSSMutableStyleDeclarationImpl::makeMutable):
(WebCore::CSSMutableStyleDeclarationImpl::copy):
(WebCore::CSSInheritedValueImpl::cssText):
(WebCore::CSSInitialValueImpl::cssText):
(WebCore::CSSValueListImpl::append):
(WebCore::CSSValueListImpl::cssText):
(WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
(WebCore::CSSPrimitiveValueImpl::cleanup):
(WebCore::CSSPrimitiveValueImpl::setStringValue):
(WebCore::CSSPrimitiveValueImpl::getStringValue):
(WebCore::CSSPrimitiveValueImpl::parseString):
(WebCore::CSSPrimitiveValueImpl::cssText):
(WebCore::CSSImageValueImpl::CSSImageValueImpl):
(WebCore::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
(WebCore::CSSBorderImageValueImpl::cssText):
(WebCore::FontFamilyValueImpl::FontFamilyValueImpl):
(WebCore::FontFamilyValueImpl::cssText):
(WebCore::FontValueImpl::cssText):
(WebCore::ShadowValueImpl::ShadowValueImpl):
(WebCore::ShadowValueImpl::cssText):
(WebCore::CSSProperty::cssText):
* css/css_valueimpl.h:
(WebCore::CSSValueImpl::setCssText):
(WebCore::CSSValueListImpl::item):
(WebCore::CSSPrimitiveValueImpl::getFloatValue):
(WebCore::CSSPrimitiveValueImpl::getCounterValue):
(WebCore::CSSPrimitiveValueImpl::getRectValue):
(WebCore::CSSPrimitiveValueImpl::getRGBColorValue):
(WebCore::CSSPrimitiveValueImpl::getPairValue):
(WebCore::CSSPrimitiveValueImpl::getDashboardRegionValue):
(WebCore::CSSPrimitiveValueImpl::):
(WebCore::CSSQuirkPrimitiveValueImpl::CSSQuirkPrimitiveValueImpl):
(WebCore::CounterImpl::identifier):
(WebCore::CounterImpl::listStyle):
(WebCore::CounterImpl::separator):
(WebCore::RectImpl::top):
(WebCore::RectImpl::right):
(WebCore::RectImpl::bottom):
(WebCore::RectImpl::left):
(WebCore::RectImpl::setTop):
(WebCore::RectImpl::setRight):
(WebCore::RectImpl::setBottom):
(WebCore::RectImpl::setLeft):
(WebCore::PairImpl::first):
(WebCore::PairImpl::second):
(WebCore::PairImpl::setFirst):
(WebCore::PairImpl::setSecond):
(WebCore::DashboardRegionImpl::DashboardRegionImpl):
(WebCore::FontFamilyValueImpl::fontName):
(WebCore::CSSProperty::CSSProperty):
(WebCore::CSSProperty::value):
(WebCore::CSSMutableStyleDeclarationImpl::setNode):
(WebCore::CSSMutableStyleDeclarationImpl::setProperty):
(WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
* css/cssparser.cpp:
(CSSParser::createStyleDeclaration):
(CSSParser::parseDashboardRegions):
* css/cssparser.h:
(WebCore::Value::):
(WebCore::qString):
(WebCore::domString):
(WebCore::atomicString):
(WebCore::ValueList::current):
(WebCore::ValueList::next):
(WebCore::CSSParser::current):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/DOMImplementationImpl.cpp:
(DOM::DOMImplementationImpl::createDocument):
(DOM::DOMImplementationImpl::instance):
* dom/DOMImplementationImpl.h:
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl):
(WebCore::DocumentImpl::~DocumentImpl):
(WebCore::DocumentImpl::setDocType):
(WebCore::DocumentImpl::createElement):
(WebCore::DocumentImpl::createDocumentFragment):
(WebCore::DocumentImpl::createTextNode):
(WebCore::DocumentImpl::createComment):
(WebCore::DocumentImpl::createCDATASection):
(WebCore::DocumentImpl::createProcessingInstruction):
(WebCore::DocumentImpl::createEntityReference):
(WebCore::DocumentImpl::createEditingTextNode):
(WebCore::DocumentImpl::createCSSStyleDeclaration):
(WebCore::DocumentImpl::importNode):
(WebCore::DocumentImpl::adoptNode):
(WebCore::DocumentImpl::createElementNS):
(WebCore::DocumentImpl::setTitle):
(WebCore::DocumentImpl::createRange):
(WebCore::DocumentImpl::createNodeIterator):
(WebCore::DocumentImpl::createTreeWalker):
(WebCore::DocumentImpl::setStyleSheet):
(WebCore::DocumentImpl::setHoverNode):
(WebCore::DocumentImpl::setActiveNode):
(WebCore::DocumentImpl::setFocusNode):
(WebCore::DocumentImpl::defaultView):
(WebCore::DocumentImpl::createEvent):
(WebCore::DocumentImpl::setHTMLWindowEventListener):
(WebCore::DocumentImpl::addWindowEventListener):
(WebCore::DocumentImpl::createHTMLEventListener):
(WebCore::DocumentImpl::images):
(WebCore::DocumentImpl::applets):
(WebCore::DocumentImpl::embeds):
(WebCore::DocumentImpl::objects):
(WebCore::DocumentImpl::links):
(WebCore::DocumentImpl::forms):
(WebCore::DocumentImpl::anchors):
(WebCore::DocumentImpl::all):
(WebCore::DocumentImpl::windowNamedItems):
(WebCore::DocumentImpl::documentNamedItems):
(WebCore::DocumentImpl::getElementsByName):
* dom/DocumentImpl.h:
(WebCore::DocumentImpl::realDocType):
(WebCore::DocumentImpl::createAttribute):
(WebCore::DocumentImpl::title):
(WebCore::DocumentImpl::styleSelector):
(WebCore::DocumentImpl::setRestoreState):
(WebCore::DocumentImpl::restoreState):
(WebCore::DocumentImpl::view):
(WebCore::DocumentImpl::docLoader):
(WebCore::DocumentImpl::tokenizer):
(WebCore::DocumentImpl::focusNode):
(WebCore::DocumentImpl::hoverNode):
(WebCore::DocumentImpl::activeNode):
(WebCore::DocumentImpl::policyBaseURL):
(WebCore::DocumentImpl::setPolicyBaseURL):
(WebCore::DocumentImpl::):
(WebCore::DocumentImpl::transformSourceDocument):
(WebCore::DocumentImpl::domTreeVersion):
(WebCore::DocumentImpl::decoder):
* dom/NodeListImpl.cpp:
(DOM::NodeListImpl::NodeListImpl):
(DOM::NodeListImpl::~NodeListImpl):
(DOM::NodeListImpl::recursiveLength):
(DOM::NodeListImpl::recursiveItem):
(DOM::NodeListImpl::itemById):
* dom/NodeListImpl.h:
* dom/dom2_eventsimpl.cpp:
(WebCore::RegisteredEventListener::RegisteredEventListener):
* dom/dom2_eventsimpl.h:
(WebCore::operator!=):
* dom/dom2_traversalimpl.cpp:
(DOM::TraversalImpl::TraversalImpl):
(DOM::NodeIteratorImpl::NodeIteratorImpl):
(DOM::TreeWalkerImpl::TreeWalkerImpl):
* dom/dom2_traversalimpl.h:
(WebCore::TraversalImpl::root):
(WebCore::TraversalImpl::filter):
(WebCore::NodeIteratorImpl::referenceNode):
(WebCore::NodeIteratorImpl::setPointerBeforeReferenceNode):
(WebCore::NodeIteratorImpl::setDetached):
(WebCore::NodeIteratorImpl::document):
(WebCore::TreeWalkerImpl::currentNode):
* dom/dom_position.cpp:
(WebCore::Position::computedStyle):
* dom/dom_position.h:
* dom/xml_tokenizer.cpp:
(WebCore::XMLTokenizer::insertErrorMessageBlock):
* editing/ApplyStyleCommand.cpp:
(WebCore::createFontElement):
(WebCore::createStyleSpanElement):
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::updateStartEnd):
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::extractTextDecorationStyle):
(WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
(WebCore::ApplyStyleCommand::applyTextDecorationStyle):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
(WebCore::ApplyStyleCommand::computedFontSize):
* editing/ApplyStyleCommand.h:
(WebCore::ApplyStyleCommand::style):
* editing/EditCommand.cpp:
(WebCore::EditCommandPtr::setTypingStyle):
(WebCore::EditCommand::setTypingStyle):
(WebCore::EditCommand::styleAtPosition):
* editing/EditCommand.h:
(WebCore::EditCommand::document):
(WebCore::EditCommand::typingStyle):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::InsertLineBreakCommand):
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::prepareForTextInsertion):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::computeAndStoreNodeDesiredStyle):
(WebCore::NodeDesiredStyle::NodeDesiredStyle):
(WebCore::ReplaceSelectionCommand::doApply):
* editing/ReplaceSelectionCommand.h:
(WebCore::NodeDesiredStyle::node):
(WebCore::NodeDesiredStyle::style):
(WebCore::ReplacementFragment::root):
* editing/WrapContentsInDummySpanCommand.cpp:
(WebCore::WrapContentsInDummySpanCommand::doApply):
* editing/htmlediting.cpp:
(WebCore::createDefaultParagraphElement):
(WebCore::createBreakElement):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
(WebCore::createParagraphContentsFromString):
* editing/visible_text.cpp:
(khtml::TextIterator::rangeFromLocationAndLength):
* editing/visible_text.h:
(WebCore::isCollapsibleWhitespace):
(WebCore::WordAwareIterator::range):
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
(KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDocumentProtoFunc::callAsFunction):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLSelectCollection::put):
(KJS::OptionConstructorImp::construct):
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::createContextualFragment):
(WebCore::HTMLElementImpl::setInnerHTML):
(WebCore::HTMLElementImpl::setOuterHTML):
(WebCore::HTMLElementImpl::setOuterText):
* khtml/html/HTMLElementImpl.h:
* khtml/html/HTMLNameCollectionImpl.cpp:
(WebCore::HTMLNameCollectionImpl::HTMLNameCollectionImpl):
(WebCore::HTMLNameCollectionImpl::traverseNextItem):
* khtml/html/HTMLNameCollectionImpl.h:
* khtml/html/html_documentimpl.cpp:
(WebCore::HTMLDocumentImpl::createElement):
* khtml/html/html_documentimpl.h:
(WebCore::HTMLDocumentImpl::collectionInfo):
* khtml/html/htmlfactory.cpp:
(DOM::htmlConstructor):
(DOM::headConstructor):
(DOM::bodyConstructor):
(DOM::baseConstructor):
(DOM::linkConstructor):
(DOM::metaConstructor):
(DOM::styleConstructor):
(DOM::titleConstructor):
(DOM::frameConstructor):
(DOM::framesetConstructor):
(DOM::iframeConstructor):
(DOM::formConstructor):
(DOM::buttonConstructor):
(DOM::inputConstructor):
(DOM::isindexConstructor):
(DOM::fieldsetConstructor):
(DOM::labelConstructor):
(DOM::legendConstructor):
(DOM::optgroupConstructor):
(DOM::optionConstructor):
(DOM::selectConstructor):
(DOM::textareaConstructor):
(DOM::dlConstructor):
(DOM::ulConstructor):
(DOM::olConstructor):
(DOM::dirConstructor):
(DOM::menuConstructor):
(DOM::liConstructor):
(DOM::blockquoteConstructor):
(DOM::divConstructor):
(DOM::headingConstructor):
(DOM::hrConstructor):
(DOM::paragraphConstructor):
(DOM::preConstructor):
(DOM::basefontConstructor):
(DOM::fontConstructor):
(DOM::modConstructor):
(DOM::anchorConstructor):
(DOM::imageConstructor):
(DOM::mapConstructor):
(DOM::areaConstructor):
(DOM::canvasConstructor):
(DOM::appletConstructor):
(DOM::embedConstructor):
(DOM::objectConstructor):
(DOM::paramConstructor):
(DOM::scriptConstructor):
(DOM::tableConstructor):
(DOM::tableCaptionConstructor):
(DOM::tableColConstructor):
(DOM::tableRowConstructor):
(DOM::tableCellConstructor):
(DOM::tableSectionConstructor):
(DOM::brConstructor):
(DOM::quoteConstructor):
(DOM::marqueeConstructor):
(DOM::HTMLElementFactory::createHTMLElement):
* khtml/html/htmlfactory.h:
* khtml/html/htmlparser.cpp:
(HTMLParser::parseToken):
(HTMLParser::textCreateErrorCheck):
(HTMLParser::commentCreateErrorCheck):
(HTMLParser::headCreateErrorCheck):
(HTMLParser::bodyCreateErrorCheck):
(HTMLParser::framesetCreateErrorCheck):
(HTMLParser::iframeCreateErrorCheck):
(HTMLParser::formCreateErrorCheck):
(HTMLParser::isindexCreateErrorCheck):
(HTMLParser::selectCreateErrorCheck):
(HTMLParser::ddCreateErrorCheck):
(HTMLParser::dtCreateErrorCheck):
(HTMLParser::nestedCreateErrorCheck):
(HTMLParser::nestedStyleCreateErrorCheck):
(HTMLParser::tableCellCreateErrorCheck):
(HTMLParser::tableSectionCreateErrorCheck):
(HTMLParser::noembedCreateErrorCheck):
(HTMLParser::noframesCreateErrorCheck):
(HTMLParser::noscriptCreateErrorCheck):
(HTMLParser::mapCreateErrorCheck):
(HTMLParser::getNode):
* khtml/html/htmlparser.h:
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag):
(WebCore::HTMLTokenizer::processToken):
* khtml/html/htmltokenizer.h:
* ksvg2/misc/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::createSVGEventListener):
* ksvg2/misc/SVGDocumentExtensions.h:
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
(SVGDOMImplementationImpl::createDocumentType):
(SVGDOMImplementationImpl::createDocument):
(SVGDOMImplementationImpl::createCSSStyleSheet):
* ksvg2/svg/SVGDOMImplementationImpl.h:
* ksvg2/svg/SVGDocumentImpl.cpp:
(WebCore::SVGDocumentImpl::createElement):
(WebCore::SVGDocumentImpl::dispatchZoomEvent):
(WebCore::SVGDocumentImpl::dispatchKeyEvent):
(WebCore::SVGDocumentImpl::dispatchUIEvent):
(WebCore::SVGDocumentImpl::dispatchMouseEvent):
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGElementImpl.cpp:
(WebCore::SVGElementImpl::addSVGEventListener):
* ksvg2/svg/SVGSVGElementImpl.cpp:
(WebCore::SVGSVGElementImpl::addSVGWindowEventListner):
* page/Frame.cpp:
(WebCore::Frame::view):
(WebCore::Frame::begin):
(WebCore::Frame::computeAndSetTypingStyle):
(WebCore::Frame::selectionHasStyle):
(WebCore::Frame::selectionStartHasStyle):
(WebCore::Frame::selectionStartStylePropertyValue):
(WebCore::Frame::selectionComputedStyle):
(WebCore::Frame::forceLayout):
(WebCore::Frame::sendResizeEvent):
(WebCore::Frame::sendScrollEvent):
(WebCore::Frame::clearTimers):
(WebCore::Frame::styleForSelectionStart):
* page/FramePrivate.h:
* page/FrameTree.h:
(WebCore::FrameTree::name):
2006-02-16 David Harrison <harrison@apple.com>
Reviewed by Darin.
Test:
* manual-tests/mail-attachments.html: Added.
Automated test not currently possible because widgets do not actually draw when not in a window.
Geoff and Justin are fixing that and will add this test.
* rendering/render_frames.cpp:
(WebCore::RenderPartObject::updateWidget):
Fix unique param check when processing object tag attributes.
2006-02-16 Adele Peterson <adele@apple.com>
Reviewed by Darin.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=7113
Typing in editable overflow:hidden div doesn't scroll
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge ensureSelectionVisible]):
Changed scrollRectToVisible call so that it will align to the edge instead of trying to center the selection.
Centering looks funny when it happens after typing, deleting, moving the cursor, etc.
* rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible):
Use scrollWidth() and scrollHeight() functions instead of m_scrollWidth and m_scrollHeight.
These functions will cause the correct scroll dimensions to be calculated for overflow:hidden layers.
Also subtracted scrollbar width and height when calculating the layer bounds. This was causing scroll problems in overflow:scroll.
I also did some cleanup to use xPos() and yPos() instead of m_x and m_y, and to use scrollYOffset() instead of m_scrollY.
2006-02-16 Adele Peterson <adele@apple.com>
Reviewed by Darin.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6812
Missing focus ring on new text fields
Tests:
* fast/forms/input-appearance-focus.html: Updated.
* rendering/render_object.cpp: (WebCore::RenderObject::paintOutline):
call supportsFocusRing instead of checking the appearance.
* rendering/render_theme.cpp: (khtml::RenderTheme::supportsFocusRing): Added.
Checks appearance. Theme will draw focus ring if there's an appearance, but not for the new text fields.
* rendering/render_theme.h:
2006-02-16 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- eliminate QFrame and QObject::inherits, fix some strange stuff
in RenderCanvas that showed up when I tested that change
* kwq/KWQFrame.h: Removed.
* kwq/KWQFrame.mm: Removed.
* bridge/mac/FrameViewMac.mm: Added.
* WebCore.xcodeproj/project.pbxproj: Updated for adds and removes.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removes.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
* khtml/ecma/kjs_window.cpp:
(KJS::FrameArray::indexGetter):
(KJS::FrameArray::nameGetter):
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXTextMarkerForPosition:]):
* kwq/KWQRenderTreeDebug.cpp:
(write):
* page/Frame.cpp:
(WebCore::isFrameElement):
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
Change QObject::inherits callers to call the "is" functions directly.
* kwq/KWQObject.h:
* kwq/KWQObject.cpp: Removed QObject::inherits, QObject::isQFrame,
and QObject::isQScrollView.
* kwq/KWQScrollView.h: Inherit from Widget instead of QFrame.
Remove isQScrollView.
* kwq/KWQScrollView.mm: Remove isQScrollView.
* page/FrameView.h:
* page/FrameView.cpp: Changed underMouse and clickNode to be RefPtr.
Added m_hasBorder.
(WebCore::FrameViewPrivate::FrameViewPrivate):
(WebCore::FrameViewPrivate::~FrameViewPrivate):
(WebCore::FrameViewPrivate::reset):
(WebCore::FrameView::layout):
(WebCore::FrameView::viewportMousePressEvent):
(WebCore::FrameView::invalidateClick):
(WebCore::FrameView::viewportMouseReleaseEvent):
(WebCore::FrameView::keyPressEvent):
(WebCore::FrameView::dispatchDragEvent): Use RefPtr for MouseEventImpl.
(WebCore::FrameView::nodeUnderMouse):
(WebCore::FrameView::dispatchMouseEvent):
(WebCore::FrameView::setHasBorder): Added.
(WebCore::FrameView::hasBorder): Added.
(WebCore::FrameView::borderWidth): Added.
* rendering/render_canvas.h: Eliminated unneeded setWidth/Height overrides.
Eliminated viewportWidth(), viewportHeight(), m_rootWidth, m_rootHeight,
m_viewportWidth, and m_viewportHeight.
* rendering/render_canvas.cpp:
(RenderCanvas::calcHeight): Remove unneeded code to set height when there's
no view.
(RenderCanvas::calcWidth): Fix code to set width to visibleWidth(). Removed
incorrect old width setting, and removed unneeded code to set width when
there's no view. Also removed incorrect margin-setting code.
(RenderCanvas::layout): Removed incorrect code to set width and height.
Instead letting calcWidth and calcHeight do the job.
(RenderCanvas::repaintViewRectangle): Use new FrameView::hasBorder instead
of QFrame::frameStyle.
(RenderCanvas::viewRect): Removed unneeded "root width" feature for a canvas
without a view.
* rendering/render_frames.cpp:
(WebCore::RenderFrame::slotViewCleared): Use new setHasBorder.
(WebCore::RenderPartObject::slotViewCleared): Ditto.
2006-02-17 Eric Seidel <eseidel@apple.com>
Reviewed by justing.
Close several age-old leaks in xslt code.
Tests already were catching these.
* khtml/xsl/xsl_stylesheetimpl.cpp:
(WebCore::XSLStyleSheetImpl::loadChildSheets):
(WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
* khtml/xsl/xslt_processorimpl.cpp:
(WebCore::docLoaderFunc):
2006-02-16 Tim Omernick <timo@apple.com>
Reviewed by Geoff.
<rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps)
with javascript disabled (7015)
Added a test case, manual-tests/NPN_Invoke. This is a skeleton of a Netscape
plugin which uses NPN_Invoke() to call the window.alert() JavaScript function.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::windowScriptNPObject):
Removed the check Darin added to return 0 when JavaScript is disabled.
This method cannot return 0, because plugins are not guaranteed to check
for that.
Removed my old fix for Radar 4428609 (7015) in favor of a better solution.
Instead of creating a "dummy" JSObject to represent the window script object
when JavaScript is disabled, we use the new JavaScriptCore bindings API to
create a "no script" NPObject. This solution is better because it does not
cause entry into any JavaScript interpreter code.
* manual-tests/NPN_Invoke: Added.
* manual-tests/NPN_Invoke/English.lproj: Added.
* manual-tests/NPN_Invoke/English.lproj/Localized.r: Added.
* manual-tests/NPN_Invoke/Info.plist: Added.
* manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added.
* manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Added.
* manual-tests/NPN_Invoke/main.c: Added.
* manual-tests/NPN_Invoke/test.html: Added.
2006-02-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7274
Assertion failure in TimerBase::checkHeapIndex() (Timer.cpp:199) !timerHeap->isEmpty()
* platform/Timer.cpp:
(WebCore::TimerBase::stop): Call setNextFireTime(0) unconditionally to make sure the timer
is removed from timersReadyToFire so that fireTimers doesn't try to fire a deleted timer.
2006-02-15 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej, Eric.
- WebCore half of fix for <rdar://problem/4176077> CrashTracer: 6569
crashes in DashboardClient at com.apple.JavaScriptCore:
KJS::Bindings::ObjcFallbackObjectImp::type()
WebCore and JavaScriptCore weren't sharing Instance objects very
nicely. I made them use RefPtrs, and sent them to bed without dessert.
* khtml/html/html_objectimpl.cpp:
(WebCore::HTMLAppletElementImpl::HTMLAppletElementImpl): Made
appletInstance a RefPtr
(WebCore::HTMLAppletElementImpl::getAppletInstance):
(WebCore::HTMLAppletElementImpl::detach):
(WebCore::HTMLEmbedElementImpl::HTMLEmbedElementImpl): Made
embedInstance a RefPtr
(WebCore::HTMLEmbedElementImpl::getEmbedInstance):
(WebCore::HTMLEmbedElementImpl::detach):
(WebCore::HTMLObjectElementImpl::HTMLObjectElementImpl): Made
objectInstance a RefPtr
(WebCore::HTMLObjectElementImpl::getObjectInstance):
(WebCore::HTMLObjectElementImpl::detach):
* bindings/js/JSDOMCore.cpp:
* khtml/ecma/kjs_dom.cpp:
(KJS::getRuntimeObject):
* khtml/html/html_objectimpl.h:
2006-02-15 Geoffrey Garen <ggaren@apple.com>
Reviewed by Eric.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4674
LEAK: WheelEventImpl leaked when mousewheel used
No test case because it requires manual mouse wheeling.
* dom/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchWheelEvent): Use a RefPtr instead of just
leaking the WheelEventImpl.
2006-02-15 Dave Hyatt <hyatt@apple.com>
Make FontFamily compile on Win32 (just needed a few more
__APPLE__ ifdefs).
Clean up the frameBufferAtIndex method of the image decoders
on Win32.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* kwq/KWQFont.h:
* platform/FontFamily.cpp:
(WebCore::FontFamily::FontFamily):
* platform/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameBufferAtIndex):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex):
* platform/image-decoders/png/PNGImageDecoder.h:
2006-02-15 David Hyatt <hyatt@apple.com>
Make KWQFontFamily portable. Split it out into a cross-platform core and the Mac-specific version.
Move it to platform and rename it to FontFamily (and FontFamilyMac).
Reviewed by eric
* WebCore.xcodeproj/project.pbxproj:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* kwq/KWQFont.h:
(QFont::firstFamily):
* kwq/KWQFont.mm:
(QFont::setFirstFamily):
* kwq/KWQFontFamily.h: Removed.
* kwq/KWQFontFamily.mm: Removed.
* platform/FontFamily.cpp: Added.
(WebCore::FontFamily::FontFamily):
(WebCore::FontFamily::~FontFamily):
(WebCore::FontFamily::operator=):
(WebCore::FontFamily::setFamily):
(WebCore::FontFamily::operator==):
* platform/FontFamily.h: Added.
(WebCore::FontFamily::family):
(WebCore::FontFamily::familyIsEmpty):
(WebCore::FontFamily::next):
(WebCore::FontFamily::appendFamily):
(WebCore::FontFamily::operator!=):
(WebCore::FontFamily::ref):
(WebCore::FontFamily::deref):
* platform/mac/FontFamilyMac.mm: Added.
(WebCore::retainDOMStringImpl):
(WebCore::releaseDOMStringImpl):
(WebCore::):
(WebCore::FontFamily::getNSFamily):
* rendering/font.h:
(khtml::FontDef::firstFamily):
2006-02-15 Oliver Hunt <ojh16@student.canterbury.ac.nz>
Reviewed by eseidel. Landed by eseidel.
Implemented feDisplacementMap.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5862
Test: svg/custom/feDisplacementMap-01.svg
* WebCore.xcodeproj/project.pbxproj: added files.
* kcanvas/KCanvasFilters.cpp:
(WebCore::KCanvasFEDisplacementMap::externalRepresentation):
* kcanvas/KCanvasFilters.h:
(WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
(WebCore::KCanvasFEDisplacementMap::xChannelSelector):
(WebCore::KCanvasFEDisplacementMap::setXChannelSelector):
(WebCore::KCanvasFEDisplacementMap::yChannelSelector):
(WebCore::KCanvasFEDisplacementMap::setYChannelSelector):
(WebCore::KCanvasFEDisplacementMap::scale):
(WebCore::KCanvasFEDisplacementMap::setScale):
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::getVectorForChannel):
(WebCore::KCanvasFEDisplacementMapQuartz::getCIFilter):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::createFilterEffect):
* kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Added.
* kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Added.
* kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Added.
(+[WKDisplacementMapFilter initialize]):
(+[WKDisplacementMapFilter filterWithName:]):
(-[WKDisplacementMapFilter init]):
(-[WKDisplacementMapFilter outputImage]):
* ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: Added.
(SVGFEDisplacementMapElementImpl::SVGFEDisplacementMapElementImpl):
(SVGFEDisplacementMapElementImpl::~SVGFEDisplacementMapElementImpl):
(SVGFEDisplacementMapElementImpl::in1):
(SVGFEDisplacementMapElementImpl::in2):
(SVGFEDisplacementMapElementImpl::xChannelSelector):
(SVGFEDisplacementMapElementImpl::yChannelSelector):
(SVGFEDisplacementMapElementImpl::scale):
(SVGFEDisplacementMapElementImpl::stringToChannel):
(SVGFEDisplacementMapElementImpl::parseMappedAttribute):
(SVGFEDisplacementMapElementImpl::filterEffect):
* ksvg2/svg/SVGFEDisplacementMapElementImpl.h: Added.
* ksvg2/svg/svgtags.in:
2006-02-15 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Commit change forgotten after editing directory move.
* editing/markup.cpp:
(khtml::startMarkup): add support for serializing DOCTYPEs in xml
2006-02-15 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6452
KURL::appendEscapingBadChars() doesn't know about %u-escaping.
Test case: fast/encoding/percent-escaping.html
* kwq/KWQKURL.mm: (appendEscapingBadChars):
Rather than adding support for %u, remove the existing
"do what I mean" escaping of percent characters that do not
look like a result of prior escaping.
2006-02-14 Eric Seidel <eseidel@apple.com>
Fix build failure from last minute edit.
* khtml/xsl/xsl_stylesheetimpl.cpp:
(WebCore::XSLStyleSheetImpl::parseString):
2006-02-14 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Add incremental parsing support to XMLTokenizer.
This patch also does a few other little things:
- removes (unused) onHold support from Tokenizer
- adds serialization of DOCTYPEs for xml documents
- fixes xslt support to no longer depend on synchronous parsing
- fixes css styling for pages where xsl recursion is blocked
http://bugzilla.opendarwin.org/show_bug.cgi?id=6057
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl):
(WebCore::DocumentImpl::createProcessingInstruction):
(WebCore::DocumentImpl::open):
(WebCore::DocumentImpl::recalcStyleSelector):
* dom/dom_xmlimpl.cpp:
(WebCore::ProcessingInstructionImpl::checkStyleSheet):
* dom/xml_tokenizer.cpp:
(WebCore::XMLTokenizer::XMLTokenizer):
(WebCore::XMLTokenizer::write):
(WebCore::XMLTokenizer::startElementNs):
(WebCore::XMLTokenizer::error):
(WebCore::XMLTokenizer::initializeParserContext):
(WebCore::XMLTokenizer::finish):
(WebCore::xmlDocPtrForString):
(WebCore::parseAttributes):
* dom/xml_tokenizer.h:
* khtml/editing/markup.cpp:
(khtml::startMarkup): DOCTYPE serialization
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer): removed onHold
(WebCore::HTMLTokenizer::reset): removed onHold
(WebCore::HTMLTokenizer::begin): removed onHold
(WebCore::HTMLTokenizer::write): removed onHold
(WebCore::HTMLTokenizer::finish): removed onHold
* khtml/html/htmltokenizer.h: removed onHold support
* khtml/xsl/xsl_stylesheetimpl.cpp:
(WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl):
(WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl):
(WebCore::XSLStyleSheetImpl::document):
(WebCore::XSLStyleSheetImpl::setDocument):
(WebCore::XSLStyleSheetImpl::parseString):
(WebCore::XSLStyleSheetImpl::loadChildSheets):
(WebCore::XSLStyleSheetImpl::compileStyleSheet):
(WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
* khtml/xsl/xsl_stylesheetimpl.h: moved functions to .cpp file
2006-02-14 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6815
Calculate correct width for new text fields
Tests:
fast/forms/input-appearance-width.html
fast/forms/input-appearance-minWidth.html
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::createDivStyle): Remove fixed width for text field.
(WebCore::RenderTextField::calcMinMaxWidth): Added. This calls RenderBlock::calcMinMaxWidth and
then uses the size attribute to determine what the maxWidth should be.
* rendering/RenderTextField.h: Added calcMinMaxWidth.
* rendering/render_theme_mac.h: Added adjustTextFieldStyle.
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::adjustRepaintRect): Remove inflation of rect. This is no longer necessary.
(WebCore::RenderThemeMac::paintTextField): ditto.
(WebCore::RenderThemeMac::setTextFieldCellState): change true to YES.
(WebCore::RenderThemeMac::adjustTextFieldStyle): Added. This is the temporary home of the code to set the
right padding and margins. When we flip the switch, this will go in html4.css.
2006-02-14 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher.
removed -[DOMHTMLSelectElement _optionLabels], formerly used only by Safari, now unused.
* bindings/objc/DOMHTML.mm:
* bindings/objc/DOMPrivate.h:
2006-02-14 Timothy Hatcher <timothy@apple.com>
Reviewed by Justin.
Fixed <rdar://problem/4415050> STD: WebCore build steps use echo -n, which will change
behavior due to POSIX version of sh
* WebCore.xcodeproj/project.pbxproj: removed the use of echo -n, replaced with printf ""
2006-02-14 Darin Adler <darin@apple.com>
Rubber-stamped by Eric.
- moved editing sources from khtml/editing to editing, and renamed files with single classes
* WebCore.xcodeproj/project.pbxproj: Added new, removed old.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* bridge/mac/MacFrame.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* dom/DocumentImpl.cpp:
* dom/dom2_rangeimpl.cpp:
* dom/dom_position.cpp:
* khtml/khtml_events.cpp:
* kwq/KWQAccObject.mm:
* kwq/KWQAccObjectCache.h:
* kwq/KWQEditCommand.mm:
* page/Frame.cpp:
* page/FramePrivate.h:
* rendering/RenderBlock.cpp:
* rendering/RenderContainer.cpp:
* rendering/RenderText.cpp:
* rendering/render_br.cpp:
* rendering/render_inline.cpp:
* rendering/render_object.cpp:
* rendering/render_replaced.cpp:
Fixed up includes.
* editing: Added.
* editing/AppendNodeCommand.cpp: Added.
* editing/AppendNodeCommand.h: Added.
* editing/ApplyStyleCommand.cpp: Added.
* editing/ApplyStyleCommand.h: Added.
* editing/BreakBlockquoteCommand.cpp: Added.
* editing/BreakBlockquoteCommand.h: Added.
* editing/CompositeEditCommand.cpp: Added.
* editing/CompositeEditCommand.h: Added.
* editing/DeleteFromTextNodeCommand.cpp: Added.
* editing/DeleteFromTextNodeCommand.h: Added.
* editing/DeleteSelectionCommand.cpp: Added.
* editing/DeleteSelectionCommand.h: Added.
* editing/EditCommand.cpp: Added.
* editing/EditCommand.h: Added.
* editing/InsertIntoTextNodeCommand.cpp: Added.
* editing/InsertIntoTextNodeCommand.h: Added.
* editing/InsertLineBreakCommand.cpp: Added.
* editing/InsertLineBreakCommand.h: Added.
* editing/InsertNodeBeforeCommand.cpp: Added.
* editing/InsertNodeBeforeCommand.h: Added.
* editing/InsertParagraphSeparatorCommand.cpp: Added.
* editing/InsertParagraphSeparatorCommand.h: Added.
* editing/InsertTextCommand.cpp: Added.
* editing/InsertTextCommand.h: Added.
* editing/JoinTextNodesCommand.cpp: Added.
* editing/JoinTextNodesCommand.h: Added.
* editing/MergeIdenticalElementsCommand.cpp: Added.
* editing/MergeIdenticalElementsCommand.h: Added.
* editing/MoveSelectionCommand.cpp: Added.
* editing/MoveSelectionCommand.h: Added.
* editing/RebalanceWhitespaceCommand.cpp: Added.
* editing/RebalanceWhitespaceCommand.h: Added.
* editing/RemoveCSSPropertyCommand.cpp: Added.
* editing/RemoveCSSPropertyCommand.h: Added.
* editing/RemoveNodeAttributeCommand.cpp: Added.
* editing/RemoveNodeAttributeCommand.h: Added.
* editing/RemoveNodeCommand.cpp: Added.
* editing/RemoveNodeCommand.h: Added.
* editing/RemoveNodePreservingChildrenCommand.cpp: Added.
* editing/RemoveNodePreservingChildrenCommand.h: Added.
* editing/ReplaceSelectionCommand.cpp: Added.
* editing/ReplaceSelectionCommand.h: Added.
* editing/Selection.cpp:
* editing/SelectionController.cpp:
* editing/SetNodeAttributeCommand.cpp: Added.
* editing/SetNodeAttributeCommand.h: Added.
* editing/SplitElementCommand.cpp: Added.
* editing/SplitElementCommand.h: Added.
* editing/SplitTextNodeCommand.cpp: Added.
* editing/SplitTextNodeCommand.h: Added.
* editing/SplitTextNodeContainingElementCommand.cpp: Added.
* editing/SplitTextNodeContainingElementCommand.h: Added.
* editing/TypingCommand.cpp: Added.
* editing/TypingCommand.h: Added.
* editing/VisiblePosition.cpp: Added.
* editing/VisiblePosition.h: Added.
* editing/VisibleRange.cpp: Added.
* editing/VisibleRange.h: Added.
* editing/WrapContentsInDummySpanCommand.cpp: Added.
* editing/WrapContentsInDummySpanCommand.h: Added.
* editing/append_node_command.cpp: Removed.
* editing/append_node_command.h: Removed.
* editing/apply_style_command.cpp: Removed.
* editing/apply_style_command.h: Removed.
* editing/break_blockquote_command.cpp: Removed.
* editing/break_blockquote_command.h: Removed.
* editing/composite_edit_command.cpp: Removed.
* editing/composite_edit_command.h: Removed.
* editing/delete_from_text_node_command.cpp: Removed.
* editing/delete_from_text_node_command.h: Removed.
* editing/delete_selection_command.cpp: Removed.
* editing/delete_selection_command.h: Removed.
* editing/edit_command.cpp: Removed.
* editing/edit_command.h: Removed.
* editing/htmlediting.cpp:
* editing/insert_into_text_node_command.cpp: Removed.
* editing/insert_into_text_node_command.h: Removed.
* editing/insert_line_break_command.cpp: Removed.
* editing/insert_line_break_command.h: Removed.
* editing/insert_node_before_command.cpp: Removed.
* editing/insert_node_before_command.h: Removed.
* editing/insert_paragraph_separator_command.cpp: Removed.
* editing/insert_paragraph_separator_command.h: Removed.
* editing/insert_text_command.cpp: Removed.
* editing/insert_text_command.h: Removed.
* editing/join_text_nodes_command.cpp: Removed.
* editing/join_text_nodes_command.h: Removed.
* editing/jsediting.cpp:
* editing/markup.cpp:
* editing/merge_identical_elements_command.cpp: Removed.
* editing/merge_identical_elements_command.h: Removed.
* editing/move_selection_command.cpp: Removed.
* editing/move_selection_command.h: Removed.
* editing/rebalance_whitespace_command.cpp: Removed.
* editing/rebalance_whitespace_command.h: Removed.
* editing/remove_css_property_command.cpp: Removed.
* editing/remove_css_property_command.h: Removed.
* editing/remove_node_attribute_command.cpp: Removed.
* editing/remove_node_attribute_command.h: Removed.
* editing/remove_node_command.cpp: Removed.
* editing/remove_node_command.h: Removed.
* editing/remove_node_preserving_children_command.cpp: Removed.
* editing/remove_node_preserving_children_command.h: Removed.
* editing/replace_selection_command.cpp: Removed.
* editing/replace_selection_command.h: Removed.
* editing/set_node_attribute_command.cpp: Removed.
* editing/set_node_attribute_command.h: Removed.
* editing/split_element_command.cpp: Removed.
* editing/split_element_command.h: Removed.
* editing/split_text_node_command.cpp: Removed.
* editing/split_text_node_command.h: Removed.
* editing/split_text_node_containing_element.cpp: Removed.
* editing/split_text_node_containing_element_command.h: Removed.
* editing/typing_command.cpp: Removed.
* editing/typing_command.h: Removed.
* editing/visible_position.cpp: Removed.
* editing/visible_position.h: Removed.
* editing/visible_range.cpp: Removed.
* editing/visible_range.h: Removed.
* editing/visible_units.cpp:
* editing/wrap_contents_in_dummy_span_command.cpp: Removed.
* editing/wrap_contents_in_dummy_span_command.h: Removed.
* khtml/editing: Removed.
* khtml/editing/Selection.cpp: Removed.
* khtml/editing/Selection.h: Removed.
* khtml/editing/SelectionController.cpp: Removed.
* khtml/editing/SelectionController.h: Removed.
* khtml/editing/append_node_command.cpp: Removed.
* khtml/editing/append_node_command.h: Removed.
* khtml/editing/apply_style_command.cpp: Removed.
* khtml/editing/apply_style_command.h: Removed.
* khtml/editing/break_blockquote_command.cpp: Removed.
* khtml/editing/break_blockquote_command.h: Removed.
* khtml/editing/composite_edit_command.cpp: Removed.
* khtml/editing/composite_edit_command.h: Removed.
* khtml/editing/delete_from_text_node_command.cpp: Removed.
* khtml/editing/delete_from_text_node_command.h: Removed.
* khtml/editing/delete_selection_command.cpp: Removed.
* khtml/editing/delete_selection_command.h: Removed.
* khtml/editing/edit_actions.h: Removed.
* khtml/editing/edit_command.cpp: Removed.
* khtml/editing/edit_command.h: Removed.
* khtml/editing/html_interchange.cpp: Removed.
* khtml/editing/html_interchange.h: Removed.
* khtml/editing/htmlediting.cpp: Removed.
* khtml/editing/htmlediting.h: Removed.
* khtml/editing/insert_into_text_node_command.cpp: Removed.
* khtml/editing/insert_into_text_node_command.h: Removed.
* khtml/editing/insert_line_break_command.cpp: Removed.
* khtml/editing/insert_line_break_command.h: Removed.
* khtml/editing/insert_node_before_command.cpp: Removed.
* khtml/editing/insert_node_before_command.h: Removed.
* khtml/editing/insert_paragraph_separator_command.cpp: Removed.
* khtml/editing/insert_paragraph_separator_command.h: Removed.
* khtml/editing/insert_text_command.cpp: Removed.
* khtml/editing/insert_text_command.h: Removed.
* khtml/editing/join_text_nodes_command.cpp: Removed.
* khtml/editing/join_text_nodes_command.h: Removed.
* khtml/editing/jsediting.cpp: Removed.
* khtml/editing/jsediting.h: Removed.
* khtml/editing/markup.cpp: Removed.
* khtml/editing/markup.h: Removed.
* khtml/editing/merge_identical_elements_command.cpp: Removed.
* khtml/editing/merge_identical_elements_command.h: Removed.
* khtml/editing/move_selection_command.cpp: Removed.
* khtml/editing/move_selection_command.h: Removed.
* khtml/editing/rebalance_whitespace_command.cpp: Removed.
* khtml/editing/rebalance_whitespace_command.h: Removed.
* khtml/editing/remove_css_property_command.cpp: Removed.
* khtml/editing/remove_css_property_command.h: Removed.
* khtml/editing/remove_node_attribute_command.cpp: Removed.
* khtml/editing/remove_node_attribute_command.h: Removed.
* khtml/editing/remove_node_command.cpp: Removed.
* khtml/editing/remove_node_command.h: Removed.
* khtml/editing/remove_node_preserving_children_command.cpp: Removed.
* khtml/editing/remove_node_preserving_children_command.h: Removed.
* khtml/editing/replace_selection_command.cpp: Removed.
* khtml/editing/replace_selection_command.h: Removed.
* khtml/editing/set_node_attribute_command.cpp: Removed.
* khtml/editing/set_node_attribute_command.h: Removed.
* khtml/editing/split_element_command.cpp: Removed.
* khtml/editing/split_element_command.h: Removed.
* khtml/editing/split_text_node_command.cpp: Removed.
* khtml/editing/split_text_node_command.h: Removed.
* khtml/editing/split_text_node_containing_element.cpp: Removed.
* khtml/editing/split_text_node_containing_element_command.h: Removed.
* khtml/editing/text_affinity.h: Removed.
* khtml/editing/text_granularity.h: Removed.
* khtml/editing/typing_command.cpp: Removed.
* khtml/editing/typing_command.h: Removed.
* khtml/editing/visible_position.cpp: Removed.
* khtml/editing/visible_position.h: Removed.
* khtml/editing/visible_range.cpp: Removed.
* khtml/editing/visible_range.h: Removed.
* khtml/editing/visible_text.cpp: Removed.
* khtml/editing/visible_text.h: Removed.
* khtml/editing/visible_units.cpp: Removed.
* khtml/editing/visible_units.h: Removed.
* khtml/editing/wrap_contents_in_dummy_span_command.cpp: Removed.
* khtml/editing/wrap_contents_in_dummy_span_command.h: Removed.
2006-02-14 John Sullivan <sullivan@apple.com>
Reviewed by Adele Peterson.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=7255
label attribute in option elements is ignored
Test cases:
* dom/html/level2/html/HTMLOptionElement_label01.html
* dom/html/level2/html/HTMLOptionElement_label02.html
* dom/html/level2/html/HTMLOptionElement_label03.html
* rendering/render_form.cpp:
(WebCore::RenderSelect::updateFromElement):
use label attribute, if present, when setting text on the widget.
2006-02-14 Vicki Murley <vicki@apple.com>
Reviewed by Maciej.
Change formatting in this file to match the style guidelines. No spaces after
opening parentheses or before closing parentheses.
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::createDocumentFragment):
(WebCore::DocumentImpl::recalcStyle):
(WebCore::DocumentImpl::attach):
(WebCore::DocumentImpl::detach):
(WebCore::DocumentImpl::open):
(WebCore::DocumentImpl::write):
(WebCore::DocumentImpl::writeln):
(WebCore::DocumentImpl::setUserStyleSheet):
(WebCore::DocumentImpl::determineParseMode):
(WebCore::DocumentImpl::processHttpEquiv):
(WebCore::DocumentImpl::childAllowed):
(WebCore::DocumentImpl::childTypeAllowed):
(WebCore::DocumentImpl::recalcStyleSelector):
(WebCore::DocumentImpl::dispatchImageLoadEventsNow):
(WebCore::DocumentImpl::domain):
(WebCore::DocumentImpl::setDomain):
(WebCore::DocumentImpl::parseQualifiedName):
(WebCore::DocumentImpl::addMarker):
(WebCore::DocumentImpl::removeMarkers):
2006-02-14 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher.
Some cleanup from the previous checkin, inspired by Darin's comments
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
moved highlightAllMatchesForString out of here
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
now converts NSString to QString here, rather than in Frame/MacFrame
* dom/DocumentMarker.h: Added.
(WebCore::DocumentMarker::):
(WebCore::DocumentMarker::operator == ):
(WebCore::DocumentMarker::operator != ):
moved this struct to its own header file
* dom/DocumentImpl.h:
moved DocumentMarker out; now includes DocumentMarker.h
* page/Frame.h:
* page/Frame.cpp:
(WebCore::Frame::highlightAllMatchesForString):
moved here from MacFrame.[h,mm]. I thought this used other code from
MacFrame.mm but it doesn't.
* rendering/InlineTextBox.h:
removed unnecesssary variable names; use DocumentMarker::MarkerType in signature
of paintAllMarkersOfType
* rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paintTextMatchMarker):
better name for a variable, fixed bad indent
(khtml::InlineTextBox::paintAllMarkersOfType):
rewrote loop to bail out early if past end, for clarity;
use DocumentMarker::MarkerType in signature
* WebCore.xcodeproj/project.pbxproj:
updated for new file
2006-02-13 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick.
Support for highlighting multiple text matches.
* dom/DocumentImpl.h:
(WebCore::DocumentMarker::):
Added new marker type TextMatch
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
new method, calls through to MacFrame implementation
(-[WebCoreFrameBridge clearHighlightedMatches]):
new method, removes all markers of type TextMatch
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::highlightAllMatchesForString):
new method, adds a document marker for each range that matches the given string
* rendering/InlineTextBox.h:
* rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paint):
Moved DocumentMarker loop into separate method paintAllMarkersOfType. We now call
that method twice, once for spelling markers (after drawing text) and once for
text match markers (before drawing text)
(khtml::InlineTextBox::paintTextMatchMarker):
new method, paints a color behind a text match marker
(khtml::InlineTextBox::paintSpellingMarker):
renamed from paintMarker
(khtml::InlineTextBox::paintAllMarkersOfType):
new method, loops through all DocumentMarkers of a particular type and calls the
appropriate painting method for each one
2006-02-13 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- move pointer from frame to page here from WebKit
* WebCore.xcodeproj/project.pbxproj: Added PageMac.h.
* bridge/mac/PageMac.h: Added.
* bridge/mac/MacFrame.h: Added a page parameter to the constructor.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::MacFrame): Pass the page and renderer to the Frame constructor.
Moved the call to Cache::init up into Frame, and got rid of the call to Frame::init
since that's now handled by the constructor. Also put the code to create the
browser extension object here.
(WebCore::MacFrame::submitForm): Update for new method name.
(WebCore::MacFrame::createFrame): Ditto.
(WebCore::MacFrame::sendContextMenuEvent): Update since m_doc is a RefPtr.
* bridge/mac/WebCoreFrameBridge.h: Changed parameters on init methods. Renamed
the part method to impl. Added a page method.
* bridge/mac/WebCoreFrameBridge.mm:
(frameHasSelection): Change use of part method to impl.
(-[WebCoreFrameBridge appendChild:]): Use m_frame directly instead of calling part method.
(-[WebCoreFrameBridge removeChild:]): Ditto.
(-[WebCoreFrameBridge initMainFrameWithPage:]): Added. Now does the first-time initialization
only here and create a frame for a main frame.
(-[WebCoreFrameBridge initSubframeWithRenderer:]): Added. Doesn't do the first-time initialization
and creates a frame for a subframe.
(-[WebCoreFrameBridge page]): Added.
(-[WebCoreFrameBridge setOpener:]): Change to use impl method instead of part.
(-[WebCoreFrameBridge executionContextForView:]): Ditto.
(-[WebCoreFrameBridge impl]): Added.
* bridge/mac/WebCorePageBridge.h: Removed init method and added setMainFrame: method and impl method.
* bridge/mac/WebCorePageBridge.mm:
(-[WebCorePageBridge init]): Changed to create a PageMac.
(-[WebCorePageBridge setMainFrame:]): Added.
(-[WebCorePageBridge impl]): Added.
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* kwq/KWQAccObject.mm:
(-[KWQAccObject rendererForView:]):
* kwq/KWQComboBox.mm:
(-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
* kwq/KWQFileButton.mm:
(KWQFileButton::focusPolicy):
* kwq/KWQSlider.mm:
(QSlider::focusPolicy):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView _isResizableByUser]):
(-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
Change methods to get from bridge back to objects to be named "impl".
The old one was named "part".
* page/Frame.h: Added Page and RenderPart parameter to constructor.
Added a page function. Removed the createBrowserExtension function.
* page/Frame.cpp:
(WebCore::parentFromOwnerRenderer): Added. Helper for constructor.
(WebCore::Frame::Frame): Moved all the code from init into here. Also change
to set the parent right from the start.
(WebCore::Frame::stopLoading): Change since m_doc is now a RefPtr.
(WebCore::Frame::clear): Ditto.
(WebCore::Frame::document): Ditto.
(WebCore::Frame::setDocument): Ditto.
(WebCore::Frame::begin): Ditto.
(WebCore::Frame::gotoAnchor): Ditto.
(WebCore::Frame::typingStyle): Change since m_typingStyle is now a RefPtr.
(WebCore::Frame::setTypingStyle): Ditto.
(WebCore::Frame::clearTypingStyle): Ditto.
(WebCore::Frame::isFrameSet): Change since m_doc is now a RefPtr.
(WebCore::Frame::page): Added.
* page/FramePrivate.h: Changed initialization to use member-initialization
syntax. Removed unused m_frames. Changed m_doc and m_typingStyle to use
RefPtr. Added an m_frame.
* page/Page.h: Made destructor virtual so we could have a Mac derived class.
Added a setMainFrame function and removed the mainFrame parameter from the constructor.
* page/Page.cpp:
(WebCore::Page::Page): Removed the mainFrame parameter.
(WebCore::Page::setMainFrame): Added.
2006-02-13 David Harrison <harrison@apple.com>
Reviewed by Justin.
- merge VisiblePosition:isCandidate() into Position::inRenderedContent()
These functions were answering the same question in different ways! We
only need one implementation.
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::init):
(khtml::VisiblePosition::previousVisiblePosition):
(khtml::VisiblePosition::nextVisiblePosition):
(khtml::VisiblePosition::deepEquivalent):
* khtml/editing/visible_position.h:
* dom/dom_position.cpp:
(DOM::hasRenderedChildrenWithHeight):
(DOM::Position::inRenderedContent):
- improved table deletion.
Fixes: delete back by word from just after table did not delete the table
delete forward by char or word did not delete the table
deleting back to a table and again did not delete the table
* khtml/editing/htmlediting.cpp:
(WebCore::isFirstVisiblePositionAfterTableElement):
simpler implementation
(WebCore::positionBeforePrecedingTableElement):
simpler implementation
(WebCore::isFirstVisiblePositionBeforeTableElement):
new
(WebCore::positionAfterFollowingTableElement):
new
* khtml/editing/htmlediting.h:
* khtml/editing/SelectionController.cpp:
(WebCore::SelectionController::modifyExtendingRightForward):
select following table if granularity is char or word
(WebCore::SelectionController::modifyExtendingLeftBackward):
select preceding table if granularity is char or word
* khtml/editing/typing_command.cpp:
(khtml::TypingCommand::deleteKeyPressed):
simpler implementation, and let other deleteKeyPressed do boundary checking
(khtml::TypingCommand::forwardDeleteKeyPressed):
simpler implementation, and let other forwardDeleteKeyPressed do boundary checking
(khtml::TypingCommand::insertText):
standard formatting
(khtml::TypingCommand::insertLineBreak):
standard formatting
(khtml::TypingCommand::insertParagraphSeparatorInQuotedContent):
standard formatting
(khtml::TypingCommand::insertParagraphSeparator):
standard formatting
(khtml::TypingCommand::insertTextRunWithoutNewlines):
standard formatting
(khtml::TypingCommand::deleteKeyPressed):
use SelectionController to extend selection, to get all the selection
logic incl. table selection and editable/noneditable boundary checks
(khtml::TypingCommand::forwardDeleteKeyPressed):
use SelectionController to extend selection, to get all the selection
logic incl. table selection and editable/noneditable boundary checks
2006-02-13 David Hyatt <hyatt@apple.com>
Fix for bug 5605, XSLT fails to import to arbitrary depth. Make sure m_embedded is initialized to false
in the XSLTStyleSheetImpl constructor.
Reviewed by timo
Adding xslt-import-depth.xml to fast/xsl
* khtml/xsl/xsl_stylesheetimpl.cpp:
(DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
2006-02-13 Dave Hyatt <hyatt@apple.com>
Fix Win32 bustage in WebCore.
Reviewed by darin
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/Timer.cpp:
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::TimerBase::heapPop):
HUGE_VAL can be used on both Windows and Mac, so replace 1e500 with
that.
Add == and != operators for the TimerHeapIterator.
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
Fix my bustage in the PNG decoder where I left off a stray
parenthesis.
* platform/win/SharedTimerWin.cpp:
(WebCore::timerFired):
(WebCore::setSharedTimerFireTime):
(WebCore::stopSharedTimer):
KillTimer should take 2 arguments. Add some missing includes.
2006-02-12 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel.
Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7207.
No testcases as this is not possible to reproduce via anything
other than manual interaction.
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::getCIFilterStack):
2006-02-13 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- moved QWidget to platform directory, renamed to Widget,
split into cross-platform and platform-specific parts,
removed some of the unused bits
* ForwardingHeaders/qwidget.h: Removed.
* kwq/KWQWidget.h: Removed.
* kwq/KWQWidget.mm: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj: Update for file removals and adds.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/Widget.h: Moved code here, fixed it up.
* platform/Widget.cpp: Ditto.
* platform/mac/WidgetMac.mm: Added.
* bindings/objc/DOMHTML.mm:
(viewForElement):
* bridge/mac/KWQKHTMLView.cpp:
(WebCore::FrameView::topLevelWidget):
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::createPlugin):
(WebCore::MacFrame::nextKeyViewInFrame):
(WebCore::MacFrame::nextKeyViewForWidget):
(WebCore::MacFrame::currentEventIsMouseDownInWidget):
(WebCore::MacFrame::bridgeForWidget):
(WebCore::MacFrame::passMouseDownEventToWidget):
(WebCore::MacFrame::passSubframeEventToSubframe):
(WebCore::MacFrame::passWheelEventToChildWidget):
(WebCore::MacFrame::getAppletInstanceForWidget):
(WebCore::MacFrame::getEmbedInstanceForWidget):
(WebCore::MacFrame::getObjectInstanceForWidget):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
(-[WebCoreFrameBridge copyRenderNode:copier:]):
(-[WebCoreFrameBridge elementForView:]):
(-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
* dom/DocumentImpl.cpp:
(WebCore::widgetForNode):
(WebCore::DocumentImpl::setFocusNode):
* khtml/ecma/kjs_window.cpp:
(KJS::Screen::getValueProperty):
(KJS::WindowFunc::callAsFunction):
* khtml/html/HTMLGenericFormElementImpl.cpp:
(WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable):
(WebCore::HTMLGenericFormElementImpl::isMouseFocusable):
* khtml/html/html_objectimpl.cpp:
(WebCore::HTMLEmbedElementImpl::getEmbedInstance):
(WebCore::HTMLObjectElementImpl::getObjectInstance):
* kwq/KWQAccObject.mm:
(-[KWQAccObject addChildrenToArray:]):
(-[KWQAccObject attachmentView]):
(-[KWQAccObject doAXTextMarkerForPosition:]):
* kwq/KWQComboBox.h:
* kwq/KWQComboBox.mm:
(QComboBox::frameGeometry):
(QComboBox::setFrameGeometry):
(QComboBox::setFont):
(QComboBox::focusPolicy):
(-[KWQPopUpButtonCell widget]):
(-[KWQPopUpButton widget]):
(-[KWQPopUpButton mouseDown:]):
(-[KWQPopUpButton becomeFirstResponder]):
(-[KWQPopUpButton resignFirstResponder]):
(-[KWQPopUpButton nextKeyView]):
(-[KWQPopUpButton previousKeyView]):
* kwq/KWQFileButton.h:
* kwq/KWQFileButton.mm:
(KWQFileButton::focusPolicy):
* kwq/KWQFrame.h:
* kwq/KWQKCursor.h:
* kwq/KWQKJavaAppletWidget.h:
* kwq/KWQKJavaAppletWidget.mm:
(KJavaAppletWidget::KJavaAppletWidget):
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm:
(QLineEdit::setFont):
(QLineEdit::setPalette):
(QLineEdit::focusPolicy):
* kwq/KWQListBox.h:
* kwq/KWQListBox.mm:
(QListBox::QListBox):
(QListBox::focusPolicy):
(QListBox::setFont):
(-[KWQListBoxScrollView widget]):
(-[KWQListBoxScrollView becomeFirstResponder]):
(-[KWQTableView mouseDown:]):
(-[KWQTableView widget]):
* kwq/KWQPainter.h:
* kwq/KWQRenderTreeDebug.cpp:
(write):
* kwq/KWQScrollBar.h:
* kwq/KWQScrollBar.mm:
(-[KWQScrollBar widget]):
(-[KWQScrollBar mouseDown:]):
(QScrollBar::QScrollBar):
(QScrollBar::~QScrollBar):
* kwq/KWQScrollView.h:
(QScrollView::QScrollView):
* kwq/KWQScrollView.mm:
(QScrollView::viewport):
(QScrollView::childX):
(QScrollView::childY):
(QScrollView::addChild):
(QScrollView::removeChild):
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(-[KWQSlider mouseDown:]):
(-[KWQSlider widget]):
(QSlider::setFont):
(QSlider::focusPolicy):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView widget]):
* kwq/KWQTextEdit.h:
* kwq/KWQTextEdit.mm:
(QTextEdit::QTextEdit):
(QTextEdit::setFont):
(QTextEdit::focusPolicy):
(QTextEdit::setPalette):
* kwq/KWQTextField.mm:
(-[KWQTextFieldController widget]):
(-[KWQTextFieldController textView:shouldHandleEvent:]):
(-[KWQTextFieldController textView:didHandleEvent:]):
(-[KWQTextField widget]):
(-[KWQTextField nextKeyView]):
(-[KWQTextField previousKeyView]):
(-[KWQSecureTextField widget]):
(-[KWQSecureTextField nextKeyView]):
(-[KWQSecureTextField previousKeyView]):
(-[KWQSearchField widget]):
(-[KWQSearchField nextKeyView]):
(-[KWQSearchField previousKeyView]):
* kwq/KWQView.h:
* kwq/KWQWindowWidget.h:
* kwq/KWQWindowWidget.mm:
(KWQWindowWidget::topLevelWidget):
* page/Frame.cpp:
(WebCore::isFrameElement):
(WebCore::Frame::frameForWidget):
(WebCore::Frame::nodeForWidget):
(WebCore::Frame::setDocumentFocus):
(WebCore::Frame::clearDocumentFocus):
(WebCore::Frame::passWidgetMouseDownEventToWidget):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::init):
* page/FrameView.h:
* page/Plugin.h:
(WebCore::Plugin::Plugin):
(WebCore::Plugin::view):
* platform/Screen.h:
* platform/mac/ScreenMac.mm:
(WebCore::screen):
(WebCore::screenDepth):
(WebCore::screenRect):
(WebCore::usableScreenRect):
* rendering/render_applet.cpp:
(WebCore::RenderApplet::layout):
* rendering/render_form.cpp:
(WebCore::ComboBoxWidget::ComboBoxWidget):
(WebCore::RenderSelect::createListBox):
* rendering/render_form.h:
* rendering/render_frames.cpp:
(WebCore::RenderPart::setWidget):
* rendering/render_frames.h:
* rendering/render_object.cpp:
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::resizeWidget):
(WebCore::RenderWidget::setQWidget):
* rendering/render_replaced.h:
(WebCore::RenderWidget::widget):
Change name from QWidget to Widget, a few other changes to get compiling.
=== WebCore-521.7 ===
2006-02-12 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7206
REGRESSION: PDF "images" no longer render within HTML pages
Test: fast/replaced/page-as-image.html
* platform/Image.cpp: (WebCore::Image::setNativeData):
Return false in the case where the PDF document has not been created yet.
2006-02-12 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7209
reimplement Timer so it uses only a single timer from the underlying OS
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed old files, added new.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/Timer.h: Updated for new timer implementation.
* platform/Timer.cpp: Added. Platform-independent implementation of timers
in terms of a single shared timer. Uses a heap to implement a priority queue
so we know which timer to fire first.
* platform/SharedTimer.h: Added.
* platform/mac/SharedTimerMac.cpp: Added.
* platform/win/SharedTimerWin.cpp: Added.
* platform/mac/TimerMac.cpp: Removed.
* platform/win/TimerWin.cpp: Removed.
2006-02-12 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
* loader/CachedXSLStyleSheet.cpp: removed duplicate copy of xbl code.
2006-02-12 Maciej Stachowiak <mjs@apple.com>
Unreviewed build fix.
- fix build
* bindings/scripts/CodeGeneratorJS.pm: Update for splitting of the
dom_textimpl.h header.
2006-02-11 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- rename FrameTreeNode to FrameTree and treeNode() to tree()
http://bugzilla.opendarwin.org/show_bug.cgi?id=7210
This may be slightly less accurate, but reads better.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::submitForm):
(WebCore::MacFrame::nextKeyViewInFrameHierarchy):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge firstChild]):
(-[WebCoreFrameBridge lastChild]):
(-[WebCoreFrameBridge childCount]):
(-[WebCoreFrameBridge previousSibling]):
(-[WebCoreFrameBridge nextSibling]):
(-[WebCoreFrameBridge appendChild:]):
(-[WebCoreFrameBridge removeChild:]):
(-[WebCoreFrameBridge setParent:]):
(-[WebCoreFrameBridge parent]):
(-[WebCoreFrameBridge setName:]):
(-[WebCoreFrameBridge name]):
* dom/DocumentImpl.cpp:
(WebCore::DocumentImpl::parentDocument):
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
(KJS::Window::put):
(KJS::Window::isSafeScript):
(KJS::WindowFunc::callAsFunction):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::isURLAllowed):
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::process):
* page/Frame.cpp:
(WebCore::Frame::stopLoading):
(WebCore::Frame::clear):
(WebCore::Frame::stopAnimations):
(WebCore::Frame::checkCompleted):
(WebCore::Frame::checkEmitLoadEvent):
(WebCore::Frame::slotChildCompleted):
(WebCore::Frame::findFrame):
(WebCore::Frame::setZoomFactor):
(WebCore::Frame::frameNames):
(WebCore::Frame::frames):
(WebCore::Frame::childFrameNamed):
(WebCore::Frame::incrementFrameCount):
(WebCore::Frame::decrementFrameCount):
(WebCore::Frame::topLevelFrameCount):
(WebCore::Frame::selectFrameElementInParentIfFullySelected):
(WebCore::Frame::userGestureHint):
(WebCore::Frame::canCachePage):
(WebCore::Frame::updatePolicyBaseURL):
(WebCore::Frame::setPolicyBaseURL):
(WebCore::Frame::tree):
(WebCore::Frame::frameDetached):
(WebCore::Frame::updateBaseURLForEmptyDocument):
* page/Frame.h:
* page/FramePrivate.h:
* page/FrameTree.cpp: Added.
(WebCore::FrameTree::~FrameTree):
(WebCore::FrameTree::setName):
(WebCore::FrameTree::appendChild):
(WebCore::FrameTree::removeChild):
* page/FrameTree.h: Added.
(WebCore::FrameTree::FrameTree):
* page/FrameTreeNode.cpp: Removed.
* page/FrameTreeNode.h: Removed.
* rendering/render_frames.cpp:
(WebCore::isURLAllowed):
2006-02-12 Dave Hyatt <hyatt@apple.com>
Fix for bug 7182, animated GIFs don't clear previous animation
frames. This checkin fixes the decoders in our tree (used on
Win32 only). It does not address the problem with ImageIO
on Mac (which has the same bug). This has been filed separately
as Radar bug #4442031.
Reviewed by mjs
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::rect):
(WebCore::RGBA32Buffer::setRect):
(WebCore::RGBA32Buffer::ensureHeight):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::initFrameBuffer):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
2006-02-11 Geoffrey Garen <ggaren@apple.com>
- Fixed bad free resulting from 0 legnth StringImpl
No test case because currently this bug only has the effect of a bad
free on exit().
* platform/StringImpl.cpp:
(WebCore::StringImpl::StringImpl): Factored varied approaches to
initialization into two common routines: initWithChar and
initWithQChar. The common rule is: if we're not going to allocate
a string, make sure to set s to 0 so fastFree doesn't try to free it
later. For speed, initWithQChar uses memcpy() -- that's the only
difference between the two.
(WebCore::StringImpl::initWithChar):
(WebCore::StringImpl::initWithQChar):
* platform/StringImpl.h:
2006-02-11 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- split dom_textimpl.{h,cpp} by class.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
* bridge/mac/MacFrame.mm:
* dom/CDATASectionImpl.cpp: Added.
* dom/CDATASectionImpl.h: Added.
* dom/CharacterDataImpl.cpp: Added.
* dom/CharacterDataImpl.h: Added.
* dom/CommentImpl.cpp: Added.
* dom/CommentImpl.h: Added.
* dom/DocumentImpl.cpp:
* dom/EditingTextImpl.cpp: Added.
* dom/EditingTextImpl.h: Added.
* dom/NodeImpl.cpp:
* dom/TextImpl.cpp: Added.
* dom/TextImpl.h: Added.
* dom/dom2_rangeimpl.cpp:
* dom/dom_elementimpl.cpp:
* dom/dom_textimpl.cpp: Removed.
* dom/dom_textimpl.h: Removed.
* dom/xml_tokenizer.cpp:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/editing/SelectionController.cpp:
* khtml/editing/apply_style_command.cpp:
* khtml/editing/break_blockquote_command.cpp:
* khtml/editing/composite_edit_command.cpp:
* khtml/editing/delete_from_text_node_command.cpp:
* khtml/editing/delete_selection_command.cpp:
* khtml/editing/htmlediting.cpp:
* khtml/editing/insert_into_text_node_command.cpp:
* khtml/editing/insert_line_break_command.cpp:
* khtml/editing/insert_paragraph_separator_command.cpp:
* khtml/editing/insert_text_command.cpp:
* khtml/editing/join_text_nodes_command.cpp:
* khtml/editing/markup.cpp:
* khtml/editing/rebalance_whitespace_command.cpp:
* khtml/editing/replace_selection_command.cpp:
* khtml/editing/split_text_node_command.cpp:
* khtml/editing/split_text_node_containing_element.cpp:
* khtml/editing/visible_position.cpp:
* khtml/html/HTMLElementImpl.cpp:
* khtml/html/HTMLKeygenElementImpl.cpp:
* khtml/html/HTMLOptionElementImpl.cpp:
* khtml/html/HTMLTextAreaElementImpl.cpp:
* khtml/html/html_headimpl.cpp:
* khtml/html/html_objectimpl.cpp:
* khtml/html/htmlparser.cpp:
* khtml/xsl/xslt_processorimpl.cpp:
* page/Frame.cpp:
* rendering/RenderText.h:
* rendering/render_frames.cpp:
2006-02-11 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel.
- Fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
Implement support for "em" and "ex" relative lengths.
- Layout tests changes:
Fixed: svg/W3C-SVG-1.1/coords-units-03-b.svg
New: svg/custom/coords-relative-units-transforms.svg
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::SVGLengthImpl):
(SVGLengthImpl::value):
(SVGLengthImpl::updateValue):
(SVGLengthImpl::updateValueInSpecifiedUnits):
* ksvg2/svg/SVGLengthImpl.h:
2006-02-11 Darin Adler <darin@apple.com>
Rubber-stamped by Eric.
- renamed all the platform/mac files to have a Mac suffix
(Hyatt and I discussed this change recently)
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/Color.mm: Removed.
* platform/mac/ColorMac.mm: Added.
* platform/mac/FloatPoint.mm: Removed.
* platform/mac/FloatPointMac.mm: Added.
* platform/mac/FloatRect.mm: Removed.
* platform/mac/FloatRectMac.mm: Added.
* platform/mac/FloatSize.mm: Removed.
* platform/mac/FloatSizeMac.mm: Added.
* platform/mac/Image.mm: Removed.
* platform/mac/ImageMac.mm: Added.
* platform/mac/ImageSource.cpp: Removed.
* platform/mac/ImageSourceMac.cpp: Added.
* platform/mac/IntPoint.mm: Removed.
* platform/mac/IntPointMac.mm: Added.
* platform/mac/IntRect.mm: Removed.
* platform/mac/IntRectMac.mm: Added.
* platform/mac/IntSize.mm: Removed.
* platform/mac/IntSizeMac.mm: Added.
* platform/mac/QString.mm: Removed.
* platform/mac/QStringMac.mm: Added.
* platform/mac/Screen.mm: Removed.
* platform/mac/ScreenMac.mm: Added.
* platform/mac/SystemTime.cpp: Removed.
* platform/mac/SystemTimeMac.cpp: Added.
* platform/mac/Timer.cpp: Removed.
* platform/mac/TimerMac.cpp: Added.
2006-02-11 Eric Seidel <eseidel@apple.com>
Rubber-stamped by darin.
Push kcanvas into WebCore namespace.
Fix KSVG2 to use WebCore namespace.
Remove all uses of khtml:: and KDOM:: from SVG code.
Too many files changed to bother showing here.
2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/table/edge-offsets.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7054
Vertical scroll bars do not appear or do not scroll completely
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::lowestPosition): Override the superclass implementation
to return the lowest of all the cells' lowest positions and the section's.
(WebCore::RenderTableSection::rightmostPosition): Ditto for rightmost.
(WebCore::RenderTableSection::leftmostPosition): Ditto for leftmost.
* rendering/RenderTableSection.h:
2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
No test until we figure out how to make one.
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7189
XSLT result parsing stops prematurely
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource): Removed the call to setParsing(false) from here
since it stopped parsing prematurely. Now the frame will call it when the tokenizer is finished.
* page/Frame.cpp:
(WebCore::Frame::clear): Disconnect the finishedParsing signal handler from the document.
(WebCore::Frame::setDocument): Disconnect the signal handler from the old document and
connect it to the new document.
2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6821
Fix for 5983 will not always update hover correctly.
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::hoveredNodeDetached): Added this method. Moved the hover logic from
NodeImpl::detach here, modified to use the DOM tree instead of hoverAncestor,
to handle the case that the hover node is a text node, and to schedule an update
of hover state.
(WebCore::DocumentImpl::activeChainNodeDetached): Added this method to trim the
active chain above the node being detached.
* khtml/xml/DocumentImpl.h:
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::detach): Moved most of the hover logic out of here into
DocumentImpl. Reset m_active and m_inActiveChain and call activeChainNodeDetached
when detaching an active node.
* manual-tests/bugzilla-6821.html: Added.
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Added hover-state update timer.
(WebCore::FrameViewPrivate::reset):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::viewportMouseMoveEvent):
(WebCore::FrameView::hoverTimerFired): Call DocumentImpl::prepareMouseEvent
when the timer fires to cause hover state to update.
(WebCore::FrameView::scheduleHoverStateUpdate): Added.
* page/FrameView.h:
2006-02-11 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3400
setting the .src of an iframe to the same value does not reload page
Test cases:
* fast/frames/frame-set-same-location.html
* fast/frames/frame-set-same-src.html
* fast/frames/iframe-set-same-location.html
* fast/frames/iframe-set-same-src.html
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::setLocation):
Remove the check for the new URL being different from the current one.
Moved updateForNewURL() code into setLocation().
* khtml/html/html_baseimpl.h:
2006-02-10 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Adding support for external entity declarations in XSLT.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7184
<rdar://problem/4271696> support external DTD references in XSLT
* dom/xml_tokenizer.cpp:
(WebCore::OffsetBuffer::OffsetBuffer): new support class
(WebCore::OffsetBuffer::readOutBytes): read method
(WebCore::shouldAllowExternalLoad): for preventing common urls
(WebCore::openFunc): now does a synchronous data load
(WebCore::readFunc): returns data from the offset buffer
(WebCore::closeFunc): deletes offset buffer
(WebCore::setLoaderForLibXMLCallbacks): helper function
(WebCore::createQStringParser): cleanup
(WebCore::XMLTokenizer::finish):
* dom/xml_tokenizer.h:
* khtml/xsl/xsl_stylesheetimpl.cpp:
(WebCore::XSLStyleSheetImpl::parseString):
* khtml/xsl/xsl_stylesheetimpl.h:
2006-02-10 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt
Fix for <rdar://problem/4149655> Frequently reported crash, repro
at lastminute.se in khtml::RenderBlock::createLineBoxes
Some crazy combination of an anonymous table, an inline form, and
generated content caused table objects to be added to a flow and
then split. This is very bad. Once the crash was fixed, there were
still some rendering issues that this patch also fixes. We needed
to make sure we only special case forms for non-CSS tables so that
the form and generated content render as expected.
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::appendChildNode): Assert that if we are
a block flow, our child cannot be a table object.
(WebCore::RenderContainer::insertChildNode): Same.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): Only special-case forms if we are
not a CSS table.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild): Same.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild): Same.
* rendering/render_inline.cpp:
(WebCore::RenderInline::addChildToFlow): Here is the crash fix. Check to make sure our containing block is a block flow.
2006-02-10 Darin Adler <darin@apple.com>
- fixed the build, this time for sure
* bindings/js/JSDOMCore.cpp: Touch this file, since the project doesn't get
the dependencies right.
* bindings/js/JSDOMEvents.cpp: Ditto.
* bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): Fix an uninitialized
variable warning and also tightened the code for Boolean, String, and Number
up a bit.
2006-02-10 Geoffrey Garen <ggaren@apple.com>
Reviewed by eric.
- Fixed build.
* bridge/mac/WebCoreFrameBridge.mm:
* khtml/ecma/kjs_binding.h:
(KJS::DOMFunction::toPrimitive):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::toPrimitive):
(KJS::DOMNodeList::toPrimitive):
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_window.cpp:
(KJS::Location::toPrimitive):
(KJS::Selection::toPrimitive):
* khtml/ecma/kjs_window.h:
2006-02-09 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- <rdar://problem/4430614> RenderThemeMac crashes under GC
* rendering/render_theme_mac.mm:
(WebCore::RenderThemeMac::RenderThemeMac): Initialize all the pointers.
(WebCore::RenderThemeMac::setCheckboxCellState): Use KWQRetainNSRelease so
we can retain a pointer to an ObjC object in a C++ class.
(WebCore::RenderThemeMac::setRadioCellState): Ditto.
(WebCore::RenderThemeMac::setButtonCellState): Ditto.
(WebCore::RenderThemeMac::setTextFieldCellState): Ditto.
* kwq/KWQResourceLoader.h: Remove unneeded forward declaration.
2006-02-09 Darin Adler <darin@apple.com>
Reviewed by Eric and Geoff.
- changed basic DOM mutation calls to assert that "this"
is not floating, then added more uses of RefPtr to prevent the
assertion from firing (at least during my testing and layout tests)
- removed use of PassRefPtr as the type of a local variable; after talking
with Maciej and Eric, this type of use is now "deprecated"
* bindings/js/JSDOMCore.cpp: Touched this file to get things to build.
* bindings/objc/DOM.mm:
(-[DOMRange extractContents]):
(-[DOMRange cloneContents]):
(-[DOMRange cloneRange]):
* khtml/ecma/kjs_range.cpp:
(KJS::DOMRange::getValueProperty):
(KJS::DOMRangeProtoFunc::callAsFunction):
* khtml/editing/Selection.cpp:
(WebCore::Selection::toRange):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
* dom/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::insertBefore):
(WebCore::ContainerNodeImpl::replaceChild):
(WebCore::ContainerNodeImpl::removeChild):
(WebCore::ContainerNodeImpl::appendChild):
* dom/DocPtr.h: Removed uses of NULL and unused deprecated functions.
* dom/dom2_rangeimpl.h:
* dom/dom2_rangeimpl.cpp:
(WebCore::RangeImpl::RangeImpl):
(WebCore::RangeImpl::startContainer):
(WebCore::RangeImpl::endContainer):
(WebCore::RangeImpl::commonAncestorContainer):
(WebCore::RangeImpl::setStart):
(WebCore::RangeImpl::setEnd):
(WebCore::RangeImpl::collapse):
(WebCore::RangeImpl::compareBoundaryPoints):
(WebCore::RangeImpl::boundaryPointsValid):
(WebCore::RangeImpl::processContents):
(WebCore::RangeImpl::extractContents):
(WebCore::RangeImpl::cloneContents):
(WebCore::RangeImpl::insertNode):
(WebCore::RangeImpl::createContextualFragment):
(WebCore::RangeImpl::detach):
(WebCore::RangeImpl::cloneRange):
(WebCore::RangeImpl::selectNodeContents):
(WebCore::RangeImpl::surroundContents):
(WebCore::RangeImpl::containedByReadOnly):
(WebCore::RangeImpl::startPosition):
(WebCore::RangeImpl::endPosition):
(WebCore::RangeImpl::startNode):
(WebCore::RangeImpl::editingStartPosition):
(WebCore::rangeOfContents):
* dom/dom_elementimpl.h:
* dom/dom_elementimpl.cpp:
(WebCore::AttrImpl::AttrImpl):
(WebCore::AttrImpl::~AttrImpl):
(WebCore::AttrImpl::setValue):
(WebCore::AttrImpl::childTypeAllowed):
(WebCore::AttrImpl::childrenChanged):
(WebCore::ElementImpl::removeAttributeNode):
(WebCore::NamedAttrMapImpl::clearAttributes):
(WebCore::CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
(WebCore::MappedAttributeImpl::clone):
* dom/DocumentFragmentImpl.cpp:
(DOM::DocumentFragmentImpl::cloneNode):
* dom/dom_xmlimpl.cpp:
(WebCore::EntityReferenceImpl::cloneNode):
(WebCore::ProcessingInstructionImpl::ProcessingInstructionImpl):
(WebCore::ProcessingInstructionImpl::checkStyleSheet):
(WebCore::ProcessingInstructionImpl::setStyleSheet):
* dom/dom_position.cpp:
* khtml/editing/break_blockquote_command.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* khtml/editing/composite_edit_command.cpp:
(WebCore::CompositeEditCommand::appendBlockPlaceholder):
(WebCore::CompositeEditCommand::insertBlockPlaceholder):
(WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
(WebCore::createBlockPlaceholderElement):
* khtml/editing/delete_selection_command.cpp:
(WebCore::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
(WebCore::DeleteSelectionCommand::moveNodesAfterNode):
* khtml/editing/html_interchange.cpp:
* khtml/editing/htmlediting.cpp:
(WebCore::rebalanceWhitespaceInTextNode):
(WebCore::nonBreakingSpaceString):
(WebCore::createDefaultParagraphElement):
(WebCore::createBreakElement):
(WebCore::createTabSpanElement):
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/insert_paragraph_separator_command.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* khtml/editing/insert_paragraph_separator_command.h:
* khtml/editing/insert_text_command.cpp:
(khtml::InsertTextCommand::insertTab):
* khtml/editing/markup.cpp:
(khtml::createFragmentFromMarkup):
(khtml::createParagraphContentsFromString):
(khtml::createFragmentFromText):
(khtml::createFragmentFromNodeList):
* khtml/editing/rebalance_whitespace_command.cpp:
* khtml/editing/replace_selection_command.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplaceSelectionCommand::doApply):
* khtml/editing/visible_text.cpp:
(khtml::CharacterIterator::range):
(khtml::findPlainText):
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::cloneNode):
* khtml/html/htmlparser.cpp:
(HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
* ksvg2/svg/SVGTransformableImpl.cpp:
(SVGTransformableImpl::parseTransformAttribute):
* ksvg2/svg/SVGUseElementImpl.cpp:
(SVGUseElementImpl::closeRenderer):
2006-02-09 Alexander Kellett <lypanov@kde.org>
Reviewed and landed by Maciej.
Factor out common parts of Linear/Radial GradientQuartz
up into KRenderingPaintServerGradientQuartz.
Cleanup only, no layout tests needed or affected.
* kcanvas/device/KRenderingPaintServer.h:
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
(KRenderingPaintServerGradientQuartz::draw):
(KRenderingPaintServerGradientQuartz::setup):
(KRenderingPaintServerGradientQuartz::renderPath):
(KRenderingPaintServerGradientQuartz::teardown):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
(KRenderingPaintServerLinearGradientQuartz::draw):
(KRenderingPaintServerLinearGradientQuartz::setup):
(KRenderingPaintServerLinearGradientQuartz::teardown):
(KRenderingPaintServerLinearGradientQuartz::renderPath):
(KRenderingPaintServerRadialGradientQuartz::draw):
(KRenderingPaintServerRadialGradientQuartz::setup):
(KRenderingPaintServerRadialGradientQuartz::teardown):
(KRenderingPaintServerRadialGradientQuartz::renderPath):
2006-02-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Hyatt.
- various Frame cleanup:
Make Frame-related classes Noncopyable.
Remove nearly all of Frame's friends.
Remove some unused stuff.
Remove unneeded class forward declarations from Frame.h
* page/Frame.cpp:
* page/Frame.h:
* page/FrameTreeNode.h:
(WebCore::FrameTreeNode::FrameTreeNode):
(WebCore::FrameTreeNode::name):
(WebCore::FrameTreeNode::parent):
(WebCore::FrameTreeNode::setParent):
(WebCore::FrameTreeNode::nextSibling):
(WebCore::FrameTreeNode::previousSibling):
(WebCore::FrameTreeNode::firstChild):
(WebCore::FrameTreeNode::lastChild):
(WebCore::FrameTreeNode::childCount):
* page/FrameView.cpp:
(WebCore::FrameView::viewportMouseMoveEvent):
* page/Page.h:
(WebCore::Page::mainFrame):
* page/Plugin.h:
(WebCore::Plugin::Plugin):
(WebCore::Plugin::view):
2006-02-09 Dave Hyatt <hyatt@apple.com
Minor image cleanup. Move some variables that all the
image decoders have in common up into the base class.
Stub out the boring parts of the JPEG decoder also, so that
the patch that does the decoding will be all meat. :)
Reviewed by mjs
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::m_failed):
(WebCore::ImageDecoder::size):
(WebCore::ImageDecoder::failed):
(WebCore::ImageDecoder::setFailed):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::~GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::isSizeAvailable):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::frameBufferAtIndex):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Added.
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::~JPEGImageReader):
(WebCore::JPEGImageReader::close):
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::~JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::isSizeAvailable):
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::PNGImageDecoder):
* platform/image-decoders/png/PNGImageDecoder.h:
2006-02-09 Maciej Stachowiak <mjs@apple.com>
Rubber-stamped by Hyatt.
- moved khtml/xml to dom
* dom: moved from khtml/xml
* WebCore.xcodeproj/project.pbxproj: Updated for new file locations.
* WebCore+SVG/KDOMHeaders.h: Updated for new header locations.
* dom/dom2_rangeimpl.cpp: ditto
* dom/dom2_traversalimpl.cpp: ditto
* dom/dom_textimpl.cpp: ditto
* dom/dom_xmlimpl.cpp: ditto
* khtml/dom/dom2_events.cpp: ditto
* khtml/ecma/kjs_binding.cpp: ditto
* khtml/ecma/kjs_dom.cpp: ditto
* khtml/ecma/kjs_events.cpp: ditto
* khtml/ecma/kjs_html.cpp: ditto
* khtml/ecma/kjs_range.cpp: ditto
* khtml/ecma/kjs_views.cpp: ditto
* khtml/editing/Selection.cpp: ditto
* khtml/editing/SelectionController.cpp: ditto
* khtml/editing/delete_from_text_node_command.cpp: ditto
* khtml/editing/edit_command.cpp: ditto
* khtml/editing/insert_into_text_node_command.cpp: ditto
* khtml/editing/insert_line_break_command.cpp: ditto
* khtml/editing/insert_paragraph_separator_command.cpp: ditto
* khtml/editing/insert_text_command.cpp: ditto
* khtml/editing/join_text_nodes_command.cpp: ditto
* khtml/editing/markup.cpp: ditto
* khtml/editing/merge_identical_elements_command.cpp: ditto
* khtml/editing/rebalance_whitespace_command.cpp: ditto
* khtml/editing/remove_node_attribute_command.cpp: ditto
* khtml/editing/set_node_attribute_command.cpp: ditto
* khtml/editing/split_element_command.cpp: ditto
* khtml/editing/split_text_node_command.cpp: ditto
* khtml/editing/split_text_node_containing_element.cpp: ditto
* khtml/editing/visible_position.cpp: ditto
* khtml/editing/visible_position.h: ditto
* khtml/editing/visible_text.cpp: ditto
* khtml/editing/visible_text.h: ditto
* khtml/editing/visible_units.cpp: ditto
* khtml/editing/wrap_contents_in_dummy_span_command.cpp: ditto
* khtml/html/HTMLElementImpl.h: ditto
* khtml/html/html_documentimpl.cpp: ditto
* khtml/html/html_headimpl.cpp: ditto
* khtml/xbl/xbl_binding_manager.cpp: ditto
* khtml/xbl/xbl_tokenizer.cpp: ditto
* khtml/xbl/xbl_tokenizer.h: ditto
* ksvg2/svg/SVGAElementImpl.cpp: ditto
* rendering/InlineTextBox.cpp: ditto
* rendering/RenderContainer.cpp: ditto
* rendering/RenderText.h: ditto
* rendering/RenderTextField.cpp: ditto
* rendering/render_frames.cpp: ditto
* rendering/render_layer.cpp: ditto
2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/block/positioning/window-height-change.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5813
positioned blocks don't update when resizing the window vertically
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): Always relayout positioned children of
the root, since their positions may depend on the viewport's height which
may have changed.
* rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::layoutBlock): Ditto.
2006-02-08 Dave Hyatt <hyatt@apple.com>
Add support for tiling of backgrounds using Cairo.
Reviewed by darin
* Image Viewer/ImageView.cpp:
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::tileInRect):
2006-02-08 Boris Daljevic <boris@backbase.com>
Reviewed and tweaked by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6648
Safari strips namespace prefix when using setAttribute(), but should treat it as part of name
Test: fast/dom/Element/setAttribute-with-colon.html
* khtml/xml/dom_elementimpl.h: (ElementImpl::setAttribute): Removed body
* khtml/xml/dom_elementimpl.cpp: (ElementImpl::setAttribute): Changed code so that
attribute is not parsed into prefix and local name.
2006-02-08 Justin Garcia <justin.garcia@apple.com>
Original patch by Graham Dennis, reviewed by me
Changes made by me, reviewed by thatcher
<http://bugzilla.opendarwin.org/show_bug.cgi?id=3982>
webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::didBeginEditing):
(WebCore::MacFrame::didEndEditing):
* bridge/mac/WebCoreFrameBridge.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::didBeginEditing):
(WebCore::DocumentImpl::didEndEditing):
(WebCore::DocumentImpl::setFocusNode):
* khtml/xml/DocumentImpl.h:
* khtml/xml/dom_elementimpl.cpp:
(WebCore::ElementImpl::focus):
* page/Frame.h:
(WebCore::Frame::didBeginEditing):
(WebCore::Frame::didEndEditing):
2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/block/positioning/relayout-on-position-change.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7095
Removing positioning from an element does not relayout properly
* rendering/render_object.cpp:
(WebCore::RenderObject::setStyle): The second call to setNeedsLayoutAndMinMaxRecalc
did not mark containing blocks for relayout based on the new position value since
the object itself was already marked as needing layout. Changed the first call to
only mark the containing blocks (based on the old position value) and not the
object itself.
2006-02-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
RenderPath refactoring:
- Rename the files to RenderPath
- Push the portable code from KCanvasItemQuartz down to RenderPath
- Move most of the unportable code from KCanvasItemQuartz to KCanvasPathQuartz
The only thing left in KCanvasItemQuartz is marker support. That should be factored to separate
iterating the path elements (KCanvasPathQuartz needs to provide that) and drawing the markers
(which should be done in portable code).
* ForwardingHeaders/kcanvas/RenderPath.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasItem.cpp: Removed.
* kcanvas/KCanvasItem.h: Removed.
* kcanvas/KCanvasPath.h:
* kcanvas/RenderPath.cpp: Added.
(RenderPath::mapAbsolutePointToLocal):
(RenderPath::fillContains):
(RenderPath::strokeContains):
(RenderPath::strokeBBox):
(RenderPath::relativeBBox):
(RenderPath::setPath):
(RenderPath::layout):
(RenderPath::getAbsoluteRepaintRect):
(RenderPath::requiresLayer):
(RenderPath::lineHeight):
(RenderPath::baselinePosition):
(RenderPath::paint):
(RenderPath::nodeAtPoint):
* kcanvas/RenderPath.h: Added.
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
* kcanvas/device/quartz/KCanvasPathQuartz.h:
* kcanvas/device/quartz/KCanvasPathQuartz.mm:
(KCanvasPathQuartz::boundingBox):
(scratchContext):
(KCanvasPathQuartz::strokeBoundingBox):
(pathContainsPoint):
(KCanvasPathQuartz::containsPoint):
(KCanvasPathQuartz::strokeContainsPoint):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceQuartz::createItem):
* kcanvas/device/quartz/QuartzSupport.h:
* kcanvas/device/quartz/QuartzSupport.mm:
(applyStrokeStyleToContext):
* ksvg2/svg/SVGStyledElementImpl.cpp:
(SVGStyledElementImpl::updateCanvasItem):
(SVGStyledElementImpl::pushAttributeContext):
* ksvg2/svg/SVGStyledLocatableElementImpl.cpp:
* ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
* kwq/KWQRenderTreeDebug.cpp:
2006-02-08 Adele Peterson <adele@apple.com>
Fix broken layout tests.
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchGenericEvent): iterator is null, so we have to reset it to the first node in the chain.
2006-02-08 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- Fixed <rdar://problem/4325160>
REGRESSION(416.12-420+): window events not stopped by stopPropagation (affects macnn forums)
Tests:
* fast/events/window-events-bubble.html
* fast/events/window-events-bubble2.html
* fast/events/window-events-capture.html
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::handleWindowEvent): Added to send events directly to the window. This code used to be in defaultEventHandler, but that wasn't sending them at the right time.
(WebCore::DocumentImpl::defaultEventHandler): Moved code to send window events to handleWindowEvent.
* khtml/xml/DocumentImpl.h: Added handleWindowEvent.
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchGenericEvent): fire window events in capture and bubble phases.
(WebCore::NodeImpl::dispatchWindowEvent): call handleWindowEvent.
2006-02-08 Anders Carlsson <andersca@mac.com>
Rubber stamped by Maciej.
Move JSCore.cpp to bindings/js/JSDOMCore.cpp and
rename JSEvents.cpp to JSDOMEvents.cpp
* JSCore.cpp: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMCore.cpp: Added.
* bindings/js/JSDOMEvents.cpp: Added.
* bindings/js/JSEvents.cpp: Removed.
2006-02-08 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7108
Autogenerate most of Element
* JSCore.cpp:
Add JSElement.cpp.
* bindings/scripts/CodeGeneratorJS.pm:
Handle a bunch of new types.
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMElement::getValueProperty):
(KJS::DOMElementProtoFunc::callAsFunction):
Remove code that is autogenerated now.
(KJS::getDOMNode):
Create a JSElement instead of a DOMElement.
(KJS::getDOMNodeList):
Take a PassRefPtr like some of the other get methods.
* khtml/ecma/kjs_dom.h:
(KJS::DOMElement::):
Remove the now unused enums.
* khtml/ecma/kjs_html.cpp:
(KJS::):
(KJS::HTMLElement::HTMLElement):
(KJS::HTMLElement::getOwnPropertySlot):
(KJS::KJS::HTMLElement::toString):
(KJS::KJS::HTMLElement::put):
* khtml/ecma/kjs_html.h:
Have HTMLElement inherit from JSElement.
* khtml/xml/Element.idl: Added.
2006-02-08 Dave Hyatt <hyatt@apple.com>
Make the Cairo image surface only reflect the portion of
the image that has been decoded so far. That way we don't
have to zero fill our RGBA32 buffers, and we avoid painting
the empty portion.
Reviewed by timo
* Viewer/ImageView.cpp:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/cairo/ImageSourceCairo.cpp:
(WebCore::createDecoder):
(WebCore::ImageSource::createFrameAtIndex):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::RGBA32Buffer):
(WebCore::RGBA32Buffer::height):
(WebCore::RGBA32Buffer::ensureHeight):
(WebCore::RGBA32Buffer::setStatus):
(WebCore::RGBA32Buffer::setDuration):
(WebCore::RGBA32Buffer::setIncludeInNextFrame):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
2006-02-08 Dave Hyatt <hyatt@apple.com>
Implement support for PNGs on Win32. Includes support for
interlacing and transparency.
Also optimized the GIF loop that sets the RGBA values to
increment the pointer through the loop instead of doing multiplies
and adds from the base every time.
Reviewed by mjs
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::setRGBA):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageReader::PNGImageReader):
(WebCore::PNGImageReader::~PNGImageReader):
(WebCore::PNGImageReader::close):
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageReader::decodingSizeOnly):
(WebCore::PNGImageReader::pngPtr):
(WebCore::PNGImageReader::infoPtr):
(WebCore::PNGImageReader::interlaceBuffer):
(WebCore::PNGImageReader::hasAlpha):
(WebCore::PNGImageReader::setReadOffset):
(WebCore::PNGImageReader::setHasAlpha):
(WebCore::PNGImageReader::createInterlaceBuffer):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::~PNGImageDecoder):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::isSizeAvailable):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::decode):
(WebCore::decodingFailed):
(WebCore::decodingWarning):
(WebCore::headerAvailable):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::rowAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::pngComplete):
(WebCore::PNGImageDecoder::pngComplete):
* platform/image-decoders/png/PNGImageDecoder.h:
(WebCore::PNGImageDecoder::setFailed):
(WebCore::PNGImageDecoder::reader):
(WebCore::PNGImageDecoder::decodingFailed):
* platform/image-decoders/png/mozpngconf.h:
2006-02-07 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Hyatt.
- move kwq/KWQString.mm to platform/QString.cpp, split out nonportable parts, speculative
port of one remaining nonportable bit to windows.
* ForwardingHeaders/qstring.h:
* WebCore+SVG/KDOMSettings.h:
* WebCore+SVG/kdom.h:
* WebCore.xcodeproj/project.pbxproj:
* css/cssparser.h:
* css/cssstyleselector.cpp:
* kcanvas/KCanvasResources.h:
* kcanvas/KCanvasTreeDebug.h:
* khtml/ecma/kjs_window.h:
* khtml/editing/html_interchange.cpp:
* khtml/editing/visible_position.h:
* khtml/editing/visible_text.h:
* khtml/editing/visible_units.cpp:
* khtml/html/FormDataList.h:
* khtml/html/html_objectimpl.cpp:
* khtml/html/htmltokenizer.h:
* khtml/misc/decoder.h:
* khtml/misc/formdata.h:
* khtml/xbl/xbl_protohandler.cpp:
* khtml/xml/dom_position.cpp:
* khtml/xsl/xslt_processorimpl.h:
* ksvg2/svg/SVGHelper.h:
* ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
* ksvg2/svg/SVGStyleElementImpl.cpp:
* ksvg2/svg/SVGURIReferenceImpl.h:
* ksvg2/svg/svgpathparser.cpp:
* kwq/KWQAccObjectCache.mm:
* kwq/KWQBuffer.h:
* kwq/KWQEvent.h:
* kwq/KWQFont.mm:
* kwq/KWQFontFamily.h:
* kwq/KWQFontMetrics.h:
* kwq/KWQKConfigBase.h:
* kwq/KWQKDebug.h:
* kwq/KWQKHTMLSettings.h:
* kwq/KWQKJobClasses.h:
* kwq/KWQKJobClasses.mm:
* kwq/KWQKLocale.mm:
* kwq/KWQKSSLKeyGen.mm:
* kwq/KWQKURL.h:
* kwq/KWQLineEdit.h:
* kwq/KWQRegExp.h:
* kwq/KWQRenderTreeDebug.h:
* kwq/KWQString.h: Removed.
* kwq/KWQString.mm: Removed.
* kwq/KWQStringList.h:
* kwq/KWQTextCodec.h:
* kwq/KWQTextStream.h:
* kwq/KWQTextUtilities.mm:
* kwq/WebCoreScriptDebugger.mm:
* loader/Cache.h:
* platform/Color.cpp:
* platform/Color.h:
* platform/QString.cpp: Added.
(allocateHandle):
(KWQStringData::KWQStringData):
(QString::QString):
(QString::insert):
(QString::detach):
(QString::remove):
(QString::setLength):
(QString::fill):
(initializeHandleNodeBlock):
(allocateNode):
(freeHandle):
* platform/QString.h: Added.
* platform/SegmentedString.h:
* platform/StringImpl.h:
* platform/mac/Image.mm:
* platform/mac/QString.mm: Added.
(QString::setBufferFromCFString):
(QString::fromCFString):
(QString::fromNSString):
(QString::getNSString):
(QString::utf8):
(QString::fromUtf8):
* rendering/bidi.h:
* rendering/break_lines.cpp:
2006-02-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Adele.
- remove all remains of old-style frame tree, ChildFrame, ObjectContents and FrameList are all gone
* WebCore.xcodeproj/project.pbxproj:
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* khtml/ecma/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::Window::indexGetter):
(KJS::Window::getOwnPropertySlot):
(KJS::WindowFunc::callAsFunction):
(KJS::FrameArray::getValueProperty):
(KJS::FrameArray::indexGetter):
(KJS::FrameArray::nameGetter):
(KJS::FrameArray::getOwnPropertySlot):
* kwq/KWQFrame.mm:
(QFrame::setFrameStyle):
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::stopLoading):
(WebCore::Frame::clear):
(WebCore::Frame::stopAnimations):
(WebCore::Frame::checkCompleted):
(WebCore::Frame::checkEmitLoadEvent):
(WebCore::Frame::requestFrame):
(WebCore::Frame::requestObject):
(WebCore::Frame::loadSubframe):
(WebCore::Frame::findFrame):
(WebCore::Frame::frameExists):
(WebCore::Frame::setZoomFactor):
(WebCore::Frame::frameNames):
(WebCore::Frame::frames):
(WebCore::Frame::childFrameNamed):
(WebCore::Frame::slotPartRemoved):
(WebCore::Frame::connectChild):
(WebCore::Frame::disconnectChild):
(WebCore::Frame::canCachePage):
(WebCore::Frame::setPolicyBaseURL):
(WebCore::Frame::treeNode):
(WebCore::Frame::frameDetached):
* page/Frame.h:
* page/FramePrivate.h:
* page/FrameTreeNode.h:
(WebCore::FrameTreeNode::name):
(WebCore::FrameTreeNode::parent):
(WebCore::FrameTreeNode::nextSibling):
(WebCore::FrameTreeNode::previousSibling):
(WebCore::FrameTreeNode::firstChild):
(WebCore::FrameTreeNode::lastChild):
(WebCore::FrameTreeNode::childCount):
* page/ObjectContents.h: Removed.
* page/Plugin.h:
(WebCore::Plugin::view):
2006-02-07 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- Fixed <rdar://problem/3727939> Safari strips \0 characters from HTML tags making them valid
Test: fast/encoding/decoder-allow-null-chars.html
* kwq/KWQTextCodec.cpp:
(KWQTextDecoder::convertLatin1): Removed stripping of null characters
(unwanted): ditto.
2006-02-07 David Hyatt <hyatt@apple.com>
Land the skeleton of a PNG decoder for Win32.
Reviewed by Eric
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/cairo/ImageSourceCairo.cpp:
(WebCore::createDecoder):
* platform/image-decoders/png/PNGImageDecoder.cpp: Added.
(WebCore::PNGImageDecoderPrivate::PNGImageDecoderPrivate):
(WebCore::PNGImageDecoderPrivate::~PNGImageDecoderPrivate):
(WebCore::PNGImageDecoderPrivate::decode):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::~PNGImageDecoder):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::isSizeAvailable):
(WebCore::PNGImageDecoder::size):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.h: Added.
2006-02-07 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Removed ImageSubset, making ImageViewer link directly to WebCore.
* Viewer.vcproj:
* WebCore.vcproj/ImageSubset: Removed.
* WebCore.vcproj/ImageSubset/ImageSubset.vcproj: Removed.
* WebCore.vcproj/WebCore.sln:
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-02-07 Geoffrey Garen <ggaren@apple.com>
Reviewed by darin.
- Fixed <rdar://problem/4425269> REGRESSION: wrong size pop-up when
downloading attachment at webmail.mac.com (6882)
The bug was that the feature string parser didn't always initialize the
*Set variables, so WebCore assumed a height was set when it wasn't,
and used a garbage height variable.
While there, I fixed two other bugs: (1) The parser wasn't chewing up
as many characters as I thought it was. (Chewing up extra characters
is necessary to match Win IE.) (2) We considered \t and \f to be
whitespace, but Win IE doesn't.
* manual-tests/window-open-features-parsing.html: Added these cases,
fixed up comments.
* bridge/BrowserExtension.h: Cleaned up declaration order a bit.
* khtml/ecma/kjs_window.cpp:
(KJS::isSeparator): New function, tells you if a character is a
separator
(KJS::parseWindowFeatures): Always initialize *Set to false. Drive
parsing based on invalid characters ('separators') rather than valid
ones, to match Win IE.
2006-02-07 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Timothy.
Convert JavaScript objects to appropriate AppleScript types, instead of only strings
http://bugzilla.opendarwin.org/show_bug.cgi?id=7012
Tests: fast/AppleScript/*
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(aeDescFromJSValue):
(-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
2006-02-07 Dave Hyatt <hyatt@apple.com>
Rename ImageDecoderPlugin to ImageDecoder. Rename
GIFReader to GIFImageReder. Rename GIFDecoderPlugin to
GIFImageDecoder.
Reviewed by mjs
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/cairo/ImageSourceCairo.cpp:
(WebCore::createDecoder):
(WebCore::ImageSource::setData):
* platform/image-decoders/ImageDecoder.h: Added.
(WebCore::ImageDecoder::~ImageDecoder):
* platform/image-decoders/ImageDecoderPlugin.h: Removed.
* platform/image-decoders/gif/GIFDecoderPlugin.cpp: Removed.
* platform/image-decoders/gif/GIFDecoderPlugin.h: Removed.
* platform/image-decoders/gif/GIFImageDecoder.cpp: Added.
(WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate):
(WebCore::GIFImageDecoderPrivate::~GIFImageDecoderPrivate):
(WebCore::GIFImageDecoderPrivate::decode):
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::~GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::isSizeAvailable):
(WebCore::GIFImageDecoder::size):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::frameBufferAtIndex):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::sizeNowAvailable):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
(WebCore::GIFImageDecoder::gifComplete):
* platform/image-decoders/gif/GIFImageDecoder.h: Added.
* platform/image-decoders/gif/GIFImageReader.cpp: Added.
(GIFImageReader::output_row):
(GIFImageReader::do_lzw):
(GIFImageReader::read):
* platform/image-decoders/gif/GIFImageReader.h: Added.
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
* platform/image-decoders/gif/GIFReader.cpp: Removed.
* platform/image-decoders/gif/GIFReader.h: Removed.
2006-02-07 David Hyatt <hyatt@apple.com>
Rename ImageDecoder to ImageSource.
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* platform/Image.cpp:
(WebCore::Image::cacheFrame):
(WebCore::Image::size):
(WebCore::Image::setNativeData):
(WebCore::Image::frameCount):
(WebCore::Image::isSizeAvailable):
* platform/Image.h:
* platform/ImageDecoder.h: Removed.
* platform/ImageSource.h: Added.
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::drawInRect):
* platform/cairo/ImageDecoderCairo.cpp: Removed.
* platform/cairo/ImageSourceCairo.cpp: Added.
(WebCore::createDecoderPlugin):
(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::~ImageSource):
(WebCore::ImageSource::initialized):
(WebCore::ImageSource::setData):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::size):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::frameCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
* platform/mac/Image.mm:
(WebCore::Image::drawInRect):
* platform/mac/ImageData.mm: Removed.
* platform/mac/ImageDecoder.cpp: Removed.
* platform/mac/ImageSource.cpp: Added.
(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::~ImageSource):
(WebCore::ImageSource::initialized):
(WebCore::ImageSource::setData):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::size):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::frameCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
2006-02-07 David Hyatt <hyatt@apple.com>
Combine ImageData and Image (the result ends up in Image).
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(-[DOMElement _image]):
(-[DOMElement _imageTIFFRepresentation]):
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::fileWrapperForElement):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEImageQuartz::getCIFilter):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::drawPattern):
(KJS::_rh):
(KJS::ImagePattern::createPattern):
* kwq/KWQClipboard.mm:
(WebCore::KWQClipboard::dragNSImage):
* kwq/KWQCursor.h:
* kwq/KWQCursor.mm:
(WebCore::createCustomCursor):
(WebCore::QCursor::QCursor):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(WebCore::QPainter::drawImageAtPoint):
(WebCore::QPainter::drawImageInRect):
(WebCore::QPainter::drawImage):
(WebCore::QPainter::drawFloatImage):
(WebCore::QPainter::drawTiledImage):
(WebCore::QPainter::drawScaledAndTiledImage):
* loader/CachedImage.cpp:
(WebCore::CachedImage::image):
* loader/CachedImage.h:
* page/FrameView.cpp:
(WebCore::selectCursor):
* platform/Image.cpp:
(WebCore::Image::Image):
(WebCore::Image::~Image):
(WebCore::Image::invalidateData):
(WebCore::Image::cacheFrame):
(WebCore::Image::isNull):
(WebCore::Image::size):
(WebCore::Image::setData):
(WebCore::Image::setNativeData):
(WebCore::Image::frameCount):
(WebCore::Image::isSizeAvailable):
(WebCore::Image::frameAtIndex):
(WebCore::Image::frameDurationAtIndex):
(WebCore::Image::shouldAnimate):
(WebCore::Image::startAnimation):
(WebCore::Image::stopAnimation):
(WebCore::Image::resetAnimation):
(WebCore::Image::advanceAnimation):
(WebCore::Image::rect):
* platform/Image.h:
(KXMLCore::):
(WebCore::FrameData::m_duration):
(WebCore::FrameData::~FrameData):
(WebCore::Image::currentFrame):
(WebCore::Image::animationObserver):
(WebCore::Image::setIsPDF):
* platform/ImageData.cpp: Removed.
* platform/ImageData.h: Removed.
* platform/cairo/ImageCairo.cpp:
(WebCore::FrameData::clear):
(WebCore::Image::initNativeData):
(WebCore::Image::destroyNativeData):
(WebCore::Image::invalidateNativeData):
(WebCore::Image::drawInRect):
(WebCore::Image::tileInRect):
(WebCore::Image::scaleAndTileInRect):
* platform/mac/Image.mm:
(WebCore::FrameData::clear):
(WebCore::Image::initNativeData):
(WebCore::Image::destroyNativeData):
(WebCore::Image::invalidateNativeData):
(WebCore::Image::loadResource):
(WebCore::Image::supportsType):
(WebCore::Image::checkForSolidColor):
(WebCore::Image::getTIFFRepresentation):
(WebCore::Image::getNSImage):
(WebCore::Image::getCGImageRef):
(WebCore::Image::drawInRect):
(WebCore::drawPattern):
(WebCore::Image::tileInRect):
(WebCore::Image::scaleAndTileInRect):
* rendering/render_image.cpp:
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::resetAnimation):
(WebCore::RenderImage::paint):
(WebCore::RenderImage::nullImage):
* rendering/render_image.h:
(WebCore::RenderImage::image):
* rendering/render_list.cpp:
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::paint):
(RenderListMarker::calcMinMaxWidth):
* rendering/render_object.cpp:
(WebCore::RenderObject::paintBorderImage):
2006-02-06 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
http://bugzilla.opendarwin.org/show_bug.cgi?id=7125
- fixed "onload event never called for iframe element with emtpy or about:blank src"
http://bugzilla.opendarwin.org/show_bug.cgi?id=3609
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::MacFrame): pass along renderer
(WebCore::MacFrame::nextKeyViewInFrameHierarchy): get owner element in newfangled way
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge removeChild:]): don't mess with renderer
(-[WebCoreFrameBridge init]): call new designated initializer
(-[WebCoreFrameBridge initWithRenderer:]): new designated initializer
(-[WebCoreFrameBridge dealloc]): don't mess with renderer
(-[WebCoreFrameBridge finalize]): ditto
(-[WebCoreFrameBridge installInFrame:]): ditto
* page/Frame.cpp:
(WebCore::FrameList::find): get name from frame not ChildFrame
(WebCore::Frame::init): take renderer parameter
(WebCore::Frame::clear): clear m_plugins, not m_objects
(WebCore::Frame::childBegin): updated comment
(WebCore::Frame::stop): add check-completed for documentless case here
(WebCore::Frame::checkCompleted): don't track separate completed flag
in ChildFrame, use the sub Frame object's own
(WebCore::Frame::checkEmitLoadEvent): ditto
(WebCore::Frame::requestFrame): don't store renderer and name in ChildFrame,
instead pass them along
(WebCore::Frame::requestObject): ditto above
(WebCore::Frame::loadPlugin): expect renderer parameter
(WebCore::Frame::loadSubframe): expect renderer and name parameters
(WebCore::Frame::slotChildStarted): don't mess with ChildFrame
(WebCore::Frame::slotChildCompleted): ditto
(WebCore::Frame::childFrame): don't check m_objects
(WebCore::Frame::frameExists): fix spacing, remove obsolete check and comment
(WebCore::Frame::frameNames): get name from frame
(WebCore::Frame::ownerElement): simplify a lot since the Frame knows its owner
renderer now
(WebCore::Frame::ownerRenderer): added
(WebCore::Frame::canCachePage): check m_plugins not m_objects
* page/Frame.h:
* page/FramePrivate.h:
(WebCore::ChildFrame): Remove constructor, most fields.
(WebCore::FramePrivate::FramePrivate): Pass ownerRenderer
* rendering/render_frames.cpp:
(WebCore::RenderPartObject::updateWidget): Make sure to pass name attr
to requestObject.
2006-02-06 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6944
REGRESSION: crash when loading page w/ <link> that has a DOMSubtreeModified event listener
Test: fast/events/event-listener-on-link.html
* khtml/xml/dom_elementimpl.h: Added createAttrImplIfNeeded, removed allocateImpl,
changed AttrImpl contructor to remove createTextChild bool, added createTextChild method,
changed getAttributeNode, getAttributeNodeNS, getNamedItem, getNamedItemNS, and item to return PassRefPtrs.
(DOM::ElementImpl::getAttributeNode):
* khtml/xml/dom_elementimpl.cpp:
(WebCore::AttributeImpl::createAttrImplIfNeeded): New method to replace allocateImpl.
This will use a RefPtr for the AttrImpl, check for an existing AttrImpl, create one if there isn't one,
and will call the new createTextChild.
(WebCore::AttrImpl::AttrImpl): Moved creation of text child to new createTextChild method.
If done in the constructor, the ref count is still 0, and the act of appending the text node
could cause the AttrImpl to be destroyed.
(WebCore::AttrImpl::createTextChild): Moved code from AttrImpl contructor.
Also, I've added an assert to make sure that any callers of this have ref'd the AttrImpl.
(WebCore::AttrImpl::cloneNode): Used RefPtr instead of PassRefPtr, and then called release() on it before returning.
(WebCore::ElementImpl::cloneNode): ditto.
(WebCore::ElementImpl::getAttributeNodeNS): Changed return type to PassRefPtr.
(WebCore::NamedAttrMapImpl::getNamedItemNS): ditto.
(WebCore::NamedAttrMapImpl::getNamedItem): ditto. Changed use of allocateImpl to createAttrImplIfNeeded
(WebCore::NamedAttrMapImpl::setNamedItem): ditto.
(WebCore::NamedAttrMapImpl::removeNamedItem): ditto.
(WebCore::NamedAttrMapImpl::item): ditto.
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::createAttributeNS): Changed return type to PassRefPtr and removed bool from AttrImpl contructor call.
* khtml/xml/DocumentImpl.h: Now returns a PassRefPtr for createAttribute and createAttributeNS.
(WebCore::DocumentImpl::createAttribute):
* khtml/xml/NamedNodeMapImpl.h: Now returns a PassRefPtr for getNamedItem, getNamedItemNS, and item.
(WebCore::NamedNodeMapImpl::getNamedItem):
* bindings/objc/DOM.mm:
(-[DOMNamedNodeMap getNamedItem:]): Call get() since the methods discussed above now return PassRefPtrs.
(-[DOMNamedNodeMap item:]): ditto.
(-[DOMNamedNodeMap getNamedItemNS::]): ditto.
(-[DOMDocument createAttribute:]): ditto.
(-[DOMDocument createAttributeNS::]): ditto.
(-[DOMElement getAttributeNode:]): ditto.
(-[DOMElement getAttributeNodeNS::]): ditto.
2006-02-06 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fixed 7094: onfocus/onblur on non-form-controls bubble
http://bugzilla.opendarwin.org/show_bug.cgi?id=7094
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::parseMappedAttribute): connect onfocus/onblur to
focus/blur, not DOMFocusIn/DOMFocusOut
2006-02-06 Eric Seidel <eseidel@apple.com>
Add svn:ignore properties for visual studio internals.
2006-02-06 Dave Hyatt <hyatt@apple.com>
Commit the image viewer test app, and all the Win32 project
changes to build both it and Cairo.
Reviewed by eric
* Viewer: Added.
* Viewer.aps: Added.
* Viewer.cpp: Added.
* Viewer.h: Added.
* Viewer.ico: Added.
* Viewer.rc: Added.
* Viewer.reg: Added.
* Viewer.vcproj: Added.
* Viewer/ImageDocument.cpp: Added.
* Viewer/ImageDocument.h: Added.
* Viewer/ImageMainFrame.cpp: Added.
* Viewer/ImageMainFrame.h: Added.
* Viewer/ImageView.cpp: Added.
* Viewer/ImageView.h: Added.
* Viewer/Resource.h: Added.
* Viewer/res: Added.
* Viewer/res/ImageViewer.rc2: Added.
* Viewer/res/Toolbar.bmp: Added.
* Viewer/stdafx.cpp: Added.
* Viewer/stdafx.h: Added.
* ViewerDoc.ico: Added.
* WebCore.vcproj/WebCore.sln:
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-02-06 Dave Hyatt <hyatt@apple.com>
Reviewed by darin
* khtml/html/html_imageimpl.h:
(WebCore::HTMLImageElementImpl::compositeOperator):
* loader/CachedImage.cpp:
* platform/Array.h:
* platform/FloatSize.h:
* platform/Image.cpp:
(WebCore::Image::Image):
(WebCore::Image::compositeOperatorFromString):
* platform/Image.h:
* platform/ImageData.cpp:
(WebCore::FrameData::clear):
(WebCore::ImageData::ImageData):
(WebCore::ImageData::frameAtIndex):
* platform/ImageData.h:
* platform/ImageDecoder.h:
* platform/Timer.h:
* platform/cairo/.cvsignore: Added.
* platform/cairo/ImageCairo.cpp: Added.
(WebCore::Image::loadResource):
(WebCore::Image::supportsType):
(WebCore::graphicsContext):
(WebCore::setCompositingOperation):
(WebCore::Image::drawInRect):
(WebCore::Image::tileInRect):
(WebCore::Image::scaleAndTileInRect):
* platform/cairo/ImageDecoderCairo.cpp: Added.
(WebCore::createDecoderPlugin):
(WebCore::ImageDecoder::ImageDecoder):
(WebCore::ImageDecoder::~ImageDecoder):
(WebCore::ImageDecoder::initialized):
(WebCore::ImageDecoder::setData):
(WebCore::ImageDecoder::isSizeAvailable):
(WebCore::ImageDecoder::size):
(WebCore::ImageDecoder::repetitionCount):
(WebCore::ImageDecoder::frameCount):
(WebCore::ImageDecoder::createFrameAtIndex):
(WebCore::ImageDecoder::frameDurationAtIndex):
(WebCore::RGBA32Buffer::setDuration):
(WebCore::RGBA32Buffer::setIncludeInNextFrame):
(WebCore::RGBA32Buffer::bytes):
(WebCore::RGBA32Buffer::status):
(WebCore::RGBA32Buffer::duration):
(WebCore::RGBA32Buffer::includeInNextFrame):
(WebCore::RGBA32Buffer::setRGBA):
(WebCore::ImageDecoderPlugin::~ImageDecoderPlugin):
(WebCore::ImageDecoderPlugin::setData):
(WebCore::ImageDecoderPlugin::frameCount):
(WebCore::ImageDecoderPlugin::repetitionCount):
* platform/image-decoders/gif: Added.
* platform/image-decoders/gif/GIFDecoderPlugin.cpp: Added.
(WebCore::GIFDecoderPluginPrivate::GIFDecoderPluginPrivate):
(WebCore::GIFDecoderPluginPrivate::~GIFDecoderPluginPrivate):
(WebCore::GIFDecoderPluginPrivate::decode):
(WebCore::GIFDecoderPluginPrivate::frameCount):
(WebCore::GIFDecoderPluginPrivate::repetitionCount):
(WebCore::GIFDecoderPluginPrivate::setReadOffset):
(WebCore::GIFDecoderPluginPrivate::isTransparent):
(WebCore::GIFDecoderPluginPrivate::getColorMap):
(WebCore::GIFDecoderPluginPrivate::frameXOffset):
(WebCore::GIFDecoderPluginPrivate::frameYOffset):
(WebCore::GIFDecoderPluginPrivate::transparentPixel):
(WebCore::GIFDecoderPluginPrivate::duration):
(WebCore::GIFDecoderPlugin::GIFDecoderPlugin):
(WebCore::GIFDecoderPlugin::~GIFDecoderPlugin):
(WebCore::GIFDecoderPlugin::setData):
(WebCore::GIFDecoderPlugin::isSizeAvailable):
(WebCore::GIFDecoderPlugin::size):
(WebCore::GIFDecoderPlugin::frameCount):
(WebCore::GIFDecoderPlugin::repetitionCount):
(WebCore::GIFDecoderPlugin::frameBufferAtIndex):
(WebCore::GIFDecoderPlugin::decode):
(WebCore::GIFDecoderPlugin::sizeNowAvailable):
(WebCore::GIFDecoderPlugin::decodingHalted):
(WebCore::GIFDecoderPlugin::haveDecodedRow):
(WebCore::GIFDecoderPlugin::frameComplete):
(WebCore::GIFDecoderPlugin::gifComplete):
* platform/image-decoders/gif/GIFDecoderPlugin.h: Added.
(WebCore::GIFDecoderPlugin::frameDurationAtIndex):
(WebCore::GIFDecoderPlugin::):
* platform/image-decoders/gif/GIFReader.cpp: Added.
(GIFReader::output_row):
(GIFReader::do_lzw):
(GIFReader::read):
* platform/image-decoders/gif/GIFReader.h: Added.
(GIFFrameReader::GIFFrameReader):
(GIFFrameReader::~GIFFrameReader):
(GIFReader::GIFReader):
(GIFReader::~GIFReader):
(GIFReader::close):
* platform/win/ImageDecoderPlugin.h: Added.
(WebCore::RGBA32Buffer::):
(WebCore::RGBA32Buffer::RGBA32Buffer):
(WebCore::RGBA32Buffer::setStatus):
(WebCore::RGBA32Buffer::setDuration):
(WebCore::RGBA32Buffer::setIncludeInNextFrame):
(WebCore::RGBA32Buffer::bytes):
(WebCore::RGBA32Buffer::status):
(WebCore::RGBA32Buffer::duration):
(WebCore::RGBA32Buffer::includeInNextFrame):
(WebCore::RGBA32Buffer::setRGBA):
(WebCore::ImageDecoderPlugin::ImageDecoderPlugin):
(WebCore::ImageDecoderPlugin::~ImageDecoderPlugin):
(WebCore::ImageDecoderPlugin::setData):
(WebCore::ImageDecoderPlugin::isSizeAvailable):
(WebCore::ImageDecoderPlugin::size):
(WebCore::ImageDecoderPlugin::frameCount):
(WebCore::ImageDecoderPlugin::repetitionCount):
(WebCore::ImageDecoderPlugin::frameBufferAtIndex):
* platform/win/TimerWin.cpp: Added.
(WebCore::timerFired):
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::~TimerBase):
(WebCore::TimerBase::start):
(WebCore::TimerBase::startRepeating):
(WebCore::TimerBase::startOneShot):
(WebCore::TimerBase::stop):
(WebCore::TimerBase::isActive):
(WebCore::TimerBase::nextFireInterval):
(WebCore::TimerBase::repeatInterval):
(WebCore::TimerBase::fire):
(WebCore::isDeferringTimers):
(WebCore::setDeferringTimers):
2006-02-06 Vicki Murley <vicki@apple.com>
Reviewed by Darin and Eric.
- fix <rdar://problem/4414918> REGRESSION: images dragged into contenteditable area
end up outside of editable area (6525)
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Moved code from
elementAtPoint to this new method. This method takes a point and returns a NodeInfo
for the deepest node at that point.
(-[WebCoreFrameBridge elementAtPoint:]): Use new nodeInfoAtPoint method.
(-[WebCoreFrameBridge _visiblePositionForPoint:]): Ditto.
2006-02-04 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7071
REGRESSION: Jumping to an anchor identifier makes page scroll horizontally
Test: fast/overflow/scroll-vertical-not-horizontal.html
* rendering/render_layer.cpp: (WebCore::RenderLayer::getRectToExpose):
Fixed rectangle intersections so that the X and Y dimensions are independent,
to fix the bug. Also restructured the function a bit so it's even easier to
read and understand.
2006-02-06 David Harrison <harrison@apple.com>
Suggested by Darin.
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::createContextualFragment):
- make nextChild a RefPtr to survive possible DOM changes
2006-02-06 Beth Dakin <bdakin@apple.com>
Reviewed by John and Adele
Fix for <rdar://problem/4323167> REGRESSION (TOT): Crash in
RenderTable::colToEffCol entering text into text input field
Some of the autofill code assumes that the form's label is in a
table cell, but this is not necessarily the case. This fix checks
that the renderer is actually a table cell before treating it as
such.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::searchForLabelsAboveCell): Check if the
renderer is a table cell.
2006-02-06 Darin Adler <darin@apple.com>
Reviewed by John.
- fix <rdar://problem/4432562> REGRESSION (TOT):
Safari's "stop loading" active, "view source" inactive after page load [7058]
http://bugzilla.opendarwin.org/show_bug.cgi?id=7058
* page/Frame.h: Make redirectionTimerFired virtual.
* bridge/mac/MacFrame.h: Override redirectionTimerFired.
* bridge/mac/MacFrame.mm: (WebCore::MacFrame::redirectionTimerFired):
Send the redirectionTimerCancelled callback here, even though it has
fired rather than being cancelled.
* manual-tests/redirect.html: Added.
* manual-tests/redirection-target.html: Added.
2006-02-06 David Harrison <harrison@apple.com>
Reviewed by John.
Fix TOT regression where Mail.app replies were getting truncated.
Was caused by 1/26/2006 checkin for http://bugzilla.opendarwin.org/show_bug.cgi?id=6754
No layout test because this code cannot be reached via JS operations.
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::createContextualFragment):
- restore code that sampled nextSibling() before node is removed
- also, add asserts that the DOM mutation methods yield a 0 exception code, so problems
can be caught closer to the cause.
2006-02-05 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7091
Autogenerate even more.
* JSCore.cpp:
Add new generated files.
* bindings/scripts/CodeGeneratorJS.pm:
Add "IsIndex" extended attribute for parameters. Any parameter that is "unsigned long"
and has this attribute will be checked to make sure that it's not < 0. If it is, an index size error
exception will be thrown.
* khtml/ecma/kjs_dom.cpp:
(KJS::toAttr):
Use JSAttr::info.
(KJS::getDOMNode):
Use new constructors.
* khtml/ecma/kjs_dom.h:
Remove classes that are generated now.
* khtml/xml/Attr.idl: Added.
* khtml/xml/CharacterData.idl: Added.
* khtml/xml/Entity.idl: Added.
* khtml/xml/Notation.idl: Added.
* khtml/xml/ProcessingInstruction.idl: Added.
* khtml/xml/Text.idl: Added.
2006-02-05 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
Re-landed the following with more fixes so it does not break tests:
- various event cleanup, including fixing of the load event for iframes
http://bugzilla.opendarwin.org/show_bug.cgi?id=7079
Specific changes:
- don't bother to nil-check the document, a node can never have a null document now
- move temp event forgetting from dispatchEvent to dispatchGenericEvent
- pass event down using RefPtr::release() to avoid ref thrashing
- support default handlers even for non-bubbling events (only on
target node) and skip calling default event handler explicitly in
callers
- dispatch a whole separate load event to a frame document's containing frame
- don't let propagationStopped prevent this new event
- remove bogus security check for iframe onload
- dispatch window events on the document, not the body, and also for non-html
- set onload, onunload, onbeforeunload from frameset tags on the window object
- don't restrict load/unload events to HTML
- send default handler to the dispatch object as previously
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::shouldClose):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::parseMappedAttribute):
(WebCore::HTMLFrameSetElementImpl::parseMappedAttribute):
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::implicitClose):
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchEvent):
(WebCore::NodeImpl::dispatchGenericEvent):
(WebCore::NodeImpl::dispatchWindowEvent):
* khtml/xml/NodeImpl.h:
* page/Frame.cpp:
(WebCore::Frame::stopLoading):
(WebCore::Frame::setWindowHasFocus):
2006-02-05 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix <rdar://problem/4197997> -[DOMHTMLSelectElement options] always returns an empty list
* khtml/html/HTMLOptionsCollectionImpl.h: Changed to be a subclass of HTMLCollectionImpl.
* khtml/html/HTMLOptionsCollectionImpl.cpp: Added.
* WebCore.vcproj/WebCore/WebCore.vcproj: Added new source file.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLOptionsCollection setLength:]): Handle possible exception.
(-[DOMHTMLSelectElement options]): Add get() since this is now a PassRefPtr.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElement::selectIndexGetter): Call options() instead of optionsHTMLCollection().
(KJS::HTMLElement::selectGetter): Ditto.
(KJS::KJS::HTMLElement::put): Ditto.
(KJS::HTMLElement::selectSetter): Ditto.
(KJS::KJS::HTMLSelectCollection::put): Ditto.
* khtml/html/HTMLSelectElementImpl.h: Tweaked formatting. Eliminated m_options.
Changed m_minwidth and m_size to int instead of short. Removed optionsHTMLCollection().
Changed options() to return a PassRefPtr.
* khtml/html/HTMLSelectElementImpl.cpp:
(WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl): Get rid of code to drop m_options.
(WebCore::HTMLSelectElementImpl::remove): Remove unnecesssary RefPtr use, since that's
handled fine by removeChild.
(WebCore::HTMLSelectElementImpl::options): Change to create a new HTMLOptionsCollectionImpl
each time, like other collection calls. Maybe we should change this eventually to use a
HashMap so we can pass out the same collection over and over again, or could have a pointer
stored in the select element that's managed by the collection itself.
2006-02-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6908
REGRESSION: Replacing existing <option> shuffles it to the end of the list
Test: fast/forms/select-replace-option.html
* khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLSelectCollection::put):
Use optionsHTMLCollection, because options isn't really implemented yet.
2006-02-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6941
Assertion failure in MacFrame::bridgeForWidget() on manual-tests/textfield-onblur.html
* kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]):
Add check for nil in case the blur event causes the KWQLineEdit to be
destroyed.
2006-02-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6962
REGRESSION: www.usa.phillips.com crashes due to <param> with no name
Test: fast/replaced/object-param-no-name.html
* rendering/render_frames.cpp: (WebCore::RenderPartObject::updateWidget):
Check for empty name, and skip processing the name/value of that <param> element.
2006-02-05 Darin Adler <darin@apple.com>
- rolled out Maciej's event cleanup patch, which is causing problems
I believe he has a fix, and he'll re-land the patch with the fix later.
Original fix was <http://bugzilla.opendarwin.org/show_bug.cgi?id=7079>.
Problems described in <http://bugzilla.opendarwin.org/show_bug.cgi?id=7084>.
2006-02-05 Darin Adler <darin@apple.com>
* ksvg2/css/KSVGCSSParser.cpp: Remove config.h, since this is included by another
.cpp file -- oops!
2006-02-05 Darin Adler <darin@apple.com>
Discussed with Anders (didn't get real review).
- fix build
* WebCore+SVG/SVGNamesWrapper.cpp: Touch file, not getting rebuilt even though
it includes config.h which changed.
* WebCore+SVG/XLinkNamesWrapper.cpp: Ditto.
* ksvg2/css/KSVGCSSParser.cpp: Added include of config.h.
* platform/mac/ImageDecoder.cpp: Ditto.
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed IntPoint.cpp and IntSize.cpp.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/IntPoint.cpp: Removed. Was empty.
* platform/IntSize.cpp: Removed. Was empty.
2006-02-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7048
Reproducible crash when onscroll handler deletes the layer or its object
Test: onscroll-layer-self-destruct.html
* rendering/render_layer.cpp: (WebCore::RenderLayer::scrollToOffset):
Don't send the scroll event until after we've done everything else we
need to do.
2006-02-05 Darin Adler <darin@apple.com>
Rubber stamped by Maciej.
- renamed DOMString and DOMStringImpl to String and StringImpl, and moved into platform
* config.h: Put in transitional defines so old code can still refer to the classes
as DOMString and DOMStringImpl.
* platform/AtomicString.cpp: Added.
* platform/AtomicString.h: Added.
* platform/AtomicStringImpl.h: Added.
* platform/PlatformString.h: Added.
* platform/String.cpp: Added.
* platform/StringImpl.cpp: Added.
* platform/StringImpl.h: Added.
Moved files here and renamed them. PlatformString.h would be named String.h except
that conflicts with <string.h> on non-case-sensitive file systems.
* khtml/xml/dom_atomicstring.cpp: Removed.
* khtml/xml/dom_atomicstring.h: Removed.
* khtml/xml/dom_stringimpl.cpp: Removed.
* khtml/xml/dom_stringimpl.h: Removed.
* khtml/dom/dom_string.cpp: Removed.
* khtml/dom/dom_string.h: Removed.
* WebCore.xcodeproj/project.pbxproj: Updated for file adds and removes.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* WebCore+SVG/KDOMHeaders.h:
* WebCore+SVG/Namespace.h:
* WebCore+SVG/kdom.h:
* bindings/objc/DOM.mm:
* bindings/objc/DOMCSS.mm:
* bindings/objc/DOMHTML.mm:
* bindings/objc/DOMInternal.mm:
* bridge/BrowserExtension.h:
* css/css_base.h:
* css/css_computedstyle.cpp:
* css/css_grammar.y:
* css/css_ruleimpl.h:
* css/css_stylesheetimpl.cpp:
* css/css_stylesheetimpl.h:
* css/css_valueimpl.cpp:
* css/csshelper.cpp:
* css/csshelper.h:
* css/cssparser.h:
* css/cssstyleselector.h:
* kcanvas/KCanvasTreeDebug.cpp:
* khtml/dom/dom2_events.h:
* khtml/ecma/JSXMLHttpRequest.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/ecma/kjs_window.cpp:
* khtml/editing/SelectionController.cpp:
* khtml/editing/apply_style_command.cpp:
* khtml/editing/delete_from_text_node_command.h:
* khtml/editing/insert_into_text_node_command.h:
* khtml/editing/jsediting.h:
* khtml/editing/rebalance_whitespace_command.h:
* khtml/editing/remove_css_property_command.h:
* khtml/editing/typing_command.h:
* khtml/html/FormDataList.h:
* khtml/html/HTMLNameCollectionImpl.h:
* khtml/html/html_baseimpl.cpp:
* khtml/html/html_objectimpl.cpp:
* khtml/khtml_events.h:
* khtml/xbl/xbl_binding.h:
* khtml/xbl/xbl_protobinding.h:
* khtml/xbl/xbl_protohandler.h:
* khtml/xbl/xbl_protoimplementation.h:
* khtml/xml/DOMImplementationImpl.cpp:
* khtml/xml/EventNames.h:
* khtml/xml/NameNodeListImpl.h:
* khtml/xml/NamedNodeMapImpl.h:
* khtml/xml/NodeImpl.cpp:
* khtml/xml/NodeImpl.h:
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/dom_atomicstringlist.h:
* khtml/xml/dom_elementimpl.h:
* khtml/xml/dom_qname.h:
* khtml/xml/dom_xmlimpl.cpp:
* khtml/xml/xml_tokenizer.h:
* khtml/xsl/xsl_stylesheetimpl.cpp:
* khtml/xsl/xslt_processorimpl.h:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
* ksvg2/svg/SVGAngleImpl.h:
* ksvg2/svg/SVGAnimateColorElementImpl.cpp:
* ksvg2/svg/SVGAnimatedStringImpl.h:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
* ksvg2/svg/SVGColorImpl.h:
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
* ksvg2/svg/SVGElementImpl.cpp:
* ksvg2/svg/SVGFitToViewBoxImpl.cpp:
* ksvg2/svg/SVGLangSpaceImpl.cpp:
* ksvg2/svg/SVGLangSpaceImpl.h:
* ksvg2/svg/SVGLengthImpl.h:
* ksvg2/svg/SVGMarkerElementImpl.cpp:
* ksvg2/svg/SVGPaintImpl.h:
* ksvg2/svg/SVGPathSegImpl.h:
* ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
* ksvg2/svg/SVGSVGElementImpl.cpp:
* ksvg2/svg/SVGScriptElementImpl.cpp:
* ksvg2/svg/SVGStringListImpl.h:
* ksvg2/svg/SVGStylableImpl.h:
* ksvg2/svg/SVGStyleElementImpl.cpp:
* ksvg2/svg/SVGStyledElementImpl.cpp:
* ksvg2/svg/SVGSymbolElementImpl.cpp:
* ksvg2/svg/SVGViewElementImpl.cpp:
* kwq/KWQAccObject.mm:
* kwq/KWQFontFamily.h:
* kwq/KWQFontFamily.mm:
* kwq/KWQKJobClasses.h:
* kwq/KWQKJobClasses.mm:
* loader/Cache.h:
* loader/CachedObject.h:
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.h:
* loader/DocLoader.h:
* page/Frame.cpp:
* page/FrameTreeNode.h:
* platform/SegmentedString.h:
* rendering/render_image.h:
* rendering/render_style.cpp:
* xml/xmlhttprequest.cpp:
Updated all includes to use new filenames.
2006-02-05 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- various event cleanup, including fixing of the load event for iframes
http://bugzilla.opendarwin.org/show_bug.cgi?id=7079
Specific changes:
- don't bother to nil-check the document, a node can never have a null document now
- move temp event forgetting from dispatchEvent to dispatchGenericEvent
- pass event down using RefPtr::release() to avoid ref thrashing
- support default handlers even for non-bubbling events (only on
target node) and skip calling default event handler explicitly in
callers
- dispatch a whole separate load event to a frame document's containing frame
- don't let propagationStopped prevent this new event
- remove bogus security check for iframe onload
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::shouldClose):
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchEvent):
(WebCore::NodeImpl::dispatchGenericEvent):
(WebCore::NodeImpl::dispatchWindowEvent):
* khtml/xml/NodeImpl.h:
2006-02-05 Maciej Stachowiak <mjs@apple.com>
Reviewed and landed by Anders.
* bindings/objc/DOM.mm:
(-[DOMNode replaceChild::]):
(KJS::DOMNodeProtoFunc::callAsFunction):
Return correct child. Fixes test case failures introduced by the fix to
http://bugzilla.opendarwin.org/show_bug.cgi?id=7076
2006-02-05 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin, landed by ap (with a tweak suggested by Darin).
- Fixed --no-svg build on http://build.webkit.org/.
* kwq/KWQPainter.mm: Include "FloatRect.h".
2006-02-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- Just return bool from DOM child mutation methods instead of the node
http://bugzilla.opendarwin.org/show_bug.cgi?id=7076
* bindings/objc/DOM.mm:
(-[DOMNode insertBefore::]):
(-[DOMNode replaceChild::]):
(-[DOMNode removeChild:]):
(-[DOMNode appendChild:]):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNodeProtoFunc::callAsFunction):
* khtml/html/HTMLOptGroupElementImpl.cpp:
(WebCore::HTMLOptGroupElementImpl::insertBefore):
(WebCore::HTMLOptGroupElementImpl::replaceChild):
(WebCore::HTMLOptGroupElementImpl::removeChild):
(WebCore::HTMLOptGroupElementImpl::appendChild):
* khtml/html/HTMLOptGroupElementImpl.h:
* khtml/html/HTMLSelectElementImpl.cpp:
(WebCore::HTMLSelectElementImpl::insertBefore):
(WebCore::HTMLSelectElementImpl::replaceChild):
(WebCore::HTMLSelectElementImpl::removeChild):
(WebCore::HTMLSelectElementImpl::appendChild):
* khtml/html/HTMLSelectElementImpl.h:
* khtml/html/HTMLTextAreaElementImpl.cpp:
(WebCore::HTMLTextAreaElementImpl::setDefaultValue):
* khtml/html/html_tableimpl.cpp:
(WebCore::HTMLTableElementImpl::createTFoot):
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::insertBefore):
(WebCore::ContainerNodeImpl::replaceChild):
(WebCore::ContainerNodeImpl::removeChild):
(WebCore::ContainerNodeImpl::appendChild):
* khtml/xml/ContainerNodeImpl.h:
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::insertBefore):
(WebCore::NodeImpl::replaceChild):
(WebCore::NodeImpl::removeChild):
(WebCore::NodeImpl::appendChild):
* khtml/xml/NodeImpl.h:
* khtml/xml/xml_tokenizer.cpp:
(WebCore::XMLTokenizer::insertErrorMessageBlock):
2006-02-04 Maciej Stachowiak <mjs@apple.com>
- reverted CSS media queries patch, as it causes random crashes on the
layout tests with a debug build.
* WebCore.xcodeproj/project.pbxproj:
* css/css_grammar.y:
* css/css_mediaqueryeval.cpp: Removed.
* css/css_mediaqueryeval.h: Removed.
* css/css_mediaqueryimpl.cpp: Removed.
* css/css_mediaqueryimpl.h: Removed.
* css/css_stylesheetimpl.cpp:
(MediaListImpl::MediaListImpl):
(MediaListImpl::contains):
(MediaListImpl::deleteMedium):
(MediaListImpl::mediaText):
(MediaListImpl::setMediaText):
* css/css_stylesheetimpl.h:
(DOM::MediaListImpl::length):
(DOM::MediaListImpl::item):
(DOM::MediaListImpl::appendMedium):
* css/css_valueimpl.h:
* css/csshelper.h:
* css/cssmediafeatures.in: Removed.
* css/cssparser.cpp:
* css/cssparser.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::init):
(WebCore::CSSStyleSelector::~CSSStyleSelector):
(WebCore::CSSStyleSelector::loadDefaultStyle):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::styleRulesForElement):
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
* css/cssstyleselector.h:
* css/makemediafeatures: Removed.
* css/maketokenizer:
* css/tokenizer.flex:
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::process):
(WebCore::HTMLLinkElementImpl::setStyleSheet):
(WebCore::HTMLStyleElementImpl::childrenChanged):
* platform/Screen.h:
* platform/mac/Screen.mm:
2006-02-04 Andrew Wellington <proton@wiretapped.net>
Reviewed and tweaked by Darin.
- fixed regressions caused by fix for bug 5776 earlier today
* rendering/render_list.h: Remove m_value from RenderListMarker, add it to RenderListItem.
A few other tweaks, including getting rid of "friend" relationship.
* rendering/render_list.cpp:
(RenderListItem::RenderListItem): Initialize m_value.
(RenderListItem::setStyle): Restore old behavior of making no marker for LNONE case.
(RenderListItem::calcValue): Work on m_value, not m_marker->m_value.
(RenderListItem::resetValue): Reset m_value, even if there's no marker.
(RenderListMarker::RenderListMarker): Remove code to set up m_value.
(RenderListMarker::calcMinMaxWidth): Get marker value from list item.
* rendering/RenderContainer.cpp: (updateListMarkerNumbers): Call resetValue by its new name.
2006-02-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Hyatt.
- change JavaScript collector statistics calls to use HashCountedSet instead
of CFSet; other misc cleanup
http://bugzilla.opendarwin.org/show_bug.cgi?id=7072
* kwq/WebCoreJavaScript.h:
* kwq/WebCoreJavaScript.mm:
(+[WebCoreJavaScript protectedObjectCount]): Renamed from referencedObjectCounts
(+[WebCoreJavaScript rootObjectTypeCounts]): Renamed from rootObjectClasses,
changed from NSSet to NSCountedSet.
2006-02-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- refactor and simplify code using ChildFrame in preparation for removing it
http://bugzilla.opendarwin.org/show_bug.cgi?id=7065
* WebCore.xcodeproj/project.pbxproj: reordered slightly.
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::createFrame): Don't take isObject parameter, just check tag name
* khtml/html/HTMLFormElementImpl.cpp:
(WebCore::HTMLFormElementImpl::prepareSubmit): remove obsolete hasOnlyLocalReferences check
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::isURLAllowed): remove obsolete hasOnlyLocalReferences check
* loader/DocLoader.cpp:
(khtml::DocLoader::requestImage): remove obsolete hasOnlyLocalReferences check
(khtml::DocLoader::requestStyleSheet): remove obsolete hasOnlyLocalReferences check
(khtml::DocLoader::requestScript): remove obsolete hasOnlyLocalReferences check
(khtml::DocLoader::requestXSLStyleSheet): remove obsolete hasOnlyLocalReferences check
* page/Frame.cpp:
(WebCore::Frame::requestFrame): refactored and simplified
(WebCore::Frame::requestObject): ditto
(WebCore::Frame::shouldUsePlugin): ditto
(WebCore::Frame::loadPlugin): ditto
(WebCore::Frame::loadSubframe): ditto
(WebCore::Frame::frameNames): remove obsolete m_bPreloaded check
(WebCore::Frame::frames): ditto
(WebCore::Frame::connectChild): check isFrame, not child type
(WebCore::Frame::disconnectChild): ditto
(WebCore::Frame::handleFallbackContent): greatly simplify using onwerElement
(WebCore::Frame::updateBaseURLForEmptyDocument): use ownerElement, notChildFrame
(WebCore::Frame::onlyLocalReferences): removed
(WebCore::Frame::setOnlyLocalReferences): removed
* page/Frame.h:
* page/FramePrivate.h:
(WebCore::ChildFrame::ChildFrame): remove most fields.
* rendering/render_frames.cpp:
(WebCore::RenderPartObject::updateWidget): Remove redundant setting of base URL for child document
of iframe, Frame itself takes care of this already
2006-02-03 Andrew Wellington <proton@wiretapped.net>
Reviewed and tweaked by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5776
Generated numbers of ordered lists (OL) are not calculated right
Uses the DOM tree to calculate previous nodes and nest correctly
Tests:
* fast/lists/olstart.html
* fast/lists/ol-display-types.html
* khtml/html/html_listimpl.cpp:
(DOM::HTMLLIElementImpl::attach): remove calculation of start node value
* rendering/render_list.cpp:
(RenderListItem::setStyle): set up an m_marker even if the style is to
not display the marker, to get the numbering right
(enclosingList): gets the list enclosing the given node
(previousListItemElement): gets the previous element in the list
(RenderListItem::calcListValue): calculate the value correctly
2006-02-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by beth.
- Fixed <rdar://problem/4394868> window.open fails to parse
"width=200px"
Cause: QString::toInt() is too aggressive; it parses letters as numbers.
The fix is to switch to DOMString. It's all the rage these days,
and its toInt() behavior matches what we want.
* manual-tests/window-open-features-parsing.html: Added "px" case to
giant evil string.
* khtml/ecma/kjs_window.cpp:
(KJS::setWindowFeature):
(KJS::parseWindowFeatures):
(KJS::WindowFunc::callAsFunction):
2006-02-03 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
Reviewed by Dave Hyatt and Tim H.
Bug 4127: WebCore doesn't support Media Queries (CSS3 module)
http://bugzilla.opendarwin.org/show_bug.cgi?id=4127
http://www.w3.org/TR/css3-mediaqueries/
* WebCore.xcodeproj/project.pbxproj:
* css/css_grammar.y:
* css/css_mediaqueryeval.cpp: Added.
(MediaQueryEvaluator):
(MediaQueryEvaluator::~MediaQueryEvaluator):
(MediaQueryEvaluator::mediaTypeMatch):
(applyRestrictor):
(MediaQueryEvaluator::eval):
(parseAspectRatio):
* css/css_mediaqueryeval.h: Added.
* css/css_mediaqueryimpl.cpp: Added.
(MediaQueryExpImpl::MediaQueryExpImpl):
(MediaQueryExpImpl::~MediaQueryExpImpl):
(MediaQueryExpImpl::mediaFeature):
(MediaQueryExpImpl::value):
(MediaQueryImpl::MediaQueryImpl):
(MediaQueryImpl::~MediaQueryImpl):
(MediaQueryImpl::restrictor):
(MediaQueryImpl::expressions):
(MediaQueryImpl::mediaType):
(MediaQueryImpl::operator==):
* css/css_mediaqueryimpl.h: Added.
(DOM::MediaQueryExpImpl::operator==):
(DOM::MediaQueryExpListImpl::MediaQueryExpListImpl):
(DOM::MediaQueryExpListImpl::append):
(DOM::MediaQueryExpListImpl::list):
(DOM::MediaQueryImpl::):
* css/css_stylesheetimpl.cpp:
(MediaListImpl::MediaListImpl):
(MediaListImpl::deleteMedium):
(mediaQueryAsDOMString):
(MediaListImpl::mediaText):
(MediaListImpl::setMediaText):
(MediaListImpl::item):
(MediaListImpl::appendMedium):
(MediaListImpl::appendMediaQuery):
* css/css_stylesheetimpl.h:
(DOM::MediaListImpl::length):
(DOM::MediaListImpl::mediaQueries):
* css/css_valueimpl.h:
* css/csshelper.h:
* css/cssmediafeatures.in: Added.
* css/cssparser.cpp:
(CSSParser::parseMediaQuery):
* css/cssparser.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::init):
(WebCore::CSSStyleSelector::~CSSStyleSelector):
(WebCore::CSSStyleSelector::loadDefaultStyle):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::styleRulesForElement):
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSStyleSelector::defaultStyleForRoot):
* css/cssstyleselector.h:
* css/makemediafeatures: Added.
* css/maketokenizer:
* css/tokenizer.flex:
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::process):
(WebCore::HTMLLinkElementImpl::setStyleSheet):
(WebCore::HTMLStyleElementImpl::childrenChanged):
* platform/Screen.h:
* platform/mac/Screen.mm:
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
2006-02-03 Timothy Hatcher <timothy@apple.com>
Reviewed by Justin.
Renamed configuration names to Debug, Release and Production.
* WebCore.xcodeproj/project.pbxproj:
2006-02-03 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
No test cases added because this is an unreproducible crash.
This is a speculative fix for <rdar://problem/4048026>
CrashTracer: [BOUNCE BACK] 1219 crashes in Safari at
com.apple.WebCore: KHTMLParser::popOneBlock + 36
It seems possible that current could be nil when this function is
called, so the speculative fix is to add a nil check.
* khtml/html/htmlparser.cpp:
(HTMLParser::popOneBlock): Added nil check.
2006-02-03 David Hyatt <hyatt@apple.com>
Refactoring of the image classes to make them even more
portable.
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* platform/Image.cpp:
(WebCore::m_animationObserver):
(WebCore::Image::Image):
(WebCore::Image::~Image):
(WebCore::Image::resetAnimation):
(WebCore::Image::setData):
(WebCore::Image::isNull):
(WebCore::Image::size):
(WebCore::Image::rect):
(WebCore::Image::width):
(WebCore::Image::height):
(WebCore::):
(WebCore::Image::compositeOperatorFromString):
* platform/ImageData.cpp: Added.
(WebCore::FrameData::clear):
(WebCore::ImageData::ImageData):
(WebCore::ImageData::~ImageData):
(WebCore::ImageData::invalidateData):
(WebCore::ImageData::cacheFrame):
(WebCore::ImageData::isNull):
(WebCore::ImageData::size):
(WebCore::ImageData::setData):
(WebCore::ImageData::setNativeData):
(WebCore::ImageData::frameCount):
(WebCore::ImageData::isSizeAvailable):
(WebCore::ImageData::frameAtIndex):
(WebCore::ImageData::frameDurationAtIndex):
(WebCore::ImageData::shouldAnimate):
(WebCore::ImageData::startAnimation):
(WebCore::ImageData::stopAnimation):
(WebCore::ImageData::resetAnimation):
(WebCore::ImageData::advanceAnimation):
* platform/ImageData.h: Added.
(KXMLCore::):
(WebCore::FrameData::m_duration):
(WebCore::FrameData::~FrameData):
(WebCore::ImageData::setIsPDF):
(WebCore::ImageData::currentFrame):
* platform/ImageDecoder.h:
* platform/mac/Image.mm:
(WebCore::Image::loadResource):
(WebCore::Image::supportsType):
(WebCore::Image::getCGImageRef):
(WebCore::Image::getNSImage):
(WebCore::Image::getTIFFRepresentation):
(WebCore::graphicsContext):
(WebCore::setCompositingOperation):
(WebCore::fillSolidColorInRect):
(WebCore::Image::drawInRect):
(WebCore::drawPattern):
(WebCore::Image::tileInRect):
(WebCore::Image::scaleAndTileInRect):
* platform/mac/ImageData.mm: Added.
(WebCore::setCompositingOperation):
(WebCore::ImageData::invalidateAppleSpecificData):
(WebCore::ImageData::checkForSolidColor):
(WebCore::ImageData::getTIFFRepresentation):
(WebCore::ImageData::getNSImage):
* platform/mac/PDFDocumentImage.h: Added.
* platform/mac/PDFDocumentImage.mm: Added.
(WebCore::releasePDFDocumentData):
(WebCore::PDFDocumentImage::PDFDocumentImage):
(WebCore::PDFDocumentImage::~PDFDocumentImage):
(WebCore::PDFDocumentImage::documentRef):
(WebCore::PDFDocumentImage::mediaBox):
(WebCore::PDFDocumentImage::bounds):
(WebCore::PDFDocumentImage::adjustCTM):
(WebCore::PDFDocumentImage::setCurrentPage):
(WebCore::PDFDocumentImage::currentPage):
(WebCore::PDFDocumentImage::pageCount):
(WebCore::PDFDocumentImage::draw):
2006-02-03 David Hyatt <hyatt@apple.com>
Make a new class called ImageDecoder that wraps a CGImageSource.
This paves the way for ImageData to become portable as well.
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* platform/ImageDecoder.h: Added.
* platform/mac/Image.mm:
(WebCore::ImageData::~ImageData):
(WebCore::ImageData::invalidateData):
(WebCore::ImageData::cacheFrame):
(WebCore::ImageData::size):
(WebCore::ImageData::setCFData):
(WebCore::ImageData::frameCount):
(WebCore::ImageData::isSizeAvailable):
(WebCore::ImageData::drawInRect):
* platform/mac/ImageDecoder.cpp: Added.
(WebCore::ImageDecoder::ImageDecoder):
(WebCore::ImageDecoder::~ImageDecoder):
(WebCore::imageSourceOptions):
(WebCore::ImageDecoder::initialized):
(WebCore::ImageDecoder::setData):
(WebCore::ImageDecoder::isSizeAvailable):
(WebCore::ImageDecoder::size):
(WebCore::ImageDecoder::repetitionCount):
(WebCore::ImageDecoder::frameCount):
(WebCore::ImageDecoder::createFrameAtIndex):
(WebCore::ImageDecoder::frameDurationAtIndex):
2006-02-02 David Hyatt <hyatt@apple.com>
Move ImageAnimationObserver into its own file.
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* loader/CachedImage.h:
* platform/Image.h:
* platform/ImageAnimationObserver.h: Added.
(WebCore::ImageAnimationObserver::~ImageAnimationObserver):
* platform/mac/Image.mm:
2006-02-02 Maciej Stachowiak <mjs@apple.com>
Reviewed by Adele.
- remove all use of the ChildFrame from outside Frame.cpp, in preparation for removing it
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::frameDetached): Factor out the ChildFrame manipulations into a base
class method.
(WebCore::MacFrame::objectContentType): factored out from createPart, calls the bridge to
determine contents for an Object tag.
(WebCore::MacFrame::createPlugin): factor out code from createPart that makes a Plugin.
(WebCore::MacFrame::createFrame): ditto for code that makes a Frame.
(WebCore::MacFrame::createEmptyDocument): factored out part into the superclass
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::ownerElement): Call new ownerElement method on Frame
instead of mucking at Frame internals.
* page/Frame.cpp:
(WebCore::Frame::createPart): Moved here from MacFrame, but some of the guts were
factored out.
(WebCore::Frame::ownerElement): New method, logic moved from DocumentImpl.
(WebCore::Frame::frameDetached): New virtual method, the part of this that
pokes at ChildFrame structures.
(WebCore::Frame::updateBaseURLForEmptyDocument): Helper that looks at the ChildFrame
array for the benefit of createEmptyDocument.
* page/Frame.h:
* page/Page.h: Fix up modeline.
* page/Plugin.h: Added.
(WebCore::Plugin::Plugin): Moved here from MacFrame.mm, since it is now used by Frame.
(WebCore::Plugin::view): ditto
2006-02-02 David Hyatt <hyatt@apple.com>
Avoid extra copies of all the decoded image bytes.
Reviewed by mjs
* platform/mac/Image.mm:
(WebCore::ImageData::setData):
2006-02-02 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin, harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6586>
REGRESSION: visible_text.cpp assertion failure in Mail.app
Calling range() on a WordIterator destroyed its RangeImpl, use
RefPtr instead of PassRefPtr.
Turned on continuous spell checking to test the fix, found
a crasher caused by invalid positions created in
previousBoundary.
Added layout test:
* editing/selection/end-of-document.html
* khtml/editing/visible_text.h:
* khtml/editing/visible_units.cpp:
(khtml::previousBoundary):
2006-02-02 David Hyatt <hyatt@apple.com>
Vectorize Image. Optimize so that we no longer throw away
all CGImageRefs. Now we just throw away the last frame.
Reviewed by mjs
* platform/mac/Image.mm:
(WebCore::FrameData::m_duration):
(WebCore::FrameData::~FrameData):
(WebCore::FrameData::clear):
(WebCore::ImageData::invalidateData):
(WebCore::ImageData::cacheFrame):
(WebCore::ImageData::frameAtIndex):
(WebCore::ImageData::frameDurationAtIndex):
2006-01-31 Geoffrey Garen <ggaren@apple.com>
Reviewed by mjs.
Cleaned up some stuff I came across when working with JS enabled/
disabled code:
(1) Renamed initScript to initScriptIfNeeded, because that's what it
does
(2) Removed dead or otherwise irrelevent code
(3) Fixed up comments
(4) Removed NULL checks for interpreter() since it never returns NULL,
replaced with single assert().
No test case because there's no change in behavior.
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxyImpl::evaluate): 1
(WebCore::KJSProxyImpl::createHTMLEventHandler): 1
(WebCore::KJSProxyImpl::createSVGEventHandler): 1
(WebCore::KJSProxyImpl::interpreter): 4
(WebCore::KJSProxyImpl::initScriptIfNeeded): 1
* khtml/ecma/kjs_proxy.h: 1
* page/Frame.cpp:
(Frame::didOpenURL): 2, 3
(Frame::stopLoading): 2
(Frame::jScriptEnabled): 2
(Frame::jScript): changed method call to data member access to match
style of rest of class
(Frame::javaEnabled): 2
(Frame::pluginsEnabled): 2
(Frame::begin): 3
(Frame::userGestureHint): 4
(Frame::pauseTimeouts): collapsed a line
(Frame::resumeTimeouts): ditto
(Frame::saveInterpreterBuiltins): 4
(Frame::restoreInterpreterBuiltins): 4
* page/Frame.h: 2
* page/FramePrivate.h: 2
(FramePrivate::FramePrivate): 2
2006-02-02 David Hyatt <hyatt@apple.com>
Fix for PLT performance regression. Make sure that the document's load event timer
isn't started again if it's already active.
Reviewed by mjs
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::dispatchImageLoadEventSoon):
2006-02-02 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7000
REGRESSION: Scrolling is triggering onunload in TOT
Tests:
- fast/events/onunload-body-property.html
- fast/events/onunload-window-property.html
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::getValueProperty): Change onunload case to use unloadEvent, not scrollEvent.
(KJS::DOMNode::putValueProperty): Ditto.
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty): Ditto.
(KJS::Window::putValueProperty): Ditto.
2006-02-02 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6998
setTimeout(0) tight loop uses almost all CPU (need 10ms minimum for timeout?)
* khtml/ecma/kjs_window.cpp: (KJS::WindowQObject::installTimeout): When converting
the timeout number from an integer ms to a double seconds, use a 10 ms minimum.
2006-02-02 Darin Adler <darin@apple.com>
- added a FIXME about an incorrect change made to FloatRect
to fix the Win32 compile
* platform/FloatRect.cpp: (WebCore::enclosingIntRect): Added FIXME
because this should do a ceil operation, not a round operation.
2006-02-02 David Hyatt <hyatt@apple.com>
Fix for bug 6957, rewrite image rendering in C++ and move it to
WebCore. Animation now stops lazily and just uses the CachedObject
notification system to push updates so that rects no longer need to
be cached (or sets of animating renderers in specific views).
Reviewed by darin
* WebCore.exp:
* bindings/objc/DOM.mm:
(-[DOMElement _image]):
(-[DOMElement _imageTIFFRepresentation]):
* bindings/objc/DOMPrivate.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::khtmlMouseMoveEvent):
(WebCore::MacFrame::fileWrapperForElement):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge elementAtPoint:]):
* kcanvas/RenderSVGImage.cpp:
(RenderSVGImage::imageChanged):
* kcanvas/RenderSVGImage.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEImageQuartz::getCIFilter):
* khtml/ecma/kjs_html.cpp:
(KJS::drawPattern):
* kwq/KWQClipboard.h:
(WebCore::KWQClipboard::setDragHasStarted):
* kwq/KWQClipboard.mm:
(WebCore::KWQClipboard::dragNSImage):
* kwq/KWQCursor.mm:
(WebCore::createCustomCursor):
* kwq/KWQPainter.h:
(WebCore::QPainter::):
* kwq/KWQPainter.mm:
(WebCore::QPainter::drawFloatImage):
(WebCore::QPainter::drawTiledImage):
(WebCore::QPainter::drawScaledAndTiledImage):
* kwq/KWQScrollView.h:
* kwq/KWQScrollView.mm:
(QScrollView::inWindow):
* kwq/WebCoreImageRendererFactory.h:
* kwq/WebCoreImageRendererFactory.m:
* loader/CachedImage.cpp:
(WebCore::CachedImage::ref):
(WebCore::CachedImage::imageRect):
(WebCore::CachedImage::notifyObservers):
(WebCore::CachedImage::data):
(WebCore::CachedImage::error):
(WebCore::CachedImage::shouldStopAnimation):
(WebCore::CachedImage::animationAdvanced):
* loader/CachedImage.h:
(WebCore::CachedImage::canRender):
* loader/CachedObjectClient.h:
(WebCore::CachedObjectClient::imageChanged):
(WebCore::CachedObjectClient::willRenderImage):
* platform/Image.h:
(WebCore::ImageAnimationObserver::~ImageAnimationObserver):
(WebCore::Image::animationObserver):
(WebCore::Image::):
* platform/mac/Image.mm:
(WebCore::releasePDFDocumentData):
(WebCore::PDFDocumentImage::PDFDocumentImage):
(WebCore::PDFDocumentImage::~PDFDocumentImage):
(WebCore::PDFDocumentImage::documentRef):
(WebCore::PDFDocumentImage::mediaBox):
(WebCore::PDFDocumentImage::bounds):
(WebCore::PDFDocumentImage::adjustCTM):
(WebCore::PDFDocumentImage::setCurrentPage):
(WebCore::PDFDocumentImage::currentPage):
(WebCore::PDFDocumentImage::pageCount):
(WebCore::PDFDocumentImage::draw):
(WebCore::ImageData::setIsPDF):
(WebCore::ImageData::currentFrame):
(WebCore::m_PDFDoc):
(WebCore::ImageData::~ImageData):
(WebCore::ImageData::invalidateData):
(WebCore::ImageData::cacheFrame):
(WebCore::ImageData::checkForSolidColor):
(WebCore::ImageData::isNull):
(WebCore::ImageData::size):
(WebCore::ImageData::setData):
(WebCore::ImageData::setCFData):
(WebCore::ImageData::imageSourceOptions):
(WebCore::ImageData::frameCount):
(WebCore::ImageData::isSizeAvailable):
(WebCore::ImageData::frameAtIndex):
(WebCore::ImageData::getTIFFRepresentation):
(WebCore::ImageData::getNSImage):
(WebCore::ImageData::frameDurationAtIndex):
(WebCore::ImageData::shouldAnimate):
(WebCore::ImageData::startAnimation):
(WebCore::ImageData::stopAnimation):
(WebCore::ImageData::resetAnimation):
(WebCore::ImageData::advanceAnimation):
(WebCore::ImageData::setCompositingOperation):
(WebCore::ImageData::fillSolidColorInRect):
(WebCore::ImageData::drawInRect):
(WebCore::drawPattern):
(WebCore::):
(WebCore::ImageData::tileInRect):
(WebCore::ImageData::scaleAndTileInRect):
(WebCore::Image::loadResource):
(WebCore::Image::supportsType):
(WebCore::m_animationObserver):
(WebCore::Image::Image):
(WebCore::Image::~Image):
(WebCore::Image::getCGImageRef):
(WebCore::Image::getNSImage):
(WebCore::Image::getTIFFRepresentation):
(WebCore::Image::resetAnimation):
(WebCore::Image::setData):
(WebCore::Image::isNull):
(WebCore::Image::size):
(WebCore::Image::rect):
(WebCore::graphicsContext):
(WebCore::Image::drawInRect):
(WebCore::Image::tileInRect):
(WebCore::Image::scaleAndTileInRect):
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
* rendering/render_image.cpp:
(WebCore::RenderImage::setCachedImage):
(WebCore::RenderImage::imageChanged):
* rendering/render_image.h:
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBackgroundAndBorder):
* rendering/render_list.cpp:
(RenderListMarker::imageChanged):
* rendering/render_list.h:
* rendering/render_object.cpp:
(WebCore::RenderObject::mustRepaintBackgroundOrBorder):
(WebCore::RenderObject::paintBorderImage):
(WebCore::RenderObject::paintBorder):
(WebCore::RenderObject::imageChanged):
(WebCore::RenderObject::willRenderImage):
* rendering/render_object.h:
2006-02-02 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/block/positioning/height-change.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6881
Block with position:absolute bottom:0 doesn't always move when height
of containing block changes (affects Safari RSS)
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): Relayout positioned children if the
block's height changed during layout.
* rendering/render_flexbox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Ditto.
2006-02-02 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- Move name and parent from Frame to FrameTreeNode
http://bugzilla.opendarwin.org/show_bug.cgi?id=6994
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::generateFrameName):
(WebCore::MacFrame::submitForm):
(WebCore::Frame::frameDetached):
(WebCore::MacFrame::nextKeyViewInFrameHierarchy):
(WebCore::MacFrame::createEmptyDocument):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge setParent:]):
(-[WebCoreFrameBridge parent]):
(-[WebCoreFrameBridge setName:]):
(-[WebCoreFrameBridge name]):
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
(KJS::Window::put):
(KJS::Window::isSafeScript):
(KJS::WindowFunc::callAsFunction):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::isURLAllowed):
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::process):
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::ownerElement):
(WebCore::DocumentImpl::parentDocument):
* page/Frame.cpp:
(WebCore::Frame::checkCompleted):
(WebCore::Frame::redirectionTimerFired):
(WebCore::Frame::requestFrameName):
(WebCore::Frame::slotChildCompleted):
(WebCore::Frame::incrementFrameCount):
(WebCore::Frame::decrementFrameCount):
(WebCore::Frame::topLevelFrameCount):
(WebCore::Frame::selectFrameElementInParentIfFullySelected):
(WebCore::Frame::handleFallbackContent):
(WebCore::Frame::userGestureHint):
(WebCore::Frame::canCachePage):
(WebCore::Frame::updatePolicyBaseURL):
* page/Frame.h:
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
* page/FrameTreeNode.cpp:
(WebCore::FrameTreeNode::setName):
(WebCore::FrameTreeNode::appendChild):
(WebCore::FrameTreeNode::removeChild):
* page/FrameTreeNode.h:
(WebCore::FrameTreeNode::FrameTreeNode):
(WebCore::FrameTreeNode::name):
(WebCore::FrameTreeNode::parent):
(WebCore::FrameTreeNode::setParent):
* rendering/render_frames.cpp:
(WebCore::isURLAllowed):
2006-02-01 Darin Adler <darin@apple.com>
Checking in without review because I *just* broke this with my last check-in.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7018
REGRESSION: clearTimeout no longer works
Test: fast/dom/Window/clear-timeout.html
* khtml/ecma/kjs_window.cpp: (WindowQObject::clearTimeout): Fixed a
!= that should have been a ==.
2006-02-01 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent
* ForwardingHeaders/kxmlcore/Noncopyable.h: Added.
* ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Added.
* ForwardingHeaders/kxmlcore/OwnPtr.h: Added.
* ForwardingHeaders/qtimer.h: Removed.
* kwq/KWQTimer.cpp: Removed.
* kwq/KWQTimer.h: Removed.
* kwq/KWQObject.h:
* kwq/KWQObject.cpp: Remove timer-related features.
* kwq/KWQEvent.h: Remove QTimerEvent.
* WebCore.xcodeproj/project.pbxproj: Updated for file changes.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* platform/Timer.h: Change to use nextFireInterval rather than nextFireTime.
More convenient and also no need to define what the epoch is. Change TimerBase
to use a virtual function rather than a function pointer. Added setDeferringTimers
function to ensure timers don't fire while handling an event.
* platform/mac/Timer.cpp:
(WebCore::timerFired): Added deferral support.
(WebCore::fireDeferred): Added.
(WebCore::TimerBase::TimerBase): Simplify to remove function pointer.
(WebCore::TimerBase::~TimerBase): Put in here, no longer inline.
(WebCore::TimerBase::start): Change to use interval.
(WebCore::TimerBase::startRepeating): Change since we use interval now.
(WebCore::TimerBase::startOneShot): Ditto.
(WebCore::TimerBase::stop): Added deferral support.
(WebCore::TimerBase::nextFireInterval): Added.
(WebCore::TimerBase::fire): Added.
(WebCore::isDeferringTimers): Added.
(WebCore::setDeferringTimers): Added.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::startRedirectionTimer): Update for change to Timer class.
(WebCore::MacFrame::passMouseDownEventToWidget): Update to use setDeferringTimers
instead of QObject::setDefersTimers.
* khtml/ecma/kjs_window.h:
* khtml/ecma/kjs_window.cpp:
(KJS::DOMWindowTimer): Added. Class for JavaScript "timeout".
(KJS::WindowQObject::parentDestroyed): Update to use DOMWindowTimer.
(KJS::WindowQObject::installTimeout): Ditto.
(KJS::WindowQObject::pauseTimeouts): Ditto.
(KJS::WindowQObject::resumeTimeouts): Ditto.
(KJS::WindowQObject::clearTimeout): Ditto.
(KJS::WindowQObject::timerFired): Ditto.
(KJS::DOMWindowTimer::fired): Added.
* khtml/html/htmltokenizer.h:
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer): Use Timer instead of timer ID.
(WebCore::HTMLTokenizer::reset): Ditto.
(WebCore::HTMLTokenizer::continueProcessing): Ditto.
(WebCore::HTMLTokenizer::write): Ditto.
(WebCore::HTMLTokenizer::stopParsing): Ditto.
(WebCore::HTMLTokenizer::processingData): Ditto.
(WebCore::HTMLTokenizer::timerFired): Ditto.
(WebCore::HTMLTokenizer::end): Ditto.
(WebCore::HTMLTokenizer::finish): Ditto.
* khtml/xml/DocumentImpl.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl): Updated for changes to use RefPtr
more cases, and not use it for m_svgExtensions.
(WebCore::DocumentImpl::~DocumentImpl): Delete m_svgExtensions instead of
just deref'ing it since it's no longer shared.
(WebCore::DocumentImpl::implementation): Update for RefPtr.
(WebCore::DocumentImpl::elementSheet): Ditto.
(WebCore::DocumentImpl::styleSheets): Ditto.
(WebCore::DocumentImpl::recalcStyleSelector): Ditto.
(WebCore::DocumentImpl::dispatchImageLoadEventSoon): Update to use new style timer.
(WebCore::DocumentImpl::removeImage): Ditto.
(WebCore::DocumentImpl::dispatchImageLoadEventsNow): Ditto.
(WebCore::DocumentImpl::imageLoadEventTimerFired): Ditto.
(WebCore::DocumentImpl::svgExtensions): Update for RefPtr.
(WebCore::DocumentImpl::accessSVGExtensions): Ditto.
* ksvg2/misc/KSVGTimeScheduler.h:
(WebCore::TimeScheduler::document):
* ksvg2/misc/KSVGTimeScheduler.cpp:
(WebCore::SVGTimer::downcast):
(WebCore::SVGTimer::SVGTimer):
(WebCore::SVGTimer::start):
(WebCore::SVGTimer::calculateTimePercentage):
(WebCore::SVGTimer::notifyAll):
(WebCore::SVGTimer::addNotify):
(WebCore::SVGTimer::removeNotify):
(WebCore::TimeScheduler::TimeScheduler):
(WebCore::TimeScheduler::~TimeScheduler):
(WebCore::TimeScheduler::addTimer):
(WebCore::TimeScheduler::connectIntervalTimer):
(WebCore::TimeScheduler::disconnectIntervalTimer):
(WebCore::TimeScheduler::startAnimations):
(WebCore::TimeScheduler::toggleAnimations):
(WebCore::TimeScheduler::timerFired):
Rework to use new timer.
* ksvg2/misc/SVGDocumentExtensions.h:
* ksvg2/misc/SVGDocumentExtensions.cpp:
Make SVGDocumentExtensions no longer be shared, be solely owned by the document.
* ksvg2/svg/SVGDocumentImpl.cpp:
(WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use.
* kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots.
* page/Frame.h:
* page/Frame.cpp:
(WebCore::Frame::selectionLayoutChanged): Update to use new style timer.
(WebCore::Frame::caretBlinkTimerFired): Ditto.
* page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Update to use new style timer.
(WebCore::FrameView::clear): Ditto.
(WebCore::FrameView::layout): Ditto.
(WebCore::FrameView::layoutTimerFired): Ditto.
(WebCore::FrameView::scheduleRelayout): Ditto.
(WebCore::FrameView::layoutPending): Ditto.
(WebCore::FrameView::haveDelayedLayoutScheduled): Ditto.
(WebCore::FrameView::unscheduleRelayout): Ditto.
* page/ObjectContents.h: Remove unneeded includes.
* rendering/render_frames.cpp: Removed include of <qtimer.h>.
* rendering/render_layer.h:
* rendering/render_layer.cpp:
(WebCore::Marquee::Marquee): Use new style timers.
(WebCore::Marquee::start): Ditto.
(WebCore::Marquee::suspend): Ditto.
(WebCore::Marquee::stop): Ditto.
(WebCore::Marquee::updateMarqueeStyle): Ditto.
(WebCore::Marquee::timerFired): Ditto.
2006-02-01 Darin Adler <darin@apple.com>
Reviewed by Beth.
Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow
highlight fails to follow cursor when mousing over star rating
(6232)
Event coordinates cannot be calculated until there is a target.
This patch restructures the code so that the coordinates are
initialized when the mouse event is created but are not calculated
until the target is set.
* khtml/xml/dom2_eventsimpl.cpp:
(WebCore::EventImpl::setTarget): Now calls receivedTarget() if the
target is not nil.
(WebCore::EventImpl::receivedTarget): virtual receivedTarget()
(WebCore::MouseRelatedEventImpl::MouseRelatedEventImpl): Call
initCoordinates()
(WebCore::MouseRelatedEventImpl::initCoordinates): Formerly called
computePositions(), this now only initializes the coordinates and
lets receivedTarget() take care of the computations.
(WebCore::MouseRelatedEventImpl::receivedTarget): Takes care of
computing the coordinates.
(WebCore::MouseEventImpl::initMouseEvent): Call initCoordinates()
* khtml/xml/dom2_eventsimpl.h:
(WebCore::EventImpl::target): Fix spacing.
(WebCore::EventImpl::currentTarget): Same.
(WebCore::EventImpl::setCurrentTarget): Same.
2006-01-31 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
http://bugzilla.opendarwin.org/show_bug.cgi?id=6931
* rendering/render_layer.cpp:
(WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones.
2006-01-31 Adele Peterson <adele@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6862
Input's value doesn't get updated after typing in new text field
Added test:
fast/forms/input-changing-value.html
Added an event listener for a DOMCharacterDataModifiedEvent on the inner div.
When we get the event, then we update the input element's value field.
There may be performance problems with this approach that we will have to
address before flipping the switch to use these new text fields.
* rendering/RenderTextField.cpp:
(WebCore::InputMutationListener::handleEvent): calls subtreeHasChanged
(WebCore::m_mutationListener):
(WebCore::RenderTextField::~RenderTextField): remove the event listener.
(WebCore::RenderTextField::setStyle): Remove unnecessary setStyle on text node.
It should inherit style from the div already.
(WebCore::RenderTextField::updateFromElement): add the event listener.
(WebCore::RenderTextField::subtreeHasChanged): updates the input element's value.
* rendering/RenderTextField.h:
(WebCore::InputMutationListener::InputMutationListener): Added.
(WebCore::InputMutationListener::renderTextField): Added.
(WebCore::InputMutationListener::setInputElement): Added.
2006-01-31 Antti Koivisto <koivisto@iki.fi>
Reviewed by Dave Hyatt.
Landed by Timothy Hatcher.
http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
Bug 4959: inline style not terminated properly after <form>
* khtml/html/htmlparser.cpp:
(HTMLParser::isResidualStyleTag): add <span> as residual style tag
(HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style
2006-01-31 Vicki Murley <vicki@apple.com>
Reviewed by Geoff.
- fix <rdar://problem/4426668> REGRESSION: sometimes URLs with named anchors in a
page don't jump to proper location in document (6916). Added test cases for this
fix and past link jumping bug fixes.
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::getUpperLeftCorner): Traverse up the parent node chain
until you find one that has a sibling.
* manual-tests/linkjump-1.html: Added a note here - the bug for this test case is
still broken in TOT.
* manual-tests/linkjump-2.html: Added. Renamed scrollToAnchor.html, to group it with the
rest of the link jumping tests.
* manual-tests/linkjump-3.html: Added. Test case for this bug, <rdar://problem/4426668>.
* manual-tests/linkjump-4.html: Added. Test case for past fix, <rdar://problem/4247537>.
* manual-tests/linkjump-5.html: Added. Test case for past fix, <rdar://problem/4256060>.
* manual-tests/scrollToAnchor.html: Removed.
2006-01-31 David Harrison <harrison@apple.com>
Reviewed by John.
<rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
Layout test added:
* editing/pasteboard/paste-empty-startcontainer.html
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::startNode):
- use empty non-textual m_startContainer itself if m_startOffset is 0, rather then nextSibling()
2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/forms/selected-index-assert.html.
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
* khtml/html/HTMLSelectElementImpl.cpp:
(WebCore::HTMLSelectElementImpl::selectedIndex): Removed bogus assert.
-1 is the correct value to return if no option is selected.
2006-01-31 Beth Dakin <bdakin@apple.com>
Reviewed by Adele.
Fixing build bustage. Removing include of khtml_factory.h since it
has been removed.
* rendering/font.cpp: No longer include khtml_factory.h
2006-01-31 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6584
REGRESSION: button after unclosed button gives trouble
* khtml/html/htmlparser.cpp: (HTMLParser::getNode):
Add buttonTag to error handling table to take care of unclosed tags.
2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/parser/script-after-frameset-assert.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6959
REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the
script is being skipped.
2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6960
REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
* rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray):
Remove the assertion.
2006-01-31 Anders Carlsson <andersca@mac.com>
Reviewed by John.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6964
ImagePatterns are always rendered mirrored
* khtml/ecma/kjs_html.cpp:
(KJS::ImagePattern::createPattern):
Don't mirror the x coordinate when creating the pattern.
2006-01-31 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- added a Timer class
- used the Timer class for the redirection timer
- moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
- removed more KWQ
* ForwardingHeaders/khtml_factory.h: Removed.
* kwq/KWQKHTMLFactory.cpp: Removed.
* kwq/KWQKHTMLFactory.h: Removed.
* platform/Timer.h: Added.
* platform/mac/Timer.cpp: Added.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* page/Frame.h:
* page/Frame.cpp:
(WebCore::Frame::init): Remove code to set up slotRedirect.
(WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using
the redirection timer directly.
(WebCore::Frame::scheduleRedirection): Ditto.
(WebCore::Frame::scheduleLocationChange): Ditto.
(WebCore::Frame::scheduleHistoryNavigation): Ditto.
(WebCore::Frame::cancelRedirection): Ditto.
(WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect.
(WebCore::Frame::slotParentCompleted): More startRedirectionTimer.
(WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the
redirection timer.
(WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
redirection timer.
* page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
* bridge/mac/MacFrame.mm:
(WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer
"monitor" feature that I had added a while back to implement the client-redirected
callback.
(WebCore::MacFrame::stopRedirectionTimer): Ditto.
* kwq/KWQSlot.cpp: Removed slotRedirected.
* ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
namespaces (all of which are WebCore now anyway).
* bindings/objc/DOMInternal.mm:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/KWQKHTMLView.cpp:
* bridge/mac/MacFrame.h:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* bridge/mac/WebCorePageBridge.h:
* bridge/mac/WebCorePageBridge.mm:
* css/cssstyleselector.cpp:
* css/cssstyleselector.h:
* khtml/ecma/kjs_binding.cpp:
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_navigator.cpp:
* khtml/ecma/kjs_navigator.h:
* khtml/ecma/kjs_proxy.h:
* khtml/ecma/kjs_window.h:
* khtml/editing/SelectionController.h:
* khtml/editing/jsediting.h:
* khtml/html/html_baseimpl.h:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_documentimpl.h:
* khtml/html/html_headimpl.h:
* khtml/html/htmlparser.h:
* khtml/html/htmltokenizer.h:
* khtml/xml/DOMImplementationImpl.h:
* khtml/xml/DocumentImpl.h:
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/xml_tokenizer.h:
* khtml/xsl/xslt_processorimpl.h:
* ksvg2/svg/SVGDocumentImpl.cpp:
* kwq/KWQClipboard.h:
* kwq/KWQComboBox.mm:
* kwq/KWQFileButton.h:
* kwq/KWQFrame.mm:
* kwq/KWQKJavaAppletWidget.h:
* kwq/KWQListBox.mm:
* kwq/KWQSignalStubs.cpp:
* kwq/KWQSlider.mm:
* kwq/KWQTextField.mm:
* kwq/KWQWidget.mm:
* kwq/WebCoreSettings.mm:
* kwq/WebCoreTextRendererFactory.mm:
* loader/DocLoader.h:
* page/FrameTreeNode.cpp:
* page/FrameTreeNode.h:
* page/FrameView.cpp:
* page/FrameView.h:
* page/Page.cpp:
* page/Page.h:
* rendering/InlineTextBox.h:
* rendering/font.cpp:
* rendering/render_canvas.h:
* rendering/render_frames.h:
* rendering/render_object.h:
* rendering/render_replaced.h:
Updated for namespace and header changes.
2006-01-31 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
The WebCore part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6907
REGRESSION: United.com menus messed up due to document.all/MSIE sniff
* khtml/ecma/kjs_html.h:
(KJS::HTMLAllCollection::masqueradeAsUndefined):
Update for name change.
2006-01-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by mjs.
- Speculative fix for <rdar://problem/4135845> Crash executing
cross-frame script on timeout in KJS::ScheduledAction::execute
If we ever get a reproducible case of 4135845, I'll add a test for it.
This is a re-working of Maciej's fix for 3157014 (circa 2003!). Since
you can't reliably predict what the state of the page will be when
a timer fires, I've made the timer responsbile for making sure that
everything is OK to execute.
I tested @ http://www.javascriptkit.com/script/cut3.shtml with various
combinations of reload, back, and regular navigations with JS enabled/
disabled to ensure that the previous crash didn't return. I also ran a
leaks test and discovered some, but none unique to this patch. (See
<rdar://problem/4427420> TOT REGRESSION: Leaks seen on page with
JavaScript timer.)
* khtml/ecma/kjs_window.cpp:
(KJS::ScheduledAction::execute): Return early if there's no window
object. (This happens when JavaScript is disabled.)
(KJS::Window::retrieveWindow): Reversed a backwards ASSERT, increased
prettiness. (The assert fired while I was testing. Not sure why we
haven't seen it before.)
* page/Frame.cpp:
(Frame::didOpenURL): Returned setting of JavaScript enabled/disabled
preference to its rightful place. This introduces a new behavior: now,
the unload event does not fire after you've disabled JavaScript. That
seems like a good thing. (See <rdar://problem/4426506> Disabling
JavaScript should immediately end JavaScript execution.)
(Frame::begin): Ditto.
2006-01-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Dave Harrison.
- Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint
from javascript enabled/disabled inconsistency when pasting webpage
into email or blot
* page/Frame.cpp:
(Frame::userGestureHint): Check root frame's jScript() for NULL instead
of checking inner frame's jScript().
After init() has been called on a frame, but before begin() has been
called, the frame can have JavaScript enabled when its parent doesn't.
(That seems wrong, so I've filed <rdar://problem/4426499> Child frame
momentarily has JavaScript enabled even though parent frame doesn't.)
Regardless, it's better programming practice to NULL check the actual
pointer you're going to use, so that's what I've done here.
* manual-tests/paste-crash.html: Added.
(No automated test because the crash depends on JavaScript being
disabled.)
2006-01-30 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff
Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at
http://www.inquisitorx.com/beta/
It is possible for the DocLoader's frame to be nil when the
DocLoader is not nil, so we need nil checks.
* kwq/KWQLoader.mm:
(KWQServeRequest): Nil check.
(KWQServeSynchronousRequest): Same.
(KWQCheckIfReloading): Same.
(KWQCheckCacheObjectStatus): Same.
(KWQCacheObjectExpiresTime): Same.
* kwq/KWQPageState.mm: Same.
2006-01-30 Eric Seidel <eseidel@apple.com>
Add #import "KWQFontMetrics.h" to fix no-svg build.
* kwq/KWQPainter.mm:
2006-01-30 Darin Adler <darin@apple.com>
Reviewed by Eric.
- cleanup of Int/Float-Size/Point/Rect classes
I did this as part of a redo of QMatrix, but I decided I should
land this part separately.
Eliminated the concept of a null rect or point, which used to be
indicated by negative width and height.
Changed right and bottom to to be, e.g., 2 for a rect at (0,0) 2x2.
The old code followed Qt's system that says right is 1 in those cases,
which is inappropriate for floating point, and old fashioned because
modern graphics systems use coordinates for lines between pixels, not
the pixels themselves.
Other API improvements to the point, size, and rect classes. For example,
functions named with verbs now always modify the object itself.
* rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed
a bug where it said x() where it should say y().
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* kcanvas/KCanvasContainer.cpp:
* kcanvas/KCanvasItem.cpp:
* kcanvas/RenderSVGImage.cpp:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_window.cpp:
* khtml/editing/SelectionController.cpp:
* khtml/html/html_inlineimpl.cpp:
* khtml/html/html_objectimpl.cpp:
* khtml/html/html_objectimpl.h:
* khtml/misc/khtmllayout.h:
* ksvg2/svg/SVGSVGElementImpl.cpp:
* kwq/KWQAccObject.mm:
* kwq/KWQComboBox.mm:
* kwq/KWQFileButton.mm:
* kwq/KWQFontMetrics.mm:
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
* kwq/KWQRegion.cpp:
* kwq/KWQRenderTreeDebug.cpp:
* kwq/KWQScrollView.mm:
* kwq/KWQWMatrix.cpp:
* kwq/KWQWidget.h:
* kwq/KWQWidget.mm:
* kwq/KWQWindowWidget.mm:
* loader/CachedImage.cpp:
* page/Frame.cpp:
* page/FrameView.cpp:
* platform/FloatPoint.cpp:
* platform/FloatPoint.h:
* platform/FloatRect.cpp:
* platform/FloatRect.h:
* platform/FloatSize.cpp:
* platform/FloatSize.h:
* platform/Image.h:
* platform/IntPoint.cpp:
* platform/IntPoint.h:
* platform/IntPointArray.cpp:
* platform/IntPointArray.h:
* platform/IntRect.cpp:
* platform/IntRect.h:
* platform/IntSize.cpp:
* platform/IntSize.h:
* platform/mac/FloatPoint.mm:
* platform/mac/FloatRect.mm:
* platform/mac/FloatSize.mm:
* platform/mac/Image.mm:
* platform/mac/IntPoint.mm:
* platform/mac/IntRect.mm:
* platform/mac/IntSize.mm:
* platform/mac/Screen.mm:
* rendering/InlineTextBox.cpp:
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderTable.cpp:
* rendering/RenderTableCell.cpp:
* rendering/RenderText.cpp:
* rendering/render_box.cpp:
* rendering/render_canvas.cpp:
* rendering/render_canvasimage.cpp:
* rendering/render_flow.cpp:
* rendering/render_form.cpp:
* rendering/render_frames.cpp:
* rendering/render_layer.cpp:
* rendering/render_line.cpp:
* rendering/render_list.cpp:
* rendering/render_object.cpp:
* rendering/render_object.h:
* rendering/render_replaced.cpp:
2006-01-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- Remove QSortedList and QPtrList sorting support
http://bugzilla.opendarwin.org/show_bug.cgi?id=6929
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/KRenderingPaintServerGradient.cpp:
(operator<<): Implement for Vector<KCGradientStop>
(KRenderingPaintServerGradient::gradientStops): Use a Vector, not a subclass of
QPtrList that sorts on every insert
(compareStopOffset): Comparison function for sorting.
(KRenderingPaintServerGradient::setGradientStops): Add a version that takes a Vector which sorts,
and another which knows how to copy from another gradient paint server.
* kcanvas/device/KRenderingPaintServerGradient.h:
(makeGradientStop): Make a gradient stop pair.
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): use delete
on stops cache
(KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): adapt to Vector
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
* khtml/editing/visible_text.cpp:
(khtml::compareBoxStart): Comparison function for sorting.
(khtml::TextIterator::handleTextNode): Use Vector and std::sort instead of QSortedList
for sorting. Keep current position as an index.
(khtml::TextIterator::handleTextBox): Adapt for Vector use.
* khtml/editing/visible_text.h:
* ksvg2/svg/SVGGradientElementImpl.cpp:
(SVGGradientElementImpl::rebuildStops): Use a Vector. Instead of modifying the existing one,
make a fresh one and assign it.
* ksvg2/svg/SVGLinearGradientElementImpl.cpp:
(SVGLinearGradientElementImpl::buildGradient): don't copy item by item, just assign directly.
* ksvg2/svg/SVGRadialGradientElementImpl.cpp:
(SVGRadialGradientElementImpl::buildGradient): ditto
* ksvg2/svg/SVGStopElementImpl.h:
* kwq/KWQListImpl.cpp:
* kwq/KWQPtrList.h:
(QPtrList::sort): Removed.
* kwq/KWQSortedList.h: Removed.
* rendering/InlineTextBox.h: Remove now unneeded operator< and operator=
2006-01-29 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- killed more KWQ, KWinModule and QVariant
* ForwardingHeaders/kwinmodule.h: Removed.
* ForwardingHeaders/qvariant.h: Removed.
* kwq/KWQKWinModule.h: Removed.
* kwq/KWQKWinModule.mm: Removed.
* kwq/KWQVariant.cpp: Removed.
* kwq/KWQVariant.h: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_binding.cpp: Remove QVariant stuff.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
* khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
* khtml/ecma/kjs_proxy.h:
* khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
* page/Frame.h:
* page/Frame.cpp:
(getString):
(Frame::replaceContentsWithScriptResult):
(Frame::executeScript):
(Frame::executeScheduledScript):
(Frame::changeLocation):
(Frame::urlSelected):
(Frame::submitForm):
Changed to use JSValue instead of QVariant for result of executing JavaScript.
* kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations.
* bridge/mac/MacFrame.mm:
* khtml/ecma/kjs_window.h:
* khtml/ecma/kjs_window.cpp:
* khtml/html/html_inlineimpl.cpp:
* khtml/html/htmltokenizer.cpp:
* khtml/xml/DocumentImpl.cpp:
* khtml/xml/NodeImpl.cpp:
* khtml/xml/dom2_eventsimpl.cpp:
* khtml/xml/xml_tokenizer.cpp:
* kwq/KWQComboBox.mm:
* kwq/KWQFileButton.mm:
* kwq/KWQListBox.mm:
* kwq/KWQObject.cpp:
* kwq/KWQSlider.mm:
* kwq/KWQTextArea.mm:
* kwq/KWQTextField.mm:
* loader/CachedImage.h:
* page/FrameView.h:
* page/FrameView.cpp:
* rendering/render_form.cpp:
Updated includes, since KWQObject.h now includes less.
Also updated callers to executeScript since one overload was removed.
2006-01-29 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Added back #include <qvaluelist.h> to fix WIN32 build.
* rendering/render_style.h:
2006-01-29 Darin Adler <darin@apple.com>
Reviewed by Hyatt (drag image fix) and Maciej (the rest).
- fixed just-introduced crash dragging images
I don't know how to make a layout test for this.
* kwq/KWQClipboard.mm: (WebCore::KWQClipboard::dragImage): Fixed crash on
dragging by initializing m_dragImage to 0.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6923
remove more of KWQ, including the screen functions from QDesktopWidget
* kwq/KWQApplication.h: Removed.
* kwq/KWQApplication.mm: Removed.
* kwq/KWQGlobal.cpp: Removed.
* kwq/KWQKPartsEvent.cpp: Removed.
* kwq/KWQKPartsEvent.h: Removed.
* kwq/KWQPair.h: Removed.
* kwq/KWQStyle.cpp: Removed.
* kwq/KWQStyle.h: Removed.
* ForwardingHeaders/kparts/event.h: Removed.
* ForwardingHeaders/qapplication.h: Removed.
* ForwardingHeaders/qstyle.h: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/Screen.h: Added. Replaces the desktop widget stuff in KWQApplication.mm.
* platform/mac/Screen.mm: Added.
* kwq/KWQDef.h: Removed everything except for kMin and kMax from here.
We should port to std::min and std::max, and then we can get rid of this
header altogether.
* kwq/KWQKCursor.h: Removed setAutoHideCursor.
* kwq/KWQKCursor.mm: Ditto.
* kwq/KWQWidget.h: Removed style() and setStyle() functions.
* kwq/KWQWidget.mm: Ditto.
* khtml/ecma/kjs_window.h:
* khtml/ecma/kjs_window.cpp:
(KJS::Screen::Screen): Store a pointer to the Frame.
(KJS::Screen::getValueProperty): Port to use the new Screen.h functions.
(KJS::showModalDialog): Ditto.
(KJS::Window::getValueProperty): Ditto.
(KJS::WindowFunc::callAsFunction): Ditto.
* khtml/khtml_events.h:
* khtml/khtml_events.cpp: Removed much of the code here.
This can be cut down even more.
* khtml/misc/khtmllayout.h: Removed unused stuff and updated for KWQ changes.
* kwq/KWQCString.cpp:
* kwq/KWQKURL.mm:
* kwq/KWQPainter.mm:
* kwq/KWQRegExp.cpp:
* kwq/KWQRenderTreeDebug.cpp:
* kwq/KWQString.h:
* kwq/KWQString.mm:
* kwq/KWQTextCodec.cpp:
* WebCore+SVG/KDOMSettings.cpp:
* bridge/mac/MacFrame.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* css/cssparser.cpp:
* kcanvas/KCanvasItem.cpp:
* khtml/ecma/kjs_navigator.cpp:
* khtml/html/HTMLSelectElementImpl.cpp:
* khtml/html/html_tableimpl.h:
* khtml/html/htmltokenizer.cpp:
* khtml/misc/decoder.cpp:
* ksvg2/css/KSVGCSSParser.cpp:
* ksvg2/css/SVGRenderStyle.h:
* page/Frame.h:
* page/Frame.cpp:
* page/FrameView.cpp:
* platform/IntPointArray.cpp:
* rendering/RenderBlock.cpp:
* rendering/RenderTable.cpp:
* rendering/bidi.cpp:
* rendering/bidi.h:
* rendering/render_form.cpp:
* rendering/render_object.cpp:
* rendering/render_object.h:
* rendering/render_replaced.cpp:
* rendering/render_style.h:
* rendering/table_layout.cpp:
Updated for above KWQ changes. Changed tabs to spaces.
2006-01-29 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Fix build for Win32.
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-01-29 David Hyatt <hyatt@apple.com>
Fix for bug 6910, don't let Image be assignable or copiable. It will soon represent the actual
original Image (including the data) and as such must remain unique.
Reviewed by darin
* kcanvas/KCanvasFilters.cpp:
(KCanvasFEImage::~KCanvasFEImage):
(KCanvasFEImage::setCachedImage):
* kcanvas/KCanvasFilters.h:
(KCanvasFEImage::KCanvasFEImage):
(KCanvasFEImage::cachedImage):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEImageQuartz::getCIFilter):
* khtml/ecma/kjs_events.cpp:
(KJS::ClipboardProtoFunc::callAsFunction):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::drawPattern):
(KJS::_rh):
(KJS::ImagePattern::~ImagePattern):
(KJS::ImagePattern::createPattern):
* khtml/ecma/kjs_html.h:
(KJS::ImagePattern::cachedImage):
* khtml/html/html_imageimpl.h:
(WebCore::HTMLImageElementImpl::cachedImage):
* khtml/xml/dom2_eventsimpl.h:
* ksvg2/svg/SVGCursorElementImpl.cpp:
(SVGCursorElementImpl::~SVGCursorElementImpl):
(SVGCursorElementImpl::parseMappedAttribute):
* ksvg2/svg/SVGCursorElementImpl.h:
(KSVG::SVGCursorElementImpl::cachedImage):
* ksvg2/svg/SVGFEImageElementImpl.cpp:
(SVGFEImageElementImpl::~SVGFEImageElementImpl):
(SVGFEImageElementImpl::parseMappedAttribute):
(SVGFEImageElementImpl::notifyFinished):
* kwq/KWQClipboard.h:
* kwq/KWQClipboard.mm:
(WebCore::KWQClipboard::dragImage):
(WebCore::KWQClipboard::setDragImage):
(WebCore::KWQClipboard::setDragImageElement):
(WebCore::KWQClipboard::imageChanged):
(WebCore::KWQClipboard::dragNSImage):
* platform/Image.h:
2006-01-29 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6914
REGRESSION: fast/block/basic/014.html crashes Safari
* rendering/render_image.h:
(WebCore::RenderImage::image): Return a null image when m_cachedImage is 0.
(WebCore::RenderImage::errorOccurred): Return false when m_cachedImage is 0.
* rendering/render_image.cpp: (WebCore::RenderImage::nullImage): Added.
Returns a global null image for use when we have no cached image.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6919
REGRESSION: Background images don't paint when they are finished loading
* rendering/render_object.h: Renamed the old setImage to imageChanged, the
new name for the same function.
* rendering/render_object.cpp: (WebCore::RenderObject::imageChanged): Ditto.
* rendering/render_list.cpp: (RenderListMarker::imageChanged): Changed the
call to parent to call the new imageChanged instead of the old setImage.
- fixed something else that was causing some layout test crashes
* kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't
ever dereference a null pointer here.
2006-01-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- replace QValueVector and QPtrVector use with Vector, and remove them.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6909
* ForwardingHeaders/q3valuevector.h: Removed.
* ForwardingHeaders/qptrvector.h: Removed.
* ForwardingHeaders/qvector.h: Removed.
* WebCore+SVG/KDOMSettings.cpp:
(KDOMSettings::init):
(KDOMSettings::isAdFiltered):
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge elementWithName:inForm:]):
(-[WebCoreFrameBridge controlsInForm:]):
* css/cssstyleselector.h:
* khtml/html/HTMLCollectionImpl.cpp:
(WebCore::HTMLCollectionImpl::updateNameCache):
(WebCore::HTMLCollectionImpl::namedItems):
* khtml/html/HTMLCollectionImpl.h:
* khtml/html/HTMLFormCollectionImpl.cpp:
(WebCore::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
(WebCore::HTMLFormCollectionImpl::calcLength):
(WebCore::HTMLFormCollectionImpl::item):
(WebCore::HTMLFormCollectionImpl::getNamedFormItem):
(WebCore::HTMLFormCollectionImpl::updateNameCache):
* khtml/html/HTMLFormElementImpl.cpp:
(WebCore::HTMLFormElementImpl::~HTMLFormElementImpl):
(WebCore::HTMLFormElementImpl::length):
(WebCore::HTMLFormElementImpl::submitClick):
(WebCore::HTMLFormElementImpl::formData):
(WebCore::HTMLFormElementImpl::submit):
(WebCore::HTMLFormElementImpl::reset):
(WebCore::insertIntoVector):
(WebCore::removeFromVector):
(WebCore::HTMLFormElementImpl::formElementIndex):
(WebCore::HTMLFormElementImpl::registerImgElement):
* khtml/html/HTMLFormElementImpl.h:
* ksvg2/svg/SVGTextElementImpl.cpp:
* kwq/KWQComboBox.h:
* kwq/KWQListBox.h:
* kwq/KWQPtrVector.h: Removed.
* kwq/KWQRenderTreeDebug.cpp:
(writeLayers):
* kwq/KWQValueVector.h: Removed.
* kwq/KWQVectorImpl.cpp: Removed.
* kwq/KWQVectorImpl.h: Removed.
* loader/loader.cpp:
(WebCore::Loader::cancelRequests):
* rendering/render_layer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::compareZIndex):
(WebCore::RenderLayer::updateZOrderLists):
(WebCore::RenderLayer::collectLayers):
* rendering/render_layer.h:
(khtml::RenderLayer::posZOrderList):
(khtml::RenderLayer::negZOrderList):
2006-01-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/table/border-collapsing/rtl-border-collapsing.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6888
Collapsed borders appear on the wrong side or on the wrong cell in RTL tables
* rendering/RenderTable.cpp:
(WebCore::RenderTable::cellBefore): Renamed cellLeft to this.
(WebCore::RenderTable::cellAfter): Renamed cellRight to this.
* rendering/RenderTable.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::collapsedLeftBorder): Added the RTL case.
(WebCore::RenderTableCell::collapsedRightBorder): Ditto.
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::collectBorders):
(WebCore::RenderTableCell::paintCollapsedBorder):
* rendering/RenderTableCell.h:
2006-01-29 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6550
REGRESSION: window.open('myurl', '_self') fails to load myurl in current window
Tests:
* fast/dom/Window/window-open-parent-no-parent.html: Added.
* fast/dom/Window/window-open-parent.html: Added.
* fast/dom/Window/window-open-self.html: Added.
* fast/dom/Window/window-open-top.html: Added.
* khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
Fix check for special frame names. These special frame names are supposed
to always be unaffected by pop-up blocking. But the code instead was
saying that the special frame names are always blocked. Oops!
2006-01-29 Darin Adler <darin@apple.com>
Suggested by Alexey.
- fixed something Alexey noticed in the new exception names
Test: fast/dom/Range/range-exceptions.html
* khtml/ecma/kjs_binding.cpp: Added 0 to fix an off-by-one error for the
names of the two DOM range exceptions.
2006-01-29 David Harrison <harrison@apple.com>
Reviewed by John.
Fix two problems with editing around empty list items:
1) Arrowing up or down to an empty list item skipped the list item
2) Deleting the content of a list item made it so you could never get the cursor inside the empty item
Added tests:
* selection/move-by-line-002.html
* deleting/delete-listitem-002.html
* khtml/editing/composite_edit_command.cpp:
(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
- special check for empty list item because list marker assures non-zero height()
* khtml/xml/dom_position.cpp:
(DOM::Position::inRenderedContent):
- fix check wrt BRs because text box is not required
* rendering/bidi.cpp:
(khtml::RenderBlock::constructLine):
- make sure that br by itself in a list item gets a text-style box
(khtml::RenderBlock::findNextLineBreak):
- make sure that br by itself in a list item gets a box at all
2006-01-29 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt & darin.
There are a few small, but intertwined fixes in this patch:
Remaining fixes for SVGTetris:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6889
Testing blocked by: http://bugzilla.opendarwin.org/show_bug.cgi?id=6905
Fix for CDF support:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6025
Updated test: svg/custom/simpleCDF.xml
Fix for filter updating:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6849
Testing blocked by: http://bugzilla.opendarwin.org/show_bug.cgi?id=6904
Also, as a side effect of 6849, fixed double-apply of filters, improving:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6713
Results updated for most tests, pixel results improved for filter tests.
* kcanvas/KCanvasFilters.cpp:
(KCanvasFilter::filterBBoxForItemBBox): moved into baseclass
* kcanvas/KCanvasFilters.h:
* kcanvas/RenderSVGImage.cpp:
(RenderSVGImage::paint): use relativeBBox
(RenderSVGImage::relativeBBox): added
(RenderSVGImage::imageChanged): added
(RenderSVGImage::getAbsoluteRepaintRect): fixed
* kcanvas/RenderSVGImage.h:
(KSVG::RenderSVGImage::imageChanged): added.
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFilterQuartz::applyFilter): use new baseclass method
(KCanvasFEFloodQuartz::getCIFilter): fixed.
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::layout): update width/height
(KCanvasItemQuartz::getAbsoluteRepaintRect): fixed.
(KCanvasItemQuartz::requiresLayer): moved to .cpp
(KCanvasItemQuartz::lineHeight): added.
(KCanvasItemQuartz::baselinePosition): added.
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasContainerQuartz::canHaveChildren): moved to .cpp
(KCanvasContainerQuartz::requiresLayer): moved to .cpp
(KCanvasContainerQuartz::lineHeight): added.
(KCanvasContainerQuartz::baselinePosition): added.
(KCanvasContainerQuartz::paint): fixed.
(KCanvasContainerQuartz::viewportTransform): fixed.
(KCanvasContainerQuartz::getAbsoluteRepaintRect): fixed.
(KCanvasContainerQuartz::absoluteTransform): fixed.
* rendering/render_object.cpp:
(WebCore::RenderObject::absoluteTransform): fixed apply order.
2006-01-29 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
First set of fixes for SVG Tetris:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6889
Tests:
* svg/custom/viewport-update.svg
Key press test not yet possible:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6906
* bridge/mac/MacFrame.mm:
(MacFrame::keyEvent): pass key events to things other than HTML
* ksvg2/svg/SVGSVGElementImpl.cpp:
(WebCore::SVGSVGElementImpl::parseMappedAttribute): update viewport
2006-01-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix SVG layout tests crash due to Vector change.
* kcanvas/device/KRenderingDevice.cpp:
(KRenderingDevice::currentContext): check isEmpty, return 0
2006-01-28 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove bogus IntRect operator.
* platform/FloatRect.h:
2006-01-28 David Hyatt <hyatt@apple.com>
Cleanup of RenderImage. Eliminate unneeded members and methods.
Reviewed by darin
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge elementAtPoint:]):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::drawPattern):
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::attach):
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
(WebCore::HTMLImageElementImpl::attach):
* khtml/html/html_imageimpl.h:
(WebCore::HTMLImageElementImpl::compositeOperator):
* khtml/html/html_objectimpl.cpp:
(WebCore::HTMLObjectElementImpl::attach):
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::attach):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(WebCore::QPainter::drawImageAtPoint):
(WebCore::QPainter::drawImageInRect):
(WebCore::QPainter::drawImage):
(WebCore::QPainter::drawFloatImage):
(WebCore::QPainter::drawTiledImage):
(WebCore::QPainter::drawScaledAndTiledImage):
* kwq/WebCoreImageRenderer.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::ref):
(WebCore::CachedImage::notifyObservers):
(WebCore::CachedImage::data):
(WebCore::CachedImage::error):
* loader/CachedImage.h:
* loader/CachedObjectClient.h:
(WebCore::CachedObjectClient::imageChanged):
* platform/Image.h:
(WebCore::Image::):
* platform/mac/Image.mm:
(WebCore::Image::Image):
(WebCore::Image::resetAnimation):
(WebCore::Image::operator=):
(WebCore::Image::stopAnimations):
(WebCore::):
(WebCore::Image::compositeOperatorFromString):
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
* rendering/render_canvasimage.cpp:
(WebCore::RenderCanvasImage::paint):
* rendering/render_image.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::~RenderImage):
(WebCore::RenderImage::setContentObject):
(WebCore::RenderImage::setCachedImage):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::resetAnimation):
(WebCore::RenderImage::paint):
(WebCore::RenderImage::layout):
(WebCore::RenderImage::updateAltText):
(WebCore::RenderImage::calcReplacedWidth):
(WebCore::RenderImage::calcReplacedHeight):
* rendering/render_image.h:
(WebCore::RenderImage::cachedImage):
(WebCore::RenderImage::image):
(WebCore::RenderImage::errorOccurred):
* rendering/render_list.cpp:
(RenderListMarker::paint):
(RenderListMarker::imageChanged):
* rendering/render_list.h:
* rendering/render_object.cpp:
(WebCore::RenderObject::paintBorderImage):
(WebCore::RenderObject::setImage):
* rendering/render_object.h:
2006-01-28 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6711
crash if an event is dispatched to a listener that uses handleEvent
Test: fast/events/dispatch-to-handle-event.html
* khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
Remove boolean that is always false, and correct the one place that was
checking it to check the correct pointer instead.
2006-01-28 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- remove QPtrStack, replace with Vector or traverseNextNode as appropriate
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/KRenderingDevice.cpp:
(KRenderingDevice::currentContext):
(KRenderingDevice::popContext):
(KRenderingDevice::pushContext):
* kcanvas/device/KRenderingDevice.h:
* khtml/html/html_documentimpl.cpp:
* khtml/xml/DocumentImpl.cpp:
* khtml/xml/xml_tokenizer.cpp:
(WebCore::XMLTokenizer::XMLTokenizer):
* kwq/KWQAccObject.mm:
(-[KWQAccObject addChildrenToArray:]):
* kwq/KWQPainter.mm:
(WebCore::QPainter::save):
(WebCore::QPainter::restore):
* kwq/KWQPtrStack.h: Removed.
* ForwardingHeaders/qptrstack.h: Removed.
* ForwardingHeaders/q3ptrstack.h: Removed.
2006-01-28 Maciej Stachowiak <mjs@apple.com>
- added missing forwarding header to fix build.
* ForwardingHeaders/kxmlcore/Vector.h: Added.
2006-01-28 Darin Adler <darin@apple.com>
* khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Removed extra parameter
to fix the build.
2006-01-28 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- converted KWQKURL to use Vector
http://bugzilla.opendarwin.org/show_bug.cgi?id=6900
Use Vector in place of Array, and in place of the custom stack
buffers with overflow.
* kwq/KWQKURL.mm:
(KURL::KURL):
(KURL::decode_string):
(KURL::parse):
(KURL::encode_string):
(findHostnamesInMailToURL):
(encodeHostnames):
2006-01-28 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6895
include exception names in JavaScript form of DOM exception
* khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Include the name of the
exception in the error message.
2006-01-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/table/add-before-anonymous-child.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5868
Crash on HP.com with ToT and Safari 2.0.2 in khtml::RenderContainer::detach()
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild): If beforeChild is inside an anonymous
cell, insert into the cell.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild): Changed comment.
2006-01-28 David Hyatt <hyatt@apple.com>
Eliminate the mask() method on Image. It's unused.
* platform/Image.h:
* platform/mac/Image.mm:
2006-01-28 David Hyatt <hyatt@apple.com>
Clean up the Image class. Eliminate the MIME type member variable.
Eliminate an unused constructor. Fix the constructor to take
a QString rather than an NSString so that it's portable. Rename
the receivedData method to decode. Move canRenderImageType into
the Image class as a static method.
Reviewed by mjs
* khtml/html/html_objectimpl.cpp:
(WebCore::HTMLObjectElementImpl::isImageType):
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
(KWQResponseMIMEType):
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
* platform/Image.h:
* platform/mac/Image.mm:
(WebCore::Image::supportsType):
(WebCore::Image::Image):
(WebCore::Image::~Image):
(WebCore::Image::decode):
(WebCore::Image::operator=):
2006-01-28 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel.
SourceAlpha does not display until window is redrawn (resized)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6375
Test: svg/custom/filter-source-alpha.svg
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFilterQuartz::inputImage):
2006-01-28 David Hyatt <hyatt@apple.com>
Fix CachedImage.h/.cpp up. Lots of cleanup. Eliminated
unused code and cleaned up method and member names.
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLImageElementImpl::width):
(WebCore::HTMLImageElementImpl::height):
* loader/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::ref):
(WebCore::CachedImage::deref):
(WebCore::CachedImage::image):
(WebCore::CachedImage::imageSize):
(WebCore::CachedImage::decodedRect):
(WebCore::CachedImage::notifyObservers):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::data):
(WebCore::CachedImage::error):
(WebCore::CachedImage::checkNotify):
* loader/CachedImage.h:
(WebCore::CachedImage::isDecoded):
(WebCore::CachedImage::isErrorImage):
(WebCore::CachedImage::schedule):
(WebCore::CachedImage::isImage):
* loader/CachedImageCallback.cpp: Removed.
* loader/CachedImageCallback.h: Removed.
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::slotFinished):
* platform/Image.h:
* platform/mac/Image.mm:
(WebCore::Image::receivedData):
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
* rendering/render_image.cpp:
(WebCore::RenderImage::setImage):
(WebCore::RenderImage::paint):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBackgroundAndBorder):
* rendering/render_list.cpp:
(RenderListMarker::setImage):
* rendering/render_object.cpp:
(WebCore::RenderObject::mustRepaintBackgroundOrBorder):
(WebCore::RenderObject::paintBorder):
(WebCore::RenderObject::setImage):
2006-01-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- GC after destroying the very last frame to avoid node leak false positives
http://bugzilla.opendarwin.org/show_bug.cgi?id=6884
* ForwardingHeaders/JSLock.h: added
* page/Page.cpp:
(Page::~Page): In debug mode, when destroying the last page,
0 out m_mainFrame to destroy the very last frame and then garbage collect,
so a GC happens at a time when the stack won't have references into the JS
heap for the conservative GC to catch.
2006-01-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- remove nearly all the substance of ObjectContents and put it on Frame
http://bugzilla.opendarwin.org/show_bug.cgi?id=6885
* ForwardingHeaders/kjs/JSLock.h: Added.
* bridge/mac/MacFrame.mm:
(Plugin::Plugin): renamed from KWQPluginPart, make it able to store a view.
(Plugin::view): And return the QWidget* view.
(MacFrame::createPart): Use Plugin instead of KWQPluginPart, avoid setWidget.
(MacFrame::setView): Don't use m_url directly so much, and use through d-> if
needed.
(MacFrame::userAgent): ditto
(MacFrame::openURLFromPageCache): ditto
* kwq/KWQObject.cpp:
(QObject::inherits): Removed case for ObjectContents, which is not long for this
world.
* kwq/KWQObject.h:
* page/Frame.cpp:
(Frame::init): Don't pass parent() to FramePrivate, we can't possibly have one
yet.
(Frame::restoreURL): d->m_url, not m_url
(Frame::didOpenURL): ditto
(Frame::executeScript): ditto
(Frame::receivedFirstData): ditto
(Frame::begin): ditto
(Frame::gotoAnchor): ditto
(Frame::requestObject): ditto, plus only use Frame methods when we really have a Frame.
(Frame::processObjectRequest): ditto, also get view() not widget().
(Frame::childFrame): remove excess spaces and pointless assert.
(Frame::parentFrame): just call parent() (could probably remove this).
(Frame::reparseConfiguration): d->m_url not m_url
(Frame::canCachePage): ditto
(Frame::updatePolicyBaseURL): ditto
(Frame::scrollToAnchor): ditto
(Frame::setName): set in FramePrivate
(Frame::name): get from FramePrivate
(Frame::setParent): similarly
(Frame::parent): similarly
(Frame::url): similarly
* page/Frame.h:
* page/FramePrivate.h:
(FramePrivate::FramePrivate): Added m_parent, m_name and m_url.
* page/FrameView.cpp:
(FrameView::viewportMousePressEvent): Call frame directly instead of
sending through QApplication.
(FrameView::viewportMouseDoubleClickEvent): ditto
(FrameView::viewportMouseMoveEvent): ditto
(FrameView::viewportMouseReleaseEvent): ditto
* page/ObjectContents.h:
(ObjectContents::ObjectContents): Removed url, setParent, parent, name,
setName, openURL, closeURL, widget, setWidget, event and customEvent methods,
and corresponding fields. Add pure virtual view() method.
2006-01-27 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6075
REGRESSION: event.relatedTarget not working, breaks menus at www.ati.com
Test: fast/events/related-target.html
* khtml/xml/NodeImpl.h:
* khtml/xml/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): Added a
relatedTarget parameter to a couple overloads.
* page/FrameView.cpp:
(FrameView::viewportMouseMoveEvent): Moved code to set prevMouseX/Y out of here
and into dispatchMouseEvent, because it now handles mouseout and mouseover events,
and that's what these globals are used for. This fixes DumpRenderTree to work
properly with mouseout and mouseover (because it delivers only mouse down and up,
no mouse move events).
(FrameView::dispatchMouseEvent): Passed in the "other" node as the related target
for mouseout and mouseover events. Also set prevMouseX/Y.
2006-01-27 David Hyatt <hyatt@apple.com>
Fix for 6867. Rename QPixmap to Image and move it to platform/.
Eliminate QPaintDevice and QPaintDeviceMetrics completely, since
they aren't necessary.
Reviewed by anders
* ForwardingHeaders/q3paintdevicemetrics.h: Removed.
* ForwardingHeaders/qpaintdevice.h: Removed.
* ForwardingHeaders/qpaintdevicemetrics.h: Removed.
* ForwardingHeaders/qpixmap.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
(MacFrame::fileWrapperForElement):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
(nowPrinting):
(-[WebCoreFrameBridge elementAtPoint:]):
* css/css_valueimpl.cpp:
(WebCore::CSSPrimitiveValueImpl::computeLength):
(WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
* css/css_valueimpl.h:
* css/csshelper.cpp:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::init):
(WebCore::CSSStyleSelector::initForStyleResolve):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::convertToLength):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapBackgroundXPosition):
(WebCore::CSSStyleSelector::mapBackgroundYPosition):
* css/cssstyleselector.h:
* kcanvas/KCanvasFilters.h:
(KCanvasFEImage::image):
(KCanvasFEImage::setImage):
* kcanvas/KCanvasImage.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEImageQuartz::getCIFilter):
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
(KCanvasImageQuartz::init):
* khtml/ecma/kjs_events.cpp:
(KJS::ClipboardProtoFunc::callAsFunction):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::drawPattern):
(KJS::_rh):
(KJS::ImagePattern::createPattern):
* khtml/ecma/kjs_html.h:
(KJS::ImagePattern::image):
* khtml/ecma/kjs_window.cpp:
(KJS::Screen::getValueProperty):
* khtml/editing/SelectionController.h:
* khtml/html/html_imageimpl.h:
(WebCore::HTMLImageElementImpl::image):
* khtml/misc/helper.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl):
(WebCore::DocumentImpl::~DocumentImpl):
(WebCore::DocumentImpl::recalcStyle):
(WebCore::DocumentImpl::attach):
(WebCore::DocumentImpl::detach):
* khtml/xml/DocumentImpl.h:
(WebCore::DocumentImpl::printing):
(WebCore::DocumentImpl::setPrinting):
* khtml/xml/dom2_eventsimpl.h:
* ksvg2/css/SVGCSSStyleSelector.cpp:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::KSVGPainterFactory::cssPrimitiveToLength):
(WebCore::KSVGPainterFactory::strokePainter):
* ksvg2/svg/SVGCursorElementImpl.cpp:
(SVGCursorElementImpl::notifyFinished):
* ksvg2/svg/SVGCursorElementImpl.h:
(KSVG::SVGCursorElementImpl::image):
* ksvg2/svg/SVGDocumentImpl.cpp:
(SVGDocumentImpl::SVGDocumentImpl):
* ksvg2/svg/SVGFEImageElementImpl.cpp:
(SVGFEImageElementImpl::notifyFinished):
* ksvg2/svg/SVGMaskElementImpl.cpp:
(KSVG::SVGMaskElementImpl::drawMaskerContent):
* ksvg2/svg/SVGSVGElementImpl.cpp:
* kwq/KWQApplication.h:
* kwq/KWQApplication.mm:
(QDesktopWidget::screenDepth):
* kwq/KWQClipboard.h:
* kwq/KWQClipboard.mm:
(WebCore::KWQClipboard::dragImage):
(WebCore::KWQClipboard::setDragImage):
(WebCore::KWQClipboard::setDragImageElement):
* kwq/KWQComboBox.mm:
* kwq/KWQCursor.h:
* kwq/KWQCursor.mm:
(WebCore::createCustomCursor):
(WebCore::QCursor::QCursor):
* kwq/KWQKPartsEvent.h:
* kwq/KWQObject.h:
* kwq/KWQPaintDevice.h: Removed.
* kwq/KWQPaintDeviceMetrics.h: Removed.
* kwq/KWQPaintDeviceMetrics.mm: Removed.
* kwq/KWQPainter.h:
(WebCore::QPainter::printing):
* kwq/KWQPainter.mm:
(WebCore::QPainter::drawImage):
(WebCore::QPainter::drawFloatImage):
(WebCore::QPainter::drawTiledImage):
(WebCore::QPainter::drawScaledAndTiledImage):
* kwq/KWQPixmap.h: Removed.
* kwq/KWQPixmap.mm: Removed.
* kwq/KWQPrinter.h:
(QPrinter::QPrinter):
* kwq/KWQWidget.h:
* loader/Cache.cpp:
(khtml::Cache::init):
(khtml::Cache::clear):
(khtml::Cache::requestImage):
(khtml::Cache::getStatistics):
* loader/Cache.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::ref):
(WebCore::CachedImage::tiled_image):
(WebCore::CachedImage::image):
(WebCore::CachedImage::image_size):
(WebCore::CachedImage::do_notify):
(WebCore::CachedImage::data):
(WebCore::CachedImage::error):
* loader/CachedImage.h:
* loader/CachedImageCallback.cpp:
(WebCore::CachedImageCallback::notifyUpdate):
(WebCore::CachedImageCallback::notifyFinished):
(WebCore::CachedImageCallback::handleError):
* loader/CachedObject.h:
(WebCore::CachedObject::):
* loader/CachedObjectClient.h:
(WebCore::CachedObjectClient::setImage):
* loader/DocLoader.cpp:
(khtml::DocLoader::setAutoloadImages):
(khtml::DocLoader::setShowAnimations):
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::slotFinished):
* page/Frame.cpp:
(Frame::paint):
* page/Frame.h:
* page/FrameView.cpp:
(selectCursor):
* page/FrameView.h:
* platform/Image.h: Added.
* platform/mac/Image.mm: Added.
(WebCore::Image::loadResource):
(WebCore::Image::Image):
(WebCore::Image::~Image):
(WebCore::Image::imageRef):
(WebCore::Image::resetAnimation):
(WebCore::Image::setAnimationRect):
(-[WebImageCallback initWithCallback:WebCore::]):
(WebCore::Image::shouldUseThreadedDecoding):
(WebCore::Image::receivedData):
(WebCore::Image::mask):
(WebCore::Image::isNull):
(WebCore::Image::size):
(WebCore::Image::rect):
(WebCore::Image::width):
(WebCore::Image::height):
(WebCore::Image::resize):
(WebCore::Image::operator=):
(WebCore::Image::increaseUseCount):
(WebCore::Image::decreaseUseCount):
(WebCore::Image::stopAnimations):
(WebCore::Image::flushRasterCache):
* rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paint):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintObject):
* rendering/RenderText.h:
* rendering/font.cpp:
(khtml::Font::update):
* rendering/font.h:
* rendering/render_box.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
* rendering/render_canvasimage.cpp:
(WebCore::RenderCanvasImage::paint):
* rendering/render_flow.cpp:
(RenderFlow::paintLines):
* rendering/render_image.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::~RenderImage):
(WebCore::RenderImage::setContentObject):
(WebCore::RenderImage::setImage):
(WebCore::RenderImage::paint):
(WebCore::RenderImage::layout):
(WebCore::RenderImage::calcReplacedWidth):
(WebCore::RenderImage::calcReplacedHeight):
* rendering/render_image.h:
(WebCore::RenderImage::image):
(WebCore::RenderImage::getImage):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBackgroundAndBorder):
* rendering/render_list.cpp:
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::paint):
(RenderListMarker::setImage):
(RenderListMarker::calcMinMaxWidth):
* rendering/render_list.h:
* rendering/render_object.cpp:
(WebCore::RenderObject::mustRepaintBackgroundOrBorder):
(WebCore::RenderObject::paintBorderImage):
(WebCore::RenderObject::paintBorder):
(WebCore::RenderObject::setImage):
* rendering/render_object.h:
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::paint):
* rendering/render_replaced.h:
* rendering/render_theme_mac.mm:
(khtml::RenderThemeMac::setFontFromControlSize):
2006-01-27 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix another part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6731
REGRESSION: change event fires at load time for checked items
Revised test: fast/forms/radio-button-no-change-event.html
* khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
Don't send a change event for a radio button getting unchecked (matches Gecko at least).
2006-01-26 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Leak fixes in SVG code.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6588
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(teardownShadingWithStyle): delete image and context when through.
(KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz): zero out cached mask
(KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): destroy cached mask image.
(KRenderingPaintServerLinearGradientQuartz::setup): delete mask before making new
(KRenderingPaintServerRadialGradientQuartz::setup): delete mask before making new
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::sharedSolidPaintServer): forgot "static" keyword
* ksvg2/svg/SVGPolyElementImpl.cpp:
(SVGPolyElementImpl::notifyAttributeChange): use RefPtr
2006-01-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- various leaks on "fast" LayoutTests
http://bugzilla.opendarwin.org/show_bug.cgi?id=6819
http://bugzilla.opendarwin.org/show_bug.cgi?id=6823
http://bugzilla.opendarwin.org/show_bug.cgi?id=6824
It turns out these all had the same cause.
* page/Frame.cpp:
(Frame::clear): If we have a document, make sure to cancel parsing,
in case it has a tokenizer and parser that are keeping it alive. Use
cancelParsing to avoid possibly accidentally firing the onload handler.
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::cancelParsing): Factored out of implicitOpen.
(WebCore::DocumentImpl::implicitOpen): Call cancelParsing now.
* khtml/xml/DocumentImpl.h:
2006-01-26 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/4256504> khtml::RenderBlock::skipWhitespace
crashes upon interaction with radio buttons.
The old code held an assumption that positioned elements would
always have line boxes. This is not necessarily the case, so this
patch makes sure that the lines are dirtied appropriately.
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::removeChildNode): Call
dirtyLinesFromChangedChild() if oldChild is positioned and has
inline children.
(WebCore::RenderContainer::insertChildNode): Only check the the
child is not floating; it can be positioned.
2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/dom/HTMLImageElement/image-without-renderer-width.html
Reviewed and landed by Anders.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6841
REGRESSION: WebKit (Thursday, January 26, 2006) crash in HTMLImageElementImpl::width()
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLImageElementImpl::width): Return the image's dimensions only if it isn't
null, but even if it hasn't finished loading.
(WebCore::HTMLImageElementImpl::height): Ditto.
2006-01-26 Adele Peterson <adele@apple.com>
Reviewed by Hyatt and Vicki.
Fix for broken layout tests.
* khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::focus):
2006-01-26 Anders Carlsson <andersca@mac.com>
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6845
Autogenerate more classes
This makes DocumentType and DOMImplementation autogenerated.
* JSCore.cpp: Added.
* WebCore.xcodeproj/project.pbxproj:
Add JSCore.cpp
* bindings/scripts/CodeGeneratorJS.pm:
Add attributes for controlling how null values should be converted
to and from DOMString objects.
* bindings/scripts/IDLParser.pm:
* bindings/scripts/IDLStructure.pm:
Remove the extended attributes hash on attribute objects and
use the one on the signature.
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNodeProtoFunc::callAsFunction):
For isSupported, just convert the version argument to an empty string if
null is passed in. The reason for this change is that the autogenerated
binding for DOMImplementation::hasFeature does the same thing. This also makes
us behave like Mozilla and Opera.
(KJS::toDocumentType):
(KJS::getDOMNode):
Use JSDocumentType.
(KJS::getDOMDOMImplementation):
Use JSDOMImplementation.
* khtml/ecma/kjs_dom.h:
Remove DOMDOMImplementation and DOMDocumentType
* khtml/xml/DOMImplementation.idl: Added.
* khtml/xml/DocumentType.idl: Added.
2006-01-26 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
<text> elements with a scale on a parent <g> breaks nodeAtPoint
Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6843
Test: svg/custom/text-hit-test.svg
* kcanvas/RenderSVGText.cpp:
(RenderSVGText::nodeAtPoint):
2006-01-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- fixed a couple hundred node leaks on the traversal layout tests
http://bugzilla.opendarwin.org/show_bug.cgi?id=6828
There were three basic problems here, any one of which was enough
to cause the leak.
1) If the filter function for a NodeFilter, NodeIterator or TreeWalker
had that object in scope, it would cause a GC reference cycle. I fixed
this by making these JS functions get marked by the corresponding JS object,
as for XMLHttpRequest.
2) The TraversalImpl class that's a base class for NodeIteratorImpl and
TreeWalkerImpl did not have a virtual destructor, leading the Shared
template to call the base class destructor on deref.
3) ref/deref on the document were mismatched, I fixed all that sort of nonsense
by using RefPtr instead of manual ref/deref.
* khtml/dom/dom2_traversal.h:
(DOM::NodeFilterCondition::mark): Add no-op virtual mark method, JS subclass
will do something useful here.
* khtml/ecma/kjs_traversal.cpp:
(KJS::DOMNodeIterator::mark): Mark the DOM-level filter.
(KJS::DOMNodeFilter::mark): ditto
(KJS::DOMTreeWalker::mark): ditto
(KJS::JSNodeFilterCondition::JSNodeFilterCondition): reformatted.
(KJS::JSNodeFilterCondition::mark): Mark the filter function.
* khtml/ecma/kjs_traversal.h:
* khtml/xml/dom2_traversalimpl.cpp:
(DOM::NodeFilterImpl::NodeFilterImpl): diligently applied RefPtr
(DOM::TraversalImpl::TraversalImpl): ditto
(DOM::TraversalImpl::~TraversalImpl): ditto
(DOM::NodeIteratorImpl::NodeIteratorImpl): ditto
(DOM::NodeIteratorImpl::~NodeIteratorImpl): ditto
(DOM::NodeIteratorImpl::setReferenceNode): ditto
(DOM::TreeWalkerImpl::TreeWalkerImpl): ditto
(DOM::TreeWalkerImpl::setCurrentNode): ditto
* khtml/xml/dom2_traversalimpl.h:
(DOM::NodeFilterImpl::mark): call mark() on the codition
(DOM::TraversalImpl::root): Use .get()
(DOM::TraversalImpl::filter): ditto
(DOM::NodeIteratorImpl::referenceNode): ditto
(DOM::NodeIteratorImpl::document): ditto
(DOM::TreeWalkerImpl::currentNode): ditto
2006-01-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- fixed ~40 DOM nodes leaked when running any two of the outerHTML DOM tests (actually just a false positive)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6822
* kwq/KWQPageState.mm:
(-[KWQPageState clear]): Garbage collect after deleting a bunch of
stuff that holds onto JS objects. This should avoid false positive leaks
and is good in any case since page state deallocation is already deferred.
2006-01-26 Adele Peterson <adele@apple.com>
Reviewed by Vicki.
- fix for <rdar://problem/4422624> REGRESSION: crash loading webmail.mac.com
Test added:
fast/forms/input-no-renderer.html
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::focus): Nil check for renderer.
2006-01-26 David Harrison <harrison@apple.com>
Reviewed by Timothy.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6835
REGRESSION: WebKit crashes when loading a script on Wikipedia
Test added:
editing/deleting/delete-listitem-001.html
* rendering/render_list.cpp:
(RenderListItem::setStyle):
(RenderListItem::resetMarkerValue):
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::paint):
2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6388
REGRESSION: Incomplete repaint when dragging the map on Google maps
* manual-tests/bugzilla-6388.html: Added.
* rendering/render_layer.cpp:
(WebCore::RenderLayer::computeRepaintRects): Cache the object's absolute position
before update.
(WebCore::RenderLayer::updateLayerPositions): Use the cached position to determine if
the object moved. If it did, do a full repaint.
* rendering/render_layer.h:
2006-01-26 Eric Seidel <eseidel@apple.com>
Fixes xcode project to better notice when generated files change.
Also fixes failing test cases on build slaves.
* WebCore.xcodeproj/project.pbxproj:
2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, committed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6278
REGRESSION: Incomplete repaint when table cell width changes during layout
* manual-tests/bugzilla-6278.html: Added.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::setCellWidths): If during layout a cell changes from
not needing layout to needing layout, call repaintObjectsBeforeLayout on it.
2006-01-26 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
SVG shows up blank in WebKit+SVG
http://bugzilla.opendarwin.org/show_bug.cgi?id=6620
Test: svg/custom/viewport-no-width-height.svg
* css/svg.css: default to width/height 100% for <svg>
2006-01-26 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6805
Support constants in IDL files
* bindings/scripts/CodeGeneratorJS.pm:
If an interface has constants, generate a constructor
object and add the constants as properties. Also add a
getConstructor method to the interface object.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/generate-bindings.pl:
Add a --force-generation flag to force regeneration of files
even though nothing has changed.
* khtml/ecma/kjs_events.cpp:
* khtml/ecma/kjs_events.h:
Remove MutationEventConstructor and DOMMutationEvent,
those are autogenerated now.
* bindings/js/JSEvents.cpp:
Include JSMutationEvent.cpp
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
* khtml/ecma/kjs_window.h:
(KJS::Window::):
Add MutationEvent property.
* khtml/xml/MutationEvent.idl: Added.
2006-01-25 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel
Percentage values for width, height are not rendered correctly.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5331
Tests:
* svg/custom/percentage-rect.svg
* svg/custom/percentage-rect2.svg
Create items for even empty paths to prevent an empty render tree.
Calculate the viewport element on the fly rather than caching it,
unless there is no context from which to calculate it. Call
notifyAttributeChange() on layout to fix usage of viewport
percentages for lengths. Remove portion of code which appears to
do nothing but worsen the situation.
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::layout):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::value):
* ksvg2/svg/SVGStyledElementImpl.cpp:
(SVGStyledElementImpl::createRenderer):
2006-01-26 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Disable <animateTransform> to stop layout test crashes.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6780
* ksvg2/misc/KSVGTimeScheduler.cpp: hack out animateTransform.
2006-01-26 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Deploy RefPtr throughout more of WebCore
http://bugzilla.opendarwin.org/show_bug.cgi?id=6754
* bridge/mac/MacFrame.mm:
(MacFrame::shouldClose): no need to call .get()
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::createContextualFragment):
* khtml/html/HTMLSelectElementImpl.cpp:
(WebCore::HTMLSelectElementImpl::remove):
* khtml/html/HTMLTextAreaElementImpl.cpp:
(WebCore::HTMLTextAreaElementImpl::setDefaultValue):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLBodyElementImpl::HTMLBodyElementImpl):
(WebCore::HTMLBodyElementImpl::~HTMLBodyElementImpl):
(WebCore::HTMLBodyElementImpl::createLinkDecl):
(WebCore::HTMLBodyElementImpl::parseMappedAttribute):
* khtml/html/html_baseimpl.h:
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::HTMLLinkElementImpl):
(WebCore::HTMLLinkElementImpl::~HTMLLinkElementImpl):
(WebCore::HTMLLinkElementImpl::process):
(WebCore::HTMLLinkElementImpl::setStyleSheet):
(WebCore::HTMLLinkElementImpl::isLoading):
(WebCore::HTMLStyleElementImpl::HTMLStyleElementImpl):
(WebCore::HTMLStyleElementImpl::childrenChanged):
(WebCore::HTMLStyleElementImpl::isLoading):
* khtml/html/html_headimpl.h:
(DOM::HTMLLinkElementImpl::sheet):
(DOM::HTMLStyleElementImpl::sheet):
* khtml/html/html_tableimpl.cpp:
(WebCore::HTMLTableElementImpl::parseMappedAttribute):
(WebCore::HTMLTableSectionElementImpl::insertRow):
(WebCore::HTMLTableSectionElementImpl::deleteRow):
(WebCore::HTMLTableRowElementImpl::deleteCell):
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchEvent):
(WebCore::NodeImpl::dispatchGenericEvent):
(WebCore::NodeImpl::dispatchWindowEvent):
(WebCore::NodeImpl::dispatchMouseEvent):
(WebCore::NodeImpl::dispatchKeyEvent):
(WebCore::NodeImpl::createRendererIfNeeded):
* khtml/xml/NodeImpl.h:
* khtml/xml/dom_elementimpl.cpp:
(WebCore::MappedAttributeImpl::clone):
(WebCore::StyledElementImpl::StyledElementImpl):
(WebCore::StyledElementImpl::createInlineStyleDecl):
(WebCore::StyledElementImpl::destroyInlineStyleDecl):
(WebCore::StyledElementImpl::getInlineStyleDecl):
* khtml/xml/dom_elementimpl.h:
(DOM::MappedAttributeImpl::MappedAttributeImpl):
(DOM::MappedAttributeImpl::style):
(DOM::MappedAttributeImpl::decl):
(DOM::MappedAttributeImpl::setDecl):
(DOM::StyledElementImpl::inlineStyleDecl):
* khtml/xml/dom_position.cpp:
(DOM::Position::Position):
(DOM::Position::clear):
* khtml/xml/dom_position.h:
(DOM::Position::node):
2006-01-25 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dave Hyatt.
- garbage collect a bit later when destroying Frame (fixes node leak false positives)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6818
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxyImpl::~KJSProxyImpl): Garbage collect after destroying
the script interpreter.
* page/Frame.cpp:
(Frame::clear): Add a boolean parameter to indicate whether properties
of the window object should also be cleared (defaults to true).
(Frame::~Frame): Call clear(false) instead of clear()
* page/Frame.h:
2006-01-25 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- Turn on NodeImpl leak counter for debug builds
http://bugzilla.opendarwin.org/show_bug.cgi?id=6808
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImplCounter::~NodeImplCounter): Uncomment node
counter now tit won't give a lot of false positives.
2006-01-25 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dave Hyatt.
- fixed "Whole DOM tree can leak if Document is hover/active/focus node on quit"
http://bugzilla.opendarwin.org/show_bug.cgi?id=6809
This fixes 175 reproducible node leaks in the editing layout tests.
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::detach): Clear hover, focus and active nodes. It doesn't
make sense to have these without a view anyway, and if any of them is the document
it can cause a leak of the whole DOM.
2006-01-25 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6816
Crash in dispatchMouseEvent - Missing nil check
No test added because I was not able to reproduce the crash reliably.
* page/FrameView.cpp: (FrameView::dispatchMouseEvent):
2006-01-25 Justin Garcia <justin.garcia@apple.com>
Reviewed by mjs
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6644>
TinyMCE: Undo operation crashes Safari
<rdar://problem/4343068>
Some shouldChangeSelection calls are nonsensical
Notify the SelectionController of node removals,
and blow away the selection when end points are removed.
Tests added:
* editing/selection/remove-node-1.html
* editing/selection/remove-node-2.html
* khtml/editing/SelectionController.cpp:
(WebCore::MutationListener::handleEvent):
(WebCore::SelectionController::SelectionController):
(WebCore::SelectionController::~SelectionController):
(WebCore::SelectionController::operator=):
(WebCore::SelectionController::moveTo):
(WebCore::SelectionController::setSelection):
(WebCore::SelectionController::nodeWillBeRemoved):
(WebCore::SelectionController::clear):
(WebCore::SelectionController::setBase):
(WebCore::SelectionController::setExtent):
* khtml/editing/SelectionController.h:
(WebCore::MutationListener::MutationListener):
(WebCore::MutationListener::selectionController):
(WebCore::MutationListener::setSelectionController):
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::removeChildNode):
* rendering/render_flow.cpp:
(RenderFlow::destroy):
2006-01-25 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
This change lets us display an aqua appearance for the new text fields.
Updated results for:
* fast/forms/input-appearance-focus.html
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
remove styling of the div, since RenderTheme handles that now.
* rendering/render_theme.cpp:
(khtml::RenderTheme::adjustStyle): call adjustTextFieldStyle.
(khtml::RenderTheme::paint): call paintTextField.
(khtml::RenderTheme::adjustTextFieldStyle): added FIXME to turn off appearance later.
* rendering/render_theme.h: added adjustTextFieldStyle, paintTextField
* rendering/render_theme_mac.h: added paintTextField, setTextFieldState, and NSTextFieldCell.
* rendering/render_theme_mac.mm:
(khtml::): Added static textFieldMargins.
(khtml::RenderThemeMac::adjustRepaintRect): update text field state and size.
(khtml::RenderThemeMac::paintTextField): Added. Paints the NSTextFieldCell
(khtml::RenderThemeMac::setTextFieldCellState): Initialize NSTextFieldCell, and update enabled state.
2006-01-25 David Hyatt <hyatt@apple.com>
Rename QBrush to Brush and move it to platform/. Remove unused QPoint/Size/RectF forwarding
headers.
* ForwardingHeaders/QPointF: Removed.
* ForwardingHeaders/QRectF: Removed.
* ForwardingHeaders/QSizeF: Removed.
* WebCore.xcodeproj/project.pbxproj:
* khtml/editing/SelectionController.cpp:
(WebCore::SelectionController::paintCaret):
* kwq/KWQBrush.h: Removed.
* kwq/KWQNamespace.h:
* kwq/KWQObject.h:
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::setBrush):
(QPainter::brush):
(QPainter::drawRect):
(QPainter::drawEllipse):
(QPainter::drawConvexPolygon):
(QPainter::fillRect):
* kwq/KWQPalette.h:
(QColorGroup::brush):
* platform/Brush.h: Added.
(WebCore::Brush::):
(WebCore::Brush::Brush::Brush):
(WebCore::Brush::operator==):
(WebCore::Brush::operator!=):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::fillHorizontalSelectionGap):
(WebCore::RenderBlock::fillVerticalSelectionGap):
(WebCore::RenderBlock::fillLeftSelectionGap):
(WebCore::RenderBlock::fillRightSelectionGap):
* rendering/render_box.cpp:
(WebCore::RenderBox::outlineBox):
* rendering/render_canvasimage.cpp:
(WebCore::RenderCanvasImage::paint):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_list.cpp:
(RenderListMarker::paint):
* rendering/render_replaced.cpp:
(WebCore::RenderWidget::paint):
2006-01-25 Anders Carlsson <andersca@mac.com>
Reviewed by Timothy Hatcher.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6807
generate-bindings.pl should not use find command
* bindings/scripts/generate-bindings.pl:
Use opendir and readdir instead of find.
2006-01-25 David Hyatt <hyatt@apple.com
Fix Win32 build bustage. Make the autogeneration from .idl work
just like it does on Mac. Also update the project to account for
the move of QPen.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.vcproj/WebCore/build-generated-files.sh:
* bindings/scripts/generate-bindings.pl:
2006-01-25 David Hyatt <hyatt@apple.com>
Rename QPen to Pen and move it to the platform/ directory.
* ForwardingHeaders/qpen.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* kwq/KWQNamespace.h:
(Qt::):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::pen):
(QPainter::setPen):
(QPainter::drawRect):
(QPainter::drawLine):
(QPainter::drawEllipse):
(QPainter::drawArc):
(QPainter::drawConvexPolygon):
* kwq/KWQPen.cpp: Removed.
* kwq/KWQPen.h: Removed.
* platform/Pen.cpp: Added.
(WebCore::Pen::Pen):
(WebCore::Pen::color):
(WebCore::Pen::width):
(WebCore::Pen::style):
(WebCore::Pen::setColor):
(WebCore::Pen::setWidth):
(WebCore::Pen::setStyle):
(WebCore::Pen::operator==):
(WebCore::Pen::operator!=):
* platform/Pen.h: Added.
(WebCore::Pen::):
* rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paintMarkedTextUnderline):
* rendering/RenderTableCell.cpp:
(WebCore::outlineBox):
* rendering/RenderText.cpp:
* rendering/render_box.cpp:
(WebCore::RenderBox::outlineBox):
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/render_image.cpp:
* rendering/render_line.cpp:
* rendering/render_list.cpp:
* rendering/render_object.cpp:
(WebCore::RenderObject::drawBorder):
2006-01-25 Timothy Hatcher <timothy@apple.com>
Move off of -[NSFont widthOfString:] since it is now deprecated.
Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
* bridge/mac/MacFrame.mm:
(MacFrame::attributedString):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView sizeWithColumns:rows:]):
2006-01-24 Tim Omernick <timo@apple.com>
Reviewed by Dave Harrison.
<rdar://problem/4339024>
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6785> "Fix for possible leak of applet, object, or embed
(and plugin view)"
No test cases added. This is a fix for a leak which is difficult to trigger under normal page load
circumstances, because it requires that the host application modify an <embed> using the Objective C
API.
* khtml/html/html_objectimpl.cpp:
(WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
Assert that appletInstance has been deleted by detach().
(WebCore::HTMLAppletElementImpl::detach):
Delete appletInstance, because it references the widget owned by the renderer we're about to destroy.
It is assumed elsewhere (getRuntimeObject(), kjs_dom.cpp) that the instance is owned by the applet
element. Therefore, it is required that the element destroy the instance in its tear-down phase.
(WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
Assert that embedInstance has been deleted by detach().
(WebCore::HTMLEmbedElementImpl::detach):
Delete embedInstance, same reason. This is the one that fixes <rdar://problem/4339024>.
(WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
Assert that objectInstance has been deleted by detach().
(WebCore::HTMLObjectElementImpl::detach):
Delete embedInstance, same reason.
* khtml/html/html_objectimpl.h:
Declared HTMLAppletElementImpl::detach() and HTMLEmbedElementImpl::detach().
2006-01-24 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=5975
WebCore needs to use KDOM-like DOM binding autogeneration
This is a first cut at an autogeneration framework based on
what KDOM uses, but with some changes to be able to move
gradually to using autogenerated files. Currently only Javascript
is supported, but ObjC support could be added by writing a new code
generator package.
* WebCore.xcodeproj/project.pbxproj:
Call generate-bindings.pl
* bindings/js/JSEvents.cpp: Added.
New file which #includes all generated files in the event module
(Just JSWheelEvent.cpp for now)
* khtml/xml/WheelEvent.idl: Added.
* bindings/scripts: Added.
* bindings/scripts/CodeGenerator.pm: Added.
* bindings/scripts/CodeGeneratorJS.pm: Added.
* bindings/scripts/IDLParser.pm: Added.
* bindings/scripts/IDLStructure.pm: Added.
* bindings/scripts/generate-bindings.pl: Added.
* khtml/ecma/kjs_events.cpp:
Remove DOMWheelEvent class.
(KJS::getDOMEvent):
Use JSWheelEvent here.
* khtml/ecma/kjs_events.h:
Remove DOMWheelEvent class.
2006-01-25 David Harrison <harrison@apple.com>
Reviewed by Justin.
<rdar://problem/3907635> copy/paste of list item text moves list item up one <LI>
<rdar://problem/3907647> Enhance list editing: return inserts <li></li>
<rdar://problem/4060158> deleting selection within table deletes more than intended
<rdar://problem/4061232> Deleting a list can delete unselected content
<rdar://problem/4062212> after pasting in contents of web.apple.com, typing before start adds to table instead of before table
<rdar://problem/4064437> After copy/paste from bugweb cannot go back to entering text at left side of page
<rdar://problem/4259845> Table editing in design mode is broken
<rdar://problem/4287667> Insertion point goes before table instead of inside first cell
<rdar://problem/4345749> Editing HTML - Enter at end of <LI> inserts uneditable blank <LI>
<rdar://problem/4345794> HTML editing: Enter at end of last <LI> does not add new <LI>
<rdar://problem/4345825> HTML Editing: editing first <LI> element removes first <LI> and more
<rdar://problem/4345835> HTML editing: editing last <LI> removes everything within <BODY>
<rdar://problem/4345879> HTML editing: editing first <TD> moves data out of table
...also added showTree() static functions because switch to gcc 4.0 makes calling instance methods unreliable
- numerous small changes to handle empty list items
- fix numeric list marker updating when adding/deleting list items
- start to decompose "special element" handling, replacing it with appropriate handling of the different
kinds of special elements in various situations, rather than giving a blanket treatment. I will do more
of this in subsequent checkins.
- numerous small editing/selection changes to handle VisiblePosition at table offset childNodeCount()
- simplify and fix equivalentRangeCompliantPosition, rename it to rangeCompliantEquivalent and make it static
- some minor reformatting to current standards
- the comments in the list below are for changes not covered by the above comments
* khtml/editing/Selection.cpp:
(WebCore::Selection::toRange):
(WebCore::Selection::validate):
* khtml/editing/SelectionController.cpp:
(WebCore::SelectionController::modifyExtendingLeftBackward):
- character selection backward from after table selects the table
(WebCore::showTree):
* khtml/editing/composite_edit_command.cpp:
(WebCore::CompositeEditCommand::removeFullySelectedNode):
- make sure empty cell has some height
(WebCore::CompositeEditCommand::positionOutsideTabSpan):
- check for !isTabSpanTextNode() to make calling this function easier
(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
* khtml/editing/delete_selection_command.cpp:
(WebCore::positionBeforePossibleContainingSpecialElement):
(WebCore::positionAfterPossibleContainingSpecialElement):
(WebCore::DeleteSelectionCommand::initializeStartEnd):
- new. more consistent handling of special element boundaries.
(WebCore::DeleteSelectionCommand::initializePositionData):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
- handle childless block (e.g. empty table cell)
- allow merging across list items
(WebCore::DeleteSelectionCommand::moveNodesAfterNode):
- use new isEmpty() method for renderers, to handle empty list items
* khtml/editing/delete_selection_command.h:
* khtml/editing/htmlediting.cpp:
(WebCore::isAtomicNode):
(WebCore::editingIgnoresContent):
- new. smarter check than isReplaced()
(WebCore::rangeCompliantEquivalent):
(WebCore::maxDeepOffset):
(WebCore::isFirstVisiblePositionInSpecialElement):
(WebCore::positionBeforeContainingSpecialElement):
(WebCore::isLastVisiblePositionInSpecialElement):
(WebCore::positionAfterContainingSpecialElement):
(WebCore::positionOutsideContainingSpecialElement):
(WebCore::positionBeforeNode):
(WebCore::positionAfterNode):
(WebCore::isListElement):
(WebCore::isTableElement):
(WebCore::isFirstVisiblePositionAfterTableElement):
(WebCore::positionBeforePrecedingTableElement):
(WebCore::positionAvoidingSpecialElementBoundary):
* khtml/editing/htmlediting.h:
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/insert_paragraph_separator_command.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply):
* khtml/editing/insert_text_command.cpp:
(khtml::InsertTextCommand::prepareForTextInsertion):
(khtml::InsertTextCommand::input):
* khtml/editing/replace_selection_command.cpp:
(WebCore::isMailPasteAsQuotationNode):
(WebCore::ReplacementFragment::countRenderedBlocks):
(WebCore::ReplaceSelectionCommand::doApply):
- allow for fact that fragments have no VisiblePositions
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::isCandidate):
(khtml::showTree):
(khtml::makeRange):
(khtml::setStart):
(khtml::setEnd):
* khtml/editing/visible_position.h:
* khtml/editing/visible_units.cpp:
(khtml::previousBoundary):
(khtml::nextBoundary):
(khtml::startOfLine):
- allow for fact that renderers for list markers and other generated content
have no corresponding NodeImpl.
(khtml::endOfLine):
- ditto
(khtml::nextLinePosition):
(khtml::startOfParagraph):
(khtml::endOfParagraph):
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::getUpperLeftCorner):
(WebCore::ContainerNodeImpl::childNode):
* khtml/xml/ContainerNodeImpl.h:
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::childNode):
(WebCore::NodeImpl::traversePreviousNode):
(WebCore::NodeImpl::nextEditable):
(WebCore::showTree):
* khtml/xml/NodeImpl.h:
* khtml/xml/dom_position.cpp:
(DOM::Position::upstream):
(DOM::Position::downstream):
(DOM::Position::inRenderedContent):
(DOM::showTree):
* khtml/xml/dom_position.h:
* rendering/render_canvas.cpp:
(RenderCanvas::selectionRect):
* rendering/render_list.cpp:
(RenderListItem::calcListValue):
(RenderListItem::isEmpty):
(getParentOfFirstLineBox):
(RenderListItem::resetMarkerValue):
(RenderListItem::updateMarkerLocation):
* rendering/render_list.h:
(khtml::RenderListMarker::isListMarker):
* rendering/render_object.cpp:
(WebCore::RenderObject::nextRenderer):
(WebCore::RenderObject::previousRenderer):
(WebCore::showTree):
* rendering/render_object.h:
(WebCore::RenderObject::getBaselineOfLastLineBox):
(WebCore::RenderObject::isEmpty):
2006-01-25 Timothy Hatcher <timothy@apple.com>
Build fix, -[NSFont defaultLineHeightForFont] is deprecated.
We need to use -[NSLayoutManager defaultLineHeightForFont:] instead.
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
(QLineEdit::baselinePosition):
2006-01-24 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6731
REGRESSION: change event fires at load time for checked items
Test: fast/forms/radio-button-no-change-event.html
* khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
One of many possible fixes: Don't send the event if the element is not yet in
a document (as in when parsing the initial attributes).
2006-01-24 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
This change will allow the new text field elements to get focus, and to respond to the focus and blur events.
Added: fast/forms/input-appearance-focus.html
* khtml/html/HTMLElementImpl.cpp: (WebCore::HTMLElementImpl::isFocusable):
Removed recently added code that allowed editable elements with no parent to be focusable.
We don't need to do this now that we try to focus the input element, instead of the inner div.
* khtml/html/HTMLGenericFormElementImpl.cpp: (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Added case to for text fields.
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::focus): Added. Selects contents of text field.
(WebCore::HTMLInputElementImpl::setSelectionStart): Added break; in switch statement.
(WebCore::HTMLInputElementImpl::setSelectionEnd): ditto.
(WebCore::HTMLInputElementImpl::select): ditto.
(WebCore::HTMLInputElementImpl::setSelectionRange): ditto.
* khtml/html/HTMLInputElementImpl.h: Added focus()
* khtml/xml/dom_elementimpl.h: Made focus() virtual.
* page/Frame.cpp: (Frame::setFocusNodeIfNeeded):
Walk up the Render Tree instead of the DOM tree when trying to find a node to focus.
This will let us choose the input node instead of one of the nodes in the shadow tree.
* page/FrameView.cpp: (FrameView::dispatchMouseEvent): ditto.
* rendering/RenderContainer.cpp: (WebCore::RenderContainer::destroyLeftoverChildren): Corrected misspelling.
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::select): Implemented. Select contents of inner div.
* rendering/RenderTextField.h:
(WebCore::RenderTextField::renderName): Changed order.
(WebCore::RenderTextField::removeLeftoverAnonymousBoxes): ditto.
2006-01-24 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6782
REGRESSION: replaceChild broken when node to replace is first (TinyMCE test app broken)
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6784
REGRESSION: 25 layout tests failing (basic DOM operations)
Test: fast/dom/replace-first-child.html
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::insertBefore): Change one place that hands off ownership of
as PassRefPtr that causes us to almost always return 0. Fix test that would screw up when
both "prev" and "refChild->previousSibling()" were 0.
(WebCore::ContainerNodeImpl::appendChild): Changed a nearly-identical place handing off
ownership as above.
2006-01-24 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dave Hyatt.
- fixed crash if a node is removed from the DOM before being reparented due to residual style
http://bugzilla.opendarwin.org/show_bug.cgi?id=6778
* khtml/html/htmlparser.cpp:
(HTMLParser::handleResidualStyleCloseTagAcrossBlocks): If the
block has been removed from the document, then do not remove it
from its parent or add it to its new location. This prevents the
crash and matches Mozilla.
2006-01-24 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6750
replace QDateTime with a simpler platform abstraction
* ForwardingHeaders/qdatetime.h: Removed.
* kwq/KWQDateTime.cpp: Removed.
* kwq/KWQDateTime.h: Removed.
* platform/SystemTime.h: Added.
* platform/mac/SystemTime.cpp: (WebCore::currentTime): Added.
* platform/win: Added.
* platform/win/SystemTime.cpp: (WebCore::currentTime): Added.
* WebCore.vcproj/WebCore/WebCore.vcproj: Added new files, removed old.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/css_base.h: Removed include of <qdatetime.h>.
* css/cssstyleselector.cpp: Ditto.
* khtml/html/htmltokenizer.h:
* khtml/html/htmltokenizer.cpp: Convert tabs to spaces.
(WebCore::HTMLTokenizer::continueProcessing): Change parameter from QTime to double.
Use currentTime() instead of QTime::elapsed().
(WebCore::HTMLTokenizer::write): Use currentTime() instead of QTime::elapsed().
* config.h: Added HAVE_FUNC_USLEEP for now, not sure this is really a
good way to handle this.
* khtml/xml/ContainerNodeImpl.cpp: (WebCore::ContainerNodeImpl::setActive):
Use currentTime() instead of QTime::elapsed(). Use HAVE_FUNC_USLEEP for the if.
* khtml/xml/DocumentImpl.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl): Use currentTime() instead of QTime::elapsed().
(WebCore::DocumentImpl::implicitClose): Ditto.
(WebCore::DocumentImpl::minimumLayoutDelay): Ditto.
(WebCore::DocumentImpl::elapsedTime): Ditto.
* khtml/xml/dom2_eventsimpl.cpp: (WebCore::EventImpl::EventImpl): Use currentTime()
instead of local function called currentTimeStamp().
* khtml/xml/xml_tokenizer.h: Removed declaration of class QTime.
* ksvg2/misc/KSVGTimeScheduler.h:
* ksvg2/misc/KSVGTimeScheduler.cpp:
(KSVG::TimeScheduler::TimeScheduler): Use currentTime instead of QTime::elapsed.
(KSVG::TimeScheduler::startAnimations): Ditto.
(KSVG::TimeScheduler::toggleAnimations): Ditto.
(KSVG::TimeScheduler::elapsed): Ditto.
* page/Frame.cpp: (Frame::clear): Removed unused m_parsetime.
* page/FramePrivate.h: Ditto.
2006-01-24 David Hyatt <hyatt@apple.com>
Fix for bug 6781, convert QColor to Color (and QRgb to RGBA32). r=maciej.
* ForwardingHeaders/qcolor.h: Removed.
* WebCore+SVG/KDOMSettings.h:
* WebCore+SVG/RGBColorImpl.cpp:
(RGBColorImpl::RGBColorImpl):
(RGBColorImpl::red):
(RGBColorImpl::green):
(RGBColorImpl::blue):
* WebCore+SVG/RGBColorImpl.h:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMCSS.mm:
(getWrapperForRGB):
(setWrapperForRGB):
(removeWrapperForRGB):
(-[DOMRGBColor dealloc]):
(-[DOMRGBColor finalize]):
(-[DOMRGBColor red]):
(-[DOMRGBColor green]):
(-[DOMRGBColor blue]):
(-[DOMRGBColor _initWithRGB:]):
(+[DOMRGBColor _RGBColorWithRGB:]):
(-[DOMRGBColor alpha]):
(-[DOMRGBColor _color]):
* bridge/mac/MacFrame.mm:
(MacFrame::attributedString):
(MacFrame::fontAttributesForSelectionStart):
(MacFrame::bodyBackgroundColor):
(convertAttributesToUnderlines):
* css/css_valueimpl.cpp:
(WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
(WebCore::CSSPrimitiveValueImpl::cssText):
* css/csshelper.h:
* css/cssparser.cpp:
(CSSParser::parseColor):
(CSSParser::parseColorFromValue):
* css/cssparser.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::):
(WebCore::colorForCSSValue):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
* css/cssstyleselector.h:
* kcanvas/KCanvasFilters.h:
(KCanvasFEDiffuseLighting::lightingColor):
(KCanvasFEDiffuseLighting::setLightingColor):
(KCanvasFEFlood::floodColor):
(KCanvasFEFlood::setFloodColor):
(KCanvasFESpecularLighting::lightingColor):
(KCanvasFESpecularLighting::setLightingColor):
* kcanvas/KCanvasTreeDebug.cpp:
(operator<<):
* kcanvas/KCanvasTreeDebug.h:
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/KRenderingPaintServerGradient.cpp:
(KCSortedGradientStopList::addStop):
* kcanvas/device/KRenderingPaintServerGradient.h:
* kcanvas/device/KRenderingPaintServerSolid.cpp:
(KRenderingPaintServerSolid::color):
(KRenderingPaintServerSolid::setColor):
* kcanvas/device/KRenderingPaintServerSolid.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(ciColor):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(setupShadingWithStyle):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerPatternQuartz::setup):
* khtml/ecma/kjs_css.h:
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::colorRefFromValue):
(KJS::colorFromValue):
(KJS::Context2D::putValueProperty):
(KJS::GradientFunction::callAsFunction):
* khtml/ecma/kjs_html.h:
* khtml/editing/apply_style_command.cpp:
(WebCore::StyleChange::checkForLegacyHTMLStyleChange):
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLBodyElementImpl::parseMappedAttribute):
* khtml/misc/helper.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::DocumentImpl):
(WebCore::DocumentImpl::resetLinkColor):
(WebCore::DocumentImpl::resetVisitedLinkColor):
* khtml/xml/DocumentImpl.h:
(WebCore::DocumentImpl::setTextColor):
(WebCore::DocumentImpl::textColor):
(WebCore::DocumentImpl::linkColor):
(WebCore::DocumentImpl::visitedLinkColor):
(WebCore::DocumentImpl::activeLinkColor):
(WebCore::DocumentImpl::setLinkColor):
(WebCore::DocumentImpl::setVisitedLinkColor):
(WebCore::DocumentImpl::setActiveLinkColor):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(KDOM::CSSStyleSelector::applySVGProperty):
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/css/SVGRenderStyleDefs.h:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::KSVGPainterFactory::fillPaintServer):
* ksvg2/misc/KSVGTimeScheduler.cpp:
(KSVG::SVGTimer::notifyAll):
* ksvg2/svg/SVGAnimateColorElementImpl.cpp:
(SVGAnimateColorElementImpl::handleTimerEvent):
(SVGAnimateColorElementImpl::clampColor):
(SVGAnimateColorElementImpl::color):
(SVGAnimateColorElementImpl::initialColor):
* ksvg2/svg/SVGAnimateColorElementImpl.h:
* ksvg2/svg/SVGAnimateElementImpl.cpp:
(SVGAnimateElementImpl::handleTimerEvent):
* ksvg2/svg/SVGColorImpl.cpp:
(SVGColorImpl::setRGBColor):
(SVGColorImpl::color):
* ksvg2/svg/SVGColorImpl.h:
* ksvg2/svg/SVGGradientElementImpl.cpp:
(SVGGradientElementImpl::rebuildStops):
* kwq/KWQAccObject.mm:
(AXAttributeStringSetStyle):
* kwq/KWQBrush.h:
(QBrush::QBrush::QBrush):
(QBrush::color):
(QBrush::setColor):
* kwq/KWQColor.h: Removed.
* kwq/KWQColor.mm: Removed.
* kwq/KWQColorData.gperf: Removed.
* kwq/KWQKConfigBase.h:
* kwq/KWQKConfigBase.mm:
(KConfig::readColorEntry):
* kwq/KWQLineEdit.mm:
(QLineEdit::setPalette):
* kwq/KWQNamespace.h:
(Qt::):
* kwq/KWQObject.h:
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::setPen):
(QPainter::setBrush):
(QPainter::drawText):
(QPainter::drawHighlightForText):
(QPainter::selectedTextBackgroundColor):
(_fillRectXX):
(QPainter::setShadow):
(QPainter::initFocusRing):
* kwq/KWQPalette.h:
(QColorGroup::QColorGroup):
(QColorGroup::color):
(QColorGroup::setColor):
(QColorGroup::background):
(QColorGroup::foreground):
(QColorGroup::base):
(QPalette::QPalette):
(QPalette::background):
(QPalette::foreground):
* kwq/KWQPen.cpp:
(QPen::QPen):
(QPen::color):
(QPen::setColor):
* kwq/KWQPen.h:
* kwq/KWQRenderTreeDebug.cpp:
(operator<<):
* kwq/KWQTextEdit.mm:
(QTextEdit::setPalette):
* loader/CachedImage.cpp:
(WebCore::CachedImage::tiled_pixmap):
* loader/CachedImage.h:
* page/Frame.cpp:
(Frame::paint):
* page/Frame.h:
(MarkedTextUnderline::MarkedTextUnderline):
* platform/Color.cpp: Added.
(WebCore::makeRGB):
(WebCore::makeRGBA):
(WebCore::parseHexColor):
(WebCore::Color::Color):
(WebCore::Color::name):
(WebCore::Color::setNamedColor):
(WebCore::Color::hsv):
(WebCore::Color::setHsv):
(WebCore::Color::light):
(WebCore::Color::dark):
(WebCore::Color::getRgbaF):
* platform/Color.h: Added.
(WebCore::Color::Color):
(WebCore::Color::rgb):
(WebCore::Color::setRgb):
(WebCore::operator==):
(WebCore::operator!=):
* platform/ColorData.gperf: Added.
* rendering/InlineTextBox.cpp:
(khtml::simpleDifferenceBetweenColors):
(khtml::correctedTextColor):
(khtml::InlineTextBox::paint):
(khtml::InlineTextBox::paintSelection):
(khtml::InlineTextBox::paintMarkedTextBackground):
(khtml::InlineTextBox::paintDecoration):
* rendering/RenderTable.h:
(WebCore::RenderTable::bgColor):
* rendering/RenderTableCell.cpp:
(WebCore::outlineBox):
(WebCore::RenderTableCell::paintBoxDecorations):
* rendering/font.cpp:
(khtml::Font::drawHighlightForText):
(khtml::Font::drawText):
* rendering/font.h:
* rendering/render_box.cpp:
(WebCore::RenderBox::paintRootBoxDecorations):
(WebCore::RenderBox::paintBackgrounds):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::paintBackgroundExtended):
(WebCore::RenderBox::outlineBox):
* rendering/render_box.h:
* rendering/render_flow.cpp:
(RenderFlow::paintFocusRing):
(RenderFlow::paintOutlineForLine):
* rendering/render_form.cpp:
(RenderFieldset::paintBorderMinusLegend):
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/render_image.cpp:
(WebCore::RenderImage::paint):
* rendering/render_layer.h:
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintBackgrounds):
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBackgroundAndBorder):
(WebCore::InlineFlowBox::paintDecorations):
(WebCore::EllipsisBox::paint):
* rendering/render_line.h:
* rendering/render_list.cpp:
(RenderListMarker::paint):
* rendering/render_object.cpp:
(WebCore::RenderObject::drawBorder):
(WebCore::RenderObject::paintBorder):
(WebCore::RenderObject::paintOutline):
(WebCore::RenderObject::selectionColor):
(WebCore::RenderObject::getTextDecorationColors):
* rendering/render_object.h:
(WebCore::RenderObject::paintBackgroundExtended):
* rendering/render_replaced.cpp:
(WebCore::RenderReplaced::selectionColor):
* rendering/render_replaced.h:
* rendering/render_style.h:
(khtml::BorderValue::isTransparent):
(khtml::CollapsedBorderValue::color):
(khtml::RenderStyle::hasBackground):
(khtml::RenderStyle::borderLeftColor):
(khtml::RenderStyle::borderRightColor):
(khtml::RenderStyle::borderTopColor):
(khtml::RenderStyle::borderBottomColor):
(khtml::RenderStyle::outlineColor):
(khtml::RenderStyle::color):
(khtml::RenderStyle::backgroundColor):
(khtml::RenderStyle::setBackgroundColor):
(khtml::RenderStyle::setBorderLeftColor):
(khtml::RenderStyle::setBorderRightColor):
(khtml::RenderStyle::setBorderTopColor):
(khtml::RenderStyle::setBorderBottomColor):
(khtml::RenderStyle::setOutlineColor):
(khtml::RenderStyle::setColor):
(khtml::RenderStyle::initialColor):
* rendering/render_theme.cpp:
(khtml::RenderTheme::isControlStyled):
* rendering/render_theme.h:
2006-01-24 Darin Adler <darin@apple.com>
Reviewed by John and Anders.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6732
REGRESSION: Repro crash at Google Maps
* khtml/ecma/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequest::getValueProperty): Clean up a bit, using PassRefPtr where appropriate.
(KJS::JSXMLHttpRequest::mark): Remove get calls now that getter functions don't return PassRefPtr.
(KJS::JSXMLHttpRequest::JSXMLHttpRequest): Put the object into the DOM objects map.
(KJS::JSXMLHttpRequest::~JSXMLHttpRequest): Remove the object from the DOM objects map. Also clear
out both listeners so the implementation object isn't left with dangling pointers (since we won't
be around to mark those objects any more).
(KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Tightened up the code a bit.
* xml/xmlhttprequest.h:
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::getResponseXML): Change to return just a plain old pointer. Remove
the unnecessary typeIsXML boolean.
(WebCore::XMLHttpRequest::onReadyStateChangeListener): Change to return just a plain old pointer.
Update for name changes.
(WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Ditto.
(WebCore::XMLHttpRequest::onLoadListener): Ditto.
(WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
(WebCore::XMLHttpRequest::send): Protect the DOM wrapper if any as well as ourselves while
the load is in progress.
(WebCore::XMLHttpRequest::abort): Unprotect to balance out the above.
(WebCore::XMLHttpRequest::slotFinished): Ditto.
* khtml/ecma/JSXMLHttpRequest.h: Just formatting changes.
2006-01-24 Darin Adler <darin@apple.com>
Reviewed by Justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6753
REGRESSION (r12282-12292): Crash loading TinyMCE test app
* khtml/xml/ContainerNodeImpl.h: Remove some internals that don't need
to be member functions.
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::insertBefore): Improved algorithm to keep
refs to more things so that we don't end up with a dangling pointer (fixes
the crash) and so that we do not crash if someone modifies the tree inside
a DOM mutation event handler (theoretical only at this point, needs test
cases).
(WebCore::ContainerNodeImpl::replaceChild): Ditto.
(WebCore::willRemoveChild): Changed from member function to free function.
(WebCore::ContainerNodeImpl::removeChild): Fix potential problem if the
mutation event handler moves the node into a different parent.
(WebCore::ContainerNodeImpl::appendChild): Made changes like those in
insertBefore above.
(WebCore::dispatchChildInsertionEvents): Changed from member function to
free function. Tightened up handling of some edge cases.
(WebCore::dispatchChildRemovalEvents): Ditto.
2006-01-24 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6696
REGRESSION: JavaScript window.opener set incorrectly
* khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
Fix local variable "frame" that was shadowing another local variable
named "frame" by naming the one for the new frame "newFrame".
2006-01-24 Maciej Stachowiak <mjs@apple.com>
- fix build
* ksvg2/scripts/make_names.pl: Update script to generate code that
works with the new HashMap.
2006-01-23 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fixed a storage leak found by running run-webkit-tests fast --leak
* khtml/xml/dom_xmlimpl.cpp:
(ProcessingInstructionImpl::checkStyleSheet): Removed bogus deref call,
since the RefPtr handles it for us. Also deployed PassRefPtr in one place.
(ProcessingInstructionImpl::setStyleSheet): Removed more bogus ref/deref calls.
2006-01-23 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- Made some functions return const AtomicString& instead of
AtomicString because they could.
Result of Darin's and Eric's comments on the last patch.
* khtml/html/HTMLGenericFormElementImpl.cpp:
(WebCore::HTMLGenericFormElementImpl::name):
* khtml/html/HTMLGenericFormElementImpl.h:
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::name):
* khtml/html/HTMLInputElementImpl.h:
2006-01-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- renamed PointerHash to PtrHash
- made PtrHash the default hash function for int and pointer types that aren't further specialized
- added an AtomicStringImpl class to make it easier and more typesafe to identity hash atomic strings
- did appropriate consequent cleanup (very few places now need to declare a hash function)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6752
* bindings/objc/DOM.mm:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge elementWithName:inForm:]):
* css/cssstyleselector.cpp:
(WebCore::CSSRuleSet::getIDRules):
(WebCore::CSSRuleSet::getClassRules):
(WebCore::CSSRuleSet::getTagRules):
(WebCore::CSSRuleSet::addToRuleSet):
* khtml/dom/dom_string.h:
(KXMLCore::):
* khtml/ecma/kjs_binding.cpp:
(KJS::UString::UString):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::mark):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLElement::classInfo):
(KJS::HTMLElement::accessors):
(KJS::HTMLElement::selectSetter):
(KJS::HTMLElement::inputSetter):
(KJS::HTMLElement::textAreaSetter):
(KJS::HTMLElement::buttonSetter):
* khtml/ecma/kjs_window.h:
* khtml/editing/apply_style_command.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
* khtml/html/HTMLCollectionImpl.h:
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::isRecognizedTagName):
(WebCore::inlineTagList):
(WebCore::blockTagList):
* khtml/html/HTMLFormCollectionImpl.cpp:
(WebCore::HTMLFormCollectionImpl::updateNameCache):
* khtml/html/HTMLGenericFormElementImpl.cpp:
(WebCore::HTMLGenericFormElementImpl::name):
(WebCore::HTMLGenericFormElementImpl::setName):
* khtml/html/HTMLGenericFormElementImpl.h:
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::name):
* khtml/html/HTMLInputElementImpl.h:
* khtml/html/htmlfactory.cpp:
(DOM::HTMLElementFactory::createHTMLElement):
* khtml/html/htmlparser.cpp:
(HTMLParser::isHeaderTag):
(HTMLParser::isResidualStyleTag):
(HTMLParser::isAffectedByResidualStyle):
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::checkedRadioButtonForGroup):
(WebCore::DocumentImpl::removeRadioButtonGroup):
* khtml/xml/DocumentImpl.h:
* khtml/xml/NodeImpl.h:
* khtml/xml/dom_atomicstring.h:
(DOM::AtomicString::AtomicString):
(DOM::AtomicString::impl):
(KXMLCore::):
* khtml/xml/dom_stringimpl.cpp:
(DOM::equal):
* khtml/xml/dom_stringimpl.h:
(KXMLCore::):
* khtml/xml/xml_tokenizer.h:
* ksvg2/misc/KSVGTimeScheduler.cpp:
(KSVG::SVGTimer::notifyAll):
* kwq/KWQKJobClasses.h:
* kwq/KWQObject.cpp:
* loader/CachedObject.h:
* loader/CachedObjectClientWalker.h:
* loader/loader.h:
* page/Frame.cpp:
(Frame::endAllLifeSupport):
* rendering/render_canvas.cpp:
(RenderCanvas::selectionRect):
(RenderCanvas::setSelection):
* rendering/render_canvas.h:
* rendering/render_object.h:
* xml/xmlhttprequest.h:
2006-01-23 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6733
REGRESSION: html input doesn't honor change to value
* rendering/render_form.cpp: (RenderLineEdit::slotTextChanged): Made newText a
DOMString. Assigning the empty DOMString to a QString and back to a DOMString
resulted in a null string, which should be avoided here.
* khtml/dom/dom_string.cpp: (DOM::DOMString::qstring): Don't turn an empty
DOMString into a null QString; make an empty QString instead.
2006-01-23 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6385
REGRESSION: Unnamed frames return a generated name as window.frameElement.name
Test: fast/frames/frame-element-name.html
* khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getOwnPropertySlot):
Remove the quirk where frame and iframe elements reflect all the
properties of the window inside the frame. Testing indicates that
no other browser does this -- not sure why we were doing it.
2006-01-23 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Tim Hatcher.
- renamed insert() operation on HashSet, HashCountedSet and HashTable to add()
for consistency with HashMap
* bridge/mac/MacFrame.mm:
(MacFrame::didTellBridgeAboutLoad):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::mark):
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::isRecognizedTagName):
(WebCore::inlineTagList):
(WebCore::blockTagList):
* khtml/html/HTMLFormCollectionImpl.cpp:
(WebCore::HTMLFormCollectionImpl::updateNameCache):
* khtml/html/htmlparser.cpp:
(HTMLParser::isHeaderTag):
(HTMLParser::isResidualStyleTag):
(HTMLParser::isAffectedByResidualStyle):
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::addElementById):
(WebCore::DocumentImpl::registerDisconnectedNodeWithEventListeners):
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::registerNodeList):
* khtml/xml/dom_atomicstring.cpp:
(DOM::AtomicString::add):
* khtml/xml/dom_qname.cpp:
(DOM::QualifiedName::QualifiedName):
* loader/CachedObject.cpp:
(WebCore::CachedObject::ref):
* page/Frame.cpp:
(Frame::keepAlive):
* rendering/render_canvas.cpp:
(RenderCanvas::addWidget):
* rendering/render_frames.cpp:
(WebCore::RenderPartObject::updateWidget):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paint):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::addToRequestsByDocument):
2006-01-23 Justin Garcia <justin.garcia@apple.com>
Reviewed by thatcher
Turned on -O2 for B&I build.
* WebCore.xcodeproj/project.pbxproj:
2006-01-23 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6617
REGRESSION: Crash in cloneChildNodes when clicking element
Test: fast/dom/clone-node-form-elements-with-attr.html
Changed cloneNode and some other functions to return PassRefPtr.
Also made m_render private and changed its name to m_renderer.
* bindings/objc/DOM.mm: (-[DOMNode cloneNode:]): Add call to get() needed
now that cloneNode returns a PassRefPtr.
* khtml/editing/break_blockquote_command.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* khtml/editing/insert_paragraph_separator_command.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply):
* khtml/editing/split_element_command.cpp:
(khtml::SplitElementCommand::doApply):
* khtml/html/htmlparser.cpp:
(HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
(HTMLParser::reopenResidualStyleTags):
* khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents):
* ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::closeRenderer):
Use RefPtr and PassRefPtr as appropriate, since the result of cloneNode
is now a referenced object in a PassRefPtr rather than a floating one and
so needs to be kept referenced until used.
* khtml/html/HTMLElementImpl.h:
* khtml/html/HTMLElementImpl.cpp:
(WebCore::HTMLElementImpl::cloneNode): Changed to return a PassRefPtr.
(WebCore::HTMLElementImpl::children): Ditto.
* khtml/xml/DocumentFragmentImpl.h:
* khtml/xml/DocumentFragmentImpl.cpp:
(DOM::DocumentFragmentImpl::cloneNode): Changed to return a PassRefPtr.
* khtml/xml/DocumentImpl.h:
* khtml/xml/DocumentTypeImpl.h:
* khtml/xml/DocumentTypeImpl.cpp:
(DOM::DocumentTypeImpl::cloneNode): Changed to return a PassRefPtr.
* khtml/xml/NamedNodeMapImpl.h:
(WebCore::NamedNodeMapImpl::getNamedItem): Changed to return PassRefPtr.
(WebCore::NamedNodeMapImpl::removeNamedItem): Ditto.
(WebCore::NamedNodeMapImpl::setNamedItemNS): Ditto.
* khtml/html/HTMLGenericFormElementImpl.cpp:
(WebCore::HTMLGenericFormElementImpl::attach): Use renderer() instead of
getting at m_render directly.
(WebCore::HTMLGenericFormElementImpl::recalcStyle): Ditto.
(WebCore::HTMLGenericFormElementImpl::isFocusable): Ditto.
(WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable): Ditto.
(WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Ditto.
* khtml/html/HTMLInputElementImpl.cpp:
(WebCore::HTMLInputElementImpl::selectionStart): Ditto.
(WebCore::HTMLInputElementImpl::selectionEnd): Ditto.
(WebCore::HTMLInputElementImpl::setSelectionStart): Ditto.
(WebCore::HTMLInputElementImpl::setSelectionEnd): Ditto.
(WebCore::HTMLInputElementImpl::select): Ditto.
(WebCore::HTMLInputElementImpl::setSelectionRange): Ditto.
(WebCore::HTMLInputElementImpl::parseMappedAttribute): Ditto.
(WebCore::HTMLInputElementImpl::setValue): Ditto.
(WebCore::HTMLInputElementImpl::defaultEventHandler): Ditto.
* khtml/html/HTMLSelectElementImpl.cpp:
(WebCore::HTMLSelectElementImpl::recalcStyle): Ditto.
(WebCore::HTMLSelectElementImpl::setRecalcListItems): Ditto.
(WebCore::HTMLSelectElementImpl::reset): Ditto.
(WebCore::HTMLSelectElementImpl::notifyOptionSelected): Ditto.
(WebCore::HTMLSelectElementImpl::defaultEventHandler): Ditto.
* khtml/html/HTMLTextAreaElementImpl.cpp:
(WebCore::HTMLTextAreaElementImpl::selectionStart): Ditto.
(WebCore::HTMLTextAreaElementImpl::selectionEnd): Ditto.
(WebCore::HTMLTextAreaElementImpl::setSelectionStart): Ditto.
(WebCore::HTMLTextAreaElementImpl::setSelectionEnd): Ditto.
(WebCore::HTMLTextAreaElementImpl::select): Ditto.
(WebCore::HTMLTextAreaElementImpl::setSelectionRange): Ditto.
(WebCore::HTMLTextAreaElementImpl::updateValue): Ditto.
(WebCore::HTMLTextAreaElementImpl::setValue): Ditto.
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::updateForNewURL): Ditto.
(WebCore::HTMLFrameElementImpl::openURL): Ditto.
(WebCore::HTMLFrameElementImpl::attach): Ditto.
(WebCore::HTMLFrameElementImpl::close): Ditto.
(WebCore::HTMLFrameElementImpl::willRemove): Ditto.
(WebCore::HTMLFrameElementImpl::isFocusable): Ditto.
(WebCore::HTMLFrameElementImpl::setFocus): Ditto.
(WebCore::HTMLFrameElementImpl::frameWidth): Ditto.
(WebCore::HTMLFrameElementImpl::frameHeight): Ditto.
(WebCore::HTMLFrameSetElementImpl::defaultEventHandler): Ditto.
(WebCore::HTMLFrameSetElementImpl::recalcStyle): Ditto.
(WebCore::HTMLIFrameElementImpl::attach): Ditto.
(WebCore::HTMLIFrameElementImpl::recalcStyle): Ditto.
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLImageElementImpl::parseMappedAttribute): Ditto.
(WebCore::HTMLImageElementImpl::width): Ditto.
(WebCore::HTMLImageElementImpl::height): Ditto.
* khtml/html/html_inlineimpl.cpp:
(WebCore::HTMLAnchorElementImpl::isFocusable): Ditto.
* khtml/html/html_listimpl.cpp:
(DOM::HTMLLIElementImpl::parseMappedAttribute): Ditto.
(DOM::HTMLLIElementImpl::attach): Ditto.
* khtml/html/html_objectimpl.cpp:
(WebCore::HTMLAppletElementImpl::getAppletInstance): Ditto.
(WebCore::HTMLAppletElementImpl::closeRenderer): Ditto.
(WebCore::HTMLEmbedElementImpl::getEmbedInstance): Ditto.
(WebCore::HTMLEmbedElementImpl::attach): Ditto.
(WebCore::HTMLObjectElementImpl::getObjectInstance): Ditto.
(WebCore::HTMLObjectElementImpl::parseMappedAttribute): Ditto.
(WebCore::HTMLObjectElementImpl::attach): Ditto.
(WebCore::HTMLObjectElementImpl::detach): Ditto.
(WebCore::HTMLObjectElementImpl::recalcStyle): Ditto.
* khtml/html/html_tableimpl.cpp:
(WebCore::HTMLTableElementImpl::parseMappedAttribute): Ditto.
(WebCore::HTMLTableElementImpl::attach): Ditto.
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::getUpperLeftCorner): Ditto.
(WebCore::ContainerNodeImpl::getLowerRightCorner): Ditto.
(WebCore::ContainerNodeImpl::setActive): Ditto.
(WebCore::ContainerNodeImpl::setHovered): Ditto.
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::~DocumentImpl): Ditto.
(WebCore::DocumentImpl::elementFromPoint): Ditto.
(WebCore::DocumentImpl::recalcStyle): Ditto.
(WebCore::DocumentImpl::attach): Ditto.
(WebCore::DocumentImpl::restoreRenderer): Ditto.
(WebCore::DocumentImpl::detach): Ditto.
(WebCore::DocumentImpl::setVisuallyOrdered): Ditto.
(WebCore::DocumentImpl::updateSelection): Ditto.
(WebCore::DocumentImpl::prepareMouseEvent): Ditto.
(WebCore::DocumentImpl::cloneNode): Changed to return PassRefPtr.
(WebCore::DocumentImpl::recalcStyleSelector): Use renderer() instead
of getting at m_render directly.
(WebCore::DocumentImpl::setInPageCache): Ditto.
* khtml/xml/NodeImpl.h:
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::NodeImpl): Changed m_render to m_renderer.
(WebCore::NodeImpl::~NodeImpl): Changed use of m_render to renderer().
(WebCore::NodeImpl::getRect): Ditto.
(WebCore::NodeImpl::attach): Ditto.
(WebCore::NodeImpl::detach): Ditto.
(WebCore::NodeImpl::createRendererIfNeeded): Ditto.
(WebCore::NodeImpl::getElementsByTagName): Changed to return PassRefPtr.
(WebCore::NodeImpl::getElementsByTagNameNS): Ditto.
* khtml/xml/dom_elementimpl.h:
* khtml/xml/dom_elementimpl.cpp:
(WebCore::AttrImpl::cloneNode): Changed to return PassRefPtr.
(WebCore::ElementImpl::cloneNode): Ditto.
(WebCore::ElementImpl::scrollIntoView): Use renderer() instead of m_render.
(WebCore::ElementImpl::scrollIntoViewIfNeeded): Ditto.
(WebCore::ElementImpl::recalcStyle): Ditto.
(WebCore::ElementImpl::setAttributeNode): Changed to return PassRefPtr.
(WebCore::ElementImpl::removeAttributeNode): Ditto.
(WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
(WebCore::NamedAttrMapImpl::setNamedItem): Ditto.
(WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
(DOM::ElementImpl::setAttributeNodeNS): Ditto.
* khtml/xml/dom_textimpl.h:
* khtml/xml/dom_textimpl.cpp:
(CharacterDataImpl::setData): Changed use of m_render to renderer().
(CharacterDataImpl::appendData): Ditto.
(CharacterDataImpl::insertData): Ditto.
(CharacterDataImpl::deleteData): Ditto.
(CharacterDataImpl::replaceData): Ditto.
(CommentImpl::cloneNode): Changed to return PassRefPtr.
(TextImpl::splitText): Changed use of m_render to renderer().
(TextImpl::cloneNode): Changed to return PassRefPtr.
(TextImpl::recalcStyle): Changed use of m_render to renderer().
(CDATASectionImpl::cloneNode): Changed to return PassRefPtr.
* khtml/xml/dom_xmlimpl.h:
* khtml/xml/dom_xmlimpl.cpp:
(DOM::EntityImpl::cloneNode): Changed to return PassRefPtr.
(DOM::EntityReferenceImpl::cloneNode): Ditto.
(DOM::NotationImpl::cloneNode): Ditto.
(DOM::ProcessingInstructionImpl::cloneNode): Ditto.
- removed unused code
* khtml/html/html_documentimpl.cpp: Removed unused slotHistoryChanged function.
* khtml/html/html_documentimpl.h: Ditto.
* kwq/KWQObject.cpp: (QObject::connect): Removed special case for
slotHistoryChanged, no longer used.
- fixed storage leak
* bridge/mac/MacFrame.mm: (MacFrame::~MacFrame): Delete window widget.
2006-01-23 Anders Carlsson <andersca@mac.com>
Forgot to add this as part of
http://bugzilla.opendarwin.org/show_bug.cgi?id=3869
* manual-tests/resources/webkit-background.png: Added.
2006-01-22 Darin Adler <darin@apple.com>
- fix layout tests
* rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Added
missing code to set wrapInAnonymousSection false in the case where
adding a footer.
2006-01-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- Set up Page class and invert Frame / WebCoreFrameBridge ownership
http://bugzilla.opendarwin.org/show_bug.cgi?id=6577
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(MacFrame::MacFrame): Initialize _bridge
(MacFrame::~MacFrame): Clear the bridge's frame pointer and release it.
(Frame::frameDetached): Reverse order of removing from old-style frames
array and calling frameDetached.
(MacFrame::createPart): Don't ref the part when creating it, since the child
bridge is no longer going to own a ref.
(MacFrame::setBridge): KWQRetain / KWQRelease since we know own the bridge.
(MacFrame::detachFromView): New method; clear out the view.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(Bridge): Helper method to get a WebCoreFrameBridge from a Frame.
(-[WebCoreFrameBridge firstChild]): Call through Frame.
(-[WebCoreFrameBridge lastChild]): ditto
(-[WebCoreFrameBridge childCount]): ditto
(-[WebCoreFrameBridge previousSibling]): ditto
(-[WebCoreFrameBridge nextSibling]): ditto
(-[WebCoreFrameBridge isDescendantOfFrame:]): No need to cast parent
pointer.
(-[WebCoreFrameBridge appendChild:]): Call through Frame.
(-[WebCoreFrameBridge _clearRenderPart]): New helper method to free
the renderPart when removing a child.
(-[WebCoreFrameBridge removeChild:]): Clear child's render part
and call through to Frame.
(-[WebCoreFrameBridge dealloc]): Remove unneeded m_frame-related code.
(-[WebCoreFrameBridge finalize]): ditto
(-[WebCoreFrameBridge clearFrame]): New helper method, needed now that
bridge can outlive frame.
(-[WebCoreFrameBridge handleFallbackContent]): Make safe against a null
frame.
(-[WebCoreFrameBridge removeFromFrame]): ditto
* bridge/mac/WebCorePageBridge.h:
* bridge/mac/WebCorePageBridge.mm:
(-[WebCorePageBridge initWithMainFrame:]): Create a Page instance.
(-[WebCorePageBridge dealloc]): Delete the Page.
(-[WebCorePageBridge mainFrame]): Get the main frame from the Page.
* khtml/ecma/kjs_binding.cpp:
(KJS::ScriptInterpreter::globalExec): Override; keep frame alive, then
call superclass.
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_proxy.cpp:
(KJSProxyImpl::clear): Don't pass exec to window.
(KJSProxyImpl::interpreter): Don't do keepAlive.
* khtml/ecma/kjs_window.cpp:
(KJS::Window::isSafeScript): If the active part's document is gone, use the frame's
URL for security check purposes.
(KJS::Window::clear): Don't take an ExecState parameter any more - it
wasn't used.
* khtml/ecma/kjs_window.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::implicitOpen): If we've got a tokenizer, delete
it before closing - you don't ever want to fire an onload handler because of
an open.
* page/Frame.cpp:
(Frame::init): Pass `this' to FramePrivate constructor.
(FrameCounter::~FrameCounter): Added debug counting of leftover
Frame objects on exit.
(Frame::Frame): Moved out-of-line. Increment debug counter.
(Frame::~Frame): Assert that there is no life support going, either at the
start or end of this method. Decrement frame counter.
(Frame::stopLoading): tweaked for the fact that ChildFrame::m_frame is now
a RefPtr.
(Frame::clear): ditto
(Frame::stop): ditto
(Frame::stopAnimations): ditto
(Frame::checkEmitLoadEvent): ditto
(Frame::processObjectRequest): ditto
(Frame::childFrame): ditto
(Frame::findFrame): ditto
(Frame::setZoomFactor): ditto
(Frame::frames): ditto
(Frame::connectChild): ditto
(Frame::disconnectChild): ditto
(Frame::endAllLifeSupport): Method that, in debug mode, will clear
all life suppor timers so the Frame exit counter works.
(Frame::keepAlive): In debug mode, add proper support for
endAllLifeSupport
(Frame::slotEndLifeSupport): ditto
(Frame::setPolicyBaseURL): Update for the fact that ChildFrame::m_frame is now
a RefPtr.
(Frame::treeNode): New helper method, get the FrameTreeNode class that implements
frame tree traversal.
(Frame::nextSibling): Simple wrapper that calls through to treeNode().
(Frame::previousSibling): ditto
(Frame::firstChild): ditto
(Frame::lastChild): ditto
(Frame::childCount): ditto
(Frame::appendChild): ditto
(Frame::removeChild): ditto
(Frame::detachFromView): no-op, just a virtual base for the MAcFrame method.
* page/Frame.h:
* page/FramePrivate.h:
(FramePrivate::FramePrivate): Add FrameTreeNode member.
* page/FrameTreeNode.cpp: Added.
(FrameTreeNode::~FrameTreeNode): detach all children from their view
(FrameTreeNode::appendChild): implemented
(FrameTreeNode::removeChild): implemented - make sure to detach child
from its view.
* page/FrameTreeNode.h: Added.
(FrameTreeNode::FrameTreeNode): New; initialize fields tht need it.
(FrameTreeNode::nextSibling): Trivial inline.
(FrameTreeNode::previousSibling): ditto
(FrameTreeNode::firstChild): ditto
(FrameTreeNode::lastChild): ditto
(FrameTreeNode::childCount): ditto
* page/Page.cpp: Added.
(Page::Page): Initialize mainFrame and bump pageCount appropriately.
(Page::~Page): Detach main frame from view, handle ending life support
when last frame is destroyed.
* page/Page.h: Added.
(Page::mainFrame): Trivial inline.
* WebCore.xcodeproj/project.pbxproj: Add new files.
2006-01-22 Darin Adler <darin@apple.com>
* Info.plist: Updated Apple copyright date. Need to update others
too at some point.
* WebCore-svg.exp: Removed unused empty file.
2006-01-22 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Make <animateColor> work again (broke during DOM merger).
http://bugzilla.opendarwin.org/show_bug.cgi?id=5964
No layout test possible.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::getAbsoluteRepaintRect): moved to .cpp file
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::implicitClose): start svg animations
(WebCore::DocumentImpl::svgExtensions): svg document extensions
(WebCore::DocumentImpl::accessSVGExtensions): svg doc extensions
* khtml/xml/DocumentImpl.h:
* ksvg2/css/SVGCSSStyleSelector.cpp:
(KDOM::CSSStyleSelector::applySVGProperty):
* ksvg2/svg/SVGAElementImpl.cpp:
(SVGAElementImpl::defaultEventHandler): cleanup
* ksvg2/svg/SVGAnimateColorElementImpl.cpp:
(SVGAnimateColorElementImpl::handleTimerEvent): update css lookup
* ksvg2/svg/SVGAnimateElementImpl.cpp:
(SVGAnimateElementImpl::handleTimerEvent): fix css property lookup
* ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
(SVGAnimateTransformElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimationElementImpl.cpp:
(SVGAnimationElementImpl::closeRenderer): use doc extensions
(SVGAnimationElementImpl::targetAttribute): fix css properties
(SVGAnimationElementImpl::setTargetAttribute): fix css properties
* ksvg2/svg/SVGDocumentImpl.cpp:
(SVGDocumentImpl::svgView): remove unnecessary static cast
(SVGDocumentImpl::executeScripts):
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGElementImpl.cpp:
(WebCore::SVGElementImpl::addSVGEventListener): helper function
(WebCore::SVGElementImpl::parseMappedAttribute): use helper
* ksvg2/svg/SVGElementImpl.h:
* ksvg2/svg/SVGGElementImpl.cpp:
* ksvg2/svg/SVGGElementImpl.h:
* ksvg2/svg/SVGSVGElementImpl.cpp:
(WebCore::SVGSVGElementImpl::SVGSVGElementImpl):
(WebCore::SVGSVGElementImpl::~SVGSVGElementImpl):
(WebCore::SVGSVGElementImpl::addSVGWindowEventListner): helper
(WebCore::SVGSVGElementImpl::parseMappedAttribute): use helper
* ksvg2/svg/SVGSVGElementImpl.h:
* ksvg2/svg/SVGSetElementImpl.cpp:
(SVGSetElementImpl::handleTimerEvent): use doc extensions
* ksvg2/svg/SVGStyledElementImpl.h:
* page/Frame.cpp:
(Frame::pauseTimeouts): pause svg animation
(Frame::resumeTimeouts): resume svg animation
* rendering/render_canvas.h:
2006-01-22 Darin Adler <darin@apple.com>
- fix deployment builds
* rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Init bool.
2006-01-22 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5731
Form element as display table-cell hangs Safari (will eventually crash)
Test: fast/table/form-with-table-style.html
Hang was caused by the fact that RenderContainer has code to wrap table
styled elements in appropriate anonymous table elements, but the table
elements themselves have a special case for form elements that causes them
to call through, which led to infinite recursion as RenderContainer kept
making new tables which kept calling through to RenderContainer::addChild.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): Improved logic about wrapping children
in anonymous table sections in the following ways: (1) Do wrap a form
properly it has a table display style (such as table-cell or table-row).
(2) When an item has a particular display style, check that it has the
right type of render object before casting it to that type. Also
restructured the code a little to make it slightly more readable.
(WebCore::RenderTable::layout): Added a FIXME about forms that have a
display style that makes it a table section, since they will be skipped
here in the loop to lay children out.
(WebCore::RenderTable::recalcSections): Added checks similar to the ones
in addChild above.
* rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
Moved form tag logic inside render object type check so that a table row
that happens to be a form element won't be affected by the special form
tag logic. Also added an explicit check for the table-cell style so we
will wrap it in a row rather than just putting the form at this level.
* rendering/RenderTableRow.h: Removed removeChildNode and dump functions
that just called through to the base class.
* rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
Moved form tag logic inside render object type check so that a table cell
that happens to be a form element won't be affected by the special form
tag logic. Removed unnecessary null check of section() at end of function.
* rendering/RenderTableCol.h: Removed addChild because all it did was
assert (incorrectly) and then call through to the base class. Changed
_span to be m_span.
* rendering/RenderTableCol.cpp: Removed addChild function. Updated for
change in name of m_span field.
2006-01-22 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3518
REGRESSION (312-412): mojibake left behind when scrolling a clipped <select>
* kwq/KWQListBox.mm: (QListBox::QListBox): Call setCopiesOnScroll:NO.
* kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Ditto.
2006-01-22 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Maciej.
- fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5656
REGRESSION: Buttons on Yahoo! Mail misplaced in ToT
<rdar://problem/4404335>
Tests whether white-space mode on buttons is inheritied and not forced.
Originally broken in Subversion revision r10909.
* css/html4.css: Remove default white-space value for <button> tag to
allow it to be inherited.
* rendering/render_theme_mac.mm:
(khtml::RenderThemeMac::adjustButtonStyle): Fix misleading comment.
* css/UserAgentStyleSheets.cpp: Touched this file to make the rebuild
of html4.css work (shouldn't have to do this).
2006-01-22 Darin Adler <darin@apple.com>
* css/make-css-file-arrays.pl: Fix typo that was resulting in a bunch
of whitespace that was supposed to go into a derived source file going
to the console instead.
2006-01-22 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
SVG needs to support "evt" instead of "event" in event handlers.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5874
Test: svg/custom/evt-onload.svg
* WebCore.xcodeproj/project.pbxproj: added new classes
* khtml/ecma/kjs_events.cpp:
* khtml/ecma/kjs_events.h:
* khtml/ecma/kjs_proxy.cpp:
(WebCore::KJSProxyImpl::createHTMLEventHandler): simplified
(WebCore::KJSProxyImpl::createSVGEventHandler): new
* khtml/ecma/kjs_proxy.h:
* khtml/ecma/kjs_window.cpp:
* khtml/ecma/kjs_window.h:
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::createHTMLEventListener): simplified
(WebCore::DocumentImpl::createSVGEventListener): new
* khtml/xml/DocumentImpl.h:
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchEvent): use RefPtr
* ksvg2/events/JSSVGLazyEventListener.cpp: Added.
(WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): added.
(WebCore::JSSVGLazyEventListener::eventParameterName): added.
* ksvg2/events/JSSVGLazyEventListener.h: Added.
* ksvg2/svg/SVGElementImpl.cpp:
(SVGElementImpl::parseMappedAttribute): use new SVG event handler
* ksvg2/svg/SVGSVGElementImpl.cpp:
(SVGSVGElementImpl::parseMappedAttribute): use new SVG event handler
* page/Frame.cpp: updated KJSProxyImpl namespace
* page/Frame.h: updated KJSProxyImpl namespace
* page/FramePrivate.h: updated KJSProxyImpl namespace
2006-01-22 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3508
REGRESSION (125-412): problem with negative margin-top and position: absolute (vre.aitg.com)
<rdar://problem/4093277> REGRESSION (125-312): layout problem at vre.aitg.com (3508)
Test: fast/css/position-negative-top-margin.html
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustPositionedBlock):
Fixed two different problems that contributed to the bug: (1) Added a call to calcVerticalMargins
otherwise the margin will always be 0. (2) Corrected logic for the negative margin case, which
was comparing a negative margin-top to a number representing the absolute value of the margin.
2006-01-22 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3702
Web page is laid out incorrectly after printing with print-specific style sheet.
<rdar://problem/3706259> Web page distorts after printing with print-specific style sheet (3702)
Also replaced tabs with spaces in the changed files.
Test cases:
* fast/table/append-cells.html
* fast/table/append-cells2.html
* fast/table/remove-td-display-none.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::recalcSections): Shrink columns and columnPos to the
actual number of columns.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::numColumns): New function.
(WebCore::RenderTableSection::dump): Use gridRows instead of grid.size() for row count,
preventing crashes.
* rendering/RenderTableSection.h: Added numColumns() and a comment about cCol/cRow.
2006-01-22 Darin Adler <darin@apple.com>
Reviewed by Anders.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6705
use PassRefPtr in more of the basic DOM operations
Once we do the same with cloneNode, I believe we'll fix one of our P1 bugs,
but cloneNode was a little too much to do without doing this first pass.
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::childNodes): Updated for parameter changes.
(WebCore::NodeImpl::insertBefore): Ditto.
(WebCore::NodeImpl::replaceChild): Ditto.
(WebCore::NodeImpl::removeChild): Ditto.
(WebCore::NodeImpl::appendChild): Ditto.
(WebCore::NodeImpl::addChild): Ditto.
(WebCore::NodeImpl::addEventListener): Ditto.
(WebCore::NodeImpl::setHTMLEventListener): Ditto.
(WebCore::NodeImpl::isDefaultNamespace): Updated for changed name of ancestorElement.
(WebCore::NodeImpl::lookupPrefix): Ditto.
(WebCore::NodeImpl::lookupNamespaceURI): Ditto.
(WebCore::NodeImpl::lookupNamespacePrefix): Ditto.
(WebCore::NodeImpl::ancestorElement): Changed name from getAncestorElement.
* khtml/xml/NodeImpl.h: Changed most functions where it makes sense to take and return
PassRefPtr instead of raw pointers. Even non-obvious cases like appendChild, where the
return value has to be PassRefPtr only because it might be removed when the JavaScript
triggered by the DOM mutation event runs (normally, there's no need to return an "owning"
pointer because the tree now owns the newly-inserted node). Made the ancestorElement
function private.
* khtml/xml/ContainerNodeImpl.cpp:
(WebCore::ContainerNodeImpl::ContainerNodeImpl): Updated for changes from
_first to m_firstChild and _last to m_lastChild.
(WebCore::ContainerNodeImpl::removeAllChildren): Ditto.
(WebCore::ContainerNodeImpl::firstChild): Ditto.
(WebCore::ContainerNodeImpl::lastChild): Ditto.
(WebCore::ContainerNodeImpl::insertBefore): Updated for parameter changes.
(WebCore::ContainerNodeImpl::replaceChild): Ditto.
(WebCore::ContainerNodeImpl::willRemove): Updated for m_lastChild.
(WebCore::ContainerNodeImpl::removeChild): Updated for parameter changes.
(WebCore::ContainerNodeImpl::removeChildren): Updated for m_first/lastChild.
(WebCore::ContainerNodeImpl::appendChild): Updated for parameter changes.
(WebCore::ContainerNodeImpl::hasChildNodes): Updated for m_firstChild.
(WebCore::ContainerNodeImpl::addChild): Updated for parameter changes.
(WebCore::ContainerNodeImpl::attach): Updated for m_firstChild.
(WebCore::ContainerNodeImpl::detach): Ditto.
(WebCore::ContainerNodeImpl::insertedIntoDocument): Ditto.
(WebCore::ContainerNodeImpl::removedFromDocument): Ditto.
(WebCore::ContainerNodeImpl::insertedIntoTree): Ditto.
(WebCore::ContainerNodeImpl::removedFromTree): Ditto.
* khtml/xml/ContainerNodeImpl.h: Removed unused checkSameDocument and checkIsChild.
Made more things private, updated parameters for NodeImpl functions.
* khtml/html/HTMLSelectElementImpl.cpp:
(DOM::HTMLSelectElementImpl::insertBefore): Ditto.
(DOM::HTMLSelectElementImpl::replaceChild): Ditto.
(DOM::HTMLSelectElementImpl::removeChild): Ditto.
(DOM::HTMLSelectElementImpl::appendChild): Ditto.
(DOM::HTMLSelectElementImpl::addChild): Ditto.
* khtml/html/HTMLSelectElementImpl.h: Ditto.
* khtml/html/HTMLOptGroupElementImpl.cpp:
(WebCore::HTMLOptGroupElementImpl::insertBefore): Updated for parameter type change.
Also changed to look at return value, not exception code, to check for success.
(WebCore::HTMLOptGroupElementImpl::replaceChild): Ditto.
(WebCore::HTMLOptGroupElementImpl::removeChild): Ditto.
(WebCore::HTMLOptGroupElementImpl::appendChild): Ditto.
(WebCore::HTMLOptGroupElementImpl::addChild): Ditto.
* khtml/html/HTMLOptGroupElementImpl.h: Ditto.
* WebCore+SVG/kdom.h: Renamed enum from ExceptionCode to ExceptionCodes
to avoid conflict with a typedef ExceptionCode I added.
* bindings/objc/DOM.mm:
(-[DOMNode insertBefore::]): Added get() call since return value is a PassRefPtr.
(-[DOMNode replaceChild::]): Ditto.
(-[DOMNode removeChild:]): Ditto.
(-[DOMNode appendChild:]): Ditto.
* khtml/ecma/kjs_dom.h: Changed getDOMNode to take PassRefPtr.
* khtml/ecma/kjs_dom.cpp: (KJS::getDOMNode): Changed to take PassRefPtr.
* khtml/html/HTMLElementImpl.cpp: Added dom2_events.h include, now needed.
Re-sorted includes.
* ksvg2/svg/SVGElementImpl.cpp: Ditto.
* khtml/html/html_documentimpl.cpp: (WebCore::HTMLDocumentImpl::documentElement):
Changed access to now-private data member _first to equivalent inline function
fastFirstChild().
* khtml/xml/DocumentImpl.cpp: (WebCore::DocumentImpl::recalcStyle): Ditto.
* khtml/xml/dom_elementimpl.cpp: (WebCore::ElementImpl::recalcStyle): Ditto.
* khtml/html/html_tableimpl.cpp:
(WebCore::HTMLTableElementImpl::setCaption): Updated to work with new replaceChild
that returns PassRefPtr.
(WebCore::HTMLTableElementImpl::setTHead): Ditto.
(WebCore::HTMLTableElementImpl::setTFoot): Ditto.
(WebCore::HTMLTableElementImpl::setTBody): Ditto.
(WebCore::HTMLTableElementImpl::addChild): Updated for parameter type change.
(WebCore::HTMLTableSectionElementImpl::addChild): Ditto.
(WebCore::HTMLTableRowElementImpl::addChild): Ditto.
* khtml/html/html_tableimpl.h: Ditto.
* khtml/html/htmlparser.cpp: (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
Removed an unneeded explicit call to removeChild. appendChild already takes care of
removing the child from its own location. This avoids the fact that removeChild was
removing the parent, the only thing keeping the node alive. This is sort of the
"flip side" of our removeChild leaks -- code that depended on the behavior that
caused the leaks.
* khtml/xml/xml_tokenizer.cpp: (WebCore::XMLTokenizer::startElementNs):
Removed unneeded isHTMLElement() calls from before the "qualified name" change.
2006-01-22 Eric Seidel <eseidel@apple.com>
Rubber-stamped by anders.
Remove WebCore-no-SVG target and wrap files in #if SVG_SUPPORT
http://bugzilla.opendarwin.org/show_bug.cgi?id=6633
2006-01-22 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6642
Split XMLHttpRequest class into JS binding and implementation
* WebCore.xcodeproj/project.pbxproj: Adjusted for moved and renamed files.
New group "xml" to match directory structure.
* xml: Added.
* khtml/ecma/JSXMLHttpRequest.cpp: Added.
* khtml/ecma/JSXMLHttpRequest.h: Added.
* khtml/ecma/xmlhttprequest.cpp: Removed.
* khtml/ecma/xmlhttprequest.h: Removed.
* xml/xmlhttprequest.cpp: Added.
* xml/xmlhttprequest.h: Added.
* khtml/ecma/kjs_binding.cpp:
(KJS::jsStringOrUndefined): Moved from kjs_events.cpp.
* khtml/ecma/kjs_binding.h: Added prototype for jsStringOrUndefined().
* khtml/ecma/kjs_events.cpp: Removed jsStringOrUndefined().
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty): Use new class name for JSXMLHttpRequest.
* kwq/KWQSlot.cpp: XMLHttpRequestQObject is now in WebCore, not KJS.
* page/Frame.cpp:
(Frame::stopLoading): XMLHttpRequest is now in WebCore, not KJS.
2006-01-22 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
Add support for custom fill/strokes on text.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6448
40+ layout tests already cover this.
* kcanvas/RenderSVGText.cpp:
(RenderSVGText::paint): use new painter setup/teardown infrastructure
* kcanvas/device/KRenderingPaintServer.h:
(KRenderingPaintServer::KRenderingPaintServer):
(KRenderingPaintServer::setup):
(KRenderingPaintServer::render):
(KRenderingPaintServer::teardown):
(KRenderingPaintServer::isPaintingText):
(KRenderingPaintServer::setPaintingText):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(setupShadingWithStyle):
(renderShadingWithStyle):
(teardownShadingWithStyle):
(KRenderingPaintServerLinearGradientQuartz::draw):
(KRenderingPaintServerLinearGradientQuartz::setup):
(KRenderingPaintServerLinearGradientQuartz::render):
(KRenderingPaintServerLinearGradientQuartz::teardown):
(KRenderingPaintServerRadialGradientQuartz::draw):
(KRenderingPaintServerRadialGradientQuartz::setup):
(KRenderingPaintServerRadialGradientQuartz::render):
(KRenderingPaintServerRadialGradientQuartz::teardown):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
(KRenderingPaintServerPatternQuartz::KRenderingPaintServerPatternQuartz):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerQuartzHelper::strokePath):
(KRenderingPaintServerQuartzHelper::clipToStrokePath):
(KRenderingPaintServerQuartzHelper::fillPath):
(KRenderingPaintServerQuartzHelper::clipToFillPath):
(KRenderingPaintServerSolidQuartz::draw):
(KRenderingPaintServerSolidQuartz::setup):
(KRenderingPaintServerSolidQuartz::render):
(KRenderingPaintServerSolidQuartz::teardown):
(KRenderingPaintServerPatternQuartz::draw):
(KRenderingPaintServerPatternQuartz::setup):
(KRenderingPaintServerPatternQuartz::render):
(KRenderingPaintServerPatternQuartz::teardown):
* kcanvas/device/quartz/QuartzSupport.h: fix prototype
* kcanvas/device/quartz/QuartzSupport.mm:
(applyStrokeStyleToContext):
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(KSVGPainterFactory::fillPaintServer):
(KSVGPainterFactory::strokePaintServer):
(KSVGPainterFactory::cssPrimitiveToLength):
(KSVGPainterFactory::strokePainter):
(KSVGPainterFactory::fillPainter):
* ksvg2/misc/KCanvasRenderingStyle.h:
2006-01-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3509
REGRESSION(125-412) Portion of nested table is not painted correctly on cafepress site
<rdar://problem/4039615> REGRESSION(125-188) Portion of nested table is not painted correctly on cafepress site
* manual-tests/bugzilla-3509.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren): Force repaint if the child didn't move but
didn't repaint correctly during layout because it was not at its final position then.
2006-01-21 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=3869
Should use HTML Image element instead of JS Image object
<rdar://problem/3852987> JavaScript image.complete property never returns true (3869)
* khtml/ecma/kjs_events.cpp:
(KJS::ClipboardProtoFunc::callAsFunction):
Don't check Image object. Instead, if the element passed in
is an image element which isn't in any document, use its pixmap.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElement::imageGetter):
Add complete.
(KJS::ImageConstructorImp::construct):
Take a QPixmap instead of an Image.
(KJS::KJS::Context2DFunction::callAsFunction):
Remove usage of Image and use HTMLImageElementImpl instead.
* khtml/ecma/kjs_html.h:
Remove Image class.
(KJS::HTMLElement::):
Add ImgComplete.
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLImageElementImpl::width):
(WebCore::HTMLImageElementImpl::height):
If the element has no renderer but its image size is known
return that instead.
(WebCore::HTMLImageElementImpl::complete):
New function, returns true if an image has finished loading.
* khtml/html/html_imageimpl.h:
Add complete.
* manual-tests/drag-image.html: Added.
2006-01-21 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
- fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=6691
TinyMCE: strikethrough unimplemented
* khtml/editing/jsediting.cpp:
Add support for the "Strikethrough" command.
2006-01-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/dynamic/hovered-detach.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5983
REGRESSION: onmouseover-powered navbar at MacNN renders incorrectly
<rdar://problem/4403730> REGRESSION: onmouseover powered navbar renders incorrectly at macnn.com (5983)
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::detach): Set m_hovered to false and set the document's
hoverNode to an hovered ancestor that still has a renderer.
* rendering/render_layer.cpp: Changed static method hoverAncestor() into a
RenderObject instance method.
(WebCore::commonAncestor):
(WebCore::RenderLayer::updateHoverActiveState):
* rendering/render_object.cpp: Ditto.
(WebCore::RenderObject::hoverAncestor)
* rendering/render_object.h: Ditto.
2006-01-20 David Hyatt <hyatt@apple.com>
Fix for bug 6666, pseudo-element rules incorrectly displayed
in Web Inspector.
Reviewed by darin
Added fast/inspector/matchedrules.html as test case.
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::matchRulesForList):
2006-01-20 Timothy Hatcher <timothy@apple.com>
Reviewed by John.
Removes code that is no longer needed with the new Web Inspector.
* bridge/mac/WebCoreFrameBridge.h: removes the WebCoreDOMTreeCopier protocol.
* bridge/mac/WebCoreFrameBridge.mm: removes copyDOMNode:copier:
2006-01-21 Anders Carlsson <andersca@mac.com>
Reviewed by David Hyatt.
Rename Frame::xmlDocImpl => Frame::document and
Frame::replaceDocImpl => Frame::setDocument
* bridge/mac/MacFrame.mm:
(MacFrame::findString):
(MacFrame::advanceToNextMisspelling):
(MacFrame::nextKeyViewInFrame):
(MacFrame::nextKeyViewInFrameHierarchy):
(MacFrame::keyEvent):
(MacFrame::dispatchCPPEvent):
(MacFrame::setDisplaysWithFocusAttributes):
(MacFrame::bodyBackgroundColor):
(MacFrame::markMisspellings):
(MacFrame::respondToChangedSelection):
(MacFrame::setMarkedTextRange):
(MacFrame::dashboardRegionsDictionary):
(MacFrame::shouldClose):
* bridge/mac/WebCoreFrameBridge.mm:
(updateRenderingForBindings):
(frameHasSelection):
(-[WebCoreFrameBridge addData:]):
(-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
(-[WebCoreFrameBridge saveDocumentState]):
(-[WebCoreFrameBridge restoreDocumentState]):
(-[WebCoreFrameBridge saveDocumentToPageCache]):
(-[WebCoreFrameBridge _documentTypeString]):
(-[WebCoreFrameBridge deselectAll]):
(-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
(nowPrinting):
(-[WebCoreFrameBridge _setupRootForPrinting:]):
(-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
(-[WebCoreFrameBridge copyDOMTree:]):
(-[WebCoreFrameBridge URLWithAttributeString:]):
(-[WebCoreFrameBridge unmarkAllMisspellings]):
(-[WebCoreFrameBridge nextKeyView]):
(-[WebCoreFrameBridge previousKeyView]):
(-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
(-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
(-[WebCoreFrameBridge DOMDocument]):
(-[WebCoreFrameBridge baseURL]):
(-[WebCoreFrameBridge domain]):
(-[WebCoreFrameBridge numPendingOrLoadingRequests]):
(-[WebCoreFrameBridge doneProcessingData]):
(-[WebCoreFrameBridge selectionColor]):
(-[WebCoreFrameBridge accessibilityTree]):
(-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
(-[WebCoreFrameBridge convertToNSRange:]):
(-[WebCoreFrameBridge convertToDOMRange:]):
(-[WebCoreFrameBridge replaceMarkedTextWithText:]):
(-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
(-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
(-[WebCoreFrameBridge documentFragmentWithText:]):
(-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]):
(-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
(-[WebCoreFrameBridge insertLineBreak]):
(-[WebCoreFrameBridge insertParagraphSeparator]):
(-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
(-[WebCoreFrameBridge insertText:selectInsertedText:]):
(-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
(-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]):
(-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:]):
(-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:]):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLDocument::putValueProperty):
* khtml/ecma/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::Window::getValueProperty):
(KJS::Window::namedItemGetter):
(KJS::Window::getOwnPropertySlot):
(KJS::Window::put):
(KJS::Window::isSafeScript):
(KJS::Window::setListener):
(KJS::Window::getListener):
(KJS::WindowFunc::callAsFunction):
(KJS::Window::updateLayout):
(KJS::ScheduledAction::execute):
(KJS::Location::put):
(KJS::LocationFunc::callAsFunction):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequestProtoFunc::callAsFunction):
* khtml/editing/jsediting.cpp:
* khtml/html/html_baseimpl.cpp:
(WebCore::HTMLFrameElementImpl::contentDocument):
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::scriptExecution):
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::parentDocument):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource):
* kwq/KWQAccObject.mm:
(-[KWQAccObject textUnderElement]):
(-[KWQAccObject doAXTextMarkerForPosition:]):
(-[KWQAccObject rendererForView:]):
* kwq/KWQKJavaAppletWidget.mm:
(KJavaAppletWidget::KJavaAppletWidget):
* page/Frame.cpp:
(Frame::document):
(Frame::setDocument):
(Frame::setFocusNodeIfNeeded):
(Frame::isPointInsideSelection):
(Frame::computeAndSetTypingStyle):
(Frame::applyStyle):
(Frame::applyParagraphStyle):
(Frame::selectionComputedStyle):
(Frame::selectFrameElementInParentIfFullySelected):
(Frame::renderer):
(Frame::scrollOverflow):
(Frame::paint):
(Frame::adjustPageHeight):
(Frame::updatePolicyBaseURL):
(Frame::setPolicyBaseURL):
(Frame::forceLayoutWithPageWidthRange):
(Frame::sendScrollEvent):
(Frame::clearTimers):
(Frame::styleForSelectionStart):
(Frame::setSelectionFromNone):
(Frame::setWindowHasFocus):
(Frame::backslashAsCurrencySymbol):
* page/Frame.h:
* page/FrameView.cpp:
(FrameView::~FrameView):
(FrameView::clear):
(FrameView::resizeEvent):
(FrameView::adjustViewSize):
(FrameView::layout):
(FrameView::updateDashboardRegions):
(FrameView::viewportMousePressEvent):
(FrameView::viewportMouseDoubleClickEvent):
(FrameView::viewportMouseMoveEvent):
(FrameView::viewportMouseReleaseEvent):
(FrameView::keyPressEvent):
(FrameView::dispatchDragEvent):
(FrameView::updateDragAndDrop):
(FrameView::focusNextPrevNode):
(FrameView::dispatchMouseEvent):
(FrameView::viewportWheelEvent):
(FrameView::timerEvent):
(FrameView::scheduleRelayout):
(FrameView::unscheduleRelayout):
* rendering/render_frames.cpp:
(WebCore::RenderPartObject::updateWidget):
2006-01-20 Chris Petersen <cpetersen@apple.com>
Reviewed by eseidel.
Build fix.
* khtml/xml/DocumentImpl.cpp:
2006-01-20 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Unbreak build (partial commit of animation patch)
* khtml/xml/DocumentImpl.cpp:
(WebCore::DocumentImpl::implicitClose):
* khtml/xml/DocumentImpl.h:
2006-01-20 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Missed the kcanvas directory in my previous commit.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6683
* kcanvas/KCanvasContainer.h:
* kcanvas/RenderForeignObject.h:
* kcanvas/RenderSVGText.h:
2006-01-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/overflow/image-selection-highlight.html
Reviewed by Darin, committed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6673
Selection highlight doesn't scroll along with an image contained in an overflow:scroll block
* rendering/render_replaced.cpp:
(WebCore::RenderReplaced::selectionRect): Subtract the containing block's scroll offset.
2006-01-19 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Break classes in render_table out into separate files.
Move render_block to RenderBlock.
Move render_container to RenderContainer.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6683
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
* kcanvas/KCanvasContainer.h:
* kcanvas/RenderForeignObject.h:
* kcanvas/RenderSVGText.h:
* khtml/editing/visible_units.cpp:
* khtml/html/html_tableimpl.cpp:
(WebCore::HTMLTableElementImpl::insertRow):
* khtml/xml/dom2_rangeimpl.cpp:
* khtml/xml/dom_position.cpp:
* kwq/KWQRenderTreeDebug.cpp:
* page/Frame.cpp:
* rendering/InlineTextBox.cpp:
* rendering/RenderBlock.cpp: Added.
* rendering/RenderBlock.h: Added.
* rendering/RenderContainer.cpp: Added.
(WebCore::RenderContainer::addChild):
* rendering/RenderContainer.h: Added.
* rendering/RenderTable.cpp: Added.
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::updateFirstLetter):
* rendering/RenderTable.h: Added.
* rendering/RenderTableCell.cpp: Added.
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::updateFromElement):
* rendering/RenderTableCell.h: Added.
* rendering/RenderTableCol.cpp: Added.
(WebCore::RenderTableCol::RenderTableCol):
(WebCore::RenderTableCol::updateFromElement):
* rendering/RenderTableCol.h: Added.
* rendering/RenderTableRow.cpp: Added.
(WebCore::RenderTableRow::RenderTableRow):
* rendering/RenderTableRow.h: Added.
* rendering/RenderTableSection.cpp: Added.
(WebCore::RenderTableSection::RenderTableSection):
* rendering/RenderTableSection.h: Added.
* rendering/RenderText.cpp:
* rendering/bidi.cpp:
* rendering/render_block.cpp: Removed.
* rendering/render_block.h: Removed.
* rendering/render_box.cpp:
* rendering/render_canvas.h:
* rendering/render_container.cpp: Removed.
* rendering/render_container.h: Removed.
* rendering/render_flexbox.h:
* rendering/render_flow.cpp:
* rendering/render_flow.h:
* rendering/render_form.h:
* rendering/render_frames.h:
* rendering/render_inline.cpp:
* rendering/render_inline.h:
* rendering/render_line.cpp:
* rendering/render_list.h:
* rendering/render_object.cpp:
* rendering/render_replaced.h:
* rendering/render_table.cpp: Removed.
* rendering/render_table.h: Removed.
* rendering/table_layout.cpp:
2006-01-19 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
<embed> and <object> tags show up blank when going back/forward.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6679
No test currently possible.
* page/Frame.cpp:
(Frame::canCachePage):
2006-01-19 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Split html_miscimpl.* into separate files and move html_elementimpl
http://bugzilla.opendarwin.org/show_bug.cgi?id=6670
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
* bindings/objc/DOMHTML.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* css/css_valueimpl.cpp:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/editing/apply_style_command.cpp:
* khtml/editing/markup.cpp:
* khtml/editing/replace_selection_command.cpp:
* khtml/html/HTMLBaseFontElementImpl.cpp: Added.
* khtml/html/HTMLBaseFontElementImpl.h: Added.
* khtml/html/HTMLButtonElementImpl.cpp:
* khtml/html/HTMLCollectionImpl.cpp: Added.
(WebCore::HTMLCollectionImpl::traverseNextItem):
* khtml/html/HTMLCollectionImpl.h: Added.
* khtml/html/HTMLElementImpl.cpp: Added.
* khtml/html/HTMLElementImpl.h: Added.
* khtml/html/HTMLFieldSetElementImpl.cpp:
* khtml/html/HTMLFormCollectionImpl.cpp: Added.
* khtml/html/HTMLFormCollectionImpl.h: Added.
* khtml/html/HTMLFormElementImpl.cpp:
* khtml/html/HTMLFormElementImpl.h:
* khtml/html/HTMLGenericFormElementImpl.cpp:
* khtml/html/HTMLGenericFormElementImpl.h:
* khtml/html/HTMLInputElementImpl.cpp:
* khtml/html/HTMLIsIndexElementImpl.cpp:
* khtml/html/HTMLLabelElementImpl.h:
* khtml/html/HTMLLegendElementImpl.cpp:
* khtml/html/HTMLNameCollectionImpl.cpp: Added.
* khtml/html/HTMLNameCollectionImpl.h: Added.
* khtml/html/HTMLOptGroupElementImpl.cpp:
* khtml/html/HTMLOptGroupElementImpl.h:
* khtml/html/HTMLOptionElementImpl.h:
* khtml/html/HTMLSelectElementImpl.cpp:
* khtml/html/HTMLTextAreaElementImpl.cpp:
* khtml/html/html_baseimpl.cpp:
* khtml/html/html_baseimpl.h:
* khtml/html/html_blockimpl.cpp:
* khtml/html/html_blockimpl.h:
* khtml/html/html_canvasimpl.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_documentimpl.h:
* khtml/html/html_elementimpl.cpp: Removed.
* khtml/html/html_elementimpl.h: Removed.
* khtml/html/html_headimpl.cpp:
(WebCore::HTMLLinkElementImpl::setStyleSheet):
(WebCore::HTMLLinkElementImpl::isLoading):
* khtml/html/html_headimpl.h:
* khtml/html/html_imageimpl.cpp:
* khtml/html/html_inlineimpl.cpp:
* khtml/html/html_inlineimpl.h:
* khtml/html/html_listimpl.h:
* khtml/html/html_miscimpl.cpp: Removed.
* khtml/html/html_miscimpl.h: Removed.
* khtml/html/html_objectimpl.cpp:
* khtml/html/html_tableimpl.h:
* khtml/html/htmlfactory.cpp:
* khtml/html/htmlparser.cpp:
* khtml/html/htmltokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler):
(WebCore::HTMLTokenizer::scriptExecution):
* khtml/xml/DocumentImpl.cpp:
* khtml/xml/dom2_rangeimpl.cpp:
* khtml/xml/dom_elementimpl.cpp:
* kwq/KWQAccObject.mm:
* loader/loader.cpp:
* page/Frame.cpp:
(Frame::restoreURL):
(Frame::stopLoading):
(Frame::receivedFirstData):
(Frame::gotoAnchor):
(Frame::requestObject):
(Frame::processObjectRequest):
(Frame::submitForm):
(Frame::slotParentCompleted):
(Frame::findFrame):
(Frame::executeScript):
* page/FrameView.cpp:
(FrameView::useSlowRepaints):
* rendering/render_applet.cpp:
* rendering/render_applet.h:
* rendering/render_box.cpp:
(WebCore::RenderBox::contentWidth):
(WebCore::RenderBox::paintRootBoxDecorations):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::getClipRect):
(WebCore::RenderBox::calcWidth):
(WebCore::RenderBox::calcHeight):
* rendering/render_canvasimage.cpp:
* rendering/render_canvasimage.h:
* rendering/render_frames.cpp:
* rendering/render_image.cpp:
* rendering/render_image.h:
* rendering/render_layer.cpp:
2006-01-19 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6653
CSSStyleDeclaration returns empty string when trying to access shorthand
properties using JS accessors.
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
if getCSSPropertyValue returns 0 (which is true for shorthand properties),
try getPropertyValue instead.
2006-01-19 Adele Peterson <adele@apple.com>
Reviewed by Hyatt and Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6665
Implement NSView-less version of <input type="text">
Initial implementation of new and improved text fields.
This will only be turned on if an input element has khtml-appearance: textfield.
* WebCore.xcodeproj/project.pbxproj: Added RenderTextField.h and RenderTextField.cpp
* css/cssvalues.in: Fixed omitted button-bevel value.
This was causing an off-by-one error when getting khtml-appearance value.
* khtml/html/HTMLInputElementImpl.cpp: Added checks for khtml-appearance to decide
when to use RenderTextField instead of RenderLineEdit.
(DOM::HTMLInputElementImpl::selectionStart):
(DOM::HTMLInputElementImpl::selectionEnd):
(DOM::HTMLInputElementImpl::setSelectionStart):
(DOM::HTMLInputElementImpl::setSelectionEnd):
(DOM::HTMLInputElementImpl::select):
(DOM::HTMLInputElementImpl::setSelectionRange):
(DOM::HTMLInputElementImpl::createRenderer):
(DOM::HTMLInputElementImpl::defaultEventHandler):
* khtml/html/HTMLInputElementImpl.h:
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::isFocusable): Also allow editable elements with no parent to be focusable.
* khtml/xml/NodeImpl.h:
(WebCore::NodeImpl::setAttached): Added to set m_attached without having to call attach().
* rendering/RenderTextField.cpp: Added.
(khtml:::RenderBlock):
(khtml::RenderTextField::~RenderTextField):
(khtml::RenderTextField::addChild):
(khtml::RenderTextField::removeChild):
(khtml::RenderTextField::setStyle):
(khtml::RenderTextField::getDivStyle):
(khtml::RenderTextField::updateFromElement):
(khtml::RenderTextField::selectionStart):
(khtml::RenderTextField::selectionEnd):
(khtml::RenderTextField::setSelectionStart):
(khtml::RenderTextField::setSelectionEnd):
(khtml::RenderTextField::select):
(khtml::RenderTextField::setSelectionRange):
* rendering/RenderTextField.h: Added.
(khtml::RenderTextField::removeLeftoverAnonymousBoxes):
(khtml::RenderTextField::renderName):
* rendering/render_container.cpp:
(RenderContainer::destroy): use renamed destroyLeftoverChildren.
(RenderContainer::destroyLeftoverChildren): renamed from destroyLeftoverAnonymousChildren.
* rendering/render_container.h:
* rendering/render_flow.cpp:
(RenderFlow::destroy): use renamed destroyLeftoverChildren.
2006-01-18 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- removed all use of QMap
* ForwardingHeaders/qmap.h: Removed.
* WebCore.xcodeproj/project.pbxproj: Removed KWQMap.h, KWQMapImpl.h, KWQMapImpl.cpp.
* kwq/KWQMap.h: Removed.
* kwq/KWQMapImpl.cpp: Removed.
* kwq/KWQMapImpl.h: Removed.
* bridge/BrowserExtension.h: (WebCore::URLArgs::metaData): Converted from QMap of QString
to HashMap of DOMString.
* bridge/mac/BrowserExtensionMac.mm: Ditto.
* bridge/mac/MacFrame.mm:
(MacFrame::openURLRequest): Ditto.
(MacFrame::urlSelected): Ditto.
(MacFrame::createPart): Ditto.
* khtml/ecma/kjs_window.cpp:
(KJS::parseModalDialogFeatures): Ditto.
(KJS::boolFeature): Ditto.
(KJS::intFeature): Ditto.
(KJS::createNewWindow): Ditto.
(KJS::showModalDialog): Ditto.
(KJS::WindowFunc::callAsFunction): Ditto.
* khtml/html/html_objectimpl.cpp: (WebCore::HTMLAppletElementImpl::createRenderer): Ditto.
* khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet): Ditto.
* khtml/xml/xml_tokenizer.cpp:
(WebCore::toString): Added. Converts to DOMString instead of QString.
(WebCore::attributesStartElementNsHandler): Converted from QMap of QString to HashMap of DOMString.
(WebCore::parseAttributes): Ditto.
* khtml/xml/xml_tokenizer.h: (WebCore::Tokenizer::setTransformSource): Ditto.
* ksvg2/misc/KSVGTimeScheduler.cpp: (KSVG::SVGTimer::notifyAll): Ditto.
* kwq/KWQKJavaAppletWidget.h: Ditto.
* kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Ditto.
* kwq/KWQKJobClasses.h: Ditto.
* kwq/KWQKJobClasses.mm: (KIO::TransferJob::addMetaData): Ditto.
* page/Frame.cpp:
(Frame::didOpenURL): Ditto.
(Frame::changeLocation): Ditto.
(Frame::mark): Ditto.
(Frame::setMark): Ditto.
(Frame::urlSelected): Ditto.
(Frame::requestObject): Ditto.
(Frame::processObjectRequest): Ditto.
(Frame::submitForm): Ditto.
* rendering/render_applet.cpp:
(WebCore::RenderApplet::RenderApplet): Ditto.
(WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
(WebCore::RenderApplet::layout): Ditto.
* rendering/render_applet.h:
(WebCore::RenderApplet::renderName): Ditto.
(WebCore::RenderApplet::element): Ditto.
(WebCore::RenderEmptyApplet::renderName): Ditto.
* khtml/dom/dom_string.h:
(WebCore::DOMString::createCFString): Added. Not yet implemented or used.
(WebCore::DOMString::operator NSString*): Updated to call through to DOMStringImpl.
Added hash functions and hash traits so you can use DOMString in hash tables.
* khtml/xml/dom_stringimpl.h: Added conversion to and from CFStringRef/NSString.
* khtml/xml/dom_stringimpl.cpp: Took out an excess "DOM::".
* bindings/objc/DOMInternal.mm: (DOMStringImpl::operator NSString *): Moved from DOMString
to DOMStringImpl.
- changed the mark from a SelectionController to a Selection
(maybe it can be a Position instead?)
* page/Frame.h: Changed mark() and setMark() to use a Selection.
* page/FramePrivate.h: Changed mark to a Selection.
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setMarkDOMRange:]):
Updated for change from SelectionController to Selection.
- removed extraneous includes
* kwq/KWQKHTMLSettings.h: Removed include of "KWQMap.h".
* kwq/KWQKIOGlobal.h: Ditto.
* khtml/editing/htmlediting.h: Removed extraneous includes and namespace prefixes.
* khtml/html/html_canvasimpl.h: Removed extraneous includes and moved into the
WebCore namespace.
* khtml/html/html_canvasimpl.cpp: Ditto.
* khtml/html/htmltokenizer.cpp: Ditto.
* khtml/html/htmltokenizer.h: Ditto.
* khtml/xml/DocumentImpl.cpp: Ditto.
* kwq/KWQEditCommand.mm: Ditto.
* rendering/render_canvasimage.h: Ditto.
* rendering/render_image.h: Ditto.
* khtml/editing/composite_edit_command.cpp: Updated includes because of ones
that were removed from headers.
* khtml/editing/htmlediting.cpp: Ditto.
* khtml/editing/jsediting.cpp: Ditto.
* khtml/editing/replace_selection_command.cpp: Ditto.
* rendering/render_canvasimage.cpp: Ditto.
* rendering/render_image.cpp: Ditto.
* loader/loader.cpp: (WebCore::Loader::servePendingRequests): Removed code to add the
cache control string, since that was hardcoded to empty string anyway.
2006-01-19 Eric Seidel <eseidel@apple.com>
Reviewed by darin & anders.
Fix opacity crasher for <text> and <image>.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6668
Even though the crash is fixed, opacity still doesn't work.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6669
Test: svg/custom/text-image-opacity.svg
* kcanvas/RenderSVGImage.cpp:
(RenderSVGImage::paint):
* kcanvas/RenderSVGText.cpp:
(RenderSVGText::paint):
2006-01-19 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Remove CFDictionary usage from KWQObject.*
http://bugzilla.opendarwin.org/show_bug.cgi?id=6468
* kwq/KWQObject.cpp:
(KWQObjectTimer::KWQObjectTimer):
(QObject::restartTimer):
(QObject::timerIntervals):
(KWQObjectTimer::deleteTimer):
(QObject::killTimer):
(QObject::killTimers):
(sendDeferredTimerEvent):
2006-01-18 David Hyatt <hyatt@apple.com
Fix for bug 6657, remove all uses of MacFrame from cross-platform
code. Also remove uses of BrowserExtensionMac (and make the
frame responsible for instantiation of the appropriate
platform-specific object).
Also #ifdef out all the Dashboard code in the engine for non-Apple
platforms.
Reviewed by anders
* ForwardingHeaders/khtml_ext.h: Removed.
* ForwardingHeaders/kparts/browserextension.h: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/BrowserExtension.h: Added.
(WebCore::BrowserExtension::BrowserExtension):
* bridge/mac/BrowserExtensionMac.h: Added.
* bridge/mac/BrowserExtensionMac.mm: Added.
* bridge/mac/KWQKHTMLPartBrowserExtension.h: Removed.
* bridge/mac/KWQKHTMLPartBrowserExtension.mm: Removed.
* bridge/mac/KWQKPartsBrowserExtension.h: Removed.
* bridge/mac/MacFrame.h:
(MacFrame::createBrowserExtension):
(MacFrame::markedTextRange):
* css/css_computedstyle.cpp:
(DOM::):
(DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
* css/css_valueimpl.cpp:
(WebCore::CSSPrimitiveValueImpl::cleanup):
(WebCore::CSSPrimitiveValueImpl::cssText):
* css/css_valueimpl.h:
(DOM::CSSPrimitiveValueImpl::):
* css/cssparser.cpp:
(CSSParser::parseValue):
* css/cssparser.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* khtml/ecma/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* khtml/ecma/kjs_proxy.cpp:
(KJSProxyImpl::evaluate):
(KJSProxyImpl::initScript):
* khtml/ecma/kjs_window.cpp:
(KJS::canShowModalDialog):
(KJS::canShowModalDialogNow):
(KJS::showModalDialog):
(KJS::Window::getValueProperty):
(KJS::Window::scheduleClose):
(KJS::Window::isSafeScript):
(KJS::parseWindowFeatures):
(KJS::constrainToVisible):
(KJS::WindowFunc::callAsFunction):
(KJS::ScheduledAction::execute):
(KJS::BarInfo::getValueProperty):
(KJS::History::getValueProperty):
* khtml/editing/jsediting.cpp:
* khtml/editing/typing_command.cpp:
(khtml::TypingCommand::markMisspellingsAfterTyping):
* khtml/html/HTMLFormElementImpl.cpp:
(DOM::HTMLFormElementImpl::formData):
(DOM::HTMLFormElementImpl::submit):
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLAppletElementImpl::getAppletInstance):
(DOM::HTMLEmbedElementImpl::getEmbedInstance):
(DOM::HTMLObjectElementImpl::getObjectInstance):
* khtml/xml/DocumentImpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::updateTitle):
(DocumentImpl::implicitClose):
(DocumentImpl::referrer):
* khtml/xml/DocumentImpl.h:
* khtml/xml/dom_elementimpl.cpp:
(WebCore::ElementImpl::focus):
* page/Frame.cpp:
(Frame::init):
(Frame::didOpenURL):
(Frame::browserExtension):
(Frame::begin):
(Frame::scheduleHistoryNavigation):
(Frame::changeLocation):
(Frame::setSelection):
(Frame::urlSelected):
(Frame::requestFrameName):
(Frame::requestObject):
(Frame::processObjectRequest):
(Frame::submitForm):
(Frame::slotChildCompleted):
(Frame::shouldChangeSelection):
(Frame::appliedEditing):
(Frame::unappliedEditing):
(Frame::reappliedEditing):
(Frame::copyToPasteboard):
(Frame::cutToPasteboard):
(Frame::pasteFromPasteboard):
(Frame::pasteAndMatchStyle):
(Frame::transpose):
(Frame::redo):
(Frame::undo):
(Frame::paint):
* page/Frame.h:
* page/FramePrivate.h:
* page/FrameView.cpp:
(KHTMLView::layout):
(KHTMLView::updateDashboardRegions):
(KHTMLView::viewportMousePressEvent):
(KHTMLView::viewportMouseDoubleClickEvent):
(KHTMLView::viewportMouseMoveEvent):
(KHTMLView::viewportMouseReleaseEvent):
(KHTMLView::mediaType):
(KHTMLView::viewportWheelEvent):
* page/FrameView.h:
* rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paint):
* rendering/render_form.cpp:
* rendering/render_layer.cpp:
(khtml::RenderLayer::scrollToOffset):
(khtml::RenderLayer::updateScrollInfoAfterLayout):
* rendering/render_object.cpp:
(WebCore::RenderObject::setStyle):
* rendering/render_replaced.cpp:
2006-01-18 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- change KWQList to use qsort instead of CFArraySort
* kwq/KWQListImpl.cpp:
(compareFuncWrapper): Wrapper that uses global variables to overcome the lack
of a "data" pointer in qsort. Could have used qsort_r but that would be less portable.
(KWQListImpl::sort): Use qsort instead of CFArraySortValues.
2006-01-18 Darin Adler <darin@apple.com>
Reviewed by Beth.
- changed the three signal/slot related files from ObjC++ to C++ files
* WebCore.xcodeproj/project.pbxproj:
* kwq/KWQSignal.cpp: Added.
* kwq/KWQSignal.mm: Removed.
* kwq/KWQSignalStubs.cpp: Added.
* kwq/KWQSignalStubs.mm: Removed.
* kwq/KWQSlot.cpp: Added.
* kwq/KWQSlot.mm: Removed.
2006-01-18 David Hyatt <hyatt@apple.com>
Make Win32 build again. Update the scripts and deal
with all the recent file moves.
Reviewed by xenon
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.vcproj/WebCore/build-generated-files.sh:
* rendering/render_container.cpp:
* rendering/render_object.cpp:
2006-01-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/overflow/overflow-rtl-inline-scrollbar.html
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6618
Inline in RTL block with overflow:auto and left border makes scroll bar appear
Inline flows were always returning 0 for leftmostPosition(). Their real leftmost
edges are determined by their inline boxes, which
RenderBlock::leftmostPosition already takes into account.
* khtml/rendering/render_flow.cpp:
(RenderFlow::lowestPosition): Don't descend into inline flows.
(RenderFlow::rightmostPosition): Ditto.
(RenderFlow::leftmostPosition): Ditto.
2006-01-18 Anders Carlsson <andersca@mac.com>
Fix build.
* khtml/ecma/kjs_navigator.cpp:
* page/FrameView.cpp:
Remove kstandarddirs.h includes.
2006-01-18 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6646
compile CSS sources in instead of reading them from disk
* css/make-css-file-arrays.pl: Added. Used to generate C array forms of the ".css" files.
* css/UserAgentStyleSheets.cpp: Added. Used to indirectly compile the generated file.
* WebCore.xcodeproj/project.pbxproj: Added new source files. Added a build phase to
invoke the make-css-file-arrays.pl script. Removed the .css files, which no longer need
to be installed as part of the final package.
* WebCore.vcproj/WebCore/WebCore.vcproj: Added new files.
* WebCore.vcproj/WebCore/build-generated-files.sh: Added make-css-file-arrays.pl script
section; not tested.
* css/cssstyleselector.cpp: (WebCore::parseUASheet): Removed code to read user agent
sheets from disk. Replaced with code that gets them from compiled-in arrays instead.
Uses a pretty lame DOMString hack that could be reworked some day.
(WebCore::CSSStyleSelector::loadDefaultStyle): Change to load from arrays intead of disk.
* css/html4.css: Added missing license header, tweaked format a bit.
* css/quirks.css: Added missing license header, tweaked format.
* css/svg.css: Moved from ksvg2/css directory.
* ksvg2/css/svg.css: Moved to top level css directory.
* page/Frame.cpp: Removed includes of qfile.h and kstandarddirs.h.
* ForwardingHeaders/kstandarddirs.h: Removed.
* ForwardingHeaders/qfile.h: Removed.
* kwq/KWQFile.h: Removed.
* kwq/KWQFile.mm: Removed.
* kwq/KWQKStandardDirs.h: Removed.
* kwq/KWQKStandardDirs.mm: Removed.
2006-01-17 Alexander Kellett <lypanov@kde.org>
Reviewed by Maciej.
- Remove the now-unused KRenderingPaintServerImage[Quartz].
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasTreeDebug.cpp:
* kcanvas/device/KRenderingPaintServer.h:
* kcanvas/device/KRenderingPaintServerImage.cpp: Removed.
* kcanvas/device/KRenderingPaintServerImage.h: Removed.
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
* ksvg2/svg/SVGFEImageElementImpl.cpp:
* kwq/KWQPainter.mm:
2006-01-17 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6377
<rdar://problem/4400315> All XML crashes in TOT with JavaScript disabled (6377)
* bridge/mac/MacFrame.mm:
(MacFrame::bindingRootObject): Assert that this is only called when JavaScript is enabled.
(MacFrame::windowScriptObject): Return 0 if JavaScript is disabled.
(MacFrame::windowScriptNPObject): Ditto.
(MacFrame::partClearedInBegin): Don't call the "window script object available" call if
JavaScript is disabled.
2006-01-17 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6632>
REGRESSION: Selection includes spaces that it shouldn't
<rdar://problem/4407845>
REGRESSION (TOT): blank space before found text selected at http://www.schepers.cc/comiclinks.html
Layout test added:
* editing/selection/after-line-wrap.html
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::previous): Don't stop at the first candidate,
it may be visually equivalent to the original position.
* khtml/xml/dom_position.cpp:
(DOM::Position::upstream): Don't move to a position on a different line.
(DOM::Position::downstream): Ditto.
2006-01-17 Justin Garcia <justin.garcia@apple.com>
Reviewed by eric.
Deployment builds now use -O2
* WebCore.xcodeproj/project.pbxproj:
* khtml/html/htmltokenizer.cpp: Turned off inlining to fix
link error.
2006-01-17 David Hyatt <hyatt@apple.com>
Move khtml/rendering to WebCore/rendering.
* WebCore.xcodeproj/project.pbxproj:
* khtml/rendering: Removed.
* khtml/rendering/DataRef.h: Removed.
* khtml/rendering/InlineTextBox.cpp: Removed.
* khtml/rendering/InlineTextBox.h: Removed.
* khtml/rendering/RenderText.cpp: Removed.
* khtml/rendering/RenderText.h: Removed.
* khtml/rendering/RenderTextFragment.cpp: Removed.
* khtml/rendering/RenderTextFragment.h: Removed.
* khtml/rendering/bidi.cpp: Removed.
* khtml/rendering/bidi.h: Removed.
* khtml/rendering/break_lines.cpp: Removed.
* khtml/rendering/break_lines.h: Removed.
* khtml/rendering/font.cpp: Removed.
* khtml/rendering/font.h: Removed.
* khtml/rendering/render_applet.cpp: Removed.
* khtml/rendering/render_applet.h: Removed.
* khtml/rendering/render_arena.cpp: Removed.
* khtml/rendering/render_arena.h: Removed.
* khtml/rendering/render_block.cpp: Removed.
* khtml/rendering/render_block.h: Removed.
* khtml/rendering/render_box.cpp: Removed.
* khtml/rendering/render_box.h: Removed.
* khtml/rendering/render_br.cpp: Removed.
* khtml/rendering/render_br.h: Removed.
* khtml/rendering/render_button.cpp: Removed.
* khtml/rendering/render_button.h: Removed.
* khtml/rendering/render_canvas.cpp: Removed.
* khtml/rendering/render_canvas.h: Removed.
* khtml/rendering/render_canvasimage.cpp: Removed.
* khtml/rendering/render_canvasimage.h: Removed.
* khtml/rendering/render_container.cpp: Removed.
* khtml/rendering/render_container.h: Removed.
* khtml/rendering/render_flexbox.cpp: Removed.
* khtml/rendering/render_flexbox.h: Removed.
* khtml/rendering/render_flow.cpp: Removed.
* khtml/rendering/render_flow.h: Removed.
* khtml/rendering/render_form.cpp: Removed.
* khtml/rendering/render_form.h: Removed.
* khtml/rendering/render_frames.cpp: Removed.
* khtml/rendering/render_frames.h: Removed.
* khtml/rendering/render_image.cpp: Removed.
* khtml/rendering/render_image.h: Removed.
* khtml/rendering/render_inline.cpp: Removed.
* khtml/rendering/render_inline.h: Removed.
* khtml/rendering/render_layer.cpp: Removed.
* khtml/rendering/render_layer.h: Removed.
* khtml/rendering/render_line.cpp: Removed.
* khtml/rendering/render_line.h: Removed.
* khtml/rendering/render_list.cpp: Removed.
* khtml/rendering/render_list.h: Removed.
* khtml/rendering/render_object.cpp: Removed.
* khtml/rendering/render_object.h: Removed.
* khtml/rendering/render_replaced.cpp: Removed.
* khtml/rendering/render_replaced.h: Removed.
* khtml/rendering/render_style.cpp: Removed.
* khtml/rendering/render_style.h: Removed.
* khtml/rendering/render_table.cpp: Removed.
* khtml/rendering/render_table.h: Removed.
* khtml/rendering/render_theme.cpp: Removed.
* khtml/rendering/render_theme.h: Removed.
* khtml/rendering/render_theme_mac.h: Removed.
* khtml/rendering/render_theme_mac.mm: Removed.
* khtml/rendering/table_layout.cpp: Removed.
* khtml/rendering/table_layout.h: Removed.
* rendering: Added.
* rendering/DataRef.h: Added.
* rendering/InlineTextBox.cpp: Added.
* rendering/InlineTextBox.h: Added.
* rendering/RenderText.cpp: Added.
* rendering/RenderText.h: Added.
* rendering/RenderTextFragment.cpp: Added.
* rendering/RenderTextFragment.h: Added.
* rendering/bidi.cpp: Added.
* rendering/bidi.h: Added.
* rendering/break_lines.cpp: Added.
* rendering/break_lines.h: Added.
* rendering/font.cpp: Added.
* rendering/font.h: Added.
* rendering/render_applet.cpp: Added.
* rendering/render_applet.h: Added.
* rendering/render_arena.cpp: Added.
* rendering/render_arena.h: Added.
* rendering/render_block.cpp: Added.
* rendering/render_block.h: Added.
* rendering/render_box.cpp: Added.
* rendering/render_box.h: Added.
* rendering/render_br.cpp: Added.
* rendering/render_br.h: Added.
* rendering/render_button.cpp: Added.
* rendering/render_button.h: Added.
* rendering/render_canvas.cpp: Added.
* rendering/render_canvas.h: Added.
* rendering/render_canvasimage.cpp: Added.
* rendering/render_canvasimage.h: Added.
* rendering/render_container.cpp: Added.
* rendering/render_container.h: Added.
* rendering/render_flexbox.cpp: Added.
* rendering/render_flexbox.h: Added.
* rendering/render_flow.cpp: Added.
* rendering/render_flow.h: Added.
* rendering/render_form.cpp: Added.
* rendering/render_form.h: Added.
* rendering/render_frames.cpp: Added.
* rendering/render_frames.h: Added.
* rendering/render_image.cpp: Added.
* rendering/render_image.h: Added.
* rendering/render_inline.cpp: Added.
* rendering/render_inline.h: Added.
* rendering/render_layer.cpp: Added.
* rendering/render_layer.h: Added.
* rendering/render_line.cpp: Added.
* rendering/render_line.h: Added.
* rendering/render_list.cpp: Added.
* rendering/render_list.h: Added.
* rendering/render_object.cpp: Added.
* rendering/render_object.h: Added.
* rendering/render_replaced.cpp: Added.
* rendering/render_replaced.h: Added.
* rendering/render_style.cpp: Added.
* rendering/render_style.h: Added.
* rendering/render_table.cpp: Added.
* rendering/render_table.h: Added.
* rendering/render_theme.cpp: Added.
* rendering/render_theme.h: Added.
* rendering/render_theme_mac.h: Added.
* rendering/render_theme_mac.mm: Added.
* rendering/table_layout.cpp: Added.
* rendering/table_layout.h: Added.
2006-01-17 David Hyatt <hyatt@apple.com>
Land support for a style method on DOMAttr from JS that will
allow the Web Inspector to include presentational attributes
in the style list.
Reviewed by xenon
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMAttr::getValueProperty):
* khtml/ecma/kjs_dom.h:
(KJS::DOMAttr::):
2006-01-17 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt and Darin
Fix for <rdar://problem/4405836> REGRESSION: crash at webmail.aol.com
when deleting mail in khtml::RenderTableCell::collapsedBottomBorder() const
+ 232
RenderTableCell::collapsedBottomBorder() gets nextCell by calling
table()->cellBelow(this). In the case of the crash, cellBelow() returns
a pointer to a table cell that was already destroyed. cellBelow() thinks
that the pointer is still good because the grid of cells has not been updated
because all of this code is called through the hitTest and the hitTest does
not update the layout. The fix that I have is simply it have the hitTest call
updateLayout(). This is the only change in behavior. The rest of the patch
preserves behavior for simulated clicks. fast/events/stopPropagation-submit
caught this problem that arose from calling updateLayout() in the hitTest;
we should always have an x and y position of 0 for simulated clicks. This
preserves that behavior by keeping track of whether a click is simulated or not.
* khtml/html/HTMLInputElementImpl.cpp:
(DOM::HTMLInputElementImpl::defaultEventHandler): If the click is simulated,
set xPos and yPos to 0.
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::setContentEditable): Fix spacing.
(HTMLElementImpl::click): It isn't necessary to check if there is a renderer.
* khtml/rendering/render_layer.cpp:
(khtml::RenderLayer::hitTest): Call updateLayout().
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::dispatchSimulatedMouseEvent): Set isSimulated to true.
(WebCore::NodeImpl::dispatchMouseEvent): Keep track of isSimulated.
* khtml/xml/NodeImpl.h: Same.
* khtml/xml/dom2_eventsimpl.cpp:
(DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): Add isSimulated to
MouseRelatedEventImpl().
(DOM::MouseRelatedEventImpl::computePositions): Only change the offsets if
it's not simulated.
(DOM::MouseEventImpl::MouseEventImpl): Add isSimulated to MouseEventImpl()
* khtml/xml/dom2_eventsimpl.h:
(DOM::MouseRelatedEventImpl::isSimulated): Declarations of isSimulated
(DOM::MouseEventImpl::isSimulated): Same.
2006-01-17 Duncan Wilcox <duncan@mclink.it>
Reviewed by Darin, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6609
Use Selection instead of SelectionController where possible
This patch replaces the use of SelectionController with Selection in the edit commands.
It also cleans up the relationship between Selection and SelectionController:
SelectionController used to need to be friend to Selection to call validate()
on it, now validation is enforced on every update of Selection.
* khtml/editing/Selection.cpp:
(WebCore::Selection::Selection):
(WebCore::Selection::expandUsingGranularity):
(WebCore::Selection::validate):
* khtml/editing/Selection.h:
(WebCore::Selection::setExtent):
(WebCore::Selection::granularity):
(WebCore::operator==):
* khtml/editing/SelectionController.cpp:
(WebCore::SelectionController::SelectionController):
(WebCore::SelectionController::moveTo):
(WebCore::SelectionController::expandUsingGranularity):
(WebCore::SelectionController::clear):
(WebCore::SelectionController::setBase):
(WebCore::SelectionController::setExtent):
* khtml/editing/SelectionController.h:
(WebCore::SelectionController::selection):
* khtml/editing/apply_style_command.cpp:
(WebCore::ApplyStyleCommand::updateStartEnd):
(WebCore::ApplyStyleCommand::doApply):
* khtml/editing/break_blockquote_command.cpp:
(khtml::BreakBlockquoteCommand::doApply):
* khtml/editing/composite_edit_command.cpp:
(WebCore::CompositeEditCommand::deleteSelection):
(WebCore::CompositeEditCommand::rebalanceWhitespace):
* khtml/editing/composite_edit_command.h:
* khtml/editing/delete_selection_command.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
(WebCore::DeleteSelectionCommand::clearTransientState):
(WebCore::DeleteSelectionCommand::doApply):
* khtml/editing/delete_selection_command.h:
* khtml/editing/edit_command.cpp:
(WebCore::EditCommandPtr::startingSelection):
(WebCore::EditCommandPtr::endingSelection):
(WebCore::EditCommandPtr::setStartingSelection):
(WebCore::EditCommandPtr::setEndingSelection):
(WebCore::EditCommand::EditCommand):
(WebCore::EditCommand::setStartingSelection):
(WebCore::EditCommand::setEndingSelection):
* khtml/editing/edit_command.h:
(WebCore::EditCommand::startingSelection):
(WebCore::EditCommand::endingSelection):
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/insert_paragraph_separator_command.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply):
* khtml/editing/insert_text_command.cpp:
(khtml::InsertTextCommand::input):
* khtml/editing/move_selection_command.cpp:
(khtml::MoveSelectionCommand::doApply):
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplaceSelectionCommand::doApply):
(khtml::ReplaceSelectionCommand::completeHTMLReplacement):
* khtml/editing/typing_command.cpp:
(khtml::TypingCommand::deleteKeyPressed):
(khtml::TypingCommand::forwardDeleteKeyPressed):
* page/Frame.cpp:
(Frame::appliedEditing):
(Frame::unappliedEditing):
(Frame::reappliedEditing):
* page/Frame.h:
2006-01-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/dom/generic-form-element-assert.html
Reviewed and reworked by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5926
Assertion failure in HTMLGenericFormElementImpl::removedFromTree
* khtml/html/HTMLGenericFormElementImpl.cpp: Tweaked formatting and namespaces
a bit. Removed unneeded includes.
(WebCore::findRoot): Added helper function.
(WebCore::HTMLGenericFormElementImpl::removedFromTree): Rewrote to do the check
in a simpler way, since the two separate cases amounted to the same check.
2006-01-17 Mark Rowe <opendarwin.org@bdash.net.nz>
Reviewed by eseidel. Landed by eseidel.
Fix second part of WebCore-no-SVG fails to build.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6607
* WebCore.xcodeproj/project.pbxproj:
Mark three headers as private rather than project in the WebCore-no-SVG target.
2006-01-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt
* kwq/KWQVectorImpl.cpp:
(KWQVectorImpl::append): Assign the new item to index m_count, not m_size.
2006-01-17 Mark Rowe <opendarwin.org@bdash.net.nz>
Reviewed by eseidel. Landed by eseidel.
WebCore-no-SVG fails to build.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6607
* WebCore.xcodeproj/project.pbxproj:
Fix build of WebCore-no-SVG target. Removes SVG specific files and adds new
files omitted from the target.
2006-01-16 David Hyatt <hyatt@apple.com>
(1) Fix build bustage by properly marking the moved Obj-C
bindings files as private.
(2) Move khtml/css to WebCore/css.
(3) Eliminate the kdom/css forwarding headers.
* ForwardingHeaders/kdom/css: Removed.
* ForwardingHeaders/kdom/css/CSSPrimitiveValueImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSStyleDeclarationImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSStyleRuleImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSStyleSelector.h: Removed.
* ForwardingHeaders/kdom/css/CSSStyleSheetImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSValueImpl.h: Removed.
* ForwardingHeaders/kdom/css/CSSValueListImpl.h: Removed.
* ForwardingHeaders/kdom/css/KDOMCSSParser.h: Removed.
* ForwardingHeaders/kdom/css/MediaListImpl.h: Removed.
* ForwardingHeaders/kdom/css/RGBColorImpl.h: Removed.
* ForwardingHeaders/kdom/css/RenderStyle.h: Removed.
* ForwardingHeaders/kdom/css/StyleSheetListImpl.h: Removed.
* WebCore+SVG/RGBColorImpl.cpp:
* WebCore.xcodeproj/project.pbxproj:
* css: Added.
* css/css_base.cpp: Added.
* css/css_base.h: Added.
* css/css_computedstyle.cpp: Added.
* css/css_computedstyle.h: Added.
* css/css_grammar.y: Added.
* css/css_ruleimpl.cpp: Added.
* css/css_ruleimpl.h: Added.
* css/css_stylesheetimpl.cpp: Added.
* css/css_stylesheetimpl.h: Added.
* css/css_valueimpl.cpp: Added.
* css/css_valueimpl.h: Added.
* css/csshelper.cpp: Added.
* css/csshelper.h: Added.
* css/cssparser.cpp: Added.
* css/cssparser.h: Added.
* css/cssproperties.in: Added.
* css/cssstyleselector.cpp: Added.
* css/cssstyleselector.h: Added.
* css/cssvalues.in: Added.
* css/html4.css: Added.
* css/makeprop: Added.
* css/maketokenizer: Added.
* css/makevalues: Added.
* css/quirks.css: Added.
* css/tokenizer.flex: Added.
* khtml/css: Removed.
* khtml/css/css_base.cpp: Removed.
* khtml/css/css_base.h: Removed.
* khtml/css/css_computedstyle.cpp: Removed.
* khtml/css/css_computedstyle.h: Removed.
* khtml/css/css_grammar.y: Removed.
* khtml/css/css_ruleimpl.cpp: Removed.
* khtml/css/css_ruleimpl.h: Removed.
* khtml/css/css_stylesheetimpl.cpp: Removed.
* khtml/css/css_stylesheetimpl.h: Removed.
* khtml/css/css_valueimpl.cpp: Removed.
* khtml/css/css_valueimpl.h: Removed.
* khtml/css/csshelper.cpp: Removed.
* khtml/css/csshelper.h: Removed.
* khtml/css/cssparser.cpp: Removed.
* khtml/css/cssparser.h: Removed.
* khtml/css/cssproperties.in: Removed.
* khtml/css/cssstyleselector.cpp: Removed.
* khtml/css/cssstyleselector.h: Removed.
* khtml/css/cssvalues.in: Removed.
* khtml/css/html4.css: Removed.
* khtml/css/makeprop: Removed.
* khtml/css/maketokenizer: Removed.
* khtml/css/makevalues: Removed.
* khtml/css/quirks.css: Removed.
* khtml/css/tokenizer.flex: Removed.
* ksvg2/css/SVGCSSStyleSelector.cpp:
* ksvg2/ecma/Ecma.cpp:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
* ksvg2/svg/SVGClipPathElementImpl.cpp:
* ksvg2/svg/SVGColorImpl.cpp:
* ksvg2/svg/SVGColorImpl.h:
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
* ksvg2/svg/SVGDocumentImpl.cpp:
* ksvg2/svg/SVGElementImpl.cpp:
* ksvg2/svg/SVGGradientElementImpl.cpp:
* ksvg2/svg/SVGMaskElementImpl.cpp:
* ksvg2/svg/SVGStyleElementImpl.cpp:
* ksvg2/svg/SVGStyledElementImpl.h:
* ksvg2/svg/SVGTextElementImpl.cpp:
2006-01-16 David Hyatt <hyatt@apple.com>
Move the Objective-C dom bindings from kwq to bindings/objc.
Reviewed by eseidel
* WebCore.xcodeproj/project.pbxproj:
* bindings: Added.
* bindings/js: Added.
* bindings/objc: Added.
* bindings/objc/DOM.h: Added.
* bindings/objc/DOM.mm: Added.
* bindings/objc/DOMCSS.h: Added.
* bindings/objc/DOMCSS.mm: Added.
* bindings/objc/DOMCore.h: Added.
* bindings/objc/DOMEvents.h: Added.
* bindings/objc/DOMEvents.mm: Added.
* bindings/objc/DOMEventsInternal.h: Added.
* bindings/objc/DOMExtensions.h: Added.
* bindings/objc/DOMHTML.h: Added.
* bindings/objc/DOMHTML.mm: Added.
* bindings/objc/DOMHTMLInternal.h: Added.
* bindings/objc/DOMInternal.h: Added.
* bindings/objc/DOMInternal.mm: Added.
* bindings/objc/DOMPrivate.h: Added.
* bindings/objc/DOMRange.h: Added.
* bindings/objc/DOMStylesheets.h: Added.
* bindings/objc/DOMTraversal.h: Added.
* bindings/objc/DOMUtility.mm: Added.
* bindings/objc/DOMViews.h: Added.
* bindings/objc/DOMViews.mm: Added.
* bindings/objc/DOMViewsInternal.h: Added.
* kwq/DOM-CSS.mm: Removed.
* kwq/DOM.h: Removed.
* kwq/DOM.mm: Removed.
* kwq/DOMCSS.h: Removed.
* kwq/DOMCore.h: Removed.
* kwq/DOMEvents.h: Removed.
* kwq/DOMEvents.mm: Removed.
* kwq/DOMEventsInternal.h: Removed.
* kwq/DOMExtensions.h: Removed.
* kwq/DOMHTML.h: Removed.
* kwq/DOMHTML.mm: Removed.
* kwq/DOMHTMLInternal.h: Removed.
* kwq/DOMInternal.h: Removed.
* kwq/DOMInternal.mm: Removed.
* kwq/DOMPrivate.h: Removed.
* kwq/DOMRange.h: Removed.
* kwq/DOMStylesheets.h: Removed.
* kwq/DOMTraversal.h: Removed.
* kwq/DOMUtility.mm: Removed.
* kwq/DOMViews.h: Removed.
* kwq/DOMViews.mm: Removed.
* kwq/DOMViewsInternal.h: Removed.
2006-01-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6473
REGRESSION: Serious painting problems on new iLife and iWorks pages
* khtml/css/css_grammar.y:
(DOM::getPropertyID): Undo the mapping of -moz-opacity and -moz-border-radius to
opacity and border-radius, respectively.
* khtml/rendering/render_box.cpp:
(RenderBox::setStyle): Set the object's layer to 0 before removing the layer,
to allow child layers to update their positions correctly.
* khtml/rendering/render_layer.cpp:
(khtml::RenderLayer::removeOnlyThisLayer): Update the positions of all children
of the layer being removed.
* manual-tests/bugzilla-6473.html: Added.
2006-01-16 Mark Rowe <opendarwin.org@bdash.net.nz>
Reviewed by Darin, landed by ap.
Fix typo in CSSPrimitiveValueImpl::setStringValue.
* khtml/css/css_valueimpl.cpp:
(DOM::CSSPrimitiveValueImpl::setStringValue): Change >> to > and fix formatting.
2006-01-16 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5401
[WebCoreBridge firstRectForDOMRange:] works incorrectly for the first character after a line wrap
Test: editing/input/wrapped-line-char-rect.html
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge firstRectForDOMRange:]):
Use DOWNSTREAM affinity for the range start
2006-01-16 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=5127>
REGRESSION: problems making selection with left edge at right edge of image
<rdar://problem/4364427>
triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)
Don't paint the selection tint on replaced elements
if the selections starts at the end or ends at the start.
* khtml/rendering/render_image.cpp:
(RenderImage::paint):
* khtml/rendering/render_replaced.cpp:
(WebCore::RenderReplaced::isSelected):
(WebCore::RenderWidget::paint):
* khtml/rendering/render_replaced.h:
2006-01-16 Tim Omernick <timo@apple.com>
Reviewed by John Sullivan.
WebCore part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla
* bridge/mac/MacFrame.mm:
(MacFrame::setView):
Call _NPN_DeallocateObject() instead of _NPN_ReleaseObject() so that we don't leak if a plugin fails to release
the window script object properly.
Our old NPN_GetValue() did not properly retain the returned window script object. Because of this, many plugins
have WebKit-specific workarounds to not release said window script object. Forcibly deallocating it here
should prevent any such issues. This shouldn't cause any problems for plugins, since they should already be
stopped and destroyed at this point.
This also fixes a preexisting leak of the window script NPObject -- it was never actually being freed!
2006-01-16 Darin Adler <darin@apple.com>
- actually removed QPtrDict itself
* ForwardingHeaders/qptrdict.h: Removed.
* WebCore.xcodeproj/project.pbxproj: Removed KWQPtrDict* files.
* kwq/KWQPtrDict.h: Removed.
* kwq/KWQPtrDictImpl.cpp: Removed.
* kwq/KWQPtrDictImpl.h: Removed.
2006-01-16 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- removed all uses of QPtrDict, most uses of QMap
* khtml/ecma/kjs_dom.cpp: Converted tabs to spaces.
(KJS::DOMNode::mark): Switched from QPtrDict to HashSet.
* khtml/ecma/kjs_events.cpp: Converted tabs to spaces.
(KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Use HashMap.
(KJS::JSEventListener::JSEventListener): Use HashMap.
(KJS::JSLazyEventListener::parseCode): Use HashMap.
* khtml/ecma/kjs_html.cpp: Convert tabs to spaces.
(KJS::KJS::HTMLElement::classInfo): Use HashMap.
* khtml/ecma/kjs_window.cpp: Convert tabs to spaces.
(KJS::Window::~Window): Use HashMap.
(KJS::Window::getJSEventListener): Ditto.
(KJS::Window::getJSUnprotectedEventListener): Ditto.
(KJS::WindowQObject::parentDestroyed): Ditto.
(KJS::WindowQObject::installTimeout): Ditto.
(KJS::WindowQObject::pauseTimeouts): Ditto.
(KJS::WindowQObject::resumeTimeouts): Ditto.
(KJS::WindowQObject::clearTimeout): Ditto.
(KJS::WindowQObject::timerEvent): Ditto.
* khtml/ecma/kjs_window.h: Use HashMap.
* khtml/ecma/xmlhttprequest.cpp: Convert tabs to spaces.
(KJS::XMLHttpRequest::requestsByDocument): Use HashMap/Set.
(KJS::XMLHttpRequest::addToRequestsByDocument): Ditto.
(KJS::XMLHttpRequest::removeFromRequestsByDocument): Ditto.
(KJS::XMLHttpRequest::cancelRequests): Ditto.
* khtml/ecma/xmlhttprequest.h: Ditto.
* khtml/editing/apply_style_command.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use HashMap.
* khtml/rendering/render_canvas.cpp:
(RenderCanvas::selectionRect): Use HashMap.
(RenderCanvas::setSelection): Ditto.
* khtml/rendering/render_flow.cpp: (RenderFlow::paintLines): Use HashSet.
* khtml/rendering/render_line.cpp: (khtml::InlineFlowBox::paint): Use HashSet.
* khtml/rendering/render_object.h: Used HashSet.
Converted tabs to spaces and did namespace changes too.
* khtml/xml/DocumentImpl.cpp:
(DocumentImpl::DocumentImpl): Use HashSet and HashMap.
(DocumentImpl::~DocumentImpl): Ditto.
(DocumentImpl::registerDisconnectedNodeWithEventListeners): Ditto.
(DocumentImpl::unregisterDisconnectedNodeWithEventListeners): Ditto.
(DocumentImpl::removeAllDisconnectedNodeEventListeners): Ditto.
(DocumentImpl::addImageMap): Ditto.
(DocumentImpl::removeImageMap): Ditto.
(DocumentImpl::getImageMap): Ditto.
(DocumentImpl::addMarker): Ditto.
(DocumentImpl::copyMarkers): Ditto.
(DocumentImpl::removeMarkers): Ditto.
(DocumentImpl::markersForNode): Ditto.
(DocumentImpl::shiftMarkers): Ditto.
(DocumentImpl::radioButtonChecked): Ditto.
(DocumentImpl::checkedRadioButtonForGroup): Ditto.
(DocumentImpl::removeRadioButtonGroup): Ditto.
* khtml/xml/DocumentImpl.h: Use HashSet and HashMap.
* khtml/xml/NodeImpl.cpp:
(WebCore::NodeImpl::registerNodeList): Use HashSet.
(WebCore::NodeImpl::unregisterNodeList): Ditto.
(WebCore::NodeImpl::notifyLocalNodeListsAttributeChanged): Ditto.
(WebCore::NodeImpl::notifyNodeListsAttributeChanged): Ditto.
(WebCore::NodeImpl::notifyLocalNodeListsChildrenChanged): Ditto.
(WebCore::NodeImpl::notifyNodeListsChildrenChanged): Ditto.
(WebCore::NodeImpl::getElementsByTagName): Moved here so we don't have
to include NodeListImpl.h in the header.
* khtml/xml/NodeImpl.h: Use HashSet. Reduced includes.
* khtml/xml/dom_elementimpl.cpp:
(WebCore::MappedAttributeKey): Added. Hash table key.
(WebCore::MappedAttributeKeyTraits): Added. Hash table key traits.
(WebCore::MappedAttributeHash): Added. Hash function.
(WebCore::StyledElementImpl::getMappedAttributeDecl): Use HashMap.
(WebCore::StyledElementImpl::setMappedAttributeDecl): Ditto.
(WebCore::StyledElementImpl::removeMappedAttributeDecl): Ditto.
(WebCore::MappedAttributeHash::hash): Added. Hash function.
* khtml/xml/dom_elementimpl.h: Use HashMap.
* khtml/html/html_imageimpl.cpp:
(WebCore::HTMLMapElementImpl::parseMappedAttribute): Update m_name handling
to use AtomicString.
* khtml/html/html_imageimpl.h:
(WebCore::HTMLMapElementImpl::getName): Change to return const AtomicString&.
* khtml/dom/dom_string.h: Added a default argument to substring, also
reduced includes and updated namespace.
* khtml/xml/dom_stringimpl.h: Ditto.
* bridge/mac/WebCoreFrameBridge.mm: Switched to new WebCore namespace.
Updated includes for header changes.
* kcanvas/RenderForeignObject.cpp: Ditto.
* kcanvas/RenderForeignObject.h: Ditto.
* kcanvas/RenderSVGImage.h: Ditto.
* kcanvas/device/quartz/KCanvasResourcesQuartz.h: Ditto.
* khtml/css/css_ruleimpl.cpp: Ditto.
* khtml/css/css_valueimpl.h: Ditto.
* khtml/ecma/kjs_dom.h: Ditto.
* khtml/ecma/kjs_html.h: Ditto.
* khtml/editing/composite_edit_command.cpp: Ditto.
* khtml/editing/delete_selection_command.cpp: Ditto.
* khtml/html/html_tableimpl.cpp: Ditto.
* khtml/khtml_events.cpp: Ditto.
* khtml/rendering/RenderText.cpp: Ditto.
* khtml/rendering/render_block.cpp: Ditto.
* khtml/rendering/render_br.cpp: Ditto.
* khtml/rendering/render_inline.cpp: Ditto.
* khtml/rendering/render_object.cpp: Ditto.
* khtml/rendering/render_replaced.cpp: Ditto.
* khtml/xml/dom2_rangeimpl.cpp: Ditto.
* kwq/DOM.mm: Ditto.
* page/Frame.cpp: Ditto.
* kcanvas/KCanvasResources.cpp: (KCanvasMarker::draw): Updated because a
constant moved into the WebCore namespace.
* kcanvas/RenderSVGText.cpp: (RenderSVGText::nodeAtPoint): Ditto.
* kcanvas/RenderSVGText.h: Ditto.
* kcanvas/device/quartz/KCanvasItemQuartz.h: Ditto.
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint): Ditto.
(KCanvasItemQuartz::nodeAtPoint): Ditto.
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasContainerQuartz::paint): Ditto.
* khtml/xbl/xbl_binding_manager.cpp: Removed include of qptrddict.h.
* khtml/xbl/xbl_binding_manager.h: Removed include of qptrddict.h.
* khtml/xbl/xbl_docimpl.h: Removed include of qptrddict.h.
* khtml/xml/dom_xmlimpl.cpp: Changed to use RefPtr for strings.
* khtml/xml/dom_xmlimpl.h: Ditto.
* ksvg2/css/SVGRenderStyle.h: Reduced includes a bit and added newly-needed ones.
* ksvg2/misc/KSVGTimeScheduler.cpp: Ditto.
* ksvg2/svg/SVGPointImpl.cpp: Ditto.
* kwq/KWQNamespace.h: Removed QColor, QCursor, and redundant declaration of QRgb
(now in qcolor.h). Also converted tabs to spaces.
* kwq/KWQPainter.h: Added newly-needed include.
* kwq/KWQPtrVector.h: Added append function.
* kwq/KWQVectorImpl.cpp: (KWQVectorImpl::append): Added.
* kwq/KWQVectorImpl.h: Added append.
* kwq/KWQRenderTreeDebug.cpp: Updated to no longer use transparentColor constant.
* kwq/KWQWMatrix.cpp: Changed name to QMatrix to allow forward declarations.
* kwq/KWQWMatrix.h: Ditto.
* loader/Cache.cpp: (khtml::Cache::clear): Use deleteAllValues for clearer code.
* loader/CachedCSSStyleSheet.cpp: Reduced includes a lot, moving them from .h to .cpp.
* loader/CachedCSSStyleSheet.h: Ditto.
* loader/CachedImage.cpp: Ditto.
* loader/CachedImage.h: Ditto.
* loader/CachedImageCallback.cpp: Ditto.
* loader/CachedObject.cpp: Ditto.
* loader/CachedObject.h: Ditto.
* loader/CachedObjectClient.h: Ditto.
* loader/CachedObjectClientWalker.cpp: Ditto.
* loader/CachedObjectClientWalker.h: Ditto.
* loader/CachedScript.cpp: Ditto.
* loader/CachedScript.h: Ditto.
* loader/CachedXSLStyleSheet.cpp: Ditto.
* loader/loader.cpp:
(WebCore::Loader::Loader): Changed to use HashMap.
(WebCore::Loader::~Loader): Ditto.
(WebCore::Loader::servePendingRequests): Ditto.
(WebCore::Loader::slotFinished): Ditto.
(WebCore::Loader::slotReceivedResponse): Ditto.
(WebCore::Loader::slotData): Ditto.
(WebCore::Loader::numRequests): Ditto.
(WebCore::Loader::cancelRequests): Ditto.
(WebCore::Loader::jobForRequest): Ditto.
* loader/loader.h: Ditto.
2006-01-16 Darin Adler <darin@apple.com>
* WebCore.xcodeproj/project.pbxproj: Move config.h in project file to match
where it is in the source tree.
2006-01-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
Support for the new DOM Inspector.
* khtml/ecma/kjs_dom.cpp: exposes scrollIntoViewIfNeeded to JS
* khtml/ecma/kjs_dom.h:
* khtml/rendering/RenderText.cpp:
(RenderText::lineBoxRects): returns text run rects
* khtml/rendering/RenderText.h:
* khtml/rendering/render_container.cpp:
(RenderContainer::lineBoxRects): returns all child line box rects
* khtml/rendering/render_container.h:
* khtml/rendering/render_object.cpp:
(RenderObject::lineBoxRects): returns an empty list
* khtml/rendering/render_object.h:
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::scrollIntoViewIfNeeded): scrolls only if needed, bool decides to center to align to nearest edge
* khtml/xml/dom_elementimpl.h: Ditto
* kwq/DOM.mm:
(-[DOMNode boundingBox]): returns the bounding box for a node
(-[DOMNode lineBoxRects]): returns text runs for a node
* kwq/DOMCore.h: added missing @protocol DOMEventListener and @class DOMEvent
* kwq/DOMExtensions.h: removes methods that haven't been API reviewed
* kwq/DOMPrivate.h: new pending public API added for the Inspector
2006-01-15 Darin Adler <darin@apple.com>
Reviewed by Eric.
- changed WebCore namespace change to work on Win32 as well as Mac OS X
* WebCorePrefix.h: Removed things needed cross-platform.
* config.h: Moved from khtml subdirectory. Added defines from
WebCorePrefix.h, and added a define that makes KSVG a synonym for WebCore.
* khtml/config.h: Removed.
* khtml/css/css_grammar.y: Changed SVG functions to use function name rather
than namespace to avoid collision with the XML and HTML DOM. Changes tabs to spaces.
* khtml/css/css_valueimpl.cpp:
(WebCore::propertyID): Add SVG properties ot the ones understood here.
This allows us to set SVG properties from JavaScript.
* ksvg2/scripts/cssmakeprops: Put functions inside the namespace to avoid compiler
warning, and renamed functions to include CSS and SVG.
* ksvg2/scripts/cssmakevalues: Ditto.
* ksvg2/svg/SVGStyledElementImpl.cpp: (SVGStyledElementImpl::parseMappedAttribute):
Use property ID function by its new name.
* ksvg2/ksvg.h: Renamed ExceptionCode to SVGExceptionCode.
* khtml/ecma/XSLTProcessor.cpp: Moved "config.h" header up above the ifdef so that
the ifdef works.
* khtml/xbl/xbl_binding.cpp: Ditto.
* khtml/xbl/xbl_binding_manager.cpp: Ditto.
* khtml/xbl/xbl_docimpl.cpp: Ditto.
* khtml/xbl/xbl_protobinding.cpp: Ditto.
* khtml/xbl/xbl_tokenizer.cpp: Ditto.
* khtml/xsl/xsl_stylesheetimpl.cpp: Ditto.
* khtml/xsl/xslt_processorimpl.cpp: Ditto.
* loader/CachedXBLDocument.cpp: Ditto.
* ksvg2/svg/SVGFELightElementImpl.h: Removed include of "config.h". That's supposed
to only be included by code files, not headers.
* ksvg2/svg/SVGFEDistantLightElementImpl.cpp: Added missing include of "config.h".
Did a few other tweaks to the file.
* ksvg2/svg/SVGFEPointLightElementImpl.cpp: Ditto.
* ksvg2/svg/SVGFESpotLightElementImpl.cpp: Ditto.
2006-01-15 Eric Seidel <eseidel@apple.com>
Rubber-stamped by darin.
Updated files w/ missing copyrights from Oliver.
* kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel:
* kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel:
* kcanvas/device/quartz/filters/WKPointLightFilter.cikernel:
* kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel:
* ksvg2/svg/SVGAnimatedColorImpl.cpp:
* ksvg2/svg/SVGAnimatedColorImpl.h:
* ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp:
* ksvg2/svg/SVGFEDiffuseLightingElementImpl.h:
* ksvg2/svg/SVGFEDistantLightElementImpl.cpp:
* ksvg2/svg/SVGFEDistantLightElementImpl.h:
* ksvg2/svg/SVGFELightElementImpl.cpp:
* ksvg2/svg/SVGFELightElementImpl.h:
* ksvg2/svg/SVGFEPointLightElementImpl.cpp:
* ksvg2/svg/SVGFEPointLightElementImpl.h:
* ksvg2/svg/SVGFESpecularLightingElementImpl.cpp:
* ksvg2/svg/SVGFESpecularLightingElementImpl.h:
* ksvg2/svg/SVGFESpotLightElementImpl.cpp:
* ksvg2/svg/SVGFESpotLightElementImpl.h:
2006-01-15 Duncan Wilcox <duncan@mclink.it>
Reviewed and tweaked a bit by Darin.
Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=6523>
"Extract data from SelectionController"
This patch refactors the data portions of SelectionController into its
own class, "Selection".
The extracted data are the base/extent/start/end positions and cursor
affinity. Also a couple cached values generated by validation are kept around
in the new class.
This patch does away with all the different affinities
(start/end/base/extent) that were never implemented properly, since affinity
only makes sense when the selection is a caret (as per discussion with mjs and
darin on #webkit).
No test cases added because this is a refactoring.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
(MacFrame::findString):
(MacFrame::advanceToNextMisspelling):
(MacFrame::baseWritingDirectionForSelectionStart):
(MacFrame::respondToChangedSelection):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge selectionState]):
(-[WebCoreFrameBridge selectNSRange:]):
(-[WebCoreFrameBridge selectionAffinity]):
(-[WebCoreFrameBridge setMarkDOMRange:]):
(-[WebCoreFrameBridge ensureSelectionVisible]):
(-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
* khtml/editing/Selection.cpp: Added.
(khtml::Selection::Selection):
(khtml::Selection::clear):
(khtml::Selection::toRange):
(khtml::Selection::validate):
(khtml::Selection::adjustForEditableContent):
(khtml::Selection::debugPosition):
* khtml/editing/Selection.h: Added.
(khtml::Selection::):
(khtml::Selection::state):
(khtml::Selection::setAffinity):
(khtml::Selection::affinity):
(khtml::Selection::setBase):
(khtml::Selection::setExtent):
(khtml::Selection::setStart):
(khtml::Selection::setEnd):
(khtml::Selection::base):
(khtml::Selection::extent):
(khtml::Selection::start):
(khtml::Selection::end):
(khtml::Selection::isNone):
(khtml::Selection::isCaret):
(khtml::Selection::isRange):
(khtml::Selection::isCaretOrRange):
(khtml::Selection::isBaseFirst):
(khtml::operator==):
(khtml::operator!=):
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::SelectionController):
(khtml::SelectionController::operator=):
(khtml::SelectionController::moveTo):
(khtml::SelectionController::setModifyBias):
(khtml::SelectionController::modifyExtendingRightForward):
(khtml::SelectionController::modifyMovingRightForward):
(khtml::SelectionController::modifyExtendingLeftBackward):
(khtml::SelectionController::modifyMovingLeftBackward):
(khtml::SelectionController::modify):
(khtml::SelectionController::expandUsingGranularity):
(khtml::SelectionController::xPosForVerticalArrowNavigation):
(khtml::SelectionController::clear):
(khtml::SelectionController::setBase):
(khtml::SelectionController::setExtent):
(khtml::SelectionController::toString):
(khtml::SelectionController::getRangeAt):
(khtml::SelectionController::frame):
(khtml::SelectionController::collapseToEnd):
(khtml::SelectionController::collapseToStart):
(khtml::SelectionController::layout):
(khtml::SelectionController::caretRect):
(khtml::SelectionController::needsCaretRepaint):
(khtml::SelectionController::paintCaret):
(khtml::SelectionController::debugRenderer):
(khtml::SelectionController::formatForDebugger):
(khtml::SelectionController::showTree):
* khtml/editing/SelectionController.h:
(khtml::SelectionController::state):
(khtml::SelectionController::affinity):
(khtml::SelectionController::base):
(khtml::SelectionController::extent):
(khtml::SelectionController::start):
(khtml::SelectionController::end):
(khtml::SelectionController::isNone):
(khtml::SelectionController::isCaret):
(khtml::SelectionController::isRange):
(khtml::SelectionController::isCaretOrRange):
(khtml::SelectionController::toRange):
(khtml::SelectionController::baseNode):
(khtml::SelectionController::extentNode):
(khtml::SelectionController::baseOffset):
(khtml::SelectionController::extentOffset):
(khtml::SelectionController::anchorNode):
(khtml::SelectionController::anchorOffset):
(khtml::SelectionController::focusNode):
(khtml::SelectionController::focusOffset):
(khtml::operator==):
* khtml/editing/apply_style_command.cpp:
(khtml::ApplyStyleCommand::updateStartEnd):
* khtml/editing/break_blockquote_command.cpp:
(khtml::BreakBlockquoteCommand::doApply):
* khtml/editing/delete_selection_command.cpp:
(khtml::DeleteSelectionCommand::initializePositionData):
(khtml::DeleteSelectionCommand::handleGeneralDelete):
(khtml::DeleteSelectionCommand::doApply):
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/insert_paragraph_separator_command.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply):
* khtml/editing/insert_text_command.cpp:
(khtml::InsertTextCommand::input):
* khtml/editing/move_selection_command.cpp:
(khtml::MoveSelectionCommand::doApply):
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplaceSelectionCommand::doApply):
(khtml::ReplaceSelectionCommand::completeHTMLReplacement):
* khtml/editing/typing_command.cpp:
(khtml::TypingCommand::deleteKeyPressed):
(khtml::TypingCommand::forwardDeleteKeyPressed):
(khtml::TypingCommand::markMisspellingsAfterTyping):
* khtml/xml/DocumentImpl.cpp:
(DocumentImpl::updateSelection):
* kwq/KWQAccObject.mm:
(-[KWQAccObject accessibilityAttributeValue:]):
(-[KWQAccObject doAXTextMarkerRangeForLine:]):
* kwq/KWQRenderTreeDebug.cpp:
(writeSelection):
* page/Frame.cpp:
(Frame::selectContentsOfNode):
(Frame::shouldChangeSelection):
(Frame::computeAndSetTypingStyle):
(Frame::applyStyle):
(Frame::applyParagraphStyle):
(Frame::selectFrameElementInParentIfFullySelected):
(Frame::revealSelection):
(Frame::centerSelectionInVisibleArea):
(Frame::styleForSelectionStart):
* <a few other files, including editing ones>: Added includes since Selection.h and
SelectionController.h now include fewer things.
2006-01-15 Mitz Pettel <opendarwin.org@mitzpettel.com>
Test: fast/text/whitespace/pre-wrap-overflow-selection.html
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5619
CSS2: pre-wrap has overflow/selection problems
* khtml/rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::selectionRect): Clip selection rect to the text box
(khtml::InlineTextBox::paintSelection): Clip selection painting to the text box.
* khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine):
Remove code that re-added border width, since it is already included in availableWidth.
2006-01-15 Darin Adler <darin@apple.com>
Reviewed by Anders.
- fix regression in duplicate ID layout test
* khtml/xml/DocumentImpl.cpp:
(DocumentImpl::getElementById): Change to take AtomicString, so we can use
the string pointer as a hash key and not worry about ref'ing the pointer or
about object lifetime since the string will be stored for the lifetime of the
ID attribute. Also update for the counted set formerly named m_idCount to use
its new name, m_duplicateIds.
(DocumentImpl::addElementById): Ditto.
(DocumentImpl::removeElementById): Ditto.
(DocumentImpl::recalcStyleSelector): Pass a DOMStringImpl* (see below).
* khtml/xml/DocumentImpl.h: Change functions to take AtomicString.
* kcanvas/KCanvasFilters.cpp: (getFilterById): Use AtomicString.
* kcanvas/KCanvasFilters.h: Ditto.
* kcanvas/KCanvasResources.cpp:
(getResourceById): Ditto.
(getMarkerById): Ditto.
(getClipperById): Ditto.
(getMaskerById): Ditto.
(getPaintServerById): Ditto.
* kcanvas/KCanvasResources.h: Ditto.
* khtml/ecma/kjs_window.cpp: (KJS::Window::getOwnPropertySlot): Ditto.
* khtml/html/HTMLLabelElementImpl.cpp:
(DOM::HTMLLabelElementImpl::formElement): Ditto.
* khtml/xml/NodeListImpl.cpp: (DOM::NodeListImpl::itemById): Ditto.
* khtml/xml/NodeListImpl.h: Ditto. Also removed unnecessary "virtual".
* khtml/ecma/kjs_css.cpp:
(KJS::DOMStyleSheetList::nameGetter): Pass a DOMStringImpl*, which gets
converted to an AtomicString implicitly, rather than a DOMString, which
does not. (But that's a crazy rule -- we should change this around long term.)
(KJS::DOMStyleSheetList::getOwnPropertySlot): Ditto.
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNodeList::nameGetter): Ditto.
(KJS::DOMNodeList::getOwnPropertySlot): Ditto.
(KJS::DOMDocumentProtoFunc::callAsFunction): Ditto.
- Merge khtml, DOM, and KDOM into one big namespace, WebCore.
* WebCorePrefix.h: Use defined to map the old namespace names to WebCore.
Now that this is done in the prefix, we can start actually calling it by
that name, phase out the old names, then remove the defines.
- other changes
* khtml/xml/DocumentTypeImpl.cpp: Converted tabs to spaces.
* khtml/xml/dom2_eventsimpl.cpp: Ditto.
2006-01-15 Alexander Kellett <lypanov@kde.org>
Reviewed and landed by Anders.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6553
Remove KCanvasCommonArgs and pass around RenderPath objects instead.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasCreator.h:
* kcanvas/KCanvasItem.cpp:
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasTypes.h: Removed.
* kcanvas/device/KRenderingDevice.cpp:
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/KRenderingFillPainter.h:
* kcanvas/device/KRenderingPaintServer.h:
* kcanvas/device/KRenderingStrokePainter.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint):
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(drawShadingWithStyle):
(KRenderingPaintServerLinearGradientQuartz::draw):
(KRenderingPaintServerRadialGradientQuartz::draw):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerSolidQuartz::draw):
(KRenderingPaintServerPatternQuartz::draw):
(KRenderingPaintServerImageQuartz::draw):
* ksvg2/misc/KCanvasRenderingStyle.cpp:
* ksvg2/svg/SVGPatternElementImpl.h:
2006-01-15 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6528
remove all use of QDict from WebCore
I ran performance tests and the change results in a slight improvement.
* bridge/mac/MacFrame.h: Removed include of KWQDict.h. Changed didTellBridgeAboutLoad
and haveToldBridgeAboutLoad functions to take DOMString instead of QString. Changed
urlsBridgeKnowsAbout from a QDict to a HashMap.
* bridge/mac/MacFrame.mm:
(MacFrame::didTellBridgeAboutLoad): Updated to use QDict and DOMString.
(MacFrame::haveToldBridgeAboutLoad): Ditto.
* khtml/editing/jsediting.h: Removed include of qdict.h.
* khtml/rendering/render_frames.cpp: Removed include of qdict.h. Put file inside the
khtml namespace instead of just using the namespace. Changed tabs to spaces.
(khtml::RenderPartObject::updateWidget): Changed the local variable uniqueParamNames
to be a HashSet instead of a QDict.
* khtml/xml/DocumentImpl.h: Removed include of qdict.h, changed m_elementsById, m_idCount,
and m_elementsByAccessKey to use HashMap and HashCountedSet instead of QDict.
* khtml/xml/DocumentImpl.cpp: Changed tabs to spaces.
(DocumentImpl::getElementById): Updated to use HashMap for m_elementsById and HashCountedSet
for m_idCount.
(DocumentImpl::addElementById): Ditto. Remove code to clear m_accessKeyDictValid,
since setDocumentChanged already takes care of that.
(DocumentImpl::removeElementById): Ditto.
(DocumentImpl::getElementByAccessKey): Updated to use HashMap for m_elementsByAccessKey.
(DocumentImpl::setDocumentChanged): Rearranged to do a couple fewer branches. Clear out
the m_elementsByAccessKey map when clearing m_accessKeyMapValid to avoid keeping stale
pointers around.
* ksvg2/svg/SVGDocumentImpl.cpp: Removed include of q3dict.h.
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed obsolete QDict sources.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* ForwardingHeaders/q3dict.h: Removed.
* ForwardingHeaders/qdict.h: Removed.
* kwq/KWQDict.h: Removed.
* kwq/KWQDictImpl.cpp: Removed.
* kwq/KWQDictImpl.h: Removed.
* WebCore+SVG/SVGNamesWrapper.cpp: Touched this file just so I could build again.
* kwq/KWQKURL.h: Removed unused canonicalURL, _path, _user, _pass, and _host functions.
* kwq/KWQKURL.mm: Changed tabs to spaces, removed unused functions, replaced NULL with 0.
* kwq/KWQLoader.mm: Changed tabs to spaces.
(KWQServeRequest): Removed QString conversion from call to didTellBridgeAboutLoad.
(KWQServeSynchronousRequest): Ditto.
(KWQCheckCacheObjectStatus): Ditto. Same for haveToldBridgeAboutLoad.
* loader/Cache.h: Removed include of qdict.h. Changed declaration of the LRUList struct
to just be a forward declaration. Changed tabs to spaces. Removed the static data member
called "cache". Added a static member function called get. Renamed removeCacheEntry to remove.
* loader/Cache.cpp: Put file inside the khtml namespace instead of just using the
namespace. Changed tabs to spaces. Changed the main cache itself to a HashMap and
made it a static variable local to this file instead of a static data member of Cache
to hide its type from the header. Also made the LRUList type private to this file.
(khtml::Cache::init): Create a HashMap instead of a QDict.
(khtml::Cache::clear): To replace the use of setAutoDelete, write a loop to delete all the
items in the cache map.
(khtml::Cache::requestImage): Change code to use HashMap functions instead of QDict.
(khtml::Cache::requestStyleSheet): Ditto.
(khtml::Cache::preloadStyleSheet): Ditto.
(khtml::Cache::requestScript): Ditto.
(khtml::Cache::preloadScript): Ditto.
(khtml::Cache::requestXSLStyleSheet): Ditto.
(khtml::Cache::requestXBLDocument): Ditto.
(khtml::Cache::removeCacheEntry): Ditto.
(khtml::Cache::FastLog2): Fixed this for 64-bit compiles.
(khtml::Cache::getStatistics): Ditto.
(khtml::Cache::flushAll): Ditto.
(khtml::Cache::get): Added. Function used by the loader.
* loader/CachedObject.h: Removed include of qdict.h.
* loader/DocLoader.h: Removed include of qdict.h.
* loader/DocLoader.cpp: (khtml::DocLoader::needReload): Changed to use new get function of
Cache instead of getting at the map directly. Also changed call to removeCacheEntry
to remove because it was renamed.
* loader/CachedImage.cpp: (khtml::CachedImage::data): Changed call to removeCacheEntry
to remove because it was renamed.
* loader/CachedImageCallback.cpp: (khtml::CachedImageCallback::handleError): Ditto.
* loader/loader.cpp:
(khtml::Loader::slotFinished): Ditto.
(khtml::Loader::cancelRequests): Ditto.
2006-01-15 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
<mask> inside <defs> crashes Safari.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
Test: svg/custom/mask-inside-defs.svg
* ksvg2/svg/SVGMaskElementImpl.cpp:
(KSVG::SVGMaskElementImpl::drawMaskerContent):
2006-01-15 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Add basic <tspan> support using RenderInline.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6428
Also fix <text transform=""> while we're at it.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6552
Covered by several existing tests.
* ksvg2/svg/SVGGradientElementImpl.cpp:
(SVGGradientElementImpl::parseMappedAttribute): code cleanup
* ksvg2/svg/SVGPatternElementImpl.cpp:
(SVGPatternElementImpl::parseMappedAttribute): code cleanup
* ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
(SVGStyledTransformableElementImpl::parseMappedAttribute): cleanup
* ksvg2/svg/SVGTSpanElementImpl.cpp:
(SVGTSpanElementImpl::childShouldCreateRenderer): added.
(SVGTSpanElementImpl::createRenderer): added.
* ksvg2/svg/SVGTSpanElementImpl.h:
(KSVG::SVGTSpanElementImpl::rendererIsNeeded): added.
* ksvg2/svg/SVGTextElementImpl.cpp:
(SVGTextElementImpl::transform): added.
(SVGTextElementImpl::localMatrix): added.
(SVGTextElementImpl::parseMappedAttribute): support transform.
(SVGTextElementImpl::updateLocalTransform): added.
(SVGTextElementImpl::attach): added.
(SVGTextElementImpl::childShouldCreateRenderer): allow tspan.
* ksvg2/svg/SVGTextElementImpl.h:
* ksvg2/svg/SVGTransformableImpl.cpp:
(SVGTransformableImpl::parseTransformAttribute): code cleanup.
* ksvg2/svg/SVGTransformableImpl.h:
2006-01-14 David Hyatt <hyatt@apple.com>
Move arena.cpp/.h out of khtml/misc and into platform/Arena.cpp/h. Also removed another unused
header, khtmldata.h.
* WebCore.xcodeproj/project.pbxproj:
* khtml/misc/arena.cpp: Removed.
* khtml/misc/arena.h: Removed.
* khtml/misc/khtmldata.h: Removed.
* khtml/rendering/render_arena.h:
* platform/Arena.cpp: Added.
* platform/Arena.h: Added.
2006-01-14 David Hyatt <hyatt@apple.com>
Rename TokenizerString to SegmentedString and place it in the platform directory.
* WebCore.xcodeproj/project.pbxproj:
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::processListing):
(khtml::HTMLTokenizer::parseSpecial):
(khtml::HTMLTokenizer::scriptHandler):
(khtml::HTMLTokenizer::scriptExecution):
(khtml::HTMLTokenizer::parseComment):
(khtml::HTMLTokenizer::parseServer):
(khtml::HTMLTokenizer::parseProcessingInstruction):
(khtml::HTMLTokenizer::parseText):
(khtml::HTMLTokenizer::parseEntity):
(khtml::HTMLTokenizer::parseTag):
(khtml::HTMLTokenizer::write):
(khtml::HTMLTokenizer::timerEvent):
(khtml::HTMLTokenizer::notifyFinished):
(khtml::HTMLTokenizer::setSrc):
* khtml/html/htmltokenizer.h:
* khtml/misc/stringit.cpp: Removed.
* khtml/misc/stringit.h: Removed.
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::write):
* khtml/xml/xml_tokenizer.h:
* platform/SegmentedString.cpp: Added.
(WebCore::SegmentedString::length):
(WebCore::SegmentedString::clear):
(WebCore::SegmentedString::append):
(WebCore::SegmentedString::prepend):
(WebCore::SegmentedString::advanceSubstring):
(WebCore::SegmentedString::toString):
* platform/SegmentedString.h: Added.
(WebCore::SegmentedSubstring::SegmentedSubstring):
(WebCore::SegmentedString::SegmentedString):
2006-01-14 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- added bridging infrastructure for Page class
The Page class itself is coming very soon.
* WebCore.exp: Export WebCorePageBridge.
* WebCore.xcodeproj/project.pbxproj: Add new files.
* bridge/mac/WebCorePageBridge.h: Added.
* bridge/mac/WebCorePageBridge.mm: Added.
(-[WebCorePageBridge initWithMainFrame:]): Added new class, obvious
(-[WebCorePageBridge dealloc]): ditto
(-[WebCorePageBridge mainFrame]): ditto
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge init]): Fixed style a bit.
2006-01-14 David Hyatt <hyatt@apple.com>
Win32 finds more khtml namespace issues with the movement
of Shared that gcc missed.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::text):
* khtml/xml/dom_position.cpp:
2006-01-14 David Hyatt <hyatt@apple.com>
Move shared.h from khtml/misc into the platform directory and move it into the WebCore namespace.
Reviewed by eseidel
* ForwardingHeaders/kdom/Shared.h: Removed.
* WebCore+SVG/DOMList.h:
* WebCore+SVG/KDOMHeaders.h:
* WebCore+SVG/RGBColorImpl.h:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreFrameBridge.mm:
* kcanvas/KCanvasPath.h:
* khtml/css/css_base.h:
* khtml/css/css_ruleimpl.h:
* khtml/css/css_stylesheetimpl.h:
* khtml/css/css_valueimpl.h:
* khtml/dom/dom2_events.h:
* khtml/dom/dom2_traversal.h:
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_window.cpp:
* khtml/ecma/xmlserializer.cpp:
(KJS::XMLSerializerProtoFunc::callAsFunction):
* khtml/editing/SelectionController.h:
* khtml/editing/edit_command.h:
* khtml/editing/htmlediting.h:
* khtml/editing/visible_position.h:
* khtml/html/HTMLOptionsCollectionImpl.h:
* khtml/html/html_miscimpl.h:
* khtml/misc/shared.h: Removed.
* khtml/rendering/render_line.h:
* khtml/rendering/render_style.h:
* khtml/xml/DOMImplementationImpl.h:
* khtml/xml/DocumentImpl.h:
* khtml/xml/NamedNodeMapImpl.h:
* khtml/xml/NodeImpl.h:
* khtml/xml/NodeListImpl.h:
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/dom2_rangeimpl.h:
* khtml/xml/dom2_traversalimpl.h:
* khtml/xml/dom2_viewsimpl.h:
* khtml/xml/dom_elementimpl.h:
* khtml/xml/dom_qname.h:
* khtml/xml/dom_stringimpl.h:
* khtml/xsl/xslt_processorimpl.h:
* ksvg2/css/SVGRenderStyle.cpp:
(SVGRenderStyle::SVGRenderStyle):
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/css/SVGRenderStyleDefs.cpp:
(StyleFillData::StyleFillData):
(StyleStrokeData::StyleStrokeData):
(StyleStopData::StyleStopData):
(StyleClipData::StyleClipData):
(StyleMaskData::StyleMaskData):
(StyleMarkerData::StyleMarkerData):
(StyleMiscData::StyleMiscData):
* ksvg2/css/SVGRenderStyleDefs.h:
* ksvg2/svg/SVGAngleImpl.cpp:
(SVGAngleImpl::SVGAngleImpl):
* ksvg2/svg/SVGAngleImpl.h:
* ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
(SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl):
* ksvg2/svg/SVGAnimatedBooleanImpl.h:
* ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
(SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl):
* ksvg2/svg/SVGAnimatedEnumerationImpl.h:
* ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
(SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl):
* ksvg2/svg/SVGAnimatedIntegerImpl.h:
* ksvg2/svg/SVGAnimatedLengthListImpl.h:
* ksvg2/svg/SVGAnimatedNumberImpl.cpp:
(SVGAnimatedNumberImpl::SVGAnimatedNumberImpl):
* ksvg2/svg/SVGAnimatedNumberImpl.h:
* ksvg2/svg/SVGAnimatedNumberListImpl.h:
* ksvg2/svg/SVGAnimatedPreserveAspectRatioImpl.h:
* ksvg2/svg/SVGAnimatedTemplate.h:
(KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
* ksvg2/svg/SVGAnimatedTransformListImpl.h:
* ksvg2/svg/SVGDocumentImpl.cpp:
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::SVGLengthImpl):
* ksvg2/svg/SVGLengthImpl.h:
* ksvg2/svg/SVGMatrixImpl.cpp:
(SVGMatrixImpl::SVGMatrixImpl):
* ksvg2/svg/SVGMatrixImpl.h:
* ksvg2/svg/SVGNumberImpl.cpp:
(SVGNumberImpl::SVGNumberImpl):
* ksvg2/svg/SVGNumberImpl.h:
* ksvg2/svg/SVGPathSegImpl.cpp:
(SVGPathSegImpl::SVGPathSegImpl):
* ksvg2/svg/SVGPathSegImpl.h:
* ksvg2/svg/SVGPointImpl.cpp:
(SVGPointImpl::SVGPointImpl):
* ksvg2/svg/SVGPointImpl.h:
* ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
(SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
* ksvg2/svg/SVGPreserveAspectRatioImpl.h:
* ksvg2/svg/SVGRectImpl.cpp:
(SVGRectImpl::SVGRectImpl):
* ksvg2/svg/SVGRectImpl.h:
* ksvg2/svg/SVGTransformImpl.cpp:
(SVGTransformImpl::SVGTransformImpl):
* ksvg2/svg/SVGTransformImpl.h:
* kwq/DOM-CSS.mm:
* kwq/KWQFontMetrics.mm:
* kwq/KWQMapImpl.cpp:
* kwq/KWQRegExp.cpp:
* kwq/KWQValueListImpl.cpp:
(KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
* kwq/KWQVariant.cpp:
* platform/ArrayImpl.h:
* platform/Shared.h: Added.
2006-01-14 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Implement basic <foreignObject> support:
http://bugzilla.opendarwin.org/show_bug.cgi?id=5974
Also fixed <image> to support clip, filter and mask
Updated <text> to support hit testing and clip, filter, mask
Tests:
* svg/custom/image-with-transform-clip-filter.svg
* svg/custom/foreign-object-skew.svg
* WebCore.xcodeproj/project.pbxproj: added files.
* kcanvas/RenderForeignObject.cpp: Added.
(RenderForeignObject::RenderForeignObject):
(RenderForeignObject::translationForAttributes):
(RenderForeignObject::paint):
(RenderForeignObject::nodeAtPoint):
* kcanvas/RenderForeignObject.h: Added.
(RenderForeignObject::renderName): added.
(RenderForeignObject::localTransform): added.
(RenderForeignObject::setLocalTransform): added.
* kcanvas/RenderSVGImage.cpp:
(RenderSVGImage::paint): added filter, clip mask support
* kcanvas/RenderSVGImage.h:
(KSVG::RenderSVGImage::localTransform): added.
(KSVG::RenderSVGImage::setLocalTransform): added.
* kcanvas/RenderSVGText.cpp:
(RenderSVGText::translationTopToBaseline): return qmatrix
(RenderSVGText::translationForAttributes): return qmatrix
(RenderSVGText::paint): added filter, clip, mask support
(RenderSVGText::nodeAtPoint): added.
* kcanvas/RenderSVGText.h:
(RenderSVGText::localTransform): added.
(RenderSVGText::setLocalTransform): added.
* khtml/rendering/render_object.h:
(khtml::RenderObject::setLocalTransform): added assert(0)
* ksvg2/css/svg.css: added foreignObject display: block
* ksvg2/svg/SVGForeignObjectElementImpl.cpp: Added.
(KSVG::SVGForeignObjectElementImpl::SVGForeignObjectElementImpl):
(KSVG::SVGForeignObjectElementImpl::~SVGForeignObjectElementImpl):
(KSVG::SVGForeignObjectElementImpl::x):
(KSVG::SVGForeignObjectElementImpl::y):
(KSVG::SVGForeignObjectElementImpl::width):
(KSVG::SVGForeignObjectElementImpl::height):
(KSVG::SVGForeignObjectElementImpl::parseMappedAttribute):
(KSVG::SVGForeignObjectElementImpl::createRenderer):
(KSVG::SVGForeignObjectElementImpl::childShouldCreateRenderer):
* ksvg2/svg/SVGForeignObjectElementImpl.h: Added.
(KSVG::SVGForeignObjectElementImpl::isValid): added
(KSVG::SVGForeignObjectElementImpl::rendererIsNeeded): added
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::attach): fixed static_cast
* ksvg2/svg/SVGLocatableImpl.cpp:
(SVGLocatableImpl::nearestViewportElement): foreignObject support
(SVGLocatableImpl::farthestViewportElement): foreignObject support
* ksvg2/svg/svgtags.in: added foreignObject
* kwq/KWQWMatrix.cpp:
(QWMatrix::isInvertible): fixed
2006-01-14 Eric Seidel <eseidel@apple.com>
Fix build break. (oops!)
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::XMLTokenizer):
2006-01-14 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Initialize m_isXHTMLDocument(false) properly.
No tests possible, random failure only.
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::XMLTokenizer):
2006-01-15 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
Add support for svg css property writing-mode.
No tests possible.
* ksvg2/css/SVGCSSStyleSelector.cpp:
(KDOM::CSSStyleSelector::applySVGProperty):
* ksvg2/css/SVGRenderStyle.h:
(KSVG::SVGRenderStyle::InheritedFlags::):
(KSVG::SVGRenderStyle::setBitDefaults):
* ksvg2/css/SVGRenderStyleDefs.h:
(KSVG::):
2006-01-14 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
Refactor out cases of KCanvasRenderingStyle used as an instance to
store the current style. Temporarily unify the data passing via
KCanvasCommonArgs.
No tests needed, no functional change.
* kcanvas/KCanvasItem.cpp: Removing override of setStyle used to hook
into KCanvasRenderingStyle::updateStyle.
(RenderPath::commonArgs):
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasTreeDebug.cpp:
(writeStyle):
* kcanvas/KCanvasTypes.h:
* kcanvas/device/KRenderingDevice.cpp:
(KCanvasCommonArgs::KCanvasCommonArgs):
(KCanvasCommonArgs::renderStyle):
(KCanvasCommonArgs::setRenderStyle):
(KCanvasCommonArgs::renderPath):
(KCanvasCommonArgs::setRenderPath):
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint):
(KCanvasItemQuartz::bboxForPath):
(KCanvasItemQuartz::hitsPath):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(drawShadingWithStyle):
(KRenderingPaintServerLinearGradientQuartz::draw):
(KRenderingPaintServerRadialGradientQuartz::draw):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerSolidQuartz::draw):
(KRenderingPaintServerPatternQuartz::draw):
* kcanvas/device/quartz/QuartzSupport.h:
* kcanvas/device/quartz/QuartzSupport.mm:
(applyStrokeStyleToContext):
* ksvg2/misc/KCanvasRenderingStyle.cpp: Remove overrideFillPaintServer
and overrideStrokePaintServer hacks and make most other methods
static, remove most instance variables.
(KCanvasRenderingStyle::KCanvasRenderingStyle):
(KCanvasRenderingStyle::isFilled):
(KCanvasRenderingStyle::fillPaintServer):
(KCanvasRenderingStyle::isStroked):
(KCanvasRenderingStyle::strokePaintServer):
(KCanvasRenderingStyle::strokePainter): Merged stroke logic in from
updateStyle.
(KCanvasRenderingStyle::fillPainter): Merged fill logic in from
updateStyle.
* ksvg2/misc/KCanvasRenderingStyle.h:
2006-01-14 David Hyatt <hyatt@apple.com>
Move loader_client.h to CachedObjectClient.h.
* WebCore.xcodeproj/project.pbxproj:
* khtml/css/css_ruleimpl.h:
* khtml/css/css_valueimpl.h:
* khtml/ecma/kjs_html.h:
* khtml/html/html_documentimpl.h:
* khtml/html/html_headimpl.h:
* khtml/html/htmltokenizer.h:
* khtml/rendering/render_object.h:
* khtml/xbl/xbl_binding.h:
* khtml/xml/dom_xmlimpl.h:
* khtml/xsl/xsl_stylesheetimpl.h:
* loader/CachedObject.h:
* loader/CachedObjectClient.h: Added.
* loader/CachedObjectClientWalker.h:
* loader/loader_client.h: Removed.
2006-01-14 Anders Carlsson <andersca@mac.com>
Reviewed by Eric and Hyatt.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6544
Remove unused headers.
* ForwardingHeaders/kglobalsettings.h: Removed.
* ForwardingHeaders/kimageio.h: Removed.
* ForwardingHeaders/qasyncio.h: Removed.
* ForwardingHeaders/qstylesheet.h: Removed.
* kwq/KWQAsyncIO.h: Removed.
* kwq/KWQKGlobalSettings.h: Removed.
* kwq/KWQKImageIO.h: Removed.
* kwq/KWQStyleSheet.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* khtml/ecma/kjs_window.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/xml/DocumentImpl.cpp:
(DocumentImpl::recalcStyle):
* loader/CachedImageCallback.cpp:
* loader/CachedObject.cpp:
* page/Frame.cpp:
* page/FrameView.cpp:
(KHTMLView::KHTMLView):
Remove header inclusions
2006-01-14 David Hyatt <hyatt@apple.com>
Shift the loader-related files out of the khtml/misc directory and into a new loader directory.
Remove the use of paths when including files from misc.
* WebCore+SVG/KDOMHeaders.h:
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasPath.h:
* khtml/css/css_base.h:
* khtml/css/css_ruleimpl.cpp:
* khtml/css/css_ruleimpl.h:
* khtml/css/css_stylesheetimpl.cpp:
* khtml/css/css_valueimpl.h:
* khtml/css/csshelper.cpp:
* khtml/css/cssparser.cpp:
* khtml/css/cssstyleselector.cpp:
* khtml/dom/dom2_events.h:
* khtml/dom/dom2_traversal.h:
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_html.h:
* khtml/ecma/kjs_window.cpp:
* khtml/editing/SelectionController.h:
* khtml/editing/edit_command.h:
* khtml/editing/visible_position.h:
* khtml/editing/visible_units.cpp:
* khtml/html/HTMLOptionsCollectionImpl.h:
* khtml/html/html_baseimpl.cpp:
* khtml/html/html_baseimpl.h:
* khtml/html/html_canvasimpl.h:
* khtml/html/html_documentimpl.h:
* khtml/html/html_headimpl.cpp:
* khtml/html/html_headimpl.h:
* khtml/html/html_imageimpl.h:
* khtml/html/html_miscimpl.h:
* khtml/html/htmltokenizer.h:
* khtml/misc/Cache.cpp: Removed.
* khtml/misc/Cache.h: Removed.
* khtml/misc/CachedCSSStyleSheet.cpp: Removed.
* khtml/misc/CachedCSSStyleSheet.h: Removed.
* khtml/misc/CachedImage.cpp: Removed.
* khtml/misc/CachedImage.h: Removed.
* khtml/misc/CachedImageCallback.cpp: Removed.
* khtml/misc/CachedImageCallback.h: Removed.
* khtml/misc/CachedObject.cpp: Removed.
* khtml/misc/CachedObject.h: Removed.
* khtml/misc/CachedObjectClientWalker.cpp: Removed.
* khtml/misc/CachedObjectClientWalker.h: Removed.
* khtml/misc/CachedScript.cpp: Removed.
* khtml/misc/CachedScript.h: Removed.
* khtml/misc/CachedXBLDocument.cpp: Removed.
* khtml/misc/CachedXBLDocument.h: Removed.
* khtml/misc/CachedXSLStyleSheet.cpp: Removed.
* khtml/misc/CachedXSLStyleSheet.h: Removed.
* khtml/misc/DocLoader.cpp: Removed.
* khtml/misc/DocLoader.h: Removed.
* khtml/misc/Request.cpp: Removed.
* khtml/misc/Request.h: Removed.
* khtml/misc/loader.cpp: Removed.
* khtml/misc/loader.h: Removed.
* khtml/misc/loader_client.h: Removed.
* khtml/rendering/render_box.h:
* khtml/rendering/render_canvasimage.cpp:
* khtml/rendering/render_form.cpp:
* khtml/rendering/render_image.cpp:
* khtml/rendering/render_line.h:
* khtml/rendering/render_list.cpp:
* khtml/rendering/render_object.h:
* khtml/rendering/render_style.h:
* khtml/rendering/render_table.h:
* khtml/rendering/table_layout.h:
* khtml/xbl/xbl_binding.cpp:
* khtml/xbl/xbl_binding.h:
* khtml/xml/DOMImplementationImpl.h:
* khtml/xml/DocumentImpl.cpp:
* khtml/xml/DocumentImpl.h:
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/dom2_rangeimpl.h:
* khtml/xml/dom2_traversalimpl.h:
* khtml/xml/dom2_viewsimpl.h:
* khtml/xml/dom_elementimpl.h:
* khtml/xml/dom_nodeimpl.h:
* khtml/xml/dom_stringimpl.h:
* khtml/xml/dom_xmlimpl.h:
* khtml/xml/xml_tokenizer.h:
* khtml/xsl/xsl_stylesheetimpl.cpp:
* khtml/xsl/xslt_processorimpl.h:
* kwq/KWQFontMetrics.mm:
* kwq/KWQMapImpl.cpp:
* kwq/KWQRegExp.cpp:
* kwq/KWQValueListImpl.cpp:
* kwq/KWQVariant.cpp:
* loader: Added.
* loader/Cache.cpp: Added.
* loader/Cache.h: Added.
* loader/CachedCSSStyleSheet.cpp: Added.
* loader/CachedCSSStyleSheet.h: Added.
* loader/CachedImage.cpp: Added.
* loader/CachedImage.h: Added.
* loader/CachedImageCallback.cpp: Added.
* loader/CachedImageCallback.h: Added.
* loader/CachedObject.cpp: Added.
* loader/CachedObject.h: Added.
* loader/CachedObjectClientWalker.cpp: Added.
* loader/CachedObjectClientWalker.h: Added.
* loader/CachedScript.cpp: Added.
* loader/CachedScript.h: Added.
* loader/CachedXBLDocument.cpp: Added.
* loader/CachedXBLDocument.h: Added.
* loader/CachedXSLStyleSheet.cpp: Added.
* loader/CachedXSLStyleSheet.h: Added.
* loader/DocLoader.cpp: Added.
* loader/DocLoader.h: Added.
* loader/Request.cpp: Added.
* loader/Request.h: Added.
* loader/loader.cpp: Added.
* loader/loader.h: Added.
* loader/loader_client.h: Added.
* page/Frame.cpp:
* page/FramePrivate.h:
* page/FrameView.cpp:
2006-01-14 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt
break classes in dom_nodeimpl.* into separate files (one per class)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6543
* ForwardingHeaders/kdom/core/NodeImpl.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.h:
* bridge/mac/WebCoreFrameBridge.mm:
* khtml/css/css_base.h:
* khtml/css/css_stylesheetimpl.cpp:
* khtml/css/css_valueimpl.cpp:
* khtml/css/css_valueimpl.h:
* khtml/ecma/kjs_binding.cpp:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_events.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/ecma/kjs_traversal.cpp:
* khtml/editing/SelectionController.cpp:
* khtml/editing/append_node_command.cpp:
* khtml/editing/htmlediting.cpp:
* khtml/editing/htmlediting.h:
* khtml/editing/insert_node_before_command.cpp:
* khtml/editing/remove_node_attribute_command.h:
* khtml/editing/remove_node_command.cpp:
* khtml/editing/remove_node_preserving_children_command.cpp:
* khtml/editing/set_node_attribute_command.h:
* khtml/editing/visible_position.cpp:
* khtml/editing/visible_text.cpp:
* khtml/html/HTMLOptionElementImpl.cpp:
* khtml/html/html_headimpl.cpp:
* khtml/html/htmlparser.cpp:
* khtml/khtml_events.cpp:
* khtml/rendering/render_block.cpp:
* khtml/rendering/render_box.cpp:
* khtml/rendering/render_flow.cpp:
* khtml/rendering/render_frames.h:
* khtml/rendering/render_line.cpp:
* khtml/rendering/render_object.h:
* khtml/xml/ChildNodeListImpl.cpp: Added.
* khtml/xml/ChildNodeListImpl.h: Added.
* khtml/xml/ContainerNodeImpl.cpp: Added.
(DOM::ContainerNodeImpl::removeAllChildren):
(DOM::ContainerNodeImpl::checkSameDocument):
(DOM::ContainerNodeImpl::getRect):
(DOM::ContainerNodeImpl::dispatchChildRemovalEvents):
* khtml/xml/ContainerNodeImpl.h: Added.
* khtml/xml/DocumentFragmentImpl.cpp:
* khtml/xml/DocumentFragmentImpl.h:
* khtml/xml/DocumentImpl.cpp:
* khtml/xml/DocumentImpl.h:
(DOM::DocumentImpl::setTextColor):
* khtml/xml/DocumentTypeImpl.cpp:
* khtml/xml/DocumentTypeImpl.h:
* khtml/xml/NameNodeListImpl.cpp: Added.
* khtml/xml/NameNodeListImpl.h: Added.
* khtml/xml/NamedNodeMapImpl.h: Added.
(DOM::NamedNodeMapImpl::NamedNodeMapImpl):
(DOM::NamedNodeMapImpl::~NamedNodeMapImpl):
* khtml/xml/NodeImpl.cpp: Added.
(DOM::TagNodeListImpl::TagNodeListImpl):
(DOM::TagNodeListImpl::length):
(DOM::TagNodeListImpl::item):
(DOM::TagNodeListImpl::nodeMatches):
(DOM::NodeImpl::getRect):
* khtml/xml/NodeImpl.h: Added.
* khtml/xml/NodeListImpl.cpp: Added.
* khtml/xml/NodeListImpl.h: Added.
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/dom_elementimpl.h:
* khtml/xml/dom_nodeimpl.cpp: Removed.
* khtml/xml/dom_nodeimpl.h: Removed.
* khtml/xml/dom_position.cpp:
* khtml/xml/dom_textimpl.h:
* khtml/xml/dom_xmlimpl.cpp:
* khtml/xml/dom_xmlimpl.h:
* khtml/xml/xml_tokenizer.cpp:
* khtml/xsl/xsl_stylesheetimpl.cpp:
* khtml/xsl/xslt_processorimpl.h:
* ksvg2/svg/SVGURIReferenceImpl.cpp:
* kwq/DOM.mm:
* kwq/DOMHTML.mm:
* kwq/DOMUtility.mm:
* kwq/KWQClipboard.h:
* page/FrameView.cpp:
2006-01-14 David Hyatt <hyatt@apple.com>
Convert QMemArray to Array. QByteArray becomes ByteArray.
KWQArrayImpl becomes ArrayImpl.
Reviewed by anders
* ForwardingHeaders/qmemarray.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* khtml/css/cssstyleselector.h:
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::send):
(KJS::XMLHttpRequest::processSyncLoadResults):
* khtml/ecma/xmlhttprequest.h:
* khtml/html/HTMLOptionElementImpl.cpp:
(DOM::HTMLOptionElementImpl::index):
* khtml/html/HTMLSelectElementImpl.cpp:
(DOM::HTMLSelectElementImpl::selectedIndex):
(DOM::HTMLSelectElementImpl::setSelectedIndex):
(DOM::HTMLSelectElementImpl::length):
(DOM::HTMLSelectElementImpl::remove):
(DOM::HTMLSelectElementImpl::value):
(DOM::HTMLSelectElementImpl::setValue):
(DOM::HTMLSelectElementImpl::state):
(DOM::HTMLSelectElementImpl::restoreState):
(DOM::HTMLSelectElementImpl::appendFormData):
(DOM::HTMLSelectElementImpl::optionToListIndex):
(DOM::HTMLSelectElementImpl::listToOptionIndex):
(DOM::HTMLSelectElementImpl::reset):
(DOM::HTMLSelectElementImpl::notifyOptionSelected):
* khtml/html/HTMLSelectElementImpl.h:
(DOM::HTMLSelectElementImpl::listItems):
* khtml/misc/formdata.cpp:
(khtml::FormData::flatten):
(khtml::FormData::flattenToString):
* khtml/misc/formdata.h:
(khtml::FormDataElement::FormDataElement):
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::layoutInlineChildren):
* khtml/rendering/render_form.cpp:
(RenderSelect::updateFromElement):
(RenderSelect::layout):
(RenderSelect::slotSelected):
(RenderSelect::slotSelectionChanged):
(RenderSelect::updateSelection):
* khtml/rendering/render_table.cpp:
(RenderTableSection::addCell):
(RenderTableSection::setCellWidths):
* khtml/rendering/render_table.h:
* khtml/rendering/table_layout.cpp:
(FixedTableLayout::layout):
* khtml/rendering/table_layout.h:
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::docLoaderFunc):
* kwq/KWQArrayImpl.cpp: Removed.
* kwq/KWQArrayImpl.h: Removed.
* kwq/KWQBuffer.cpp:
(QBuffer::setBuffer):
* kwq/KWQBuffer.h:
(QBuffer::QBuffer):
(QBuffer::buffer):
* kwq/KWQCString.cpp:
(QCString::QCString):
(QCString::resize):
(QCString::append):
* kwq/KWQCString.h:
* kwq/KWQKURL.mm:
(findHostnamesInMailToURL):
(encodeHostnames):
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
(KWQServeSynchronousRequest):
* kwq/KWQMemArray.h: Removed.
* kwq/KWQPixmap.h:
* kwq/KWQPixmap.mm:
(QPixmap::QPixmap):
(QPixmap::receivedData):
* kwq/KWQString.h:
* kwq/KWQString.mm:
(QString::QString):
* kwq/KWQTextCodec.cpp:
(QTextCodec::toUnicode):
* kwq/KWQTextCodec.h:
* kwq/KWQTextStream.cpp:
(QTextStream::QTextStream):
* kwq/KWQTextStream.h:
* page/Frame.h:
* platform/Array.h: Added.
(WebCore::Array::Array):
(WebCore::Array::duplicate):
(WebCore::Array::assign):
(WebCore::Array::operator==):
(WebCore::Array::operator!=):
* platform/ArrayImpl.cpp: Added.
(WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
(WebCore::ArrayImpl::ArrayPrivate::~ArrayPrivate):
(WebCore::ArrayImpl::ArrayImpl):
(WebCore::ArrayImpl::~ArrayImpl):
(WebCore::ArrayImpl::operator=):
(WebCore::ArrayImpl::data):
(WebCore::ArrayImpl::resize):
(WebCore::ArrayImpl::duplicate):
(WebCore::ArrayImpl::detach):
(WebCore::ArrayImpl::fill):
(WebCore::ArrayImpl::operator==):
* platform/ArrayImpl.h: Added.
(WebCore::ArrayImpl::size):
* platform/IntPointArray.cpp:
(IntPointArray::setPoint):
* platform/IntPointArray.h:
(WebCore::IntPointArray::IntPointArray):
2006-01-14 David Hyatt <hyatt@apple.com>
Convert QRect/QRectF -> IntRect/FloatRect. Same drill as point
and size.
Reviewed by mjs
* ForwardingHeaders/qrect.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
(MacFrame::snapshotDragImage):
(MacFrame::setDisplaysWithFocusAttributes):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge drawRect:withPainter:]):
(-[WebCoreFrameBridge firstRectForDOMRange:]):
(-[WebCoreFrameBridge ensureSelectionVisible]):
* kcanvas/KCanvasContainer.cpp:
(KCanvasContainer::relativeBBox):
(KCanvasContainer::getAspectRatio):
* kcanvas/KCanvasContainer.h:
* kcanvas/KCanvasFilters.cpp:
(KCanvasFilterEffect::subRegion):
(KCanvasFilterEffect::setSubRegion):
* kcanvas/KCanvasFilters.h:
(KCanvasFilter::filterRect):
(KCanvasFilter::setFilterRect):
* kcanvas/KCanvasItem.cpp:
(RenderPath::relativeBBox):
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasResources.cpp:
(KCanvasMarker::draw):
* kcanvas/KCanvasResources.h:
* kcanvas/KCanvasTreeDebug.cpp:
(operator<<):
* kcanvas/KCanvasTreeDebug.h:
* kcanvas/RenderSVGImage.cpp:
(RenderSVGImage::paint):
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/KRenderingPaintServerPattern.cpp:
(KRenderingPaintServerPattern::setBbox):
(KRenderingPaintServerPattern::bbox):
* kcanvas/device/KRenderingPaintServerPattern.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFilterQuartz::prepareFilter):
(KCanvasFilterQuartz::applyFilter):
* kcanvas/device/quartz/KCanvasItemQuartz.h:
(KCanvasItemQuartz::getAbsoluteRepaintRect):
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(drawMarkerWithData):
(KCanvasItemQuartz::drawMarkersIfNeeded):
(KCanvasItemQuartz::bboxForPath):
* kcanvas/device/quartz/KCanvasMaskerQuartz.h:
* kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
(KCanvasMaskerQuartz::applyMask):
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
(KCanvasContainerQuartz::getAbsoluteRepaintRect):
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasContainerQuartz::layout):
(KCanvasContainerQuartz::paint):
(KCanvasContainerQuartz::setViewport):
(KCanvasContainerQuartz::viewport):
(KCanvasContainerQuartz::setViewBox):
(KCanvasContainerQuartz::viewBox):
(KCanvasContainerQuartz::absoluteTransform):
(KCanvasClipperQuartz::applyClip):
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceContextQuartz::mapFromVisual):
(KRenderingDeviceContextQuartz::mapToVisual):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerImageQuartz::draw):
* kcanvas/device/quartz/QuartzSupport.h:
* khtml/ecma/kjs_window.cpp:
(KJS::Screen::getValueProperty):
(KJS::showModalDialog):
(KJS::Window::getValueProperty):
(KJS::constrainToVisible):
(KJS::WindowFunc::callAsFunction):
* khtml/editing/SelectionController.cpp:
(khtml::caretY):
(khtml::SelectionController::layout):
(khtml::SelectionController::caretRect):
(khtml::SelectionController::caretRepaintRect):
(khtml::SelectionController::paintCaret):
* khtml/editing/SelectionController.h:
* khtml/html/html_imageimpl.cpp:
(DOM::HTMLAreaElementImpl::getRect):
* khtml/html/html_imageimpl.h:
* khtml/html/html_inlineimpl.cpp:
(DOM::HTMLAnchorElementImpl::isFocusable):
* khtml/misc/CachedImage.cpp:
(khtml::CachedImage::valid_rect):
(khtml::CachedImage::do_notify):
(khtml::CachedImage::error):
* khtml/misc/CachedImage.h:
* khtml/misc/khtmllayout.h:
(khtml::GapRects::left):
(khtml::GapRects::center):
(khtml::GapRects::right):
(khtml::GapRects::uniteLeft):
(khtml::GapRects::uniteCenter):
(khtml::GapRects::uniteRight):
(khtml::GapRects::operator IntRect):
* khtml/misc/loader_client.h:
(khtml::CachedObjectClient::setPixmap):
* khtml/rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::selectionRect):
(khtml::InlineTextBox::nodeAtPoint):
* khtml/rendering/InlineTextBox.h:
* khtml/rendering/RenderText.cpp:
(khtml::RenderText::absoluteRects):
(khtml::RenderText::caretRect):
(khtml::RenderText::getAbsoluteRepaintRect):
(khtml::RenderText::selectionRect):
* khtml/rendering/RenderText.h:
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::layoutInlineChildren):
* khtml/rendering/font.cpp:
(khtml::Font::selectionRectForText):
* khtml/rendering/font.h:
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::overflowRect):
(khtml::RenderBlock::layoutBlock):
(khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats):
(khtml::RenderBlock::paint):
(khtml::RenderBlock::fillHorizontalSelectionGap):
(khtml::RenderBlock::fillVerticalSelectionGap):
(khtml::RenderBlock::fillLeftSelectionGap):
(khtml::RenderBlock::fillRightSelectionGap):
(khtml::RenderBlock::floatRect):
(khtml::RenderBlock::isPointInScrollbar):
(khtml::RenderBlock::nodeAtPoint):
* khtml/rendering/render_block.h:
(khtml::RenderBlock::selectionRect):
* khtml/rendering/render_box.cpp:
(RenderBox::nodeAtPoint):
(RenderBox::paintBoxDecorations):
(RenderBox::paintBackgroundExtended):
(RenderBox::getOverflowClipRect):
(RenderBox::getClipRect):
(RenderBox::getAbsoluteRepaintRect):
(RenderBox::computeAbsoluteRepaintRect):
(RenderBox::caretRect):
* khtml/rendering/render_box.h:
(khtml::RenderBox::borderBox):
* khtml/rendering/render_br.cpp:
(khtml::RenderBR::caretRect):
* khtml/rendering/render_br.h:
(khtml::RenderBR::selectionRect):
* khtml/rendering/render_button.cpp:
(khtml::RenderButton::paintObject):
* khtml/rendering/render_canvas.cpp:
(RenderCanvas::repaintViewRectangle):
(RenderCanvas::getAbsoluteRepaintRect):
(RenderCanvas::computeAbsoluteRepaintRect):
(RenderCanvas::absoluteRects):
(RenderCanvas::selectionRect):
(RenderCanvas::viewRect):
* khtml/rendering/render_canvas.h:
(khtml::RenderCanvas::printRect):
(khtml::RenderCanvas::setPrintRect):
* khtml/rendering/render_canvasimage.cpp:
(RenderCanvasImage::paint):
(RenderCanvasImage::layout):
* khtml/rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::layoutBlock):
* khtml/rendering/render_flow.cpp:
(RenderFlow::getAbsoluteRepaintRect):
(RenderFlow::caretRect):
(RenderFlow::paintOutlines):
(RenderFlow::paintOutlineForLine):
* khtml/rendering/render_flow.h:
* khtml/rendering/render_frames.cpp:
(RenderFrameSet::userResize):
(RenderPart::updateWidgetPosition):
* khtml/rendering/render_image.cpp:
(RenderImage::setImage):
(RenderImage::setPixmap):
(RenderImage::paint):
(RenderImage::layout):
* khtml/rendering/render_image.h:
* khtml/rendering/render_inline.cpp:
(RenderInline::absoluteRects):
* khtml/rendering/render_inline.h:
* khtml/rendering/render_layer.cpp:
(khtml::RenderLayer::updateLayerPositions):
(khtml::RenderLayer::scrollRectToVisible):
(khtml::RenderLayer::getRectToExpose):
(khtml::RenderLayer::positionScrollbars):
(khtml::RenderLayer::updateScrollInfoAfterLayout):
(khtml::RenderLayer::paintScrollbars):
(khtml::RenderLayer::paint):
(khtml::setClip):
(khtml::restoreClip):
(khtml::RenderLayer::paintLayer):
(khtml::RenderLayer::hitTest):
(khtml::RenderLayer::hitTestLayer):
(khtml::RenderLayer::calculateClipRects):
(khtml::RenderLayer::calculateRects):
(khtml::mustExamineRenderer):
(khtml::RenderLayer::intersectsDamageRect):
(khtml::RenderLayer::containsPoint):
* khtml/rendering/render_layer.h:
(khtml::ClipRects::m_refCnt):
(khtml::ClipRects::overflowClipRect):
(khtml::ClipRects::fixedClipRect):
(khtml::ClipRects::posClipRect):
(khtml::RenderLayer::repaintRect):
* khtml/rendering/render_line.cpp:
(khtml::InlineBox::canAccommodateEllipsis):
(khtml::InlineFlowBox::nodeAtPoint):
(khtml::InlineFlowBox::paintBackground):
(khtml::InlineFlowBox::paintBackgroundAndBorder):
(khtml::EllipsisBox::nodeAtPoint):
* khtml/rendering/render_list.cpp:
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::setPixmap):
* khtml/rendering/render_list.h:
* khtml/rendering/render_object.cpp:
(RenderObject::paintBorderImage):
(RenderObject::paintBorder):
(RenderObject::absoluteRects):
(RenderObject::absoluteBoundingBoxRect):
(RenderObject::addAbsoluteRectForLayer):
(RenderObject::paintingRootRect):
(RenderObject::repaintRectangle):
(RenderObject::repaintAfterLayoutIfNeeded):
(RenderObject::getAbsoluteRepaintRectWithOutline):
(RenderObject::getAbsoluteRepaintRect):
(RenderObject::getAbsoluteRepaintRectIncludingFloats):
(RenderObject::computeAbsoluteRepaintRect):
(RenderObject::viewRect):
(RenderObject::caretRect):
(RenderObject::addDashboardRegions):
(RenderObject::setPixmap):
* khtml/rendering/render_object.h:
(khtml::RenderObject::getOverflowClipRect):
(khtml::RenderObject::getClipRect):
(khtml::RenderObject::relativeBBox):
(khtml::RenderObject::PaintInfo::PaintInfo):
(khtml::RenderObject::RepaintInfo::m_repaintRect):
(khtml::RenderObject::borderBox):
(khtml::RenderObject::overflowRect):
(khtml::RenderObject::floatRect):
(khtml::RenderObject::selectionRect):
(khtml::RenderObject::SelectionInfo::rect):
* khtml/rendering/render_replaced.cpp:
(RenderReplaced::selectionRect):
(RenderWidget::paint):
(RenderWidget::updateWidgetPosition):
* khtml/rendering/render_replaced.h:
* khtml/rendering/render_table.cpp:
(RenderTable::layout):
(RenderTableRow::getAbsoluteRepaintRect):
(RenderTableCell::computeAbsoluteRepaintRect):
(RenderTableCell::getAbsoluteRepaintRect):
(RenderTableCell::paintBoxDecorations):
* khtml/rendering/render_table.h:
* khtml/rendering/render_theme.cpp:
(khtml::RenderTheme::paint):
* khtml/rendering/render_theme.h:
(khtml::RenderTheme::adjustRepaintRect):
* khtml/rendering/render_theme_mac.h:
* khtml/rendering/render_theme_mac.mm:
(khtml::RenderThemeMac::adjustRepaintRect):
(khtml::RenderThemeMac::inflateRect):
(khtml::RenderThemeMac::paintCheckbox):
(khtml::RenderThemeMac::setCheckboxCellState):
(khtml::RenderThemeMac::paintRadio):
(khtml::RenderThemeMac::setRadioCellState):
(khtml::RenderThemeMac::setButtonCellState):
(khtml::RenderThemeMac::paintButton):
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::scrollIntoView):
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::getRect):
(DOM::ContainerNodeImpl::getRect):
* khtml/xml/dom_nodeimpl.h:
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/svg/SVGFilterElementImpl.cpp:
(SVGFilterElementImpl::canvasResource):
* ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
(SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::value):
* ksvg2/svg/SVGLocatableImpl.cpp:
(SVGLocatableImpl::getBBox):
* ksvg2/svg/SVGMaskElementImpl.cpp:
(KSVG::SVGMaskElementImpl::drawMaskerContent):
* ksvg2/svg/SVGPatternElementImpl.cpp:
(SVGPatternElementImpl::drawPatternContentIntoTile):
* ksvg2/svg/SVGSVGElementImpl.cpp:
(SVGSVGElementImpl::checkIntersection):
(SVGSVGElementImpl::checkEnclosure):
(SVGSVGElementImpl::createRenderer):
* kwq/KWQAccObject.mm:
(boundingBoxRect):
(-[KWQAccObject position]):
(-[KWQAccObject size]):
(-[KWQAccObject doAXBoundsForTextMarkerRange:]):
* kwq/KWQApplication.h:
* kwq/KWQApplication.mm:
(QDesktopWidget::screenGeometry):
(QDesktopWidget::availableGeometry):
* kwq/KWQComboBox.h:
* kwq/KWQComboBox.mm:
(QComboBox::frameGeometry):
(QComboBox::setFrameGeometry):
* kwq/KWQFileButton.h:
* kwq/KWQFileButton.mm:
(KWQFileButton::frameGeometry):
(KWQFileButton::setFrameGeometry):
* kwq/KWQFontMetrics.h:
* kwq/KWQFontMetrics.mm:
(QFontMetrics::selectionRectForText):
(QFontMetrics::boundingRect):
* kwq/KWQKWinModule.h:
* kwq/KWQKWinModule.mm:
(KWinModule::workArea):
* kwq/KWQObject.h:
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::xForm):
(QPainter::drawPixmap):
(QPainter::fillRect):
(QPainter::addClip):
(QPainter::addRoundedRectClip):
* kwq/KWQPixmap.h:
* kwq/KWQPixmap.mm:
(QPixmap::setAnimationRect):
(QPixmap::rect):
* kwq/KWQRect.h: Removed.
* kwq/KWQRect.mm: Removed.
* kwq/KWQRectF.h: Removed.
* kwq/KWQRectF.mm: Removed.
* kwq/KWQRegion.cpp:
(QRegion::QRegion):
(QRegion::boundingRect):
* kwq/KWQRegion.h:
* kwq/KWQRenderTreeDebug.cpp:
(operator<<):
(write):
(writeLayers):
(externalRepresentation):
* kwq/KWQScrollView.h:
* kwq/KWQScrollView.mm:
(QScrollView::updateContents):
* kwq/KWQWMatrix.cpp:
(QWMatrix::mapRect):
* kwq/KWQWMatrix.h:
* kwq/KWQWidget.h:
* kwq/KWQWidget.mm:
(QWidget::resize):
(QWidget::move):
(QWidget::frameGeometry):
(QWidget::setFrameGeometry):
(QWidget::paint):
* kwq/KWQWindowWidget.h:
* kwq/KWQWindowWidget.mm:
(KWQWindowWidget::frameGeometry):
(KWQWindowWidget::setFrameGeometry):
* page/Frame.cpp:
(Frame::gotoAnchor):
(Frame::paintCaret):
(Frame::paintDragCaret):
(Frame::selectionRect):
(Frame::revealSelection):
(Frame::paint):
(Frame::adjustPageHeight):
(Frame::centerSelectionInVisibleArea):
* page/Frame.h:
* page/FrameView.cpp:
(KHTMLView::addRepaintInfo):
(KHTMLView::scrollTo):
(KHTMLView::focusNextPrevNode):
(KHTMLView::repaintRectangle):
* page/FrameView.h:
* platform/FloatRect.cpp: Added.
(WebCore::FloatRect::FloatRect):
(WebCore::FloatRect::isNull):
(WebCore::FloatRect::isValid):
(WebCore::FloatRect::isEmpty):
(WebCore::FloatRect::right):
(WebCore::FloatRect::bottom):
(WebCore::FloatRect::topLeft):
(WebCore::FloatRect::topRight):
(WebCore::FloatRect::bottomRight):
(WebCore::FloatRect::bottomLeft):
(WebCore::FloatRect::size):
(WebCore::FloatRect::unite):
(WebCore::FloatRect::normalize):
(WebCore::FloatRect::intersects):
(WebCore::FloatRect::intersect):
(WebCore::FloatRect::inflate):
(WebCore::operator==):
(WebCore::operator!=):
* platform/FloatRect.h: Added.
(WebCore::FloatRect::contains):
(WebCore::FloatRect::operator&):
(WebCore::enclosingIntRect):
* platform/IntPointArray.cpp:
(IntPointArray::IntPointArray):
(IntPointArray::boundingRect):
* platform/IntPointArray.h:
* platform/IntRect.cpp: Added.
(WebCore::IntRect::IntRect):
(WebCore::IntRect::isNull):
(WebCore::IntRect::isValid):
(WebCore::IntRect::isEmpty):
(WebCore::IntRect::right):
(WebCore::IntRect::bottom):
(WebCore::IntRect::topLeft):
(WebCore::IntRect::topRight):
(WebCore::IntRect::bottomRight):
(WebCore::IntRect::bottomLeft):
(WebCore::IntRect::size):
(WebCore::IntRect::unite):
(WebCore::IntRect::normalize):
(WebCore::IntRect::intersects):
(WebCore::IntRect::intersect):
(WebCore::IntRect::inflate):
(WebCore::operator==):
(WebCore::operator!=):
* platform/IntRect.h: Added.
(WebCore::IntRect::contains):
(WebCore::IntRect::operator&):
* platform/mac/FloatRect.mm: Added.
(WebCore::FloatRect::FloatRect):
(WebCore::FloatRect::operator NSRect):
(WebCore::FloatRect::operator CGRect):
* platform/mac/IntRect.mm: Added.
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator NSRect):
(WebCore::IntRect::operator CGRect):
2006-01-13 David Hyatt <hyatt@apple.com>
Convert QPointF to FloatPoint and move it to the platform
directory.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasContainer.cpp:
(KCanvasContainer::fillContains):
(KCanvasContainer::strokeContains):
* kcanvas/KCanvasContainer.h:
* kcanvas/KCanvasFilters.h:
(KCanvasFEConvolveMatrix::kernelUnitLength):
(KCanvasFEConvolveMatrix::setKernelUnitLength):
* kcanvas/KCanvasItem.cpp:
(RenderPath::fillContains):
(RenderPath::strokeContains):
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasTreeDebug.cpp:
(operator<<):
* kcanvas/KCanvasTreeDebug.h:
* kcanvas/device/KRenderingPaintServerGradient.cpp:
(KRenderingPaintServerLinearGradient::gradientStart):
(KRenderingPaintServerLinearGradient::setGradientStart):
(KRenderingPaintServerLinearGradient::gradientEnd):
(KRenderingPaintServerLinearGradient::setGradientEnd):
(KRenderingPaintServerRadialGradient::gradientCenter):
(KRenderingPaintServerRadialGradient::setGradientCenter):
(KRenderingPaintServerRadialGradient::gradientFocal):
(KRenderingPaintServerRadialGradient::setGradientFocal):
* kcanvas/device/KRenderingPaintServerGradient.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(ciVector):
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::nodeAtPoint):
(KCanvasItemQuartz::hitsPath):
* ksvg2/svg/SVGLinearGradientElementImpl.cpp:
(SVGLinearGradientElementImpl::buildGradient):
* ksvg2/svg/SVGRadialGradientElementImpl.cpp:
(SVGRadialGradientElementImpl::buildGradient):
* kwq/KWQPointF.h: Removed.
* kwq/KWQPointF.mm: Removed.
* kwq/KWQRectF.h:
(QRectF::contains):
* kwq/KWQRectF.mm:
(QRectF::QRectF):
(QRectF::topLeft):
(QRectF::topRight):
(QRectF::bottomRight):
(QRectF::bottomLeft):
* platform/FloatPoint.cpp: Added.
(WebCore::FloatPoint::FloatPoint):
(WebCore::yCoord):
(WebCore::operator+):
(WebCore::operator-):
(WebCore::operator*):
* platform/FloatPoint.h: Added.
(WebCore::FloatPoint::operator -=):
* platform/mac/FloatPoint.mm: Added.
(WebCore::FloatPoint::FloatPoint):
(WebCore::FloatPoint::operator NSPoint):
(WebCore::FloatPoint::operator CGPoint):
2006-01-13 David Hyatt <hyatt@apple.com>
Convert QPoint and QPointArray to IntPoint and IntPointArray.
Factor out the Objective-C-specific logic into a .mm file
for IntPoint.
* ForwardingHeaders/qpoint.h: Removed.
* ForwardingHeaders/qpointarray.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/KWQKHTMLView.cpp:
(KHTMLView::viewportToGlobal):
* bridge/mac/KWQKPartsBrowserExtension.h:
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(MacFrame::khtmlMouseMoveEvent):
(MacFrame::dragSourceMovedTo):
(MacFrame::dragSourceEndedAt):
(MacFrame::dispatchDragSrcEvent):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge elementAtPoint:]):
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
(-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
(-[WebCoreFrameBridge dragSourceMovedTo:]):
(-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasTreeDebug.cpp:
(operator<<):
* kcanvas/KCanvasTreeDebug.h:
* kcanvas/device/KRenderingPaintServerGradient.cpp:
* kcanvas/device/KRenderingPaintServerPattern.h:
* khtml/ecma/kjs_events.cpp:
(KJS::ClipboardProtoFunc::callAsFunction):
* khtml/ecma/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::layout):
(khtml::SelectionController::caretRect):
* khtml/editing/SelectionController.h:
* khtml/html/html_canvasimpl.cpp:
* khtml/html/html_imageimpl.cpp:
(DOM::HTMLAreaElementImpl::mapMouseEvent):
(DOM::HTMLAreaElementImpl::getRegion):
* khtml/rendering/render_image.cpp:
(RenderImage::paint):
* khtml/rendering/render_list.cpp:
(RenderListMarker::paint):
* khtml/rendering/render_object.cpp:
(RenderObject::drawBorder):
* khtml/xml/dom2_eventsimpl.h:
* ksvg2/svg/SVGPointImpl.cpp:
(SVGPointImpl::SVGPointImpl):
* ksvg2/svg/SVGPointImpl.h:
* ksvg2/svg/SVGSVGElementImpl.cpp:
(SVGSVGElementImpl::createSVGPoint):
* ksvg2/svg/SVGSVGElementImpl.h:
* kwq/KWQClipboard.h:
* kwq/KWQClipboard.mm:
(KWQClipboard::dragLocation):
(KWQClipboard::setDragImage):
(KWQClipboard::setDragImageElement):
* kwq/KWQCursor.h:
* kwq/KWQEvent.h:
(QMouseEvent::pos):
(QWheelEvent::QWheelEvent):
(QWheelEvent::pos):
(QWheelEvent::globalPos):
* kwq/KWQEvent.mm:
(positionForEvent):
(globalPositionForEvent):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::drawConvexPolygon):
(QPainter::drawPixmap):
* kwq/KWQPixmap.mm:
(QPixmap::rect):
* kwq/KWQPoint.mm: Removed.
* kwq/KWQPointArray.cpp: Removed.
* kwq/KWQPointArray.h: Removed.
* kwq/KWQPointF.h:
* kwq/KWQPointF.mm:
(yCoord):
* kwq/KWQRect.h:
(QRect::moveTopLeft):
(QRect::contains):
* kwq/KWQRect.mm:
(QRect::QRect):
(QRect::topLeft):
(QRect::topRight):
(QRect::bottomRight):
(QRect::bottomLeft):
* kwq/KWQRegion.cpp:
(QRegion::QRegion):
(QRegion::contains):
* kwq/KWQRegion.h:
* kwq/KWQScrollView.h:
* kwq/KWQScrollView.mm:
(QScrollView::contentsToViewport):
* kwq/KWQWidget.h:
* kwq/KWQWidget.mm:
(QWidget::pos):
(QWidget::move):
(QWidget::mapFromGlobal):
* kwq/KWQWindowWidget.h:
* kwq/KWQWindowWidget.mm:
(KWQWindowWidget::mapFromGlobal):
(KWQWindowWidget::viewportToGlobal):
* page/Frame.h:
* page/FramePrivate.h:
* page/FrameView.cpp:
(KHTMLView::dispatchDragEvent):
(KHTMLView::updateDragAndDrop):
(KHTMLView::cancelDragAndDrop):
(KHTMLView::performDragAndDrop):
* page/FrameView.h:
* platform/IntPoint.cpp: Added.
(WebCore::IntPoint::IntPoint):
(WebCore::operator+):
(WebCore::operator-):
(WebCore::operator*):
* platform/IntPoint.h: Added.
(WebCore::IntPoint::x):
(WebCore::IntPoint::y):
(WebCore::IntPoint::setX):
(WebCore::IntPoint::setY):
(WebCore::IntPoint::isNull):
(WebCore::IntPoint::operator -=):
* platform/IntPointArray.cpp: Added.
(IntPointArray::IntPointArray):
(IntPointArray::copy):
(IntPointArray::boundingRect):
(IntPointArray::point):
(IntPointArray::setPoint):
(IntPointArray::setPoints):
* platform/IntPointArray.h: Added.
(WebCore::IntPointArray::IntPointArray):
2006-01-13 David Hyatt <hyatt@apple.com>
Convert QSizeF to FloatSize and move it to the platform
directory.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasFilters.h:
(KCanvasFEConvolveMatrix::kernelSize):
(KCanvasFEConvolveMatrix::setKernelSize):
(KCanvasFEConvolveMatrix::targetOffset):
(KCanvasFEConvolveMatrix::setTargetOffset):
* kcanvas/KCanvasTreeDebug.cpp:
(operator<<):
* kcanvas/KCanvasTreeDebug.h:
* kwq/KWQRectF.h:
* kwq/KWQRectF.mm:
(QRectF::QRectF):
(QRectF::size):
* kwq/KWQSizeF.h: Removed.
* kwq/KWQSizeF.mm: Removed.
* platform/FloatSize.cpp: Added.
(FloatSize::FloatSize):
(FloatSize::isValid):
(FloatSize::expandedTo):
(operator+):
(operator==):
(operator!=):
* platform/FloatSize.h: Added.
* platform/mac/FloatSize.mm: Added.
(FloatSize::FloatSize):
(FloatSize::operator NSSize):
(FloatSize::operator CGSize):
2006-01-13 David Hyatt <hyatt@apple.com>
Fix build bustage from QSize -> IntSize change.
Reviewed by darin
* kwq/KWQObject.h:
* kwq/KWQSizeF.h:
2006-01-13 David Hyatt <hyatt@apple.com>
Eliminate QSize and add the new class IntSize in the
platform subdirectory. Factor out the Objective-C portion
of IntSize into a platform-specific IntSize.mm that resides
in the mac subdirectory.
Win32 can just compile IntSize.cpp and doesn't need any
platform-specific extension here.
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasImage.h:
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
(KCanvasImageQuartz::init):
(KCanvasImageQuartz::size):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceQuartz::contextForImage):
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::applyProperty):
* khtml/ecma/kjs_html.cpp:
(KJS::Image::getValueProperty):
* khtml/ecma/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
* khtml/misc/CachedImage.cpp:
(khtml::CachedImage::pixmap_size):
(khtml::CachedImage::data):
* khtml/misc/CachedImage.h:
* khtml/misc/CachedImageCallback.cpp:
(khtml::CachedImageCallback::notifyUpdate):
(khtml::CachedImageCallback::notifyFinished):
* khtml/rendering/render_applet.cpp:
(RenderApplet::createWidgetIfNecessary):
* khtml/rendering/render_form.cpp:
(RenderLineEdit::calcMinMaxWidth):
(RenderFileButton::calcMinMaxWidth):
(RenderSelect::layout):
(RenderTextArea::calcMinMaxWidth):
(RenderSlider::calcMinMaxWidth):
* khtml/rendering/render_image.cpp:
(RenderImage::paint):
* khtml/rendering/render_object.cpp:
(RenderObject::paintBorder):
* khtml/rendering/render_style.h:
(khtml::RenderStyle::borderTopLeftRadius):
(khtml::RenderStyle::borderTopRightRadius):
(khtml::RenderStyle::borderBottomLeftRadius):
(khtml::RenderStyle::borderBottomRightRadius):
(khtml::RenderStyle::setBorderTopLeftRadius):
(khtml::RenderStyle::setBorderTopRightRadius):
(khtml::RenderStyle::setBorderBottomLeftRadius):
(khtml::RenderStyle::setBorderBottomRightRadius):
(khtml::RenderStyle::setBorderRadius):
(khtml::RenderStyle::initialBorderRadius):
* khtml/rendering/render_theme_mac.h:
* khtml/rendering/render_theme_mac.mm:
(khtml::RenderThemeMac::inflateRect):
(khtml::RenderThemeMac::setControlSize):
(khtml::RenderThemeMac::sizeForFont):
(khtml::RenderThemeMac::setSizeFromFont):
(khtml::RenderThemeMac::checkboxSizes):
(khtml::RenderThemeMac::setCheckboxCellState):
(khtml::RenderThemeMac::radioSizes):
(khtml::RenderThemeMac::setRadioCellState):
(khtml::RenderThemeMac::buttonSizes):
(khtml::RenderThemeMac::setButtonCellState):
(khtml::RenderThemeMac::paintButton):
* ksvg2/svg/SVGMaskElementImpl.cpp:
(KSVG::SVGMaskElementImpl::attributeChanged):
(KSVG::SVGMaskElementImpl::drawMaskerContent):
* ksvg2/svg/SVGPatternElementImpl.cpp:
(SVGPatternElementImpl::drawPatternContentIntoTile):
(SVGPatternElementImpl::notifyAttributeChange):
* ksvg2/svg/SVGPatternElementImpl.h:
* kwq/KWQComboBox.h:
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQFileButton.h:
* kwq/KWQFileButton.mm:
(KWQFileButton::sizeForCharacterWidth):
* kwq/KWQFontMetrics.h:
* kwq/KWQFontMetrics.mm:
(QFontMetrics::size):
* kwq/KWQKJavaAppletWidget.h:
* kwq/KWQKJavaAppletWidget.mm:
(KJavaAppletWidget::KJavaAppletWidget):
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.h:
* kwq/KWQListBox.mm:
(QListBox::sizeForNumberOfLines):
* kwq/KWQObject.h:
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::addRoundedRectClip):
* kwq/KWQPixmap.h:
* kwq/KWQPixmap.mm:
(QPixmap::QPixmap):
(QPixmap::size):
(QPixmap::resize):
* kwq/KWQRect.h:
* kwq/KWQRect.mm:
(QRect::QRect):
(QRect::size):
* kwq/KWQSize.h: Removed.
* kwq/KWQSize.mm: Removed.
* kwq/KWQSizeF.h:
* kwq/KWQSizeF.mm:
(QSizeF::QSizeF):
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(QSlider::sizeHint):
* kwq/KWQStyle.cpp:
(QStyle::sizeFromContents):
* kwq/KWQStyle.h:
* kwq/KWQTextEdit.h:
* kwq/KWQTextEdit.mm:
(QTextEdit::sizeWithColumnsAndRows):
* kwq/KWQWidget.h:
* kwq/KWQWidget.mm:
(QWidget::sizeHint):
(QWidget::size):
(QWidget::resize):
* kwq/KWQWindowWidget.h:
* kwq/KWQWindowWidget.mm:
(KWQWindowWidget::sizeHint):
* platform: Added.
* platform/IntSize.cpp: Added.
(WebCore::IntSize::IntSize):
(WebCore::IntSize::isValid):
(WebCore::IntSize::expandedTo):
(WebCore::operator+):
(WebCore::operator==):
(WebCore::operator!=):
* platform/IntSize.h: Added.
* platform/mac: Added.
* platform/mac/IntSize.mm: Added.
(WebCore::IntSize::IntSize):
(WebCore::IntSize::operator NSSize):
(WebCore::IntSize::operator CGSize):
2006-01-13 Maks Orlovich <maksim@kde.org>
Reviewed, redone a bit, and landed by Darin (help from Eric too).
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4586
rowIndex calculation doesn't consider head to come before body.
Test: fast/table/rowindex.html
* khtml/html/html_tableimpl.cpp: (DOM::HTMLTableRowElementImpl::rowIndex):
Change algorithm so the rows are numbered in this order: (a) all rows in the
table header section, (b) all rows in all table body sections, (c) all rows
in the table footer section. Rows in extra table header or footer sections
don't get row numbers (rowIndex returns -1). This matches Firefox.
2006-01-13 Mark Rowe <opendarwin.org@bdash.net.nz>
Reviewed, tweaked, and landed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6509
content property with supported value followed by currently unsupported open-quote displays duplicated content
Test: fast/css-generated-content/no-openclose-quote.html
* khtml/css/cssparser.cpp: (CSSParser::parseContent): Make sure parsedValue
is always initialized to 0 (in particular for the CSS_IDENT case which is
currently unimplemented).
2006-01-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6418
Incorrect scrollbar when using overflow:auto and word-wrap:break-word; in some cases
Test: fast/text/basic/015.html
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::findNextLineBreak):
Avoid inconsistent width measurement when breaking in the middle of a
word is allowed. Eliminate the relaxation by 1 of the width overflow
check that was supposed to compensate for the inconsistency but didn't
always work, and on the other hand sometimes resulted in allowing text
to overflow its container by one pixel.
Also applied start and end width correctly in the break-words case.
2006-01-12 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- rename WebCoreBridge to WebCoreFrameBridge
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::createNewWindow):
* bridge/mac/MacFrame.h:
(MacFrame::bridge):
* bridge/mac/MacFrame.mm:
(MacFrame::submitForm):
(MacFrame::createPart):
(MacFrame::bridgeForWidget):
(MacFrame::documentViewForNode):
(MacFrame::setBridge):
* bridge/mac/WebCoreBridge.h: Removed.
* bridge/mac/WebCoreBridge.mm: Removed.
* bridge/mac/WebCoreFrameBridge.h: Added.
* bridge/mac/WebCoreFrameBridge.mm: Added.
(-[WebCoreFrameBridge executionContextForView:]):
(frameHasSelection):
(-[WebCoreFrameBridge firstChild]):
(-[WebCoreFrameBridge lastChild]):
(-[WebCoreFrameBridge previousSibling]):
(-[WebCoreFrameBridge nextSibling]):
(-[WebCoreFrameBridge isDescendantOfFrame:]):
(-[WebCoreFrameBridge traverseNextFrameStayWithin:]):
(-[WebCoreFrameBridge appendChild:]):
(-[WebCoreFrameBridge removeChild:]):
(-[WebCoreFrameBridge childFrameNamed:]):
(-[WebCoreFrameBridge _deepLastChildFrame]):
(-[WebCoreFrameBridge nextFrameWithWrap:]):
(-[WebCoreFrameBridge previousFrameWithWrap:]):
(-[WebCoreFrameBridge _shouldAllowAccessFrom:]):
(-[WebCoreFrameBridge _descendantFrameNamed:sourceFrame:]):
(-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]):
(-[WebCoreFrameBridge findFrameNamed:]):
(+[WebCoreFrameBridge bridgeForDOMDocument:]):
(-[WebCoreFrameBridge setParent:]):
(-[WebCoreFrameBridge parent]):
(nowPrinting):
(-[WebCoreFrameBridge opener]):
(-[WebCoreFrameBridge setOpener:]):
(+[WebCoreFrameBridge stringWithData:textEncodingName:]):
* kwq/KWQAccObject.mm:
(-[KWQAccObject rendererForView:]):
* kwq/KWQComboBox.mm:
(-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
* kwq/KWQFileButton.mm:
(KWQFileButton::focusPolicy):
* kwq/KWQFrame.mm:
* kwq/KWQKJavaAppletWidget.mm:
* kwq/KWQLineEdit.mm:
* kwq/KWQListBox.mm:
(-[KWQTableView keyDown:]):
(-[KWQTableView keyUp:]):
* kwq/KWQLoader.mm:
(KWQServeRequest):
(KWQServeSynchronousRequest):
(KWQCheckCacheObjectStatus):
(KWQCacheObjectExpiresTime):
* kwq/KWQSlider.mm:
(QSlider::focusPolicy):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView textDidChange:]):
(-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
(-[KWQTextAreaTextView keyDown:]):
(-[KWQTextAreaTextView keyUp:]):
* kwq/KWQTextField.mm:
(-[KWQTextFieldController controlTextDidBeginEditing:]):
(-[KWQTextFieldController controlTextDidEndEditing:]):
(-[KWQTextFieldController controlTextDidChange:]):
(-[KWQTextFieldController control:textView:doCommandBySelector:]):
(-[KWQTextFieldController textView:shouldHandleEvent:]):
* kwq/KWQWidget.mm:
(QWidget::setFocus):
* kwq/KWQWindowWidget.h:
* kwq/KWQWindowWidget.mm:
(KWQWindowWidget::KWQWindowWidget):
* kwq/WebCoreFrameNamespaces.h:
* kwq/WebCoreFrameNamespaces.m:
(+[WebCoreFrameNamespaces addFrame:toNamespace:]):
* kwq/WebCoreFrameView.h:
* kwq/WebCoreSettings.mm:
* kwq/WebCoreTextRendererFactory.mm:
* kwq/WebCoreViewFactory.h:
2006-01-13 Darin Adler <darin@apple.com>
- Replaced tabs with spaces in source files that had less than 10 lines with tabs.
- Set allow-tabs Subversion property in source files that have more than 10 lines with tabs.
2006-01-13 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove CG dependencies from kcanvas/device/quartz
http://bugzilla.opendarwin.org/show_bug.cgi?id=6521
Adding file omitted from last commit.
* kcanvas/RenderSVGImage.cpp:
(RenderSVGImage::paint): removed cg calls
2006-01-13 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove CG dependencies from kcanvas/device/quartz
http://bugzilla.opendarwin.org/show_bug.cgi?id=6521
* kcanvas/KCanvasFilters.h:
* kcanvas/KCanvasResources.h:
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFilterQuartz::prepareFilter): removed parameter
(KCanvasFilterQuartz::applyFilter): removed parameter
* kcanvas/device/quartz/KCanvasItemQuartz.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::drawMarkersIfNeeded): removed cg call
(KCanvasItemQuartz::paint): removed cg calls
(getSharedContext): spacing
* kcanvas/device/quartz/KCanvasMaskerQuartz.h:
* kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
(KCanvasMaskerQuartz::applyMask): removed parameter
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
(KCanvasClipperQuartz::KCanvasClipperQuartz):
(KCanvasImageQuartz::KCanvasImageQuartz):
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasContainerQuartz::paint): removed CG calls
(KCanvasClipperQuartz::applyClip): removed parameter
(KCanvasImageQuartz::~KCanvasImageQuartz):
(KCanvasImageQuartz::cgLayer): spacing
(KCanvasImageQuartz::setCGLayer): spacing
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceContextQuartz::clearPath): added.
(KRenderingDeviceContextQuartz::addPath): added.
(KRenderingDeviceQuartz::quartzContext): spacing
2006-01-13 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6508
retire APPLE_CHANGES
* WebCore.vcproj/WebCore/WebCore.vcproj: Don't set APPLE_CHANGES or
HAVE_CONFIG_H any more.
* WebCore.xcodeproj/project.pbxproj: Don't set APPLE_CHANGES or
KHTML_NO_CPLUSPLUS_DOM any more.
* kcanvas/KCanvasFilters.h:
Use __APPLE__ instead of APPLE_CHANGES.
* bridge/mac/MacFrame.mm: (MacFrame::respondToChangedContents):
* kcanvas/KCanvasTreeDebug.cpp:
* ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler):
* ksvg2/svg/SVGElementImpl.h: (KSVG::svg_dynamic_cast):
* ksvg2/svg/SVGScriptElementImpl.cpp: (SVGScriptElementImpl::executeScript):
* page/Frame.cpp: (Frame::paint):
Make some APPLE_CHANGES code unconditional.
* WebCore+SVG/kdom.h:
* ksvg2/ecma/Ecma.cpp: (Ecma::setupDocument):
* ksvg2/svg/SVGCursorElementImpl.cpp:
* ksvg2/svg/SVGImageElementImpl.cpp:
Remove some !APPLE_CHANGES code.
* ksvg2/svg/SVGDocumentImpl.h:
Remove some unneeded APPLE_CHANGES code.
* khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutVerticalBox):
Remove a misleading mention of APPLE_CHANGES in a comment.
Also changed tabs to spaces in files I am committing.
2006-01-12 David Hyatt <hyatt@apple.com>
Get the misc directory compiling on Win32.
* ForwardingHeaders/kio/jobclasses.h:
* ForwardingHeaders/qasyncio.h:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* khtml/misc/CachedImage.cpp:
(khtml::CachedImage::data):
* khtml/misc/decoder.cpp:
(KanjiCode::):
2006-01-12 David Hyatt <hyatt@apple.com>
Make the ecma directory compile on Win32.
* ForwardingHeaders/kconfig.h:
* ForwardingHeaders/kwinmodule.h:
* ForwardingHeaders/qguardedptr.h:
* ForwardingHeaders/qstylesheet.h:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.vcproj/WebCore/build-generated-files.sh:
* khtml/ecma/XSLTProcessor.cpp:
* khtml/ecma/kjs_binding.cpp:
(KJS::ScriptInterpreter::createLanguageInstanceForValue):
* khtml/ecma/kjs_css.h:
* khtml/ecma/kjs_dom.cpp:
(KJS::getRuntimeObject):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::Context2D::setShadow):
(KJS::Context2D::updateFillImagePattern):
(KJS::Context2D::updateStrokeImagePattern):
(KJS::Context2D::putValueProperty):
(KJS::Gradient::commonInit):
(KJS::Gradient::~Gradient):
(KJS::_rh):
* khtml/ecma/kjs_html.h:
* khtml/ecma/kjs_window.cpp:
(KJS::intFeature):
2006-01-12 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dave Hyatt.
- removed leftover files from form split, fix remaining include of the header.
* khtml/html/html_formimpl.cpp: Removed.
* khtml/html/html_formimpl.h: Removed.
* page/Frame.cpp:
2006-01-12 David Hyatt <hyatt@apple.com>
Make the editing directory compile on Win32.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* khtml/editing/jsediting.cpp:
2006-01-12 David Hyatt <hyatt@apple.com>
Get the HTML, XML, and Rendering directories compiling on
Win32. Add the bash script for generated files as well.
* ForwardingHeaders/kio/job.h:
* ForwardingHeaders/ksslkeygen.h:
* ForwardingHeaders/qpoint.h:
* ForwardingHeaders/qpointarray.h:
* ForwardingHeaders/qtextstream.h:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* khtml/html/HTMLSelectElementImpl.cpp:
(DOM::HTMLSelectElementImpl::state):
* khtml/html/html_canvasimpl.cpp:
(HTMLCanvasElementImpl::createRenderer):
* khtml/html/html_imageimpl.h:
(DOM::):
* khtml/rendering/render_object.h:
* khtml/xml/DocumentImpl.cpp:
(DocumentImpl::detach):
(DocumentImpl::getAccObjectCache):
(DocumentImpl::updateSelection):
(DocumentImpl::implicitClose):
(DocumentImpl::setFocusNode):
* kwq/KWQAccObjectCache.h:
* kwq/KWQKJobClasses.h:
2006-01-12 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5153
deleteRule and insertRule do not work
This also makes updating the disabled flag on style sheets work.
It also adds the IE-only removeRule which is the counterpart to
the already existing addRule.
* khtml/css/css_stylesheetimpl.cpp:
(CSSStyleSheetImpl::insertRule):
(CSSStyleSheetImpl::deleteRule):
Call styleSheetChanged()
(CSSStyleSheetImpl::styleSheetChanged):
Call DocumentImpl::updateStyleSelector()
* khtml/css/css_stylesheetimpl.h:
(DOM::StyleSheetImpl::setDisabled):
Call styleSheetChanged();
(DOM::StyleSheetImpl::styleSheetChanged):
New function.
(DOM::CSSStyleSheetImpl::removeRule):
New IE extension function, simply calls deleteRule.
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::CSSStyleSelector):
Ignore disabled style sheets.
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
* khtml/ecma/kjs_css.h:
(KJS::DOMCSSStyleSheet::):
Add removeRule.
2006-01-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Darin.
Test: fast/css/rtl-ordering.html
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6334
REGRESSION: <input type="button"> text is reversed on "visual Hebrew" pages
* khtml/css/cssparser.cpp: (CSSParser::parseValue): Parse the new -khtml-rtl-ordering property.
* khtml/css/cssproperties.in: Added -khtml-rtl-ordering property.
* khtml/css/cssstyleselector.cpp: (CSSStyleSelector::applyProperty): Apply the new property.
* khtml/css/cssvalues.in: Added "logical" and "visual" values for the -khtml-rtl-ordering property.
* khtml/css/html4.css: Force logical ordering in input-buttons.
* khtml/css/makeprop: Fixed maximum property length computation.
* khtml/rendering/render_style.h: Added initial value for visuallyOrdered.
* ksvg2/scripts/cssmakeprops: Ensure no overlap between KHTML and SVG CSS properties.
* ksvg2/scripts/cssmakevalues: Ensure no overlap between KHTML and SVG CSS values.
2006-01-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6219
Perf regression: -[NSImage initWithData:] called repeatedly while
moving the cursor over an image
* khtml/rendering/render_image.h: (khtml::RenderImage::pixmap):
Return a const QPixmap&.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):
Avoid copying the QPixmap and its renderer.
2006-01-12 Justin Haygood <justin@xiondigital.net>
Reviewed, tweaked, and landed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6497
Use #include, not #import, in KWQ C++ files
* bridge/mac/KWQKHTMLView.cpp:
* kcanvas/RenderSVGText.cpp:
* khtml/css/css_computedstyle.cpp:
* kwq/KWQArrayImpl.cpp:
* kwq/KWQBuffer.cpp:
* kwq/KWQCString.cpp:
* kwq/KWQCharsets.cpp:
* kwq/KWQDateTime.cpp:
* kwq/KWQDictImpl.cpp:
* kwq/KWQGuardedPtr.cpp:
* kwq/KWQKHTMLFactory.cpp:
* kwq/KWQKPartsEvent.cpp:
* kwq/KWQListImpl.cpp:
* kwq/KWQMapImpl.cpp:
* kwq/KWQObject.cpp:
* kwq/KWQPen.cpp:
* kwq/KWQPointArray.cpp:
* kwq/KWQPtrDictImpl.cpp:
* kwq/KWQRegion.cpp:
* kwq/KWQStyle.cpp:
* kwq/KWQTextCodec.cpp:
* kwq/KWQTextStream.cpp:
* kwq/KWQTimer.cpp:
* kwq/KWQValueListImpl.cpp:
* kwq/KWQVariant.cpp:
* kwq/KWQVectorImpl.cpp:
* kwq/KWQWMatrix.cpp:
Replaced #import with #include.
* kwq/KWQRegExp.cpp: Replaced #import with #include.
Also changed <JavaScriptCore/pcre.h> to <pcre/pcre.h>.
* ForwardingHeaders/pcre: Added.
* ForwardingHeaders/pcre/pcre.h: Added.
2006-01-12 Eric Seidel <eseidel@apple.com>
Reviewed by anders & mjs.
Split dom_docimpl.* out into separate files (one per class):
http://bugzilla.opendarwin.org/show_bug.cgi?id=6502
* ForwardingHeaders/kdom/core/DOMImplementationImpl.h: Removed.
* ForwardingHeaders/kdom/core/DocumentImpl.h: Removed.
* ForwardingHeaders/kdom/core/DocumentTypeImpl.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreBridge.mm:
* kcanvas/KCanvasResources.cpp:
* kcanvas/RenderSVGText.h:
* khtml/css/css_base.cpp:
* khtml/css/css_computedstyle.cpp:
* khtml/css/css_ruleimpl.cpp:
* khtml/css/css_valueimpl.cpp:
* khtml/css/cssparser.cpp:
* khtml/css/parser.y:
* khtml/ecma/XSLTProcessor.cpp:
* khtml/ecma/domparser.cpp:
* khtml/ecma/kjs_css.cpp:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_events.cpp:
* khtml/ecma/kjs_range.cpp:
* khtml/ecma/kjs_traversal.cpp:
* khtml/ecma/kjs_views.cpp:
* khtml/ecma/kjs_window.cpp:
* khtml/ecma/xmlhttprequest.cpp:
* khtml/ecma/xmlserializer.cpp:
* khtml/editing/SelectionController.cpp:
* khtml/editing/apply_style_command.cpp:
* khtml/editing/composite_edit_command.cpp:
* khtml/editing/delete_selection_command.cpp:
* khtml/editing/edit_command.cpp:
* khtml/editing/htmlediting.cpp:
* khtml/editing/insert_line_break_command.cpp:
* khtml/editing/insert_paragraph_separator_command.cpp:
* khtml/editing/insert_text_command.cpp:
* khtml/editing/join_text_nodes_command.cpp:
* khtml/editing/jsediting.cpp:
* khtml/editing/markup.cpp:
* khtml/editing/markup.h:
* khtml/editing/merge_identical_elements_command.cpp:
* khtml/editing/move_selection_command.cpp:
* khtml/editing/rebalance_whitespace_command.cpp:
* khtml/editing/replace_selection_command.cpp:
* khtml/editing/split_text_node_command.cpp:
* khtml/editing/typing_command.cpp:
* khtml/editing/visible_position.cpp:
* khtml/editing/visible_text.cpp:
* khtml/editing/visible_units.cpp:
* khtml/html/HTMLGenericFormElementImpl.cpp:
* khtml/html/HTMLInputElementImpl.cpp:
* khtml/html/HTMLKeygenElementImpl.cpp:
* khtml/html/HTMLLabelElementImpl.cpp:
* khtml/html/HTMLOptionElementImpl.cpp:
* khtml/html/HTMLSelectElementImpl.cpp:
* khtml/html/HTMLTextAreaElementImpl.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_documentimpl.h:
* khtml/html/html_listimpl.cpp:
* khtml/html/html_objectimpl.cpp:
* khtml/html/htmlfactory.cpp:
* khtml/html/htmlparser.cpp:
* khtml/html/htmltokenizer.cpp:
* khtml/misc/Cache.cpp:
* khtml/misc/DocLoader.cpp:
* khtml/rendering/InlineTextBox.cpp:
* khtml/rendering/bidi.cpp:
* khtml/rendering/render_applet.cpp:
* khtml/rendering/render_block.cpp:
* khtml/rendering/render_box.cpp:
* khtml/rendering/render_br.cpp:
* khtml/rendering/render_button.cpp:
* khtml/rendering/render_canvas.cpp:
* khtml/rendering/render_container.cpp:
* khtml/rendering/render_flow.cpp:
* khtml/rendering/render_form.cpp:
* khtml/rendering/render_frames.cpp:
* khtml/rendering/render_inline.cpp:
* khtml/rendering/render_layer.cpp:
* khtml/rendering/render_line.cpp:
* khtml/rendering/render_list.cpp:
* khtml/rendering/render_object.cpp:
* khtml/rendering/render_replaced.cpp:
* khtml/rendering/render_table.cpp:
* khtml/rendering/render_theme.cpp:
* khtml/rendering/render_theme_mac.mm:
* khtml/xml/DOMImplementationImpl.cpp: Added.
* khtml/xml/DOMImplementationImpl.h: Added.
* khtml/xml/DocumentFragmentImpl.cpp: Added.
* khtml/xml/DocumentFragmentImpl.h: Added.
* khtml/xml/DocumentImpl.cpp: Added.
(DocumentImpl::setDocType):
(DocumentImpl::getElementsByName):
* khtml/xml/DocumentImpl.h: Added.
* khtml/xml/DocumentTypeImpl.cpp: Added.
* khtml/xml/DocumentTypeImpl.h: Added.
* khtml/xml/dom2_eventsimpl.cpp:
* khtml/xml/dom2_rangeimpl.cpp:
* khtml/xml/dom2_traversalimpl.cpp:
* khtml/xml/dom2_viewsimpl.cpp:
* khtml/xml/dom_docimpl.cpp: Removed.
* khtml/xml/dom_docimpl.h: Removed.
* khtml/xml/dom_elementimpl.cpp:
* khtml/xml/dom_nodeimpl.cpp:
* khtml/xml/dom_textimpl.cpp:
* khtml/xml/dom_xmlimpl.cpp:
* khtml/xml/xml_tokenizer.cpp:
* khtml/xsl/xslt_processorimpl.cpp:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
* ksvg2/misc/KSVGTimeScheduler.cpp:
* ksvg2/misc/SVGImageLoader.cpp:
* ksvg2/svg/SVGAElementImpl.cpp:
* ksvg2/svg/SVGAnimationElementImpl.cpp:
* ksvg2/svg/SVGClipPathElementImpl.cpp:
* ksvg2/svg/SVGCursorElementImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.cpp:
* ksvg2/svg/SVGDOMImplementationImpl.h:
* ksvg2/svg/SVGDocumentImpl.h:
* ksvg2/svg/SVGElementImpl.cpp:
* ksvg2/svg/SVGFEImageElementImpl.cpp:
* ksvg2/svg/SVGGradientElementImpl.cpp:
* ksvg2/svg/SVGHelper.cpp:
* ksvg2/svg/SVGPatternElementImpl.cpp:
* ksvg2/svg/SVGPolyElementImpl.cpp:
* ksvg2/svg/SVGSVGElementImpl.cpp:
* ksvg2/svg/SVGStopElementImpl.cpp:
* ksvg2/svg/SVGStyleElementImpl.cpp:
* ksvg2/svg/SVGStyledElementImpl.cpp:
* ksvg2/svg/SVGUseElementImpl.cpp:
* kwq/DOM-CSS.mm:
* kwq/DOM.mm:
* kwq/DOMEvents.mm:
* kwq/DOMHTML.mm:
* kwq/DOMInternal.mm:
* kwq/DOMViews.mm:
* kwq/KWQAccObject.mm:
* kwq/KWQAccObjectCache.mm:
* kwq/KWQKJavaAppletWidget.mm:
* kwq/KWQPageState.mm:
* kwq/KWQRenderTreeDebug.cpp:
* kwq/KWQSlot.mm:
* page/Frame.cpp:
2006-01-12 Maciej Stachowiak <mjs@apple.com>
Not reviewed.
- fixed build breakage
* ksvg2/misc/SVGImageLoader.cpp: Add dom_docimpl.h include
2006-01-12 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- remove dom_documentimpl.h include from other headers where possible,
move down to impl files instead, so less rebuilds when you touch it
* bridge/mac/MacFrame.mm:
(MacFrame::openURLFromPageCache):
* kcanvas/KCanvasResources.cpp:
* khtml/css/css_computedstyle.cpp:
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::frame):
* khtml/editing/SelectionController.h:
* khtml/editing/composite_edit_command.cpp:
* khtml/editing/delete_selection_command.cpp:
* khtml/editing/jsediting.cpp:
* khtml/editing/jsediting.h:
* khtml/editing/markup.h:
* khtml/editing/visible_position.cpp:
* khtml/editing/visible_text.cpp:
* khtml/html/HTMLGenericFormElementImpl.cpp:
* khtml/html/HTMLInputElementImpl.cpp:
* khtml/html/HTMLLabelElementImpl.cpp:
* khtml/html/HTMLOptionElementImpl.cpp:
* khtml/html/HTMLSelectElementImpl.cpp:
* khtml/html/HTMLTextAreaElementImpl.cpp:
* khtml/html/htmltokenizer.h:
* khtml/rendering/InlineTextBox.cpp:
* khtml/rendering/bidi.cpp:
* khtml/rendering/render_br.cpp:
* khtml/rendering/render_button.cpp:
* khtml/rendering/render_object.cpp:
(RenderObject::documentBeingDestroyed):
* khtml/rendering/render_object.h:
* khtml/rendering/render_theme.cpp:
* khtml/rendering/render_theme_mac.mm:
* khtml/xbl/xbl_docimpl.h:
* khtml/xml/dom2_rangeimpl.cpp:
* ksvg2/svg/SVGAElementImpl.cpp:
* ksvg2/svg/SVGClipPathElementImpl.cpp:
* ksvg2/svg/SVGFEImageElementImpl.cpp:
* ksvg2/svg/SVGHelper.cpp:
* ksvg2/svg/SVGSVGElementImpl.cpp:
* ksvg2/svg/SVGUseElementImpl.cpp:
* kwq/KWQAccObjectCache.mm:
* kwq/KWQPageState.h:
* kwq/KWQPageState.mm:
2006-01-12 Anders Carlsson <andersca@mac.com>
Fix build
* khtml/ecma/kjs_window.cpp:
Remove include.
2006-01-12 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej
http://bugzilla.opendarwin.org/show_bug.cgi?id=6501
- Merge KParts::BrowserInterface with KParts::BrowserExtension.
* ForwardingHeaders/kparts/browserinterface.h: Removed.
* bridge/mac/KWQKPartsBrowserInterface.mm: Removed.
* kwq/KWQKPartsBrowserInterface.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/KWQKHTMLPartBrowserExtension.h:
* bridge/mac/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::KHTMLPartBrowserExtension):
(KHTMLPartBrowserExtension::getHistoryLength):
(KHTMLPartBrowserExtension::goBackOrForward):
* bridge/mac/KWQKPartsBrowserExtension.h:
(KParts::BrowserExtension::BrowserExtension):
* khtml/ecma/kjs_window.cpp:
(KJS::History::getValueProperty):
* khtml/xml/xml_tokenizer.cpp:
* page/Frame.cpp:
(Frame::slotRedirect):
* page/FrameView.cpp:
Add getHistoryLength and goBackOrForward to BrowserExtension and
use them.
2006-01-12 Eric Seidel <eseidel@apple.com>
Build fix, files missing from previous <image> commit:
http://bugzilla.opendarwin.org/show_bug.cgi?id=5965
* kcanvas/RenderSVGImage.cpp: Added.
(RenderSVGImage::RenderSVGImage):
(RenderSVGImage::~RenderSVGImage):
(RenderSVGImage::paint):
(RenderSVGImage::translateForAttributes):
* kcanvas/RenderSVGImage.h: Added.
* ksvg2/misc/SVGImageLoader.cpp: Added.
(SVGImageLoader::SVGImageLoader):
(SVGImageLoader::~SVGImageLoader):
(SVGImageLoader::updateFromElement):
* ksvg2/misc/SVGImageLoader.h: Added.
2006-01-12 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6496
- Merge KParts::Part with KParts::ReadOnly part and rename it to
ObjectContents.
* ForwardingHeaders/kparts/part.h: Removed.
* kwq/KWQKPartsPart.h: Removed.
* kwq/KWQKPartsPart.mm: Removed.
* kwq/KWQObject.cpp:
page/ObjectContents.h: Added
(ObjectContents::ObjectContents):
(ObjectContents::url):
(ObjectContents::setName):
(ObjectContents::widget):
(ObjectContents::setWidget):
(ObjectContents::ref):
(ObjectContents::deref):
(ObjectContents::event):
(ObjectContents::customEvent):
(ObjectContents::isObjectContents):
Renames:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/KWQKHTMLPartBrowserExtension.h:
* bridge/mac/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::createNewWindow):
* bridge/mac/KWQKPartsBrowserExtension.h:
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
(MacFrame::createPart):
* bridge/mac/WebCoreBridge.mm:
(-[WebCoreBridge saveDocumentToPageCache]):
* khtml/ecma/kjs_events.cpp:
(KJS::JSLazyEventListener::parseCode):
* khtml/ecma/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::Window::indexGetter):
(KJS::Window::getOwnPropertySlot):
(KJS::WindowFunc::callAsFunction):
(KJS::FrameArray::getValueProperty):
(KJS::FrameArray::indexGetter):
(KJS::FrameArray::nameGetter):
(KJS::FrameArray::getOwnPropertySlot):
(QObject::inherits):
(QObject::isObjectContents):
* kwq/KWQObject.h:
* page/Frame.cpp:
(Frame::stopLoading):
(Frame::stopAnimations):
(Frame::checkEmitLoadEvent):
(Frame::processObjectRequest):
(Frame::childFrame):
(Frame::findFrame):
(Frame::setZoomFactor):
(Frame::frames):
(Frame::customEvent):
(Frame::slotPartRemoved):
(Frame::connectChild):
(Frame::disconnectChild):
(Frame::setPolicyBaseURL):
(Frame::setName):
* page/Frame.h:
(Frame::Frame):
* page/FramePrivate.h:
2006-01-12 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
Refactor HTMLImageLoader to make subclassing possible. Implement
RenderSVGText-style RenderImage subclass. Use this to reimplement
SVGImageElementImpl.
As a side effect, this should fix:
http://bugzilla.opendarwin.org/show_bug.cgi?id=5965
Already covered by several existing tests.
Re-enabled disabled image tests.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/RenderSVGImage.cpp: Added.
(RenderSVGImage::RenderSVGImage):
(~RenderSVGImage::RenderSVGImage):
(RenderSVGImage::paint):
(RenderSVGImage::translateForAttributes):
* kcanvas/RenderSVGImage.h: Added.
* khtml/html/html_imageimpl.cpp:
(DOM::HTMLImageLoader::setLoadingImage): trivial method extraction
(DOM::HTMLImageLoader::updateFromElement): make virtual
* khtml/html/html_imageimpl.h:
(DOM::):
* ksvg2/misc/SVGImageLoader.cpp: Added.
(SVGImageLoader::SVGImageLoader):
(~SVGImageLoader:SVGImageLoader):
(SVGImageLoader::updateFromElement):
* ksvg2/misc/SVGImageLoader.h: Added.
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::SVGImageElementImpl):
(SVGImageElementImpl::parseMappedAttribute):
(SVGImageElementImpl::createRenderer):
(SVGImageElementImpl::attach):
* ksvg2/svg/SVGImageElementImpl.h:
2006-01-11 David Hyatt <hyatt@apple.com>
Changes to get the XML directory nearly compiling on Win32.
Down to just the gperf of cssvalues.in and a need to replace
usleep.
Reviewed by darin
* WebCore.vcproj/WebCore/WebCore.vcproj:
* khtml/config.h:
* khtml/xml/dom_stringimpl.cpp:
(DOM::DOMStringImpl::toCoordsArray):
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::error):
2006-01-11 Justin Garcia <justin.garcia@apple.com>
Replaced two asserts that I accidently removed in
the build bustage fix.
* page/Frame.cpp:
(Frame::revealSelection):
(Frame::centerSelectionInVisibleArea):
2006-01-11 Justin Garcia <justin.garcia@apple.com>
Reviewed by kevin
The removal of Frame::clearSelection() broke a layout
test. clearSelection did setSelection(SelectionController()), which
is not the same as selection().clear(). setSelection() notifies
the editing delegate of a selection change. This is non obvious
and should be fixed. Filed:
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6498>
SelectionController's setters should notify delegates of selection changes
* bridge/mac/WebCoreBridge.mm:
(-[WebCoreBridge deselectText]):
* khtml/editing/jsediting.cpp:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::clearSelectionIfNeeded):
2006-01-11 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=5870>
Double-clicking on an SVG dies in HTML editing code
<rdar://problem/4393815>
Assertion failure: result != *this (khtml::VisiblePosition::previous())
+ build bustage fix from previous checkin
Tests added (+ expected results):
* editing/selection/iframe.html: Added.
* editing/selection/inline-table.html: Added.
* editing/selection/select-box.html: Added.
Test results changed (change looks funny but is correct):
* editing/inserting/editing-empty-divs.html
Account for replaced elements with children in isCandidate and maxDeepOffset
Stop at candidates in VisiblePosition::deepEquivalent, descending will
yield positions that aren't visually equivalent.
Fixed a caret painting regression (removed downstreamDeepEquivalent)
Moved isAtomicNode and maxDeepOffset out of NodeImpl
Removed redundant code
Todo:
Move more editing functions out of NodeImpl
Improve the selection of VP candidates to fix 6476
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::SelectionController):
(khtml::SelectionController::xPosForVerticalArrowNavigation):
(khtml::SelectionController::getRangeAt):
(khtml::SelectionController::layout):
(khtml::SelectionController::adjustForEditableContent):
* khtml/editing/apply_style_command.cpp:
(khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
* khtml/editing/delete_selection_command.cpp:
(khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
(khtml::DeleteSelectionCommand::handleGeneralDelete):
* khtml/editing/htmlediting.cpp:
(khtml::isAtomicNode):
(khtml::maxDeepOffset):
(khtml::isLastVisiblePositionInSpecialElement):
(khtml::positionAfterContainingSpecialElement):
* khtml/editing/htmlediting.h:
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplaceSelectionCommand::fixupNodeStyles):
(khtml::ReplaceSelectionCommand::doApply):
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::previousVisiblePosition):
(khtml::VisiblePosition::isCandidate):
(khtml::VisiblePosition::deepEquivalent):
(khtml::VisiblePosition::character):
(khtml::makeRange):
(khtml::setStart):
(khtml::setEnd):
(khtml::enclosingBlockFlowElement):
(khtml::isFirstVisiblePositionInNode):
(khtml::isLastVisiblePositionInNode):
* khtml/editing/visible_position.h:
(khtml::VisiblePosition::setAffinity):
* khtml/editing/visible_units.cpp:
(khtml::previousLinePosition):
(khtml::nextLinePosition):
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::editingStartPosition):
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::previousNodeConsideringAtomicNodes):
(DOM::NodeImpl::nextNodeConsideringAtomicNodes):
(DOM::NodeImpl::previousLeafNode):
(DOM::NodeImpl::nextLeafNode):
(DOM::NodeImpl::isBlockFlowOrBlockTable):
(DOM::NodeImpl::enclosingBlockFlowOrTableElement):
* khtml/xml/dom_nodeimpl.h:
* khtml/xml/dom_position.cpp:
(DOM::Position::previous):
(DOM::Position::next):
(DOM::Position::atEnd):
(DOM::isStreamer):
(DOM::Position::upstream):
(DOM::Position::downstream):
* khtml/xml/dom_position.h:
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXUIElementForTextMarker:]):
* page/Frame.cpp:
(Frame::selectContentsOfNode):
2006-01-11 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- remove some selection-related methods on Frame that are just simple wrappers
of Selection methods.
* bridge/mac/MacFrame.mm:
(MacFrame::findString):
(MacFrame::advanceToNextMisspelling):
* bridge/mac/WebCoreBridge.mm:
(-[WebCoreBridge deselectText]):
(-[WebCoreBridge selectedAttributedString]):
(-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
* khtml/editing/jsediting.cpp:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::clearSelectionIfNeeded):
* page/Frame.cpp:
(Frame::selection):
(Frame::currentForm):
(Frame::revealSelection):
(Frame::centerSelectionInVisibleArea):
* page/Frame.h:
* page/FrameView.cpp:
(KHTMLView::clear):
2006-01-11 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- reduce the number of files that rebuild when you touch Frame.h
* ForwardingHeaders/ksvg2/KSVGView.h:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/MacFrame.mm:
(convertAttributesToUnderlines):
* khtml/ecma/kjs_window.cpp:
* khtml/editing/htmlediting.cpp:
* khtml/editing/typing_command.cpp:
* khtml/html/HTMLKeygenElementImpl.cpp:
(DOM::HTMLKeygenElementImpl::appendFormData):
* khtml/html/html_imageimpl.cpp:
* khtml/rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paint):
(khtml::InlineTextBox::paintMarkedTextUnderline):
* khtml/rendering/InlineTextBox.h:
* khtml/rendering/render_layer.cpp:
* khtml/xml/dom_docimpl.cpp:
* kwq/KWQAccObject.mm:
(-[KWQAccObject value]):
* kwq/KWQFileButton.h:
* kwq/KWQLineEdit.mm:
* kwq/KWQRenderTreeDebug.cpp:
(write):
* page/Frame.cpp:
(Frame::markedTextUnderlines):
* page/Frame.h:
(MarkedTextUnderline::MarkedTextUnderline):
2006-01-11 Anders Carlsson <andersca@mac.com>
Build fix.
* ForwardingHeaders/ksvg2/KSVGView.h:
Rename KHTMLView to FrameView and include FrameView.h
2006-01-11 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- renamed KHTMLPartPrivate to FramePrivate and KHTMLView to FrameView
http://bugzilla.opendarwin.org/show_bug.cgi?id=6490
(also corresponding header renames, remove headers where not
needed, and a few substantive changes to allow more header removal)
* khtml/xml/dom_docimpl.h: moved m_selectedStylesheetSet here from
KHTMLPartPrivate, since this was the only class using it.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::processHttpEquiv): ditto
(DocumentImpl::selectedStylesheetSet): ditto
(DocumentImpl::setSelectedStylesheetSet): ditto
(DocumentImpl::recalcStyleSelector): ditto
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDocument::getValueProperty): Use new isCompleted method
on Frame instead of accessing private field directly.
(KJS::getDOMDocumentNode): remove gratuitous use of view()
Just the renames:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/KWQKHTMLView.cpp:
* bridge/mac/MacFrame.h:
* bridge/mac/MacFrame.mm:
* bridge/mac/WebCoreBridge.mm:
* khtml/css/cssstyleselector.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/ecma/kjs_traversal.cpp:
* khtml/ecma/kjs_window.cpp:
* khtml/ecma/xmlhttprequest.cpp:
* khtml/editing/SelectionController.cpp:
* khtml/editing/htmlediting.cpp:
* khtml/html/html_baseimpl.cpp:
* khtml/html/html_canvasimpl.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_elementimpl.cpp:
* khtml/html/html_headimpl.cpp:
* khtml/html/html_imageimpl.cpp:
* khtml/html/html_inlineimpl.cpp:
(DOM::HTMLAnchorElementImpl::defaultEventHandler):
* khtml/html/html_objectimpl.cpp:
* khtml/html/html_tableimpl.cpp:
* khtml/html/htmlparser.cpp:
* khtml/html/htmltokenizer.cpp:
* khtml/rendering/bidi.cpp:
* khtml/rendering/render_applet.cpp:
* khtml/rendering/render_block.cpp:
* khtml/rendering/render_box.cpp:
* khtml/rendering/render_canvas.cpp:
* khtml/rendering/render_flow.cpp:
* khtml/rendering/render_form.cpp:
* khtml/rendering/render_frames.cpp:
* khtml/rendering/render_layer.cpp:
* khtml/rendering/render_line.cpp:
* khtml/rendering/render_object.cpp:
* khtml/rendering/render_replaced.cpp:
* khtml/rendering/render_table.cpp:
* khtml/rendering/render_theme_mac.mm:
* khtml/xml/dom2_eventsimpl.cpp:
* khtml/xml/dom_elementimpl.cpp:
* khtml/xml/dom_nodeimpl.cpp:
* khtml/xml/xml_tokenizer.cpp:
* khtml/xsl/xslt_processorimpl.cpp:
* kwq/KWQAccObject.mm:
* kwq/KWQFrame.mm:
* kwq/KWQKJavaAppletWidget.mm:
* kwq/KWQPageState.mm:
* kwq/KWQRenderTreeDebug.cpp:
* kwq/KWQSignalStubs.mm:
* kwq/KWQWidget.mm:
* page/Frame.cpp:
(Frame::init):
(Frame::submitForm):
(Frame::isComplete):
* page/Frame.h:
* page/FramePrivate.h: Added.
(FramePrivate::FramePrivate):
(FramePrivate::~FramePrivate):
* page/FrameView.cpp: Added.
* page/FrameView.h: Added.
* page/khtmlpart_p.h: Removed.
* page/khtmlview.cpp: Removed.
* page/khtmlview.h: Removed.
2006-01-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- moved files related to the Frame class and the forthcoming Page class
to WebCore/page
- moved files related to the MacFrame class and other bridging-related classes
to WebCore/bridge/mac
* ForwardingHeaders/ksvg2/KSVGPart.h:
* ForwardingHeaders/ksvg2/KSVGView.h:
* WebCore.xcodeproj/project.pbxproj:
* bridge: Added.
* bridge/mac: Added.
* bridge/mac/KWQKHTMLPartBrowserExtension.h: Added.
* bridge/mac/KWQKHTMLPartBrowserExtension.mm: Added.
* bridge/mac/KWQKHTMLView.cpp: Added.
* bridge/mac/KWQKPartsBrowserExtension.h: Added.
* bridge/mac/KWQKPartsBrowserInterface.mm: Added.
* bridge/mac/MacFrame.h: Added.
* bridge/mac/MacFrame.mm: Added.
* bridge/mac/WebCoreBridge.h: Added.
* bridge/mac/WebCoreBridge.mm: Added.
* khtml/Frame.cpp: Removed.
* khtml/Frame.h: Removed.
* khtml/khtmlpart_p.h: Removed.
* khtml/khtmlview.cpp: Removed.
* khtml/khtmlview.h: Removed.
* kwq/KWQKHTMLPartBrowserExtension.h: Removed.
* kwq/KWQKHTMLPartBrowserExtension.mm: Removed.
* kwq/KWQKHTMLView.cpp: Removed.
* kwq/KWQKPartsBrowserExtension.h: Removed.
* kwq/KWQKPartsBrowserInterface.mm: Removed.
* kwq/MacFrame.h: Removed.
* kwq/MacFrame.mm: Removed.
* kwq/WebCoreBridge.h: Removed.
* kwq/WebCoreBridge.mm: Removed.
* page: Added.
* page/Frame.cpp: Added.
* page/Frame.h: Added.
* page/khtmlpart_p.h: Added.
* page/khtmlview.cpp: Added.
* page/khtmlview.h: Added.
2006-01-10 David Hyatt <hyatt@apple.com>
#if Win32 the KWQMemArray overloads, since they're working around
a Windows compiler bug.
* kwq/KWQMemArray.h:
2006-01-10 David Hyatt <hyatt@apple.com>
Fix the broken ifdef in KWQString.h
* kwq/KWQString.h:
2006-01-10 hyatt@apple.com
Fix for bugzilla bug 6458, get rendering dir of WebCore
compiling on Windows.
Reviewed by darin
* ForwardingHeaders/QRectF:
* ForwardingHeaders/java/kjavaappletwidget.h:
* ForwardingHeaders/kcursor.h:
* ForwardingHeaders/kdebug.h:
* ForwardingHeaders/kglobalsettings.h:
* ForwardingHeaders/khtml_ext.h:
* ForwardingHeaders/khtml_factory.h:
* ForwardingHeaders/khtml_settings.h:
* ForwardingHeaders/kio/global.h:
* ForwardingHeaders/klocale.h:
* ForwardingHeaders/kparts/browserextension.h:
* ForwardingHeaders/kparts/event.h:
* ForwardingHeaders/kparts/part.h:
* ForwardingHeaders/kurl.h:
* ForwardingHeaders/qapplication.h:
* ForwardingHeaders/qbuffer.h:
* ForwardingHeaders/qcolor.h:
* ForwardingHeaders/qdatetime.h:
* ForwardingHeaders/qdict.h:
* ForwardingHeaders/qevent.h:
* ForwardingHeaders/qfont.h:
* ForwardingHeaders/qfontmetrics.h:
* ForwardingHeaders/qlist.h:
* ForwardingHeaders/qmap.h:
* ForwardingHeaders/qmemarray.h:
* ForwardingHeaders/qobject.h:
* ForwardingHeaders/qpaintdevicemetrics.h:
* ForwardingHeaders/qpainter.h:
* ForwardingHeaders/qpalette.h:
* ForwardingHeaders/qpen.h:
* ForwardingHeaders/qpixmap.h:
* ForwardingHeaders/qptrdict.h:
* ForwardingHeaders/qptrlist.h:
* ForwardingHeaders/qptrqueue.h:
* ForwardingHeaders/qptrstack.h:
* ForwardingHeaders/qptrvector.h:
* ForwardingHeaders/qrect.h:
* ForwardingHeaders/qregexp.h:
* ForwardingHeaders/qregion.h:
* ForwardingHeaders/qscrollbar.h:
* ForwardingHeaders/qscrollview.h:
* ForwardingHeaders/qsortedlist.h:
* ForwardingHeaders/qstring.h:
* ForwardingHeaders/qstringlist.h:
* ForwardingHeaders/qstyle.h:
* ForwardingHeaders/qtextcodec.h:
* ForwardingHeaders/qtextedit.h:
* ForwardingHeaders/qtimer.h:
* ForwardingHeaders/qvaluelist.h:
* ForwardingHeaders/qvariant.h:
* ForwardingHeaders/qwidget.h:
* ForwardingHeaders/qwmatrix.h:
* khtml/config.h:
* khtml/css/css_ruleimpl.h:
* khtml/ecma/kjs_binding.h:
* khtml/html/html_objectimpl.h:
* khtml/rendering/RenderText.cpp:
* khtml/rendering/bidi.cpp:
* khtml/rendering/break_lines.cpp:
(khtml::nextBreakablePosition):
* khtml/rendering/font.h:
(khtml::Font::width):
* khtml/rendering/render_arena.cpp:
* khtml/rendering/render_canvasimage.cpp:
* khtml/rendering/render_canvasimage.h:
* khtml/rendering/render_container.cpp:
(RenderContainer::removeChildNode):
(RenderContainer::appendChildNode):
(RenderContainer::insertChildNode):
* khtml/rendering/render_image.cpp:
(RenderImage::paint):
* khtml/rendering/render_object.cpp:
(RenderObject::remove):
* khtml/xml/dom_elementimpl.h:
(DOM::ElementImpl::mouseEventHandler):
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::dispatchEvent):
* khtml/xml/dom_stringimpl.cpp:
(DOM::DOMStringImpl::endsWith):
* kwq/KWQAccObjectCache.h:
* kwq/KWQArrayImpl.h:
(KWQArrayImpl::size):
* kwq/KWQCharsets.h:
* kwq/KWQDateTime.h:
(CFAbsoluteTimeGetCurrent):
* kwq/KWQDef.h:
* kwq/KWQFontFamily.h:
* kwq/KWQKPartsPart.h:
* kwq/KWQKURL.h:
* kwq/KWQLogging.h:
* kwq/KWQMapImpl.h:
* kwq/KWQMemArray.h:
(QMemArray::operator[]):
* kwq/KWQPainter.h:
* kwq/KWQPixmap.h:
* kwq/KWQPixmap.mm:
* kwq/KWQPtrDictImpl.h:
* kwq/KWQRegExp.h:
* kwq/KWQString.h:
* kwq/KWQTextCodec.h:
* kwq/KWQTimer.h:
(QTimer::QTimer):
(QTimer::isActive):
* kwq/KWQValueListImpl.h:
* kwq/KWQVariant.h:
* kwq/KWQWMatrix.h:
* kwq/MacFrame.h:
2006-01-10 Eric Seidel <eseidel@apple.com>
No review needed, build (linking deployment) fix only.
* kwq/MacFrame.h: remove bogus KHTMLView *view() const delcaration
2006-01-10 Eric Seidel <eseidel@apple.com>
Roll out local changes committed by accident w/ Mitz's patch.
* kwq/KWQAccObjectCache.h:
* kwq/KWQAccObjectCache.mm:
(KWQAccObjectCache::KWQAccObjectCache):
(KWQAccObjectCache::~KWQAccObjectCache):
(KWQAccObjectCache::accObject):
(KWQAccObjectCache::setAccObject):
(KWQAccObjectCache::removeAccObject):
(KWQAccObjectCache::getAccObjectID):
(KWQAccObjectCache::removeAccObjectID):
(KWQAccObjectCache::textMarkerForVisiblePosition):
(KWQAccObjectCache::visiblePositionForTextMarker):
(KWQAccObjectCache::childrenChanged):
* kwq/KWQObject.cpp:
(QObject::restartTimer):
(QObject::timerIntervals):
(deleteTimer):
(QObject::killTimer):
(deleteOneTimer):
(QObject::killTimers):
(sendDeferredTimerEvent):
2006-01-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
No tests possible, no functionality changes.
Reviewed by darin. Committed by eseidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6410
Performance regression in text relayout due to bad BidiContext
equality testing
* khtml/rendering/bidi.cpp:
(khtml::operator==): Return true if BidiContexts match and both
don't have a parent.
2006-01-10 Eric Seidel <eseidel@apple.com>
Removed broken links in project file, no review need.
* WebCore.xcodeproj/project.pbxproj:
2006-01-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- move C++-only methods down from Frame to MacFrame
* WebCore.xcodeproj/project.pbxproj:
* khtml/Frame.cpp:
(Frame::init):
(Frame::setSettings):
(Frame::provisionalLoadStarted):
(Frame::userGestureHint):
(Frame::renderer):
(Frame::selectionRect):
(Frame::isFrameSet):
(Frame::openURL):
(Frame::didNotOpenURL):
(Frame::selectionStart):
(scanForForm):
(Frame::currentForm):
(Frame::setEncoding):
(Frame::addData):
(Frame::revealSelection):
(Frame::scrollOverflow):
(Frame::paint):
(Frame::adjustPageHeight):
(Frame::pauseTimeouts):
(Frame::resumeTimeouts):
(Frame::canCachePage):
(Frame::saveWindowProperties):
(Frame::saveLocationProperties):
(Frame::restoreWindowProperties):
(Frame::restoreLocationProperties):
(Frame::saveInterpreterBuiltins):
(Frame::restoreInterpreterBuiltins):
(Frame::frameForWidget):
(Frame::frameForNode):
(Frame::nodeForWidget):
(Frame::setDocumentFocus):
(Frame::clearDocumentFocus):
(Frame::mutableInstances):
(Frame::updatePolicyBaseURL):
(Frame::setPolicyBaseURL):
(Frame::forceLayout):
(Frame::forceLayoutWithPageWidthRange):
(Frame::sendResizeEvent):
(Frame::sendScrollEvent):
(Frame::scrollbarsVisible):
(Frame::addMetaData):
(Frame::scrollToAnchor):
(Frame::closeURL):
(Frame::canMouseDownStartSelect):
(Frame::khtmlMouseDoubleClickEvent):
(Frame::passWidgetMouseDownEventToWidget):
(Frame::clearTimers):
(Frame::centerSelectionInVisibleArea):
(Frame::styleForSelectionStart):
(Frame::selectionStartOffset):
(Frame::selectionEndOffset):
(Frame::selectionEnd):
(Frame::setMediaType):
(Frame::setSelectionFromNone):
(Frame::displaysWithFocusAttributes):
(Frame::setWindowHasFocus):
(Frame::backslashAsCurrencySymbol):
(Frame::setName):
(Frame::markedTextUsesUnderlines):
(Frame::markedTextUnderlines):
(Frame::prepareForUserAction):
(Frame::isFrame):
(Frame::mousePressNode):
* khtml/Frame.h:
(Frame::instances):
(Frame::MarkedTextUnderline::MarkedTextUnderline):
* kwq/MacFrame.cpp: Removed.
* kwq/MacFrame.h:
(MacFrame::markedTextRange):
* kwq/MacFrame.mm: - humped a bunch of stuff down to Frame
* kwq/WebCoreSettings.mm:
(-[WebCoreSettings _updateAllViews]): use Mac calls
* kwq/WebCoreTextRendererFactory.mm:
(-[WebCoreTextRendererFactory clearCaches]): ditto
2006-01-10 Eric Seidel <eseidel@apple.com>
Rubber-stamped by mjs.
Split html_formimpl.{cpp,h} into multiple files (one per class)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6461
* WebCore.xcodeproj/project.pbxproj: added files
* khtml/ecma/kjs_html.cpp: updated includes
* khtml/html/FormDataList.h: Added.
* khtml/html/FormDataList.cpp: Added.
* khtml/html/HTMLButtonElementImpl.cpp: Added.
* khtml/html/HTMLButtonElementImpl.h: Added.
* khtml/html/HTMLFieldSetElementImpl.cpp: Added.
* khtml/html/HTMLFieldSetElementImpl.h: Added.
* khtml/html/HTMLFormElementImpl.cpp: Added.
* khtml/html/HTMLFormElementImpl.h: Added.
* khtml/html/HTMLGenericFormElementImpl.cpp: Added.
* khtml/html/HTMLGenericFormElementImpl.h: Added.
* khtml/html/HTMLInputElementImpl.cpp: Added.
* khtml/html/HTMLInputElementImpl.h: Added.
* khtml/html/HTMLIsIndexElementImpl.cpp: Added.
* khtml/html/HTMLIsIndexElementImpl.h: Added.
* khtml/html/HTMLKeygenElementImpl.cpp: Added.
* khtml/html/HTMLKeygenElementImpl.h: Added.
* khtml/html/HTMLLabelElementImpl.cpp: Added.
* khtml/html/HTMLLabelElementImpl.h: Added.
* khtml/html/HTMLLegendElementImpl.cpp: Added.
* khtml/html/HTMLLegendElementImpl.h: Added.
* khtml/html/HTMLOptGroupElementImpl.cpp: Added.
* khtml/html/HTMLOptGroupElementImpl.h: Added.
* khtml/html/HTMLOptionElementImpl.cpp: Added.
* khtml/html/HTMLOptionElementImpl.h: Added.
* khtml/html/HTMLOptionsCollectionImpl.h: Added.
* khtml/html/HTMLSelectElementImpl.cpp: Added.
* khtml/html/HTMLSelectElementImpl.h: Added.
* khtml/html/HTMLTextAreaElementImpl.cpp: Added.
* khtml/html/HTMLTextAreaElementImpl.h: Added.
* khtml/html/html_documentimpl.cpp: updated includes
* khtml/html/html_imageimpl.cpp: updated includes
* khtml/html/html_miscimpl.cpp: updated includes
* khtml/html/html_objectimpl.cpp: updated includes
* khtml/html/htmlfactory.cpp: updated includes
* khtml/html/htmlparser.cpp: updated includes
* khtml/khtmlview.cpp: updated includes
* khtml/rendering/render_block.cpp: updated includes
* khtml/rendering/render_button.cpp: updated includes
* khtml/rendering/render_canvasimage.cpp: updated includes
* khtml/rendering/render_flow.cpp: updated includes
* khtml/rendering/render_form.cpp: updated includes
* khtml/rendering/render_form.h: updated includes
* khtml/rendering/render_image.cpp: updated includes
* khtml/rendering/render_line.cpp: updated includes
* khtml/rendering/render_theme.cpp: updated includes
* khtml/xml/dom_docimpl.cpp: updated includes
* kwq/DOMHTML.mm: updated includes
* kwq/KWQAccObject.mm: updated includes
* kwq/MacFrame.mm: updated includes
* kwq/WebCoreBridge.mm: updated includes
2006-01-09 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6446
Allow surrogate pairs in numeric entities
Test case: fast/parser/entity-surrogate-pairs.html
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::parseEntity): Don't check if we got a surrogate.
2006-01-09 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Further code removal (and build fix!)
* khtml/Frame.cpp:
(Frame::init):
(Frame::~Frame):
(Frame::restoreURL):
(Frame::didOpenURL):
(Frame::baseURL):
(Frame::baseTarget):
* khtml/Frame.h:
(Frame::khtmlMouseDoubleClickEvent):
(Frame::khtmlDrawContentsEvent):
* kwq/KWQLoader.mm:
(KWQServeRequest):
* kwq/KWQSlot.mm:
(KWQSlot::KWQSlot):
(KWQSlot::call):
2006-01-09 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove unused code from Frame.
* khtml/Frame.cpp:
(Frame::clear):
(Frame::receivedFirstData):
(Frame::checkCompleted):
(Frame::completeURL):
(Frame::khtmlMousePressEvent):
(Frame::handleMouseMoveEventSelection):
(Frame::khtmlMouseReleaseEvent):
* khtml/Frame.h:
* khtml/khtmlpart_p.h:
* khtml/khtmlview.cpp:
(KHTMLView::viewportWheelEvent):
(KHTMLView::focusOutEvent):
2006-01-09 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Remove khtml-specific forwarding headers.
* ForwardingHeaders/css: Removed.
* ForwardingHeaders/css/css_base.h: Removed.
* ForwardingHeaders/css/css_computedstyle.h: Removed.
* ForwardingHeaders/css/css_ruleimpl.h: Removed.
* ForwardingHeaders/css/css_stylesheetimpl.h: Removed.
* ForwardingHeaders/css/css_valueimpl.h: Removed.
* ForwardingHeaders/css/csshelper.h: Removed.
* ForwardingHeaders/css/cssparser.h: Removed.
* ForwardingHeaders/css/cssproperties.h: Removed.
* ForwardingHeaders/css/cssstyleselector.h: Removed.
* ForwardingHeaders/css/cssvalues.h: Removed.
* ForwardingHeaders/dom: Removed.
* ForwardingHeaders/dom/css_rule.h: Removed.
* ForwardingHeaders/dom/css_stylesheet.h: Removed.
* ForwardingHeaders/dom/css_value.h: Removed.
* ForwardingHeaders/dom/dom2_events.h: Removed.
* ForwardingHeaders/dom/dom2_range.h: Removed.
* ForwardingHeaders/dom/dom2_traversal.h: Removed.
* ForwardingHeaders/dom/dom_exception.h: Removed.
* ForwardingHeaders/dom/dom_node.h: Removed.
* ForwardingHeaders/dom/dom_string.h: Removed.
* ForwardingHeaders/ecma: Removed.
* ForwardingHeaders/ecma/kjs_binding.h: Removed.
* ForwardingHeaders/ecma/kjs_dom.h: Removed.
* ForwardingHeaders/ecma/kjs_proxy.h: Removed.
* ForwardingHeaders/editing: Removed.
* ForwardingHeaders/editing/SelectionController.h: Removed.
* ForwardingHeaders/editing/edit_actions.h: Removed.
* ForwardingHeaders/editing/html_interchange.h: Removed.
* ForwardingHeaders/editing/htmlediting.h: Removed.
* ForwardingHeaders/editing/jsediting.h: Removed.
* ForwardingHeaders/editing/markup.h: Removed.
* ForwardingHeaders/editing/text_affinity.h: Removed.
* ForwardingHeaders/editing/text_granularity.h: Removed.
* ForwardingHeaders/editing/visible_position.h: Removed.
* ForwardingHeaders/editing/visible_text.h: Removed.
* ForwardingHeaders/editing/visible_units.h: Removed.
* ForwardingHeaders/html: Removed.
* ForwardingHeaders/html/html_baseimpl.h: Removed.
* ForwardingHeaders/html/html_blockimpl.h: Removed.
* ForwardingHeaders/html/html_canvasimpl.h: Removed.
* ForwardingHeaders/html/html_documentimpl.h: Removed.
* ForwardingHeaders/html/html_elementimpl.h: Removed.
* ForwardingHeaders/html/html_formimpl.h: Removed.
* ForwardingHeaders/html/html_headimpl.h: Removed.
* ForwardingHeaders/html/html_imageimpl.h: Removed.
* ForwardingHeaders/html/html_inlineimpl.h: Removed.
* ForwardingHeaders/html/html_listimpl.h: Removed.
* ForwardingHeaders/html/html_miscimpl.h: Removed.
* ForwardingHeaders/html/html_objectimpl.h: Removed.
* ForwardingHeaders/html/html_tableimpl.h: Removed.
* ForwardingHeaders/html/htmlparser.h: Removed.
* ForwardingHeaders/html/htmltokenizer.h: Removed.
* ForwardingHeaders/misc: Removed.
* ForwardingHeaders/misc/decoder.h: Removed.
* ForwardingHeaders/misc/formdata.h: Removed.
* ForwardingHeaders/misc/helper.h: Removed.
* ForwardingHeaders/misc/khtmllayout.h: Removed.
* ForwardingHeaders/misc/loader.h: Removed.
* ForwardingHeaders/misc/loader_client.h: Removed.
* ForwardingHeaders/misc/shared.h: Removed.
* ForwardingHeaders/misc/stringit.h: Removed.
* ForwardingHeaders/rendering: Removed.
* ForwardingHeaders/rendering/font.h: Removed.
* ForwardingHeaders/rendering/render_applet.h: Removed.
* ForwardingHeaders/rendering/render_block.h: Removed.
* ForwardingHeaders/rendering/render_box.h: Removed.
* ForwardingHeaders/rendering/render_br.h: Removed.
* ForwardingHeaders/rendering/render_canvas.h: Removed.
* ForwardingHeaders/rendering/render_canvasimage.h: Removed.
* ForwardingHeaders/rendering/render_flow.h: Removed.
* ForwardingHeaders/rendering/render_form.h: Removed.
* ForwardingHeaders/rendering/render_frames.h: Removed.
* ForwardingHeaders/rendering/render_image.h: Removed.
* ForwardingHeaders/rendering/render_layer.h: Removed.
* ForwardingHeaders/rendering/render_line.h: Removed.
* ForwardingHeaders/rendering/render_list.h: Removed.
* ForwardingHeaders/rendering/render_object.h: Removed.
* ForwardingHeaders/rendering/render_replaced.h: Removed.
* ForwardingHeaders/rendering/render_style.h: Removed.
* ForwardingHeaders/rendering/render_table.h: Removed.
* ForwardingHeaders/rendering/table_layout.h: Removed.
* ForwardingHeaders/xbl: Removed.
* ForwardingHeaders/xbl/xbl_binding_manager.h: Removed.
* ForwardingHeaders/xml: Removed.
* ForwardingHeaders/xml/EventNames.h: Removed.
* ForwardingHeaders/xml/dom2_eventsimpl.h: Removed.
* ForwardingHeaders/xml/dom2_rangeimpl.h: Removed.
* ForwardingHeaders/xml/dom2_traversalimpl.h: Removed.
* ForwardingHeaders/xml/dom2_viewsimpl.h: Removed.
* ForwardingHeaders/xml/dom_atomicstring.h: Removed.
* ForwardingHeaders/xml/dom_docimpl.h: Removed.
* ForwardingHeaders/xml/dom_elementimpl.h: Removed.
* ForwardingHeaders/xml/dom_nodeimpl.h: Removed.
* ForwardingHeaders/xml/dom_position.h: Removed.
* ForwardingHeaders/xml/dom_stringimpl.h: Removed.
* ForwardingHeaders/xml/dom_textimpl.h: Removed.
* ForwardingHeaders/xml/dom_xmlimpl.h: Removed.
* ForwardingHeaders/xml/xml_tokenizer.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* khtml/css/css_valueimpl.cpp:
* khtml/css/cssstyleselector.cpp:
* khtml/editing/apply_style_command.cpp:
* khtml/editing/jsediting.cpp:
* khtml/editing/replace_selection_command.cpp:
* khtml/html/html_baseimpl.cpp:
* khtml/html/html_blockimpl.cpp:
* khtml/html/html_canvasimpl.cpp:
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_elementimpl.cpp:
* khtml/html/html_formimpl.cpp:
* khtml/html/html_imageimpl.cpp:
* khtml/html/html_inlineimpl.cpp:
* khtml/html/html_listimpl.cpp:
* khtml/html/html_objectimpl.cpp:
* khtml/html/html_tableimpl.cpp:
* khtml/html/htmlparser.cpp:
* khtml/khtml_part.cpp:
* khtml/misc/decoder.cpp:
* khtml/rendering/render_frames.cpp:
* khtml/xml/dom_elementimpl.cpp:
2006-01-10 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
- renamed ChildFrame::m_frame to m_renderer and
ChildFrame::m_part to m_frame which makes more sense.
This also fixes some bugs which were introduced in Maciej's
previous commit.
* khtml/Frame.cpp:
(Frame::stopLoading):
(Frame::clear):
(Frame::stopAnimations):
(Frame::checkEmitLoadEvent):
(Frame::requestFrame):
(Frame::requestObject):
(Frame::processObjectRequest):
(Frame::childFrame):
(Frame::findFrame):
(Frame::frameExists):
(Frame::setZoomFactor):
(Frame::frames):
(Frame::childFrameNamed):
(Frame::connectChild):
(Frame::disconnectChild):
(Frame::handleFallbackContent):
* khtml/khtmlpart_p.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::ownerElement):
* kwq/MacFrame.mm:
(Frame::frameDetached):
(MacFrame::createPart):
(MacFrame::nextKeyViewInFrameHierarchy):
(MacFrame::setPolicyBaseURL):
2006-01-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6450
- renamed KHTMLPart to Frame (and KWQKHTMLPart to MacFrame for now)
* ForwardingHeaders/ksvg2/KSVGPart.h:
* WebCore.xcodeproj/project.pbxproj:
* khtml/Frame.cpp: Added.
(khtml::PartStyleSheetLoader::PartStyleSheetLoader):
(khtml::PartStyleSheetLoader::setStyleSheet):
(Frame::Frame):
(Frame::init):
(Frame::~Frame):
(Frame::restoreURL):
(Frame::didOpenURL):
(Frame::didExplicitOpen):
(Frame::stopLoading):
(Frame::closeURL):
(Frame::browserExtension):
(Frame::view):
(Frame::setJScriptEnabled):
(Frame::jScriptEnabled):
(Frame::setMetaRefreshEnabled):
(Frame::metaRefreshEnabled):
(Frame::jScript):
(Frame::replaceContentsWithScriptResult):
(Frame::executeScript):
(Frame::scheduleScript):
(Frame::executeScheduledScript):
(Frame::setJavaEnabled):
(Frame::javaEnabled):
(Frame::setPluginsEnabled):
(Frame::pluginsEnabled):
(Frame::slotDebugDOMTree):
(Frame::slotDebugRenderTree):
(Frame::setAutoloadImages):
(Frame::autoloadImages):
(Frame::clear):
(Frame::openFile):
(Frame::xmlDocImpl):
(Frame::replaceDocImpl):
(Frame::receivedFirstData):
(Frame::slotFinished):
(Frame::childBegin):
(Frame::begin):
(Frame::write):
(Frame::end):
(Frame::endIfNotLoading):
(Frame::stop):
(Frame::stopAnimations):
(Frame::gotoAnchor):
(Frame::slotFinishedParsing):
(Frame::slotLoaderRequestStarted):
(Frame::slotLoaderRequestDone):
(Frame::checkCompleted):
(Frame::checkEmitLoadEvent):
(Frame::settings):
(Frame::baseURL):
(Frame::baseTarget):
(Frame::completeURL):
(Frame::scheduleRedirection):
(Frame::scheduleLocationChange):
(Frame::isScheduledLocationChangePending):
(Frame::scheduleHistoryNavigation):
(Frame::cancelRedirection):
(Frame::changeLocation):
(Frame::slotRedirect):
(Frame::slotRedirection):
(Frame::encoding):
(Frame::setUserStyleSheet):
(Frame::setStandardFont):
(Frame::setFixedFont):
(Frame::urlCursor):
(Frame::onlyLocalReferences):
(Frame::setOnlyLocalReferences):
(Frame::selectedText):
(Frame::hasSelection):
(Frame::selection):
(Frame::selectionGranularity):
(Frame::setSelectionGranularity):
(Frame::dragCaret):
(Frame::mark):
(Frame::setMark):
(Frame::setSelection):
(Frame::setDragCaret):
(Frame::clearSelection):
(Frame::invalidateSelection):
(Frame::setCaretVisible):
(Frame::clearCaretRectIfNeeded):
(isFrameElement):
(Frame::setFocusNodeIfNeeded):
(Frame::selectionLayoutChanged):
(Frame::setXPosForVerticalArrowNavigation):
(Frame::xPosForVerticalArrowNavigation):
(Frame::timerEvent):
(Frame::paintCaret):
(Frame::paintDragCaret):
(Frame::urlSelected):
(Frame::requestFrame):
(Frame::requestFrameName):
(Frame::requestObject):
(Frame::processObjectRequest):
(Frame::submitFormAgain):
(Frame::submitForm):
(Frame::slotParentCompleted):
(Frame::slotChildStarted):
(Frame::slotChildCompleted):
(Frame::childFrame):
(Frame::findFrame):
(Frame::frameExists):
(Frame::parentFrame):
(Frame::zoomFactor):
(Frame::slotIncZoom):
(Frame::slotDecZoom):
(Frame::setZoomFactor):
(Frame::setJSStatusBarText):
(Frame::setJSDefaultStatusBarText):
(Frame::jsStatusBarText):
(Frame::jsDefaultStatusBarText):
(Frame::referrer):
(Frame::lastModified):
(Frame::reparseConfiguration):
(Frame::frameNames):
(Frame::frames):
(Frame::childFrameNamed):
(Frame::setDNDEnabled):
(Frame::dndEnabled):
(Frame::shouldDragAutoNode):
(Frame::customEvent):
(Frame::isPointInsideSelection):
(Frame::selectClosestWordFromMouseEvent):
(Frame::handleMousePressEventDoubleClick):
(Frame::handleMousePressEventTripleClick):
(Frame::handleMousePressEventSingleClick):
(Frame::khtmlMousePressEvent):
(Frame::khtmlMouseDoubleClickEvent):
(Frame::handleMouseMoveEventSelection):
(Frame::khtmlMouseMoveEvent):
(Frame::khtmlMouseReleaseEvent):
(Frame::khtmlDrawContentsEvent):
(Frame::startAutoScroll):
(Frame::stopAutoScroll):
(Frame::selectAll):
(Frame::selectContentsOfNode):
(Frame::shouldChangeSelection):
(Frame::shouldBeginEditing):
(Frame::shouldEndEditing):
(Frame::isContentEditable):
(Frame::lastEditCommand):
(Frame::appliedEditing):
(Frame::unappliedEditing):
(Frame::reappliedEditing):
(Frame::typingStyle):
(Frame::setTypingStyle):
(Frame::clearTypingStyle):
(Frame::slotPartRemoved):
(Frame::createHTMLEventListener):
(Frame::opener):
(Frame::setOpener):
(Frame::openedByJS):
(Frame::setOpenedByJS):
(Frame::preloadStyleSheet):
(Frame::preloadScript):
(Frame::restored):
(Frame::incrementFrameCount):
(Frame::decrementFrameCount):
(Frame::topLevelFrameCount):
(Frame::tabsToLinks):
(Frame::tabsToAllControls):
(Frame::copyToPasteboard):
(Frame::cutToPasteboard):
(Frame::pasteFromPasteboard):
(Frame::pasteAndMatchStyle):
(Frame::transpose):
(Frame::redo):
(Frame::undo):
(Frame::computeAndSetTypingStyle):
(Frame::applyStyle):
(Frame::applyParagraphStyle):
(updateState):
(Frame::selectionHasStyle):
(Frame::selectionStartHasStyle):
(Frame::selectionStartStylePropertyValue):
(Frame::selectionComputedStyle):
(Frame::applyEditingStyleToBodyElement):
(Frame::removeEditingStyleFromBodyElement):
(Frame::applyEditingStyleToElement):
(Frame::removeEditingStyleFromElement):
(Frame::isCharacterSmartReplaceExempt):
(Frame::connectChild):
(Frame::disconnectChild):
(Frame::keepAlive):
(Frame::slotEndLifeSupport):
(Frame::selectFrameElementInParentIfFullySelected):
(Frame::handleFallbackContent):
* khtml/Frame.h: Added.
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::CSSStyleSelector):
(khtml::CSSStyleSelector::initForStyleResolve):
(khtml::CSSStyleSelector::checkOneSelector):
(khtml::CSSStyleSelector::applyProperty):
(khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* khtml/css/cssstyleselector.h:
* khtml/ecma/kjs_binding.cpp:
(KJS::ScriptInterpreter::ScriptInterpreter):
(KJS::ScriptInterpreter::~ScriptInterpreter):
* khtml/ecma/kjs_binding.h:
(KJS::ScriptInterpreter::frame):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDocument::getValueProperty):
(KJS::getDOMDocumentNode):
(KJS::checkNodeSecurity):
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
(KJS::JSLazyEventListener::parseCode):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLDocFunction::callAsFunction):
(KJS::HTMLDocument::namedItemGetter):
(KJS::HTMLDocument::getValueProperty):
(KJS::KJS::HTMLDocument::putValueProperty):
(KJS::HTMLElement::framesetNameGetter):
(KJS::HTMLElement::frameWindowPropertyGetter):
(KJS::HTMLElement::getOwnPropertySlot):
(KJS::KJS::HTMLElement::implementsCall):
(KJS::Image::notifyFinished):
* khtml/ecma/kjs_navigator.cpp:
(KJS::Navigator::Navigator):
(KJS::Navigator::getValueProperty):
(KJS::NavigatorFunc::callAsFunction):
* khtml/ecma/kjs_navigator.h:
(KJS::Navigator::frame):
* khtml/ecma/kjs_proxy.cpp:
(KJSProxyImpl::KJSProxyImpl):
(KJSProxyImpl::evaluate):
(KJSProxyImpl::clear):
(KJSProxyImpl::createHTMLEventHandler):
(KJSProxyImpl::interpreter):
(KJSProxyImpl::initScript):
* khtml/ecma/kjs_proxy.h:
* khtml/ecma/kjs_traversal.cpp:
(KJS::JSNodeFilterCondition::acceptNode):
* khtml/ecma/kjs_window.cpp:
(KJS::History::History):
(KJS::FrameArray::FrameArray):
(KJS::Screen::getValueProperty):
(KJS::Window::Window):
(KJS::Window::interpreter):
(KJS::Window::retrieveWindow):
(KJS::Window::retrieve):
(KJS::Window::location):
(KJS::Window::selection):
(KJS::Window::locationbar):
(KJS::Window::menubar):
(KJS::Window::personalbar):
(KJS::Window::statusbar):
(KJS::Window::toolbar):
(KJS::Window::scrollbars):
(KJS::allowPopUp):
(KJS::createNewWindow):
(KJS::canShowModalDialog):
(KJS::canShowModalDialogNow):
(KJS::showModalDialog):
(KJS::Window::getValueProperty):
(KJS::Window::childFrameGetter):
(KJS::Window::namedFrameGetter):
(KJS::Window::indexGetter):
(KJS::Window::namedItemGetter):
(KJS::Window::getOwnPropertySlot):
(KJS::Window::put):
(KJS::Window::toBoolean):
(KJS::Window::scheduleClose):
(KJS::Window::isSafeScript):
(KJS::Window::setListener):
(KJS::Window::getListener):
(KJS::Window::setCurrentEvent):
(KJS::WindowFunc::callAsFunction):
(KJS::Window::updateLayout):
(KJS::ScheduledAction::execute):
(KJS::WindowQObject::WindowQObject):
(KJS::FrameArray::getValueProperty):
(KJS::FrameArray::indexGetter):
(KJS::FrameArray::nameGetter):
(KJS::FrameArray::getOwnPropertySlot):
(KJS::Location::Location):
(KJS::Location::getValueProperty):
(KJS::Location::getOwnPropertySlot):
(KJS::Location::put):
(KJS::Location::toString):
(KJS::LocationFunc::callAsFunction):
(KJS::Selection::Selection):
(KJS::Selection::getValueProperty):
(KJS::Selection::getOwnPropertySlot):
(KJS::Selection::toString):
(KJS::SelectionFunc::callAsFunction):
(KJS::BarInfo::BarInfo):
(KJS::BarInfo::getValueProperty):
(KJS::BarInfo::getOwnPropertySlot):
(KJS::History::getValueProperty):
(KJS::HistoryFunc::callAsFunction):
* khtml/ecma/kjs_window.h:
(KJS::Window::frame):
(KJS::Location::frame):
(KJS::Selection::frame):
(KJS::BarInfo::frame):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::changeState):
(KJS::XMLHttpRequestProtoFunc::callAsFunction):
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::modify):
(khtml::SelectionController::xPosForVerticalArrowNavigation):
* khtml/editing/SelectionController.h:
(khtml::SelectionController::frame):
* khtml/editing/delete_selection_command.cpp:
(khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
* khtml/editing/edit_command.cpp:
(khtml::EditCommand::EditCommand):
(khtml::EditCommand::apply):
(khtml::EditCommand::unapply):
(khtml::EditCommand::reapply):
(khtml::EditCommand::styleAtPosition):
* khtml/editing/htmlediting.cpp:
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/insert_text_command.cpp:
(khtml::InsertTextCommand::input):
* khtml/editing/jsediting.cpp:
(DOM::JSEditor::execCommand):
(DOM::JSEditor::queryCommandEnabled):
(DOM::JSEditor::queryCommandIndeterm):
(DOM::JSEditor::queryCommandState):
(DOM::JSEditor::queryCommandValue):
* khtml/editing/jsediting.h:
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplaceSelectionCommand::doApply):
* khtml/editing/text_granularity.h:
* khtml/editing/typing_command.cpp:
(khtml::TypingCommand::deleteKeyPressed):
(khtml::TypingCommand::forwardDeleteKeyPressed):
(khtml::TypingCommand::insertText):
(khtml::TypingCommand::insertLineBreak):
(khtml::TypingCommand::insertParagraphSeparatorInQuotedContent):
(khtml::TypingCommand::insertParagraphSeparator):
(khtml::TypingCommand::markMisspellingsAfterTyping):
(khtml::TypingCommand::typingAddedToOpenCommand):
(khtml::TypingCommand::insertTextRunWithoutNewlines):
* khtml/html/html_baseimpl.cpp:
(HTMLFrameElementImpl::isURLAllowed):
(HTMLFrameElementImpl::openURL):
(HTMLFrameElementImpl::attach):
(HTMLFrameElementImpl::close):
(HTMLFrameElementImpl::contentPart):
(HTMLFrameElementImpl::contentDocument):
(HTMLIFrameElementImpl::attach):
* khtml/html/html_baseimpl.h:
* khtml/html/html_canvasimpl.cpp:
* khtml/html/html_documentimpl.cpp:
(DOM::HTMLDocumentImpl::lastModified):
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::isContentEditable):
(HTMLElementImpl::setContentEditable):
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::formData):
(DOM::HTMLFormElementImpl::prepareSubmit):
(DOM::HTMLFormElementImpl::submit):
(DOM::HTMLFormElementImpl::reset):
(DOM::HTMLGenericFormElementImpl::isKeyboardFocusable):
(DOM::HTMLKeygenElementImpl::appendFormData):
* khtml/html/html_headimpl.cpp:
(HTMLBaseElementImpl::process):
(HTMLLinkElementImpl::process):
(HTMLScriptElementImpl::parseMappedAttribute):
(HTMLScriptElementImpl::insertedIntoDocument):
(HTMLScriptElementImpl::evaluateScript):
* khtml/html/html_imageimpl.cpp:
* khtml/html/html_inlineimpl.cpp:
(DOM::HTMLAnchorElementImpl::isKeyboardFocusable):
(DOM::HTMLAnchorElementImpl::defaultEventHandler):
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLAppletElementImpl::createRenderer):
(DOM::HTMLAppletElementImpl::getAppletInstance):
(DOM::HTMLEmbedElementImpl::getEmbedInstance):
(DOM::HTMLEmbedElementImpl::rendererIsNeeded):
(DOM::HTMLObjectElementImpl::getObjectInstance):
(DOM::HTMLObjectElementImpl::rendererIsNeeded):
* khtml/html/html_tableimpl.cpp:
* khtml/html/htmlparser.cpp:
(HTMLParser::noscriptCreateErrorCheck):
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::scriptHandler):
(khtml::HTMLTokenizer::scriptExecution):
(khtml::HTMLTokenizer::parseTag):
(khtml::HTMLTokenizer::write):
(khtml::HTMLTokenizer::stopParsing):
(khtml::HTMLTokenizer::timerEvent):
(khtml::HTMLTokenizer::processToken):
* khtml/khtml_part.cpp: Removed.
* khtml/khtml_part.h: Removed.
* khtml/khtmlpart_p.h:
(KHTMLPartPrivate::KHTMLPartPrivate):
* khtml/khtmlview.cpp:
(KHTMLView::KHTMLView):
(KHTMLView::~KHTMLView):
(KHTMLView::clearPart):
(KHTMLView::clear):
(KHTMLView::resizeEvent):
(KHTMLView::adjustViewSize):
(KHTMLView::layout):
(KHTMLView::updateDashboardRegions):
(KHTMLView::viewportMousePressEvent):
(KHTMLView::viewportMouseDoubleClickEvent):
(selectCursor):
(KHTMLView::viewportMouseMoveEvent):
(KHTMLView::viewportMouseReleaseEvent):
(KHTMLView::keyPressEvent):
(KHTMLView::dispatchDragEvent):
(KHTMLView::updateDragAndDrop):
(KHTMLView::focusNextPrevNode):
(KHTMLView::mediaType):
(KHTMLView::dispatchMouseEvent):
(KHTMLView::viewportWheelEvent):
(KHTMLView::focusInEvent):
(KHTMLView::focusOutEvent):
(KHTMLView::timerEvent):
(KHTMLView::scheduleRelayout):
(KHTMLView::unscheduleRelayout):
* khtml/khtmlview.h:
(KHTMLView::frame):
* khtml/misc/CachedImageCallback.cpp:
(khtml::CachedImageCallback::notifyUpdate):
(khtml::CachedImageCallback::notifyFinished):
(khtml::CachedImageCallback::clear):
* khtml/misc/CachedObject.h:
* khtml/misc/DocLoader.cpp:
(khtml::DocLoader::DocLoader):
(khtml::DocLoader::requestImage):
(khtml::DocLoader::requestStyleSheet):
(khtml::DocLoader::requestScript):
(khtml::DocLoader::requestXSLStyleSheet):
(khtml::DocLoader::requestXBLDocument):
* khtml/misc/DocLoader.h:
(khtml::DocLoader::frame):
* khtml/misc/loader.cpp:
(khtml::Loader::slotReceivedResponse):
* khtml/rendering/InlineTextBox.cpp:
(khtml::InlineTextBox::paint):
(khtml::InlineTextBox::paintMarkedTextUnderline):
* khtml/rendering/InlineTextBox.h:
* khtml/rendering/render_applet.cpp:
(RenderApplet::createWidgetIfNecessary):
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::paintCaret):
* khtml/rendering/render_canvas.cpp:
* khtml/rendering/render_form.cpp:
(RenderFileButton::RenderFileButton):
* khtml/rendering/render_frames.cpp:
(isURLAllowed):
(RenderPartObject::updateWidget):
* khtml/rendering/render_layer.cpp:
* khtml/rendering/render_object.cpp:
(RenderObject::draggableNode):
* khtml/rendering/render_replaced.cpp:
(RenderWidget::eventFilter):
* khtml/xml/dom2_eventsimpl.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::updateTitle):
(DocumentImpl::frame):
(DocumentImpl::recalcStyle):
(DocumentImpl::updateSelection):
(DocumentImpl::open):
(DocumentImpl::close):
(DocumentImpl::implicitClose):
(DocumentImpl::processHttpEquiv):
(DocumentImpl::selectedStylesheetSet):
(DocumentImpl::setSelectedStylesheetSet):
(DocumentImpl::recalcStyleSelector):
(DocumentImpl::relinquishesEditingFocus):
(DocumentImpl::acceptsEditingFocus):
(DocumentImpl::clearSelectionIfNeeded):
(DocumentImpl::createHTMLEventListener):
(DocumentImpl::ownerElement):
(DocumentImpl::referrer):
(DocumentImpl::parentDocument):
* khtml/xml/dom_docimpl.h:
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::focus):
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::dispatchEvent):
* khtml/xml/dom_xmlimpl.cpp:
(DOM::ProcessingInstructionImpl::checkStyleSheet):
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::processingInstruction):
(khtml::XMLTokenizer::executeScripts):
(khtml::XMLTokenizer::notifyFinished):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource):
* ksvg2/svg/SVGAElementImpl.cpp:
(SVGAElementImpl::defaultEventHandler):
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::notifyFinished):
* kwq/DOM.mm:
(-[DOMNode KJS::Bindings::]):
* kwq/DOMHTML.mm:
* kwq/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]):
* kwq/KWQAccObject.mm:
(-[KWQAccObject textUnderElement]):
(-[KWQAccObject value]):
(-[KWQAccObject accessibilityPerformAction:]):
(-[KWQAccObject accessibilityAttributeValue:]):
(-[KWQAccObject doAXTextMarkerForPosition:]):
(-[KWQAccObject rendererForView:]):
(-[KWQAccObject doSetAXSelectedTextMarkerRange:]):
* kwq/KWQClipboard.h:
* kwq/KWQClipboard.mm:
(KWQClipboard::KWQClipboard):
(KWQClipboard::dragNSImage):
* kwq/KWQComboBox.mm:
(-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
(-[KWQPopUpButton becomeFirstResponder]):
(-[KWQPopUpButton resignFirstResponder]):
(-[KWQPopUpButton nextKeyView]):
(-[KWQPopUpButton previousKeyView]):
* kwq/KWQFileButton.h:
* kwq/KWQFileButton.mm:
(KWQFileButton::KWQFileButton):
(KWQFileButton::focusPolicy):
(KWQFileButton::focusChanged):
* kwq/KWQFrame.mm:
(QFrame::setFrameStyle):
* kwq/KWQKHTMLFactory.h:
* kwq/KWQKHTMLPart.cpp: Removed.
* kwq/KWQKHTMLPart.h: Removed.
* kwq/KWQKHTMLPart.mm: Removed.
* kwq/KWQKHTMLPartBrowserExtension.h:
* kwq/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::KHTMLPartBrowserExtension):
(KHTMLPartBrowserExtension::openURLRequest):
(KHTMLPartBrowserExtension::createNewWindow):
(KHTMLPartBrowserExtension::setIconURL):
(KHTMLPartBrowserExtension::setTypedIconURL):
(KHTMLPartBrowserExtension::canRunModal):
(KHTMLPartBrowserExtension::canRunModalNow):
(KHTMLPartBrowserExtension::runModal):
* kwq/KWQKHTMLView.cpp:
(KHTMLView::topLevelWidget):
* kwq/KWQKJavaAppletWidget.h:
* kwq/KWQKJavaAppletWidget.mm:
(KJavaAppletWidget::KJavaAppletWidget):
* kwq/KWQKPartsBrowserInterface.h:
(KParts::BrowserInterface::BrowserInterface):
* kwq/KWQKPartsBrowserInterface.mm:
(KParts::BrowserInterface::property):
(KParts::BrowserInterface::callMethod):
* kwq/KWQLineEdit.mm:
* kwq/KWQListBox.mm:
(-[KWQListBoxScrollView becomeFirstResponder]):
(-[KWQTableView keyDown:]):
(-[KWQTableView keyUp:]):
(-[KWQTableView becomeFirstResponder]):
(-[KWQTableView resignFirstResponder]):
(-[KWQTableView nextKeyView]):
(-[KWQTableView previousKeyView]):
* kwq/KWQLoader.mm:
(KWQServeRequest):
(KWQServeSynchronousRequest):
(KWQCheckIfReloading):
(KWQCheckCacheObjectStatus):
(KWQCacheObjectExpiresTime):
* kwq/KWQObject.cpp:
(QObject::inherits):
(QObject::isFrame):
* kwq/KWQObject.h:
* kwq/KWQPageState.mm:
(-[KWQPageState dealloc]):
(-[KWQPageState finalize]):
* kwq/KWQRegExp.cpp:
(QRegExp::KWQRegExpPrivate::compile):
* kwq/KWQRenderTreeDebug.cpp:
(write):
(writeSelection):
* kwq/KWQSlider.mm:
(-[KWQSlider becomeFirstResponder]):
(-[KWQSlider resignFirstResponder]):
(-[KWQSlider nextKeyView]):
(-[KWQSlider previousKeyView]):
(-[KWQSlider canBecomeKeyView]):
(QSlider::focusPolicy):
* kwq/KWQSlot.mm:
(KWQSlot::KWQSlot):
(KWQSlot::call):
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView textDidChange:]):
(-[KWQTextAreaTextView _isResizableByUser]):
(-[KWQTextAreaTextView becomeFirstResponder]):
(-[KWQTextAreaTextView nextKeyView]):
(-[KWQTextAreaTextView previousKeyView]):
(-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
(-[KWQTextAreaTextView drawRect:]):
(-[KWQTextAreaTextView insertTab:]):
(-[KWQTextAreaTextView insertBacktab:]):
(-[KWQTextAreaTextView resignFirstResponder]):
(-[KWQTextAreaTextView shouldDrawInsertionPoint]):
(-[KWQTextAreaTextView selectedTextAttributes]):
(-[KWQTextAreaTextView keyDown:]):
(-[KWQTextAreaTextView keyUp:]):
* kwq/KWQTextField.mm:
(-[KWQTextFieldController controlTextDidBeginEditing:]):
(-[KWQTextFieldController controlTextDidEndEditing:]):
(-[KWQTextFieldController controlTextDidChange:]):
(-[KWQTextFieldController control:textView:doCommandBySelector:]):
(-[KWQTextFieldController textView:shouldHandleEvent:]):
(-[KWQTextFieldController setHasFocus:]):
(-[KWQTextField nextKeyView]):
(-[KWQTextField previousKeyView]):
(-[KWQSecureTextField nextKeyView]):
(-[KWQSecureTextField previousKeyView]):
(-[KWQSearchField nextKeyView]):
(-[KWQSearchField previousKeyView]):
* kwq/KWQTimer.h:
* kwq/KWQWidget.mm:
(QWidget::setActiveWindow):
(QWidget::hasFocus):
(QWidget::setFocus):
(QWidget::clearFocus):
(QWidget::isVisible):
(QWidget::mapFromGlobal):
(QWidget::setIsSelected):
* kwq/MacFrame.cpp: Added.
(MacFrame::isFrameSet):
* kwq/MacFrame.h: Added.
(MacFrame::instances):
(Mac):
* kwq/MacFrame.mm: Added.
(Frame::completed):
(Frame::openURL):
(Frame::onURL):
(Frame::setStatusBarText):
(Frame::started):
(redirectionTimerMonitor):
(MacFrame::MacFrame):
(MacFrame::~MacFrame):
(MacFrame::freeClipboard):
(MacFrame::setSettings):
(MacFrame::generateFrameName):
(MacFrame::provisionalLoadStarted):
(MacFrame::userGestureHint):
(MacFrame::openURL):
(MacFrame::openURLRequest):
(MacFrame::didNotOpenURL):
(MacFrame::currentForm):
(MacFrame::searchForLabelsAboveCell):
(MacFrame::searchForLabelsBeforeElement):
(MacFrame::matchLabelsAgainstElement):
(MacFrame::findString):
(MacFrame::clearRecordedFormValues):
(MacFrame::recordFormValue):
(MacFrame::submitForm):
(MacFrame::setEncoding):
(MacFrame::addData):
(Frame::frameDetached):
(MacFrame::urlSelected):
(MacFrame::createPart):
(MacFrame::setView):
(MacFrame::view):
(MacFrame::setTitle):
(MacFrame::setStatusBarText):
(MacFrame::scheduleClose):
(MacFrame::unfocusWindow):
(MacFrame::revealSelection):
(MacFrame::advanceToNextMisspelling):
(MacFrame::scrollOverflow):
(MacFrame::wheelEvent):
(MacFrame::redirectionTimerStartedOrStopped):
(MacFrame::paint):
(MacFrame::adjustPageHeight):
(MacFrame::renderer):
(MacFrame::userAgent):
(MacFrame::mimeTypeForFileName):
(MacFrame::nextKeyViewInFrame):
(MacFrame::nextKeyViewInFrameHierarchy):
(MacFrame::nextKeyView):
(MacFrame::nextKeyViewForWidget):
(MacFrame::currentEventIsMouseDownInWidget):
(MacFrame::currentEventIsKeyboardOptionTab):
(MacFrame::handleKeyboardOptionTabInView):
(MacFrame::tabsToLinks):
(MacFrame::tabsToAllControls):
(MacFrame::executionContextForDOM):
(MacFrame::bindingRootObject):
(MacFrame::windowScriptObject):
(MacFrame::windowScriptNPObject):
(MacFrame::partClearedInBegin):
(MacFrame::pauseTimeouts):
(MacFrame::resumeTimeouts):
(MacFrame::canCachePage):
(MacFrame::saveWindowProperties):
(MacFrame::saveLocationProperties):
(MacFrame::restoreWindowProperties):
(MacFrame::restoreLocationProperties):
(MacFrame::saveInterpreterBuiltins):
(MacFrame::restoreInterpreterBuiltins):
(MacFrame::openURLFromPageCache):
(MacFrame::frameForWidget):
(MacFrame::bridgeForWidget):
(MacFrame::frameForNode):
(MacFrame::documentViewForNode):
(MacFrame::nodeForWidget):
(MacFrame::setDocumentFocus):
(MacFrame::clearDocumentFocus):
(MacFrame::saveDocumentState):
(MacFrame::restoreDocumentState):
(MacFrame::mutableInstances):
(MacFrame::updatePolicyBaseURL):
(MacFrame::setPolicyBaseURL):
(MacFrame::requestedURLString):
(MacFrame::incomingReferrer):
(MacFrame::forceLayout):
(MacFrame::forceLayoutWithPageWidthRange):
(MacFrame::sendResizeEvent):
(MacFrame::sendScrollEvent):
(MacFrame::runJavaScriptAlert):
(MacFrame::runJavaScriptConfirm):
(MacFrame::runJavaScriptPrompt):
(MacFrame::locationbarVisible):
(MacFrame::menubarVisible):
(MacFrame::personalbarVisible):
(MacFrame::scrollbarsVisible):
(MacFrame::statusbarVisible):
(MacFrame::toolbarVisible):
(MacFrame::addMessageToConsole):
(MacFrame::createEmptyDocument):
(MacFrame::addMetaData):
(MacFrame::keyEvent):
(MacFrame::scrollToAnchor):
(MacFrame::closeURL):
(MacFrame::canMouseDownStartSelect):
(MacFrame::khtmlMousePressEvent):
(MacFrame::khtmlMouseDoubleClickEvent):
(MacFrame::passWidgetMouseDownEventToWidget):
(MacFrame::lastEventIsMouseUp):
(MacFrame::mouseDownViewIfStillGood):
(MacFrame::dragHysteresisExceeded):
(MacFrame::dispatchDragSrcEvent):
(MacFrame::eventMayStartDrag):
(MacFrame::khtmlMouseMoveEvent):
(MacFrame::dragSourceMovedTo):
(MacFrame::dragSourceEndedAt):
(MacFrame::dispatchCPPEvent):
(MacFrame::mayCut):
(MacFrame::mayCopy):
(MacFrame::mayPaste):
(MacFrame::tryCut):
(MacFrame::tryCopy):
(MacFrame::tryPaste):
(MacFrame::khtmlMouseReleaseEvent):
(MacFrame::clearTimers):
(MacFrame::passSubframeEventToSubframe):
(MacFrame::passWheelEventToChildWidget):
(MacFrame::mouseDown):
(MacFrame::mouseDragged):
(MacFrame::mouseUp):
(MacFrame::sendFakeEventsAfterWidgetTracking):
(MacFrame::mouseMoved):
(MacFrame::shouldDragAutoNode):
(MacFrame::sendContextMenuEvent):
(MacFrame::fileWrapperForElement):
(MacFrame::attributedString):
(MacFrame::selectionRect):
(MacFrame::visibleSelectionRect):
(MacFrame::centerSelectionInVisibleArea):
(MacFrame::imageFromRect):
(MacFrame::selectionImage):
(MacFrame::snapshotDragImage):
(MacFrame::styleForSelectionStart):
(MacFrame::fontForSelection):
(MacFrame::fontAttributesForSelectionStart):
(MacFrame::baseWritingDirectionForSelectionStart):
(MacFrame::topLevelWidget):
(MacFrame::tokenizerProcessedData):
(MacFrame::selectionStartOffset):
(MacFrame::selectionEndOffset):
(MacFrame::selectionStart):
(MacFrame::selectionEnd):
(MacFrame::setBridge):
(MacFrame::overrideMediaType):
(MacFrame::setMediaType):
(MacFrame::setSelectionFromNone):
(MacFrame::setDisplaysWithFocusAttributes):
(MacFrame::displaysWithFocusAttributes):
(MacFrame::setWindowHasFocus):
(MacFrame::backslashAsCurrencySymbol):
(MacFrame::bodyBackgroundColor):
(MacFrame::keyboardUIMode):
(MacFrame::setName):
(MacFrame::didTellBridgeAboutLoad):
(MacFrame::haveToldBridgeAboutLoad):
(MacFrame::clear):
(Frame::print):
(MacFrame::getAppletInstanceForWidget):
(MacFrame::getEmbedInstanceForWidget):
(MacFrame::getObjectInstanceForWidget):
(MacFrame::addPluginRootObject):
(MacFrame::cleanupPluginRootObjects):
(MacFrame::registerCommandForUndoOrRedo):
(MacFrame::registerCommandForUndo):
(MacFrame::registerCommandForRedo):
(MacFrame::clearUndoRedoOperations):
(MacFrame::issueUndoCommand):
(MacFrame::issueRedoCommand):
(MacFrame::issueCutCommand):
(MacFrame::issueCopyCommand):
(MacFrame::issuePasteCommand):
(MacFrame::issuePasteAndMatchStyleCommand):
(MacFrame::issueTransposeCommand):
(Frame::canUndo):
(Frame::canRedo):
(Frame::canPaste):
(MacFrame::markMisspellingsInAdjacentWords):
(MacFrame::markMisspellings):
(MacFrame::respondToChangedSelection):
(MacFrame::shouldChangeSelection):
(MacFrame::respondToChangedContents):
(MacFrame::isContentEditable):
(MacFrame::shouldBeginEditing):
(MacFrame::shouldEndEditing):
(convertAttributesToUnderlines):
(MacFrame::setMarkedTextRange):
(MacFrame::markedTextUsesUnderlines):
(MacFrame::markedTextUnderlines):
(MacFrame::canGoBackOrForward):
(MacFrame::prepareForUserAction):
(MacFrame::didFirstLayout):
(MacFrame::dashboardRegionsDictionary):
(MacFrame::dashboardRegionsChanged):
(MacFrame::isCharacterSmartReplaceExempt):
(MacFrame::isFrame):
(MacFrame::mousePressNode):
(MacFrame::handledOnloadEvents):
(MacFrame::shouldClose):
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(updateRenderingForBindings):
(frameHasSelection):
(+[WebCoreBridge bridgeForDOMDocument:]):
(-[WebCoreBridge init]):
(-[WebCoreBridge initializeSettings:]):
(-[WebCoreBridge dealloc]):
(-[WebCoreBridge finalize]):
(-[WebCoreBridge part]):
(-[WebCoreBridge setParent:]):
(-[WebCoreBridge parent]):
(-[WebCoreBridge provisionalLoadStarted]):
(-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
(-[WebCoreBridge setEncoding:userChosen:]):
(-[WebCoreBridge addData:]):
(-[WebCoreBridge closeURL]):
(-[WebCoreBridge stopLoading]):
(-[WebCoreBridge didNotOpenURL:pageCache:]):
(-[WebCoreBridge saveDocumentState]):
(-[WebCoreBridge restoreDocumentState]):
(-[WebCoreBridge scrollToAnchorWithURL:]):
(-[WebCoreBridge scrollOverflowInDirection:granularity:]):
(-[WebCoreBridge sendScrollWheelEvent:]):
(-[WebCoreBridge saveDocumentToPageCache]):
(-[WebCoreBridge canCachePage]):
(-[WebCoreBridge clear]):
(-[WebCoreBridge end]):
(-[WebCoreBridge stop]):
(-[WebCoreBridge handleFallbackContent]):
(-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
(-[WebCoreBridge scrollToAnchor:]):
(-[WebCoreBridge isSelectionEditable]):
(-[WebCoreBridge selectionState]):
(-[WebCoreBridge _documentTypeString]):
(-[WebCoreBridge selectedString]):
(-[WebCoreBridge stringForRange:]):
(-[WebCoreBridge selectAll]):
(-[WebCoreBridge deselectAll]):
(-[WebCoreBridge deselectText]):
(-[WebCoreBridge isFrameSet]):
(-[WebCoreBridge reapplyStylesForDeviceType:]):
(nowPrinting):
(-[WebCoreBridge _setupRootForPrinting:]):
(-[WebCoreBridge forceLayoutAdjustingViewSize:]):
(-[WebCoreBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
(-[WebCoreBridge sendResizeEvent]):
(-[WebCoreBridge sendScrollEvent]):
(-[WebCoreBridge drawRect:withPainter:]):
(-[WebCoreBridge drawRect:]):
(-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
(-[WebCoreBridge adjustPageHeightNew:top:bottom:limit:]):
(-[WebCoreBridge copyDOMTree:]):
(-[WebCoreBridge copyRenderTree:]):
(-[WebCoreBridge removeFromFrame]):
(-[WebCoreBridge installInFrame:]):
(-[WebCoreBridge setActivationEventNumber:]):
(-[WebCoreBridge mouseDown:]):
(-[WebCoreBridge mouseDragged:]):
(-[WebCoreBridge mouseUp:]):
(-[WebCoreBridge mouseMoved:]):
(-[WebCoreBridge sendContextMenuEvent:]):
(-[WebCoreBridge currentForm]):
(-[WebCoreBridge searchForLabels:beforeElement:]):
(-[WebCoreBridge matchLabels:againstElement:]):
(-[WebCoreBridge elementAtPoint:]):
(-[WebCoreBridge URLWithAttributeString:]):
(-[WebCoreBridge searchFor:direction:caseSensitive:wrap:]):
(-[WebCoreBridge advanceToNextMisspelling]):
(-[WebCoreBridge advanceToNextMisspellingStartingJustBeforeSelection]):
(-[WebCoreBridge unmarkAllMisspellings]):
(-[WebCoreBridge setTextSizeMultiplier:]):
(-[WebCoreBridge textEncoding]):
(-[WebCoreBridge nextKeyView]):
(-[WebCoreBridge previousKeyView]):
(-[WebCoreBridge nextKeyViewInsideWebFrameViews]):
(-[WebCoreBridge previousKeyViewInsideWebFrameViews]):
(-[WebCoreBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebCoreBridge windowScriptObject]):
(-[WebCoreBridge windowScriptNPObject]):
(-[WebCoreBridge DOMDocument]):
(-[WebCoreBridge selectedAttributedString]):
(-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
(-[WebCoreBridge selectionRect]):
(-[WebCoreBridge visibleSelectionRect]):
(-[WebCoreBridge centerSelectionInVisibleArea]):
(-[WebCoreBridge selectionImage]):
(-[WebCoreBridge setName:]):
(-[WebCoreBridge name]):
(-[WebCoreBridge URL]):
(-[WebCoreBridge baseURL]):
(-[WebCoreBridge referrer]):
(-[WebCoreBridge domain]):
(-[WebCoreBridge opener]):
(-[WebCoreBridge setOpener:]):
(-[WebCoreBridge needsLayout]):
(-[WebCoreBridge setNeedsLayout]):
(-[WebCoreBridge interceptKeyEvent:toView:]):
(-[WebCoreBridge renderTreeAsExternalRepresentation]):
(-[WebCoreBridge setSelectionFromNone]):
(-[WebCoreBridge setDisplaysWithFocusAttributes:]):
(-[WebCoreBridge setWindowHasFocus:]):
(-[WebCoreBridge numPendingOrLoadingRequests]):
(-[WebCoreBridge doneProcessingData]):
(-[WebCoreBridge shouldClose]):
(-[WebCoreBridge bodyBackgroundColor]):
(-[WebCoreBridge selectionColor]):
(-[WebCoreBridge adjustViewSize]):
(-[WebCoreBridge accessibilityTree]):
(-[WebCoreBridge setDrawsBackground:]):
(-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
(-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
(-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
(-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
(-[WebCoreBridge alterCurrentSelection:verticalDistance:]):
(-[WebCoreBridge selectionGranularity]):
(-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):
(-[WebCoreBridge selectedDOMRange]):
(-[WebCoreBridge convertToNSRange:DOM::]):
(-[WebCoreBridge convertToDOMRange:]):
(-[WebCoreBridge selectNSRange:]):
(-[WebCoreBridge selectedNSRange]):
(-[WebCoreBridge selectionAffinity]):
(-[WebCoreBridge setMarkDOMRange:]):
(-[WebCoreBridge markDOMRange]):
(-[WebCoreBridge setMarkedTextDOMRange:customAttributes:ranges:]):
(-[WebCoreBridge markedTextDOMRange]):
(-[WebCoreBridge markedTextNSRange]):
(-[WebCoreBridge replaceMarkedTextWithText:]):
(-[WebCoreBridge smartDeleteRangeForProposedRange:]):
(-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):
(-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]):
(-[WebCoreBridge documentFragmentWithText:]):
(-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
(-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
(-[WebCoreBridge insertLineBreak]):
(-[WebCoreBridge insertParagraphSeparator]):
(-[WebCoreBridge insertParagraphSeparatorInQuotedContent]):
(-[WebCoreBridge insertText:selectInsertedText:]):
(-[WebCoreBridge setSelectionToDragCaret]):
(-[WebCoreBridge moveSelectionToDragCaret:smartMove:]):
(-[WebCoreBridge _visiblePositionForPoint:]):
(-[WebCoreBridge moveDragCaretToPoint:]):
(-[WebCoreBridge removeDragCaret]):
(-[WebCoreBridge dragCaretDOMRange]):
(-[WebCoreBridge deleteSelectionWithSmartDelete:]):
(-[WebCoreBridge deleteKeyPressedWithSmartDelete:]):
(-[WebCoreBridge forwardDeleteKeyPressedWithSmartDelete:]):
(-[WebCoreBridge typingStyle]):
(-[WebCoreBridge setTypingStyle:withUndoAction:]):
(-[WebCoreBridge applyStyle:withUndoAction:]):
(-[WebCoreBridge applyParagraphStyle:withUndoAction:]):
(-[WebCoreBridge selectionStartHasStyle:]):
(-[WebCoreBridge selectionHasStyle:]):
(-[WebCoreBridge applyEditingStyleToBodyElement]):
(-[WebCoreBridge removeEditingStyleFromBodyElement]):
(-[WebCoreBridge applyEditingStyleToElement:]):
(-[WebCoreBridge removeEditingStyleFromElement:]):
(-[WebCoreBridge fontForSelection:]):
(-[WebCoreBridge fontAttributesForSelectionStart]):
(-[WebCoreBridge baseWritingDirectionForSelectionStart]):
(-[WebCoreBridge ensureSelectionVisible]):
(-[WebCoreBridge eventMayStartDrag:]):
(-[WebCoreBridge dragOperationForDraggingInfo:]):
(-[WebCoreBridge dragExitedWithDraggingInfo:]):
(-[WebCoreBridge concludeDragForDraggingInfo:]):
(-[WebCoreBridge dragSourceMovedTo:]):
(-[WebCoreBridge dragSourceEndedAt:operation:]):
(-[WebCoreBridge mayDHTMLCut]):
(-[WebCoreBridge mayDHTMLCopy]):
(-[WebCoreBridge mayDHTMLPaste]):
(-[WebCoreBridge tryDHTMLCut]):
(-[WebCoreBridge tryDHTMLCopy]):
(-[WebCoreBridge tryDHTMLPaste]):
(-[WebCoreBridge rangeOfCharactersAroundCaret]):
(-[WebCoreBridge dashboardRegions]):
(-[WebCoreBridge executionContextForView:]):
* kwq/WebCoreSettings.mm:
(-[WebCoreSettings _updateAllViews]):
* kwq/WebCoreTextRendererFactory.mm:
(-[WebCoreTextRendererFactory clearCaches]):
2006-01-09 Darin Adler <darin@apple.com>
* Makefile.am: Removed.
2006-01-09 John Sullivan <sullivan@apple.com>
* khtml/misc/decoder.cpp:
removed #include of recently-removed kcharsets.h to fix build
2006-01-08 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Committed by eseidel.
First set of refactors to fix
http://bugzilla.opendarwin.org/show_bug.cgi?id=5748.
Refactors to delay paintserver creation until usage and thereby
simplify much code in the process. Causes several changes in rendertree
output all of which are improvements rather than regressions.
* kcanvas/KCanvasItem.cpp: setupForDraw() logic moved to KCanvasItemQuartz
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasResources.cpp:
(KCanvasResource::addClient): const-ify
* kcanvas/KCanvasResources.h:
* kcanvas/KCanvasTreeDebug.cpp:
(writeStyle): minor refactor/inline - keeps most output the same after
patch, some minor const'ifications
* kcanvas/device/KRenderingFillPainter.cpp:
setter
(KRenderingFillPainter::Private::Private):
* kcanvas/device/KRenderingFillPainter.h: refactor out paintserver and
draw()
* kcanvas/device/KRenderingStrokePainter.cpp: refactor out paintserver
and draw()
(KRenderingStrokePainter::Private::Private):
* kcanvas/device/KRenderingStrokePainter.h:
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint):
(KCanvasItemQuartz::hitsPath):
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(KCanvasRenderingStyle::KCanvasRenderingStyle):
(KCanvasRenderingStyle::~KCanvasRenderingStyle):
(KCanvasRenderingStyle::overrideFillPaintServer):
(KCanvasRenderingStyle::isFilled):
(KCanvasRenderingStyle::fillPaintServer):
(KCanvasRenderingStyle::overrideStrokePaintServer):
(KCanvasRenderingStyle::isStroked):
(KCanvasRenderingStyle::strokePaintServer):
(KCanvasRenderingStyle::updateStyle): remove paintserver constructions
from update notification and instead create on usage, removing
disable.*Painter() methods
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::notifyFinished): use paintserver override logic
2006-01-09 Alexey Proskuryakov <ap@nypop.com>
Fix broken build (CachedObject.cpp was still including kcharsets.h).
Proposed and reviewed by Eric Seidel.
2006-01-09 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove more unused code from kwq.
* ForwardingHeaders/dcopclient.h: Removed.
* ForwardingHeaders/kaction.h: Removed.
* ForwardingHeaders/kcharsets.h: Removed.
* ForwardingHeaders/kcombobox.h: Removed.
* ForwardingHeaders/klineedit.h: Removed.
* ForwardingHeaders/klistbox.h: Removed.
* ForwardingHeaders/kwin.h: Removed.
* ForwardingHeaders/qcombobox.h: Added.
* ForwardingHeaders/qlineedit.h: Added.
* WebCore.xcodeproj/project.pbxproj: remove files.
* khtml/css/csshelper.cpp:
* khtml/css/cssstyleselector.cpp:
* khtml/ecma/kjs_window.cpp:
(KJS::Window::getValueProperty):
* khtml/html/html_documentimpl.cpp:
* khtml/html/html_formimpl.cpp:
(DOM::HTMLOptionElementImpl::index):
(DOM::HTMLOptionElementImpl::setIndex):
* khtml/html/htmltokenizer.cpp:
* khtml/html/htmltokenizer.h:
* khtml/khtml_part.cpp:
* khtml/khtmlpart_p.h:
* khtml/rendering/render_form.cpp:
(RenderLineEdit::RenderLineEdit):
(RenderLineEdit::setStyle):
(RenderLineEdit::updateFromElement):
(RenderLineEdit::selectionStart):
(RenderLineEdit::selectionEnd):
(RenderLineEdit::setSelectionStart):
(RenderLineEdit::setSelectionEnd):
(RenderLineEdit::select):
(RenderLineEdit::setSelectionRange):
(ComboBoxWidget::ComboBoxWidget):
(ComboBoxWidget::event):
(ComboBoxWidget::eventFilter):
(RenderSelect::setWidgetWritingDirection):
(RenderSelect::updateFromElement):
(RenderSelect::layout):
(RenderSelect::slotSelectionChanged):
(RenderSelect::createListBox):
(RenderSelect::updateSelection):
(RenderTextArea::RenderTextArea):
* khtml/rendering/render_form.h:
(khtml::RenderLineEdit::widget):
* kwq/KWQDCOPClient.h: Removed.
* kwq/KWQKCharsets.cpp: Removed.
* kwq/KWQKCharsets.h: Removed.
* kwq/KWQKComboBox.h: Removed.
* kwq/KWQKKAction.h: Removed.
* kwq/KWQKLineEdit.h: Removed.
* kwq/KWQKListBox.h: Removed.
* kwq/KWQKWin.cpp: Removed.
* kwq/KWQKWin.h: Removed.
* kwq/KWQWidget.h:
* kwq/KWQWidget.mm:
2006-01-09 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Removing more unused parts of KWQ.
* ForwardingHeaders/java/kjavaappletcontext.h: Removed.
* ForwardingHeaders/khtml_find.h: Removed.
* ForwardingHeaders/qimage.h: Removed.
* ForwardingHeaders/rendering/break_lines.h: Removed.
* ForwardingHeaders/rendering/render_text.h: Removed.
* ForwardingHeaders/xbl/xbl_docimpl.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* khtml/html/html_canvasimpl.cpp:
* khtml/html/html_imageimpl.cpp:
* khtml/html/html_objectimpl.cpp:
* khtml/html/html_objectimpl.h:
* khtml/khtml_part.cpp:
(KHTMLPart::init):
(KHTMLPart::~KHTMLPart):
(KHTMLPart::clear):
* khtml/khtml_part.h:
* khtml/khtmlpart_p.h:
(KHTMLPartPrivate::KHTMLPartPrivate):
(KHTMLPartPrivate::~KHTMLPartPrivate):
* khtml/rendering/render_applet.cpp:
(RenderApplet::RenderApplet):
(RenderApplet::createWidgetIfNecessary):
* khtml/rendering/render_applet.h:
* ksvg2/svg/SVGFEImageElementImpl.cpp:
* ksvg2/svg/SVGImageElementImpl.cpp:
* kwq/DOMHTML.mm:
* kwq/KWQDummyView.h: Removed.
* kwq/KWQDummyView.m: Removed.
* kwq/KWQImage.h: Removed.
* kwq/KWQKHTMLFind.h: Removed.
* kwq/KWQKHTMLPart.mm:
* kwq/KWQKHTMLPartBrowserExtension.h:
* kwq/KWQKJavaAppletContext.h: Removed.
* kwq/KWQKJavaAppletWidget.h:
* kwq/KWQKJavaAppletWidget.mm:
(KJavaAppletWidget::KJavaAppletWidget):
* kwq/KWQKPartsBrowserExtension.h:
* kwq/KWQObject.h:
* kwq/KWQRegion.h:
2006-01-09 Eric Seidel <eseidel@apple.com>
Rubber stamped by mjs.
Broke out loader.{h,cpp} into multiple files, one per class.
This patch also updates all files which previously included
loader.h to only include the necessary renamed headers.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6444
* ForwardingHeaders/kdom/cache/KDOMCachedDocument.h: Removed.
* ForwardingHeaders/kdom/cache/KDOMCachedImage.h: updated include
* ForwardingHeaders/kdom/cache/KDOMCachedObject.h: updated include
* ForwardingHeaders/kdom/cache/KDOMCachedScript.h: updated include
* WebCore.xcodeproj/project.pbxproj: added files
* khtml/css/css_computedstyle.cpp: updated includes
* khtml/css/css_ruleimpl.cpp: updated includes
* khtml/css/css_stylesheetimpl.h: updated includes
* khtml/css/css_valueimpl.cpp: updated includes
* khtml/css/cssstyleselector.cpp: updated includes
* khtml/ecma/kjs_events.cpp: updated includes
* khtml/ecma/kjs_html.cpp: updated includes
* khtml/ecma/xmlhttprequest.cpp: updated includes
* khtml/html/html_headimpl.cpp: updated includes
* khtml/html/html_imageimpl.cpp: updated includes
* khtml/html/html_imageimpl.h: updated includes
* khtml/html/htmltokenizer.cpp: updated includes
* khtml/khtml_part.cpp: updated includes
* khtml/khtmlview.cpp: updated includes
* khtml/misc/Cache.cpp: Added.
* khtml/misc/Cache.h: Added.
* khtml/misc/CachedCSSStyleSheet.cpp: Added.
* khtml/misc/CachedCSSStyleSheet.h: Added.
* khtml/misc/CachedImage.cpp: Added.
* khtml/misc/CachedImage.h: Added.
* khtml/misc/CachedImageCallback.cpp: Added.
* khtml/misc/CachedImageCallback.h: Added.
* khtml/misc/CachedObject.cpp: Added.
* khtml/misc/CachedObject.h: Added, fixed tabs -> spaces.
* khtml/misc/CachedObjectClientWalker.cpp: Added.
* khtml/misc/CachedObjectClientWalker.h: Added.
* khtml/misc/CachedScript.cpp: Added.
* khtml/misc/CachedScript.h: Added.
* khtml/misc/CachedXBLDocument.cpp: Added.
* khtml/misc/CachedXBLDocument.h: Added.
* khtml/misc/CachedXSLStyleSheet.cpp: Added.
* khtml/misc/CachedXSLStyleSheet.h: Added.
* khtml/misc/DocLoader.cpp: Added.
* khtml/misc/DocLoader.h: Added.
* khtml/misc/Request.cpp: Added.
* khtml/misc/Request.h: Added.
* khtml/misc/loader.cpp: updated includes
* khtml/misc/loader.h: updated includes
* khtml/misc/loader_client.h: updated includes
* khtml/rendering/render_box.cpp: updated includes
* khtml/rendering/render_line.cpp: updated includes
* khtml/rendering/render_list.cpp: updated includes
* khtml/rendering/render_object.cpp: updated includes
* khtml/xml/dom_docimpl.cpp: updated includes
* khtml/xml/dom_xmlimpl.cpp: updated includes
* khtml/xml/xml_tokenizer.cpp: updated includes
* khtml/xsl/xsl_stylesheetimpl.cpp: updated includes
* khtml/xsl/xsl_stylesheetimpl.h: updated includes
* khtml/xsl/xslt_processorimpl.cpp: updated includes
* ksvg2/svg/SVGCursorElementImpl.cpp: updated includes
* ksvg2/svg/SVGDocumentImpl.cpp: updated includes
* ksvg2/svg/SVGFEImageElementImpl.cpp: updated includes
* ksvg2/svg/SVGImageElementImpl.cpp: updated includes
* ksvg2/svg/SVGImageElementImpl.h: updated includes
* kwq/KWQKHTMLPart.mm: updated includes
* kwq/KWQLoader.mm: updated includes
* kwq/KWQPixmap.mm: updated includes
* kwq/KWQTextArea.mm: updated includes
* kwq/WebCoreBridge.mm: updated includes
* kwq/WebCoreCache.mm: updated includes
2006-01-09 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6402
Implement frameElement.width and frameElement.height
Test case: fast/frames/frameElement-widthheight.html
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElement::frameGetter):
* khtml/ecma/kjs_html.h:
Add FrameWidth, FrameHeight
* khtml/html/html_baseimpl.cpp:
(HTMLFrameElementImpl::frameWidth):
(HTMLFrameElementImpl::frameHeight):
* khtml/html/html_baseimpl.h:
Add frameWidth, frameHeight
2006-01-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Maciej, landed by ap.
Test: fast/replaced/inline-box-wrapper-handover.html
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6276
Image thumbnails are misplaced on forum.2ostrov.ru
* khtml/rendering/render_line.cpp:
(khtml::InlineBox::deleteLine): Don't reset the inline box wrapper when
deleting an extracted box.
2006-01-08 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Remove all mention of NSView from khtml.
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLAppletElementImpl::getAppletInstance): call w/ widget
(DOM::HTMLEmbedElementImpl::getEmbedInstance): call w/ widget
(DOM::HTMLObjectElementImpl::getObjectInstance): call w/ widget
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::getAppletInstanceForWidget): renamed.
(KWQKHTMLPart::getEmbedInstanceForWidget): renamed.
(KWQKHTMLPart::getObjectInstanceForWidget): renamed.
2006-01-08 Eric Seidel <eseidel@apple.com>
Rubber stamped by ggaren.
* ForwardingHeaders/qsortedlist.h: Added. (a khtml file was referencing KWQ directly.)
* WebCore.xcodeproj/project.pbxproj: added new files.
* khtml/editing/SelectionController.cpp: updated includes
* khtml/editing/composite_edit_command.cpp: updated includes
* khtml/editing/htmlediting.cpp: updated includes
* khtml/editing/markup.cpp: updated includes
* khtml/editing/visible_position.cpp: updated includes
* khtml/editing/visible_text.cpp: updated includes
* khtml/editing/visible_text.h: updated includes
* khtml/editing/visible_units.cpp: updated includes
* khtml/khtml_part.cpp: updated includes
* khtml/khtmlview.cpp: updated includes
* khtml/rendering/InlineTextBox.cpp: Split out from render_text
* khtml/rendering/InlineTextBox.h: Split out from render_text
* khtml/rendering/RenderText.cpp: Split out from render_text
(khtml::RenderText::position): removed DEBUG_LAYOUT
* khtml/rendering/RenderText.h: Split out from render_text
* khtml/rendering/RenderTextFragment.cpp: Split out from render_text
* khtml/rendering/RenderTextFragment.h: Split out from render_text
* khtml/rendering/bidi.cpp: updated includes
* khtml/rendering/render_block.cpp: updated includes
* khtml/rendering/render_br.cpp: updated includes
* khtml/rendering/render_br.h: updated includes
* khtml/rendering/render_button.cpp: updated includes
* khtml/rendering/render_container.cpp: updated includes
* khtml/rendering/render_flow.cpp: updated includes
* khtml/rendering/render_line.cpp: updated includes
* khtml/rendering/render_object.cpp: updated includes
* khtml/rendering/render_text.cpp: Removed.
* khtml/rendering/render_text.h: Removed.
* khtml/xml/dom_docimpl.cpp: updated includes
* khtml/xml/dom_nodeimpl.cpp: updated includes
* khtml/xml/dom_position.cpp: updated includes
* khtml/xml/dom_textimpl.cpp: updated includes
* kwq/KWQAccObject.mm: updated includes
* kwq/KWQKHTMLPart.mm: updated includes
* kwq/KWQRenderTreeDebug.cpp: updated includes
2006-01-08 Eric Seidel <eseidel@apple.com>
Reviewed by mjs & xenon.
Renamed a few in kwq/ from .mm to .cpp
* WebCore.xcodeproj/project.pbxproj: updated paths
* kwq/KWQDictImpl.cpp: Added.
* kwq/KWQDictImpl.mm: Removed.
* kwq/KWQKPartsEvent.cpp: Added.
* kwq/KWQKPartsEvent.mm: Removed.
* kwq/KWQListImpl.cpp: Added.
* kwq/KWQListImpl.mm: Removed.
2006-01-08 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Renamed several files in kwq/ from .mm to .cpp
Removed a few pieces of unused KWQ code.
* WebCore.xcodeproj/project.pbxproj:
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::continueProcessing): removed KWQUIEventTime
(khtml::HTMLTokenizer::write): removed KWQUIEventTime
* khtml/html/htmltokenizer.h:
* khtml/khtml_part.cpp:
(KHTMLPart::slotFinished): removed KWQUIEventTime
* khtml/misc/loader.cpp:
(CachedObject::finish): removed KWQUIEventTime
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::processHttpEquiv): removed KWQUIEventTime
* kwq/KWQArrayImpl.cpp: Added.
* kwq/KWQArrayImpl.mm: Removed.
* kwq/KWQBuffer.cpp: Added.
* kwq/KWQBuffer.mm: Removed.
* kwq/KWQCString.cpp: Added.
* kwq/KWQCString.mm: Removed.
* kwq/KWQCharsets.cpp: Added.
* kwq/KWQCharsets.mm: Removed.
* kwq/KWQCollection.h:
(QPtrCollection::~QPtrCollection): made inline
* kwq/KWQCollection.mm: Removed.
* kwq/KWQDateTime.cpp: Added, removed KWQUIEventTime
* kwq/KWQDateTime.h:
* kwq/KWQDateTime.mm: Removed.
* kwq/KWQGlobal.cpp: Added.
* kwq/KWQGlobal.mm: Removed.
* kwq/KWQGuardedPtr.cpp: Added.
* kwq/KWQGuardedPtr.mm: Removed.
* kwq/KWQKCharsets.cpp: Added.
* kwq/KWQKCharsets.mm: Removed.
* kwq/KWQKGlobalSettings.h:
(KGlobalSettings::generalFont): made inline
(KGlobalSettings::windowTitleFont): made inline
(KGlobalSettings::menuFont): made inline
(KGlobalSettings::contrast): made inline
* kwq/KWQKGlobalSettings.mm: Removed.
* kwq/KWQKHTMLFactory.cpp: Added.
* kwq/KWQKHTMLFactory.mm: Removed.
* kwq/KWQKHTMLView.cpp: Added.
* kwq/KWQKHTMLView.mm: Removed.
* kwq/KWQKJob.h:
* kwq/KWQKJob.mm: Removed.
* kwq/KWQKWin.cpp: Added.
* kwq/KWQKWin.mm: Removed.
* kwq/KWQMapImpl.cpp: Added.
* kwq/KWQMapImpl.mm: Removed.
* kwq/KWQObject.cpp: Added.
* kwq/KWQObject.mm: Removed.
* kwq/KWQPen.cpp: Added.
* kwq/KWQPen.mm: Removed.
* kwq/KWQPointArray.cpp: Added.
* kwq/KWQPointArray.mm: Removed.
* kwq/KWQPtrDictImpl.cpp: Added.
* kwq/KWQPtrDictImpl.mm: Removed.
* kwq/KWQRegExp.cpp: Added.
* kwq/KWQRegExp.mm: Removed.
* kwq/KWQRegion.cpp: Added.
* kwq/KWQRegion.mm: Removed.
* kwq/KWQStyle.cpp: Added.
* kwq/KWQStyle.mm: Removed.
* kwq/KWQTextCodec.cpp: Added.
* kwq/KWQTextCodec.mm: Removed.
* kwq/KWQTextStream.cpp: Added.
* kwq/KWQTextStream.mm: Removed.
* kwq/KWQTimer.cpp: Added.
* kwq/KWQTimer.mm: Removed.
* kwq/KWQValueListImpl.cpp: Added.
* kwq/KWQValueListImpl.mm: Removed.
* kwq/KWQVariant.cpp: Added.
* kwq/KWQVariant.mm: Removed.
* kwq/KWQVectorImpl.cpp: Added.
* kwq/KWQVectorImpl.mm: Removed.
* kwq/KWQWMatrix.cpp: Added.
* kwq/KWQWMatrix.mm: Removed.
2006-01-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- added basic SVG text support using CSS-based rendering
http://bugzilla.opendarwin.org/show_bug.cgi?id=4883
Affects many test results in LayoutTests/svg.
* kcanvas/RenderSVGText.cpp: Added. Simple subclass of RenderBlock for SVG text.
(RenderSVGText::RenderSVGText): just call superclass constructor.
(RenderSVGText::translateTopToBaseline): helper to account for the fact that
y coordinates for <text> give the baseline position, but the render tree expects
current y to be the top.
(RenderSVGText::translateForAttributes): translate to account for x and y
attributes.
(RenderSVGText::paint): Apply appropriate CTM transform and then just let
RenderBlock paint.
* kcanvas/RenderSVGText.h: Added.
(RenderSVGText::renderName):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceContextQuartz::nsGraphicsContext): We want the context flipped.
* ksvg2/css/svg.css: Give <svg:text> display: block
* ksvg2/svg/SVGTextElementImpl.cpp:
(SVGTextElementImpl::createRenderer): Create a RenderSVGText renderer.
(SVGTextElementImpl::childShouldCreateRenderer): Let child text nodes make
renderers, but nothing else (for now).
* ksvg2/svg/SVGTextElementImpl.h:
(KSVG::SVGTextElementImpl::rendererIsNeeded): It sure is! :-)
* WebCore.xcodeproj/project.pbxproj: Add new files.
2006-01-07 Eric Seidel <eseidel@apple.com>
Reviewed by mjs
Removed old, unneeded code.
* WebCore+SVG/DrawCanvasItem.h: Removed.
* WebCore+SVG/DrawCanvasItem.mm: Removed.
* WebCore+SVG/DrawCanvasItemPrivate.h: Removed.
* WebCore+SVG/DrawDocument.h: Removed.
* WebCore+SVG/DrawDocument.mm: Removed.
* WebCore+SVG/DrawDocumentPrivate.h: Removed.
* WebCore+SVG/DrawView.h: Removed.
* WebCore+SVG/DrawView.mm: Removed.
* WebCore+SVG/DrawViewPrivate.h: Removed.
* WebCore+SVG/NSSVGImageRep.h: Removed.
* WebCore+SVG/NSSVGImageRep.m: Removed.
* WebCore.xcodeproj/project.pbxproj: remove files
2006-01-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- fixed WebCore build
http://bugzilla.opendarwin.org/show_bug.cgi?id=6404
* khtml/rendering/render_canvasimage.h: Remove unneeded extern declarations.
2006-01-07 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6373
REGRESSION: JavaScript hang when comparing large array to null
* khtml/ecma/kjs_html.cpp:
Remove toPrimitive.
* khtml/ecma/kjs_html.h:
(KJS::HTMLAllCollection::isEqualToNull):
Implement isEqualToNull and have it return true.
2006-01-06 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
<rdar://problem/4386652> Crash: SVG filter crash at w3schools.com
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEDiffuseLightingQuartz::getCIFilter): nil check
(KCanvasFESpecularLightingQuartz::getCIFilter): nil check
2006-01-06 Geoffrey Garen <ggaren@apple.com>
Patch by Mitz, reviwed by Darin, layout tested and landed by me.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6382
REGRESSION: Repro crash when clicking link with target="_blank"
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::setName):
* manual-tests/empty-link-target.html: Added.
2006-01-06 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5291
FORM multipart/form-data with GET method issue
Test cases:
* fast/forms/form-get-multipart.html
* fast/forms/form-get-multipart2.html
* fast/forms/form-get-multipart3.html
* fast/forms/form-post-urlencoded.html
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::submit):
Reset m_multipart to false if not posting.
(DOM::HTMLFormElementImpl::parseEnctype):
multipart/form-data doesn't imply POST method.
2006-01-06 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5792
Crasher on rendering-shapes from SVG 1.0 testsuite
Test case: fast/parser/entity-ignorable-whitespace.xhtml
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::finish): install an ignorableWhitespace callback to
work around a libxml2 bug
(khtml::ignorableWhitespaceHandler): no-op
2006-01-06 Anders Carlsson <andersca@mac.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5142
parseXMLDocumentFragment can't parse fragments correctly
* khtml/xml/xml_tokenizer.cpp:
(khtml::balancedStartElementNsHandler):
(khtml::balancedEndElementNsHandler):
(khtml::balancedCharactersHandler):
(khtml::balancedProcessingInstructionHandler):
(khtml::balancedCdataBlockHandler):
(khtml::balancedCommentHandler):
(khtml::balancedWarningHandler):
Add handlers.
(khtml::parseXMLDocumentFragment):
Change back into using xmlParseBalancedChunkMemory.
2006-01-06 Alexander Kellett <lypanov@kde.org>
Reviewed by eseidel. Landed by eseidel.
Basic support for <mask> tag.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5969
Still missing attribute support for: maskUnits, maskContentUnits.
Mask pixel tests do not work in DumpRenderTree due to:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6327
Added test cases anyway.
This also tickles a (known) gradient update issue:
http://bugzilla.opendarwin.org/show_bug.cgi?id=6052
Test: svg/custom/grayscale-gradient-mask.svg
* WebCore.xcodeproj/project.pbxproj: added Mask files
* kcanvas/KCanvasResources.cpp:
(KCanvasMasker::KCanvasMasker): added.
(KCanvasMasker::~KCanvasMasker): added.
(KCanvasMasker::setMask): added.
(KCanvasMasker::externalRepresentation): added.
(getMaskerById): added.
* kcanvas/KCanvasResources.h:
(KCanvasResource::isMasker): added.
(KCanvasMasker::isMasker): added.
(KCanvasMasker::mask): added.
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(KCanvasItemQuartz::paint): added mask support
* kcanvas/device/quartz/KCanvasMaskerQuartz.h: Added.
(KCanvasMaskerQuartz::KCanvasMaskerQuartz): added.
* kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Added.
(applyLuminanceToAlphaFilter): added.
(applyExpandAlphatoGrayscaleFilter): added.
(transformImageIntoGrayscaleMask): added.
(KCanvasMaskerQuartz::applyMask): added.
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasContainerQuartz::paint): added mask support.
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceQuartz::createResource): added mask support.
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(KRenderingPaintServerRadialGradientQuartz::draw):
* kcanvas/device/quartz/QuartzSupport.h:
* kcanvas/device/quartz/QuartzSupport.mm:
(debugDumpCGImageToFile): added, debug only.
(debugDumpCGLayerToFile): added, debug only.
(debugDumpCIImageToFile): added, debug only.
* ksvg2/css/SVGCSSStyleSelector.cpp:
(KDOM::CSSStyleSelector::applySVGProperty): added mask support.
* ksvg2/css/SVGRenderStyle.cpp:
(SVGRenderStyle::SVGRenderStyle): added mask support.
(SVGRenderStyle::operator==): added mask support.
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/css/SVGRenderStyleDefs.cpp:
(StyleMaskData::StyleMaskData): added mask support.
(StyleMaskData::operator==): added mask support.
* ksvg2/css/SVGRenderStyleDefs.h:
(KSVG::StyleMaskData::operator!=): added mask support.
* ksvg2/ecma/Ecma.cpp:
(Ecma::inheritedGetDOMNode): added mask support.
* ksvg2/svg/SVGMaskElementImpl.cpp: Added.
(KSVG::SVGMaskElementImpl::SVGMaskElementImpl): added.
(KSVG::SVGMaskElementImpl::~SVGMaskElementImpl): added.
(KSVG::SVGMaskElementImpl::x): added.
(KSVG::SVGMaskElementImpl::y): added.
(KSVG::SVGMaskElementImpl::width): added.
(KSVG::SVGMaskElementImpl::height): added.
(KSVG::SVGMaskElementImpl::attributeChanged): added.
(KSVG::SVGMaskElementImpl::childrenChanged): added.
(KSVG::SVGMaskElementImpl::parseMappedAttribute): added.
(KSVG::SVGMaskElementImpl::drawMaskerContent): added.
(KSVG::SVGMaskElementImpl::createRenderer): added.
(KSVG::SVGMaskElementImpl::canvasResource): added.
* ksvg2/svg/SVGMaskElementImpl.h: Added.
(KSVG::SVGMaskElementImpl::isValid): added.
(KSVG::SVGMaskElementImpl::rendererIsNeeded): added.
* ksvg2/svg/svgtags.in: added <mask> support.
2006-01-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- move frame management and finding code from WebKit to WebCore
http://bugzilla.opendarwin.org/show_bug.cgi?id=6368
* WebCore.exp: export WebCoreFrameNamespace
* WebCore.xcodeproj/project.pbxproj: add new files
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::setName): Don't call to bridge any more, not needed
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(isCaseSensitiveEqual): helper function
(-[WebCoreBridge appendChild:]): remove excess braces
(-[WebCoreBridge childFrameNamed:]): moved here from WebFrame
(-[WebCoreBridge _deepLastChildFrame]): ditto
(-[WebCoreBridge nextFrameWithWrap:]): ditto
(-[WebCoreBridge previousFrameWithWrap:]): ditto
(-[WebCoreBridge setFrameNamespace:]): ditto
(-[WebCoreBridge frameNamespace]): ditto
(-[WebCoreBridge _shouldAllowAccessFrom:]): ditto
(-[WebCoreBridge _descendantFrameNamed:sourceFrame:]): ditto
(-[WebCoreBridge _frameInAnyWindowNamed:sourceFrame:]): ditto
(-[WebCoreBridge findFrameNamed:]): ditto
(-[WebCoreBridge setName:]): don't call KHTMLPart setName directly,
the kwq version is fine
(-[WebCoreBridge _addFramePathToString:]): moved from WebFrame
(-[WebCoreBridge generateFrameName]): ditto
2006-01-04 Anders Carlsson <andersca@mac.com>
Reviewed by Eric.
Based on a patch by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6180
"text" output in fragment produced by XSLTProccessor is wrong (has xhtml garbage)
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::xsltParamArrayFromParameterMap):
(DOM::freeXsltParamArray):
Use fastMalloc/fastFree.
(DOM::createFragmentFromSource):
If the output is "text", just create a text node and add
it to the fragment.
2006-01-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by darin.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6311
document.plugins doesn't exist
* khtml/ecma/kjs_html.cpp: Added 'plugins' as synonym for 'embeds'
2006-01-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by darin.
- Fixed <rdar://problem/4214080> document.embeds: embeds[0].Play()
undefined at languageguide.org prevents audio playing on mouseover
- Layout test: fast/dom/object-embed-plugin-scripting.html
A common idiom the kids like to use these days for plugins is to nest
an <embed> inside an <object>, and assume that IE will honor the first,
Mozilla the second. We happen to honor both, but the rules dictate that
only the outer <object> gets a plugin/renderer. (A plugin is a
renderer.) This is a problem because sites ID us as Mozilla and
therefore attempt to script their plugins through the <embed>, which
has no plugin/renderer. The fix here is to have an <embed> return its
parent node's plugin/renderer when queried, if and only if it has no
renderer of its own and its parent node is an <object>. We may decide
to restrict this further in the future.
One happy consequence of this patch is that all the apple.com Quicktime
websites we had previously broken with TOT are now fixed.
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLEmbedElementImpl::getEmbedInstance): The "if (!r)" clause
implements the logic I just described. The code below it I changed
just for style, to match the style in getObjectInstance().
(DOM::HTMLEmbedElementImpl::rendererIsNeeded): Assert that an <object>
parent has a renderer because we're going to use it later.
(DOM::HTMLObjectElementImpl::rendererIsNeeded): Changed to match style
of HTMLEmbedElementImpl counterpart.
2006-01-04 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6301
REGRESSION: Border repaint glitch
* khtml/rendering/render_object.cpp:
(RenderObject::repaintAfterLayoutIfNeeded): Repaint parts of the
border that moved.
* manual-tests/border-repaint-glitch.html: Added.
2005-12-30 Kimmo Kinnunen <kimmo.kinnunen@nokia.com>
Reviewed by eseidel. Landed by eseidel.
Changed use of QRect to QRectF in the points where SVG can have
fractional numbers
http://bugzilla.opendarwin.org/show_bug.cgi?id=4462
Added test cases:
* svg/custom/fractional-rects.svg: copy of rounded-rects.svg with
fractional coordinates.
* WebCore.xcodeproj/project.pbxproj:
* kwq/KWQWMatrix.h:
* kwq/KWQWMatrix.mm:
(QWMatrix::mapRect): mapRect for QRectF
* kwq/KWQRectF.h:
* kwq/KWQRectF.mm: Added. QRectF impl
* kwq/KWQSizeF.h:
* kwq/KWQSizeF.mm: Added.QSizeF impl
* kwq/KWQPointF.h:
* kwq/KWQPointF.mm: Added. QPointF impl
* kcanvas/KCanvasContainer.cpp:
(KCanvasContainer::fillContains):
(KCanvasContainer::strokeContains):
(KCanvasContainer::relativeBBox):
(KCanvasContainer::getAspectRatio): QRect -> QRectF
* kcanvas/KCanvasContainer.h:
* kcanvas/KCanvasFilters.cpp:
(KCanvasFilterEffect::subRegion):
(KCanvasFilterEffect::setSubRegion): QRect -> QRectF
* kcanvas/KCanvasFilters.h:
(KCanvasFilter::filterRect):
(KCanvasFilter::setFilterRect): QRect -> QRectF
(KCanvasFEConvolveMatrix::kernelSize):
(KCanvasFEConvolveMatrix::setKernelSize):
(KCanvasFEConvolveMatrix::targetOffset):
(KCanvasFEConvolveMatrix::setTargetOffset): QSize -> QSizeF
* kcanvas/KCanvasItem.cpp:
(RenderPath::fillContains):
(RenderPath::strokeContains):
(RenderPath::relativeBBox): QRect -> QRectF
* kcanvas/KCanvasItem.h:
* kcanvas/KCanvasResources.cpp:
(KCanvasMarker::draw): QRect -> QRectF
* kcanvas/KCanvasResources.h:
* kcanvas/KCanvasTreeDebug.cpp:
(hasFractions): helper function
(operator<<): QSizeF operator, QRectF operator
* kcanvas/KCanvasTreeDebug.h:
* kcanvas/device/KRenderingPaintServerGradient.cpp:
(KRenderingPaintServerLinearGradient::gradientStart):
(KRenderingPaintServerLinearGradient::setGradientStart):
(KRenderingPaintServerLinearGradient::gradientEnd):
(KRenderingPaintServerLinearGradient::setGradientEnd):
(KRenderingPaintServerRadialGradient::gradientCenter):
(KRenderingPaintServerRadialGradient::setGradientCenter):
(KRenderingPaintServerRadialGradient::gradientFocal):
(KRenderingPaintServerRadialGradient::setGradientFocal): QPoint -> QPointF
* kcanvas/device/KRenderingPaintServerGradient.h:
* kcanvas/device/KRenderingPaintServerPattern.cpp:
(KRenderingPaintServerPattern::Private::Private): x, y, width, height -> QRectF
(KRenderingPaintServerPattern::setBbox): replaced get/set methods
(KRenderingPaintServerPattern::bbox): replaced get/set methods
(KRenderingPaintServerPattern::externalRepresentation):
* kcanvas/device/KRenderingPaintServerPattern.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFilterQuartz::prepareFilter):
(KCanvasFilterQuartz::applyFilter): QRect -> QRectF
* kcanvas/device/quartz/KCanvasItemQuartz.h:
(KCanvasItemQuartz::getAbsoluteRepaintRect): QRect -> QRectF
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(drawMarkerWithData):
(KCanvasItemQuartz::drawMarkersIfNeeded):
(KCanvasItemQuartz::paint): QRect -> QRectF
(KCanvasItemQuartz::nodeAtPoint): QPoint -> QPointF
(KCanvasItemQuartz::bboxForPath) :QRect -> QRectF
(KCanvasItemQuartz::hitsPath):
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
(KCanvasContainerQuartz::getAbsoluteRepaintRect): QRect -> QRectF
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerPatternQuartz::draw): QRect -> QRectF
* khtml/rendering/render_object.h:
(khtml::RenderObject::relativeBBox):QRect -> QRectF
* ksvg2/svg/SVGFilterElementImpl.cpp:
(SVGFilterElementImpl::canvasResource): QRect -> QRectF
* ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
(SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
* ksvg2/svg/SVGLengthImpl.cpp:
(SVGLengthImpl::value): QRect -> QRectF
* ksvg2/svg/SVGLinearGradientElementImpl.cpp:
(SVGLinearGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions
* ksvg2/svg/SVGLocatableImpl.cpp:
(SVGLocatableImpl::getBBox): Rect -> QRectF
* ksvg2/svg/SVGPatternElementImpl.cpp:
(SVGPatternElementImpl::drawPatternContentIntoTile): QRect -> QRectF
* ksvg2/svg/SVGRadialGradientElementImpl.cpp:
(SVGRadialGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions
* ksvg2/svg/SVGSVGElementImpl.cpp:
(SVGSVGElementImpl::checkIntersection): QRect -> QRectF, removed integer conversions
(SVGSVGElementImpl::checkEnclosure): QRect -> QRectF, removed integer conversions
2006-01-03 Maciej Stachowiak <mjs@apple.com>
Reviewed by Vicki.
- moved frame traversal code across from bridge, also dropped the children
array
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge firstChild]): Moved from WebBridge. Use new _firstChild
pointer.
(-[WebCoreBridge lastChild]): Moved from WebBridge. Use new _lastChild pointer.
(-[WebCoreBridge childCount]): Moved from WebBridge. Use _childCount variable.
(-[WebCoreBridge previousSibling]): Moved from WebBridge.
(-[WebCoreBridge nextSibling]): ditt
(-[WebCoreBridge isDescendantOfFrame:]): ditto
(-[WebCoreBridge traverseNextFrameStayWithin:]): ditto
(-[WebCoreBridge appendChild:]): Moved from WebBridge, maintain count and first/last
pointers.
(-[WebCoreBridge removeChild:]): Moved from WebBridge, maintain count and first/last
pointers.
2006-01-03 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4609>
window.getSelection().toString() is undefined (range object
returned from window.getSelection() is useless)
toString was defined as a method on the JS Selection object,
but it didn't return anything.
Added layout test:
* editing/selection/toString.html
* khtml/ecma/kjs_window.cpp:
(KJS::SelectionFunc::callAsFunction):
2006-01-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by timo.
- Fixed: http://bugzilla.opendarwin.org/show_bug.cgi?id=6318
REGRESSION: Repro crash in JS called from Flash on bdash.net.nz
Since we clear all the plugin data structures in setView, we need to
clear the windowScriptObject as well. I had already done this in my
previous patch, but I didn't realize there are two windowScriptObjects
-- one for Netscape PlugIns, and one for WebKit PlugIns.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::setView): Clear the Netscape PlugIn windowScriptObject
as well.
2006-01-03 Anders Carlsson <andersca@mac.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6358
JS objects missing "prototype" properties
* khtml/ecma/XSLTProcessor.cpp:
(KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
* khtml/ecma/XSLTProcessor.h:
* khtml/ecma/domparser.cpp:
(KJS::DOMParserConstructorImp::DOMParserConstructorImp):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
* khtml/ecma/xmlserializer.cpp:
(KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
Add "prototype" property in constructors.
2006-01-03 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
REGRESSION: repro crash w/ invalid charset attribute on <script>
http://bugzilla.opendarwin.org/show_bug.cgi?id=6345
I also made some small spacing cleanup here.
I did *not* fix the usage in formData, as the move from KCharSet to
QTextCodec actually fixed a bug whereby if the first listed charset
in accept-charsets was invalid, we would assume latin1 instead of
checking for the next valid one before assuming system encoding.
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::formData): cleanup
* khtml/misc/loader.cpp:
(CachedCSSStyleSheet::CachedCSSStyleSheet): null check
(CachedScript::CachedScript): cleanup
(CachedXSLStyleSheet::CachedXSLStyleSheet): null check
(CachedXBLDocument::CachedXBLDocument): cleanup
2006-01-03 Justin Garcia <justin.garcia@apple.com>
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4904>
Bug with baseOffset and extentOffset in selections (for writely.com)
<rdar://problem/4259818>
selection object incorrect after double-clicking a word
Reviewed by harrison
Changed the Selection object's anchor/focus properties to match
Mozilla's Selection object API, added getRangeAt and outlined the
rest of the API.
Cleaned up the JS Selection object (to do less work in the DOM binding).
Added an updateLayout call to VisiblePosition::init and removed some
updateLayout calls from other parts of the editing code.
Added layout tests:
* editing/selection/getRangeAt.html
* editing/selection/anchor-focus1.html
* editing/selection/anchor-focus2.html
* editing/selection/anchor-focus3.html
Updated expected results:
* editing/selection/unrendered-001-expected.txt
* khtml/ecma/kjs_window.cpp:
(KJS::Selection::getValueProperty):
(KJS::Selection::toString):
(KJS::SelectionFunc::callAsFunction):
* khtml/ecma/kjs_window.h:
(KJS::Selection::):
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::modify):
(khtml::SelectionController::type):
(khtml::SelectionController::toString):
(khtml::SelectionController::getRangeAt):
(khtml::SelectionController::setBaseAndExtent):
(khtml::SelectionController::setPosition):
(khtml::SelectionController::collapse):
(khtml::SelectionController::collapseToEnd):
(khtml::SelectionController::collapseToStart):
(khtml::SelectionController::empty):
(khtml::SelectionController::extend):
(khtml::SelectionController::validate):
* khtml/editing/SelectionController.h:
(khtml::SelectionController::part):
(khtml::SelectionController::baseNode):
(khtml::SelectionController::extentNode):
(khtml::SelectionController::baseOffset):
(khtml::SelectionController::extentOffset):
(khtml::SelectionController::anchorNode):
(khtml::SelectionController::anchorOffset):
(khtml::SelectionController::focusNode):
(khtml::SelectionController::focusOffset):
(khtml::SelectionController::isCollapsed):
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::init):
(khtml::VisiblePosition::isCandidate):
* khtml/khtml_part.cpp:
(KHTMLPart::handleMousePressEventSingleClick):
2006-01-03 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5378
createDocument fails with DOM Exception 5 when passed empty qname
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMDOMImplementationProtoFunc::callAsFunction):
When passing null to createDocument, pass a null DOMString, and not
a DOMString containing the text "null".
* khtml/xml/dom_docimpl.cpp:
(DOMImplementationImpl::createDocument):
Only validate the qualifiedName if it's not null or empty. Also, do not
create the document element if the qualifiedName is null or empty.
2006-01-03 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
No functionality changes, no tests possible.
khtml/editing should use RefPtr instead of manual ref/deref
http://bugzilla.opendarwin.org/show_bug.cgi?id=6109
Results in a slight performance gain < 1% on the PLT.
* khtml/editing/SelectionController.cpp:
(khtml::SelectionController::toRange):
* khtml/editing/SelectionController.h:
* khtml/editing/append_node_command.cpp:
(khtml::AppendNodeCommand::AppendNodeCommand):
(khtml::AppendNodeCommand::doApply):
(khtml::AppendNodeCommand::doUnapply):
* khtml/editing/append_node_command.h:
(khtml::AppendNodeCommand::~AppendNodeCommand):
(khtml::AppendNodeCommand::appendChild):
(khtml::AppendNodeCommand::parentNode):
* khtml/editing/apply_style_command.cpp:
(khtml::StyleChange::init):
(khtml::ApplyStyleCommand::removeInlineStyle):
* khtml/editing/apply_style_command.h:
* khtml/editing/composite_edit_command.cpp:
(khtml::CompositeEditCommand::deleteInsignificantText):
* khtml/editing/delete_from_text_node_command.cpp:
(khtml::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
* khtml/editing/delete_from_text_node_command.h:
(khtml::DeleteFromTextNodeCommand::~DeleteFromTextNodeCommand):
(khtml::DeleteFromTextNodeCommand::node):
* khtml/editing/delete_selection_command.cpp:
(khtml::DeleteSelectionCommand::initializePositionData):
(khtml::DeleteSelectionCommand::saveTypingStyleState):
(khtml::DeleteSelectionCommand::handleGeneralDelete):
(khtml::DeleteSelectionCommand::calculateEndingPosition):
(khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
(khtml::DeleteSelectionCommand::clearTransientState):
* khtml/editing/delete_selection_command.h:
* khtml/editing/edit_command.cpp:
(khtml::EditCommand::EditCommand):
(khtml::EditCommand::~EditCommand):
(khtml::EditCommand::setTypingStyle):
(khtml::EditCommand::styleAtPosition):
* khtml/editing/edit_command.h:
(khtml::EditCommand::document):
(khtml::EditCommand::typingStyle):
* khtml/editing/insert_into_text_node_command.cpp:
(khtml::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
* khtml/editing/insert_into_text_node_command.h:
(khtml::InsertIntoTextNodeCommand::~InsertIntoTextNodeCommand):
(khtml::InsertIntoTextNodeCommand::node):
* khtml/editing/insert_node_before_command.cpp:
(khtml::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(khtml::InsertNodeBeforeCommand::doApply):
(khtml::InsertNodeBeforeCommand::doUnapply):
* khtml/editing/insert_node_before_command.h:
(khtml::InsertNodeBeforeCommand::~InsertNodeBeforeCommand):
(khtml::InsertNodeBeforeCommand::insertChild):
(khtml::InsertNodeBeforeCommand::refChild):
* khtml/editing/insert_paragraph_separator_command.cpp:
(khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
(khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand):
(khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
(khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
* khtml/editing/insert_paragraph_separator_command.h:
* khtml/editing/join_text_nodes_command.cpp:
(khtml::JoinTextNodesCommand::JoinTextNodesCommand):
(khtml::JoinTextNodesCommand::doApply):
(khtml::JoinTextNodesCommand::doUnapply):
* khtml/editing/join_text_nodes_command.h:
(khtml::JoinTextNodesCommand::~JoinTextNodesCommand):
(khtml::JoinTextNodesCommand::firstNode):
(khtml::JoinTextNodesCommand::secondNode):
* khtml/editing/jsediting.cpp:
* khtml/editing/markup.cpp:
(khtml::createMarkup):
(khtml::createFragmentFromMarkup):
(khtml::createFragmentFromText):
(khtml::createFragmentFromNodeList):
* khtml/editing/markup.h:
* khtml/editing/merge_identical_elements_command.cpp:
(khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
(khtml::MergeIdenticalElementsCommand::doApply):
(khtml::MergeIdenticalElementsCommand::doUnapply):
* khtml/editing/merge_identical_elements_command.h:
(khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand):
* khtml/editing/move_selection_command.cpp:
(khtml::MoveSelectionCommand::MoveSelectionCommand):
(khtml::MoveSelectionCommand::~MoveSelectionCommand):
(khtml::MoveSelectionCommand::doApply):
* khtml/editing/move_selection_command.h:
* khtml/editing/rebalance_whitespace_command.cpp:
* khtml/editing/rebalance_whitespace_command.h:
(khtml::RebalanceWhitespaceCommand::~RebalanceWhitespaceCommand):
* khtml/editing/remove_css_property_command.cpp:
(khtml::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
* khtml/editing/remove_css_property_command.h:
(khtml::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
(khtml::RemoveCSSPropertyCommand::styleDeclaration):
* khtml/editing/remove_node_attribute_command.cpp:
(khtml::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
* khtml/editing/remove_node_attribute_command.h:
(khtml::RemoveNodeAttributeCommand::~RemoveNodeAttributeCommand):
(khtml::RemoveNodeAttributeCommand::element):
* khtml/editing/remove_node_command.cpp:
(khtml::RemoveNodeCommand::RemoveNodeCommand):
(khtml::RemoveNodeCommand::doApply):
(khtml::RemoveNodeCommand::doUnapply):
* khtml/editing/remove_node_command.h:
(khtml::RemoveNodeCommand::~RemoveNodeCommand):
(khtml::RemoveNodeCommand::node):
* khtml/editing/remove_node_preserving_children_command.cpp:
(khtml::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
* khtml/editing/remove_node_preserving_children_command.h:
(khtml::RemoveNodePreservingChildrenCommand::~RemoveNodePreservingChildrenCommand):
(khtml::RemoveNodePreservingChildrenCommand::node):
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplacementFragment::ReplacementFragment):
(khtml::ReplacementFragment::~ReplacementFragment):
(khtml::ReplacementFragment::enclosingBlock):
(khtml::ReplacementFragment::removeNodePreservingChildren):
(khtml::ReplacementFragment::removeNode):
(khtml::ReplacementFragment::insertFragmentForTestRendering):
(khtml::ReplacementFragment::restoreTestRenderingNodesToFragment):
(khtml::ReplaceSelectionCommand::fixupNodeStyles):
(khtml::computeAndStoreNodeDesiredStyle):
(khtml::NodeDesiredStyle::NodeDesiredStyle):
(khtml::ReplaceSelectionCommand::ReplaceSelectionCommand):
(khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand):
(khtml::ReplaceSelectionCommand::doApply):
(khtml::ReplaceSelectionCommand::completeHTMLReplacement):
(khtml::ReplaceSelectionCommand::updateNodesInserted):
* khtml/editing/replace_selection_command.h:
(khtml::NodeDesiredStyle::node):
(khtml::NodeDesiredStyle::style):
(khtml::ReplacementFragment::root):
* khtml/editing/set_node_attribute_command.cpp:
(khtml::SetNodeAttributeCommand::SetNodeAttributeCommand):
* khtml/editing/set_node_attribute_command.h:
(khtml::SetNodeAttributeCommand::~SetNodeAttributeCommand):
(khtml::SetNodeAttributeCommand::element):
* khtml/editing/split_element_command.cpp:
(khtml::SplitElementCommand::SplitElementCommand):
(khtml::SplitElementCommand::doApply):
(khtml::SplitElementCommand::doUnapply):
* khtml/editing/split_element_command.h:
(khtml::SplitElementCommand::~SplitElementCommand):
* khtml/editing/split_text_node_command.cpp:
(khtml::SplitTextNodeCommand::SplitTextNodeCommand):
(khtml::SplitTextNodeCommand::doApply):
(khtml::SplitTextNodeCommand::doUnapply):
* khtml/editing/split_text_node_command.h:
(khtml::SplitTextNodeCommand::~SplitTextNodeCommand):
(khtml::SplitTextNodeCommand::node):
* khtml/editing/split_text_node_containing_element.cpp:
(khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
(khtml::SplitTextNodeContainingElementCommand::doApply):
* khtml/editing/split_text_node_containing_element_command.h:
(khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand):
* khtml/editing/visible_position.cpp:
(khtml::makeRange):
* khtml/editing/visible_position.h:
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::range):
(khtml::SimplifiedBackwardsTextIterator::range):
(khtml::CharacterIterator::range):
(khtml::findPlainText):
* khtml/editing/visible_text.h:
(khtml::WordAwareIterator::range):
* khtml/editing/wrap_contents_in_dummy_span_command.cpp:
(khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
(khtml::WrapContentsInDummySpanCommand::doApply):
(khtml::WrapContentsInDummySpanCommand::doUnapply):
* khtml/editing/wrap_contents_in_dummy_span_command.h:
(khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand):
* kwq/DOMHTML.mm:
(-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
(-[DOMHTMLDocument _createDocumentFragmentWithText:]):
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]):
(-[WebCoreBridge documentFragmentWithText:]):
(-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
2006-01-03 Anders Carlsson <andersca@mac.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5177
Javascript cloneNode(deep) does not clone form elements correctly
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::cloneNode):
Call copyNonAttributeProperties on the new node.
* khtml/html/html_formimpl.cpp:
(DOM::HTMLInputElementImpl::copyNonAttributeProperties):
* khtml/html/html_formimpl.h:
Copy m_value, m_checked and m_indeterminate here.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::importNode):
Call copyNonAttributeProperties on the new node.
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::cloneNode):
Call copyNonAttributeProperties on the new node.
* khtml/xml/dom_elementimpl.h:
(DOM::ElementImpl::copyNonAttributeProperties):
Add function declaration.
2006-01-02 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Eric.
- remove the no longer used QIntDict
* kwq/KWQIntDict.h: Removed.
2006-01-03 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5609
XSLT document() doesn't handle relative paths
Test case: fast/xsl/xslt-relative-path.xml
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::docLoaderFunc): Renamed from stylesheetLoadFunc. Use base URL when constructing URLs.
(DOM::XSLTProcessorImpl::transformToString):
2006-01-02 Vicki Murley <vicki@apple.com>
Reviewed by Maciej.
- fix for <rdar://problem/4389622> *Pan EU2* iframe swallows events for overlapping elements (part 2)
We originally added a call to passSubframeEventToSubframe here to fix the hand cursor updating problem
reported in <rdar://problem/4316201> REGRESSION: cursor and text in status bar is not updated when
mousing over links in a frame (5509). However, when we return early after passSubframeEventToSubframe,
we fail to fire onmouseout events. Since the call to passSubframeEventToSubframe was originally added
to fix the hand cursor updating problem, remove the early return and make cursor updating conditional
on passSubframeEventToSubframe.
* khtml/khtmlview.cpp:
(KHTMLView::viewportMouseMoveEvent):
2005-12-30 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=4557
rename unusual strcmp and strcasecmp for DOMString family
Added new functions named equal and equalIgnoringCase.
* khtml/xml/dom_stringimpl.h: Changed the type of the length parameter to computeHash to unsigned
to match the rest of the interface. Added equal and equalIgnoringCase functions. Added a
version of the hash function that works on char* to CaseInsensitiveHash as preparation for an
atomic string change.
* khtml/xml/dom_stringimpl.cpp: Moved the QT_ALLOC_QCHAR_VEC and QT_DELETE_QCHAR_VEC macros
here, and changed them into inline functions.
(DOM::equal): Implemented.
(DOM::equalIgnoringCase): Implemented.
(DOM::DOMStringImpl::computeHash): Changed parameter type to unsigned to match other similar
functions.
* khtml/dom/dom_string.h: Removed unnecessary friend declarations. Changed operator
overloads for == and != to call through inline to DOMStringImpl. Replaced strcasecmp
with equalIgnoringCase, overloaded for one more combination of parameters. Removed strcmp.
* khtml/dom/dom_string.cpp: Removed functions that are now implemented in DOMStringImpl*.
* khtml/xml/dom_atomicstring.h: Removed a redundant const. Removed unnecessary
friend declarations. Removed AtomicString::equal. Filled out a larger set of == and
!= operator implementations, mostly with inlines calling through to DOMStringImpl.
Renamed equalsIgnoreCase to equalIgnoringCase and filled out a larger set as above.
* khtml/xml/dom_atomicstring.cpp: Renamed AtomicString::equal to just ==.
Removed some implementation of == and equalsIgnoreCase that are replaced by inlines.
* khtml/html/html_listimpl.cpp:
(DOM::HTMLOListElementImpl::parseMappedAttribute):
(DOM::HTMLLIElementImpl::parseMappedAttribute):
Use the "==" operator instead of strcmp.
* khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector):
Use equalIgnoringCase instead of equalsIgnoreCase.
* khtml/rendering/render_form.cpp:
(RenderSlider::updateFromElement): Fixed bug where a temporary DOMString was put into
a const DOMString&. Changed some DOMString to AtomicString as appropriate, and also
used equalIgnoringCase instead of strcasecmp.
(RenderSlider::slotSliderValueChanged): More of the same.
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv): Replaced use of strcasecmp
with equalIgnoringCase. Added parentheses to fix incorrect operator precedence in one case
(&& binds tighter than ||) which fixes a crash when using a http-equiv pragma when there
is no part (not sure how to reproduce that).
* khtml/khtml_part.cpp:
(updateState):
(KHTMLPart::selectionStartHasStyle):
* khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLDocument::putValueProperty):
* khtml/editing/apply_style_command.cpp:
(khtml::StyleChange::checkForLegacyHTMLStyleChange):
(khtml::StyleChange::currentlyHasStyle):
(khtml::hasTextDecorationProperty):
(khtml::ApplyStyleCommand::extractTextDecorationStyle):
(khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
* khtml/html/html_baseimpl.cpp:
(HTMLBodyElementImpl::parseMappedAttribute):
(HTMLFrameElementImpl::parseMappedAttribute):
* khtml/html/html_blockimpl.cpp:
(HTMLDivElementImpl::parseMappedAttribute):
(HTMLHRElementImpl::parseMappedAttribute):
(HTMLParagraphElementImpl::parseMappedAttribute):
(HTMLMarqueeElementImpl::parseMappedAttribute):
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::parseMappedAttribute):
(HTMLElementImpl::addHTMLAlignment):
(HTMLElementImpl::setContentEditable):
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::parseMappedAttribute):
(DOM::HTMLButtonElementImpl::parseMappedAttribute):
(DOM::HTMLInputElementImpl::setInputType):
(DOM::HTMLInputElementImpl::parseMappedAttribute):
(DOM::HTMLKeygenElementImpl::appendFormData):
(DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
* khtml/html/html_imageimpl.cpp: (DOM::HTMLAreaElementImpl::parseMappedAttribute):
* khtml/html/html_inlineimpl.cpp: (DOM::HTMLBRElementImpl::parseMappedAttribute):
* khtml/html/html_tableimpl.cpp: (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
* khtml/html/htmlparser.cpp: (HTMLParser::handleError):
Use equalIgnoringCase instead of strcasecmp.
2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
Test: fast/text/justified-text-rect.html
- WebCore part of fix for
http://bugzilla.opendarwin.org/show_bug.cgi?id=5461
Text width measured incorrectly when text-align: justify
* khtml/rendering/font.h:
* khtml/rendering/font.cpp:
(khtml::Font::selectionRectForText): Added.
* khtml/rendering/render_text.cpp:
(kthml::InlineTextBox::selectionRect): Use selectionRectForText. This
works for justified text as well, and avoids intermediate rounding which
resulted in selection rects narrower than AppKit's.
(khtml::InlineTextBox::positionForOffset): Use selectionRectForText,
which works for justified text as well.
* kwq/KWQFontMetrics.h:
* kwq/KWQFontMetrics.mm:
(QFontMetrics::selectionRectForText): Added.
* kwq/WebCoreTextRenderer.h:
2005-12-30 Alexey Proskuryakov <ap@nypop.com>
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6289
REGRESSION: firstCharacterForRange(0, 0) returns a 0x0 rect
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::rangeFromLocationAndLength):
Only special-case (0, 0) ranges for empty documents.
2005-12-30 Geoffrey Garen <ggaren@apple.com>
Added test case for <rdar://problem/4268278> Submitting a form in onUnload event
handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:]
* manual-tests/onunload-form-submit-crash.html: Added.
2005-12-30 Anders Carlsson <andersca@mac.com>
Reviewed by Eric.
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6297
XMLSerializer should use createMarkup.
* khtml/ecma/xmlserializer.cpp:
(KJS::XMLSerializerProtoFunc::callAsFunction):
Use createMarkup instead of NodeImpl::toString.
* khtml/editing/markup.cpp:
(khtml::startMarkup):
escape attribute values and ignore document fragment nodes.
2005-12-30 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
No functional changes, thus no layout test.
Just removes debug NSLog() calls from ksvg2/kcanvas.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6299
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFilterQuartz::prepareFilter):
(KCanvasFilterQuartz::applyFilter):
(KCanvasFilterQuartz::getCIFilterStack):
(KCanvasFilterQuartz::imageForName):
(KCanvasFEBlendQuartz::getCIFilter):
(KCanvasFEColorMatrixQuartz::getCIFilter):
(KCanvasFEGaussianBlurQuartz::getCIFilter):
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(KCanvasClipperQuartz::applyClip):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceContextQuartz::mapFromVisual):
(KRenderingDeviceContextQuartz::mapToVisual):
(KRenderingDeviceQuartz::createResource):
(KRenderingDeviceQuartz::createFilterEffect):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(drawShadingWithStyle):
(KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(KRenderingPaintServerPatternQuartz::draw):
* ksvg2/svg/svgpathparser.cpp:
(SVGPathParser::parseSVG):
2005-12-29 Graham Dennis <Graham.Dennis@gmail.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3579
In-place style-switching is leaving junk behind, messing up styles
* khtml/rendering/render_block.h: (khtml::RenderBlock::initMaxMarginValues):
Set all margin values in all cases.
2005-12-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
XML documents with "html" in dtd name use XHTML entities when they shouldn't
http://bugzilla.opendarwin.org/show_bug.cgi?id=6290
* khtml/xml/xml_tokenizer.cpp:
(khtml::externalSubsetHandler): check for exact xhtml types
2005-12-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Close leak in CollectionInfo due to HashMap migration
http://bugzilla.opendarwin.org/show_bug.cgi?id=6295
* khtml/html/html_miscimpl.cpp:
(DOM::HTMLCollectionImpl::CollectionInfo::~CollectionInfo):
* khtml/html/html_miscimpl.h:
2005-12-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- finished frame traversal cleanup
http://bugzilla.opendarwin.org/show_bug.cgi?id=6293
* kwq/WebCoreBridge.h: Removed childFrames method from WebCoreBridge protocol
since it is not actually used.
2005-12-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Leaks in XSLTProcessorImpl due to early exit in failure case
http://bugzilla.opendarwin.org/show_bug.cgi?id=6101
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::xmlDocPtrFromNode): add "shouldDelete" argument
(DOM::XSLTProcessorImpl::transformToString): delete new'd xmlDoc
2005-12-29 Eric Seidel <eseidel@apple.com>
File accidentally omitted from previous commit.
Remove QDict from khtml/html
http://bugzilla.opendarwin.org/show_bug.cgi?id=6230
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLCollection::getNamedItems):
2005-12-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove QDict from khtml/html
http://bugzilla.opendarwin.org/show_bug.cgi?id=6230
Uses HashMap instead.
* khtml/html/html_miscimpl.cpp:
(DOM::HTMLCollectionImpl::CollectionInfo::CollectionInfo):
(DOM::HTMLCollectionImpl::CollectionInfo::reset):
(DOM::HTMLCollectionImpl::namedItem):
(DOM::HTMLCollectionImpl::updateNameCache):
(DOM::HTMLCollectionImpl::namedItems):
(DOM::HTMLCollectionImpl::nextNamedItem):
(DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
(DOM::HTMLFormCollectionImpl::updateNameCache):
* khtml/html/html_miscimpl.h:
2005-12-29 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
DOMString/DOMStringImpl/AtomicString need enhancements before replacing QString
http://bugzilla.opendarwin.org/show_bug.cgi?id=6228
Added find(), contains(), startsWith() and endsWith() to DOMString
Uses the above functions throughout the code.
Small performance boost.
* khtml/css/css_base.cpp:
(CSSSelector::print):
* khtml/css/css_ruleimpl.cpp:
(DOM::CSSImportRuleImpl::init):
* khtml/css/css_valueimpl.cpp:
(DOM::CSSStyleDeclarationImpl::setProperty):
* khtml/css/cssparser.cpp:
(CSSParser::parseValue):
(CSSParser::parseDeclaration):
(CSSParser::parseContent):
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::CSSStyleSelector):
(khtml::CSSStyleSelector::setEncodedURL):
(khtml::parseUASheet):
(khtml::cleanpath):
(khtml::CSSStyleSelector::checkSelector):
(khtml::CSSStyleSelector::checkOneSelector):
(khtml::CSSRuleSet::addRulesFromSheet):
(khtml::CSSStyleSelector::applyProperty):
* khtml/dom/dom_string.cpp:
* khtml/dom/dom_string.h:
(DOM::DOMString::contains):
(DOM::DOMString::find):
(DOM::DOMString::startsWith):
(DOM::DOMString::endsWith):
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::parseEnctype):
* khtml/khtml_part.cpp:
(KHTMLPart::requestFrame):
(KHTMLPart::submitForm):
* khtml/misc/decoder.cpp:
(Decoder::decode):
* khtml/xml/dom_atomicstring.h:
(DOM::AtomicString::length):
(DOM::AtomicString::operator []):
(DOM::AtomicString::contains):
(DOM::AtomicString::find):
(DOM::AtomicString::startsWith):
(DOM::AtomicString::endsWith):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::processHttpEquiv):
* khtml/xml/dom_stringimpl.cpp:
(DOM::equal):
(DOM::equalCaseInsensitive):
(DOM::DOMStringImpl::find):
(DOM::DOMStringImpl::endsWith):
* khtml/xml/dom_stringimpl.h:
(DOM::DOMStringImpl::startsWith):
2005-12-29 Rob Buis <rwlbuis@xs4all.nl>
Reviewed by eseidel. Landed by eseidel.
WebCore+SVG has some problems with rounded rectangles
http://bugzilla.opendarwin.org/show_bug.cgi?id=6157
Test: svg/custom/rounded-rects.svg
* ksvg2/svg/SVGRectElementImpl.cpp:
(SVGRectElementImpl::toPathData): fixed round rect calculations
2005-12-29 Mark Rowe <opendarwin.org@bdash.net.nz>
Reviewed by eseidel, ggaren, darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=4301
Support HTML entities on pages parsed as XHTML
Added layout tests:
* fast/parser/entities-in-xhtml.xhtml
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::setIsXHTMLDocument): Track whether the XML document is XHTML.
(khtml::XMLTokenizer::isXHTMLDocument): Ditto.
(khtml::externalSubsetHandler): Ditto.
(khtml::XMLTokenizer::finish): Ditto.
(khtml::getXHTMLEntity): Look up the HTML entity.
(khtml::getEntityHandler): Look up the HTML entity if this is an XHTML document.
* khtml/html/kentities.h: Added.
* khtml/html/kentities.gperf: changed entity to Entity
2005-12-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by darin
- WebCore part of fix for
http://bugzilla.opendarwin.org/show_bug.cgi?id=3922
Variable word/letter spacing and full justification not supported for
ATSUI-rendered text
* khtml/rendering/font.h:
(khtml::Font::checkSelectionPoint): Make sure the complete run, used for
counting spaces and determining padding per space does not go beyond the
text box.
2005-12-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by mjs.
- Fixed <rdar://problem/4325722> crash in KJS::Bindings::dispatchJNICall
due to liveconnect call from Java after Java PlugInView has been
deallocated @ www.binarybet.com
AKA
http://bugzilla.opendarwin.org/show_bug.cgi?id=5518
We had code that checked for whether a call came from a live PlugIn,
but the live PlugIn dictionary would only get cleared when the
KWQKHTMLPart was destroyed. Since a single part can service multiple
loads, the dictionary needs to clear after each one.
No layout test because this bug is difficult to reproduce.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::~KWQKHTMLPart):
(1) Unrelated cleanup: Removed manual clearing of form values,
replaced with call to clearRecordedFormValues().
(2) Replaced PlugIn dictionary cleanup code and view deref call
with call to setView(0), since much of this code was duplicated in
setView, and the stuff that wasn't duplicated needed to be.
(KWQKHTMLPart::setView):
(1) Removed some unnecessary braces.
(2) Added PlugIn dictionary cleanup code.
(3) New behavior: clear _bindingRoot and _windowScriptObject after
each view change. This is needed because after a call to
clenaupPluginRootObjects(), both objects have stale references.
(4) Changed a NULL to a 0.
(KWQKHTMLPart::cleanupPluginRootObjects): Removed extra space.
2005-12-28 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6268
Add undetectable document.all
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::getValueProperty):
If "all" has been set to a new value, return the new value.
(KJS::KJS::HTMLDocument::putValueProperty):
Allow "all" to be set to a new value.
(KJS::HTMLAllCollection::toPrimitive):
Return jsNull() if the preferred type is NullType.
(KJS::getAllHTMLCollection):
* khtml/ecma/kjs_html.h:
(KJS::HTMLAllCollection::HTMLAllCollection):
Add HTMLAllCollection, a subclass of HTMLCollection which should
be undetectable.
(KJS::HTMLAllCollection::toBoolean):
Return false.
2005-12-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Eric, landed by ap.
Test: fast/block/basic/text-indent-rtl.html
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6214
text-indent in RTL block does the opposite
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::rightRelOffset): Subtract the indent instead of adding it.
2005-12-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
Test: fast/dom/HTMLScriptElement/script-load-events.html
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5812
Generate load events for <script> elements
* khtml/html/html_headimpl.cpp:
(HTMLScriptElementImpl::parseMappedAttribute): Parse the onload and onerror attributes.
(HTMLScriptElementImpl::closeRenderer): Call base class's implementation.
(HTMLScriptElementImpl::notifyFinished): Dispatch load and error events.
* khtml/html/htmlparser.h:
* khtml/html/htmlparser.cpp:
(HTMLParser::parseToken): Return the node that was inserted.
* khtml/html/htmltokenizer.h: Added scriptNode, a RefPtr to the node corresponding
to the current load request.
* khtml/html/htmltokenizer.cpp:
(HTMLTokenizer::scriptHandler): Reset scriptNode if a load request was not made.
(HTMLTokenizer::parseTag): Set scriptNode to the node created from the script tag.
(HTMLTokenizer::processToken): Return the node that was inserted.
(HTMLTokenizer::notifyFinished): Reset scriptNode and dispatch load and error events.
* khtml/misc/loader.h:
(CachedScript::errorOccurred): Added.
* khtml/misc/loader.cpp:
(CachedScript::CachedScript):
(CachedScript::error):
2005-12-28 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6246
TextIterator::rangeFromLocationAndLength() returns nil range for an
empty document
Test: editing/input/range-for-empty-document.html
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::rangeFromLocationAndLength):
Handle the case of an empty document and (0, 0) requested range.
2005-12-28 Anders Carlsson <andersca@mac.com>
Reviewed and landed by Geoff.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6269
ToT memory corruption
* khtml/rendering/render_text.cpp:
(khtml::RenderText::setText):
Remove deref().
2005-12-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt, landed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5699
REGRESSION: incomplete repaint
* khtml/rendering/render_object.cpp:
(RenderObject::repaintAfterLayoutIfNeeded): Return false if only the
size changed and not everything was repainted.
* manual-tests/bugzilla-5699.html: Added.
2005-12-27 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Maciej, landed by Darin.
- fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4101>
CSS Fibonacci spiral using 4 images doesn't render correctly
Added layout tests:
* fast/replaced/absolute-image-sizing.html
* khtml/rendering/render_box.cpp:
(RenderBox::calcAbsoluteHorizontalValues): Use calcReplacedWidth() instead of intrinsicWidth()
for replaced elements.
(RenderBox::calcAbsoluteVerticalValues): Same thing for height.
2005-12-27 Darin Adler <darin@apple.com>
Reviewed by Geoff and Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=6198
use RefPtr a few places in RenderText and related classes
* khtml/html/htmltokenizer.h: Use RefPtr for some data members in Token.
Also removed use of bitfields in Token, since there's no need to optimize storage here.
* khtml/html/htmlparser.cpp:
(HTMLParser::parseToken): Update for use of RefPtr in Token.
(HTMLParser::textCreateErrorCheck): Ditto.
(HTMLParser::commentCreateErrorCheck): Ditto.
(HTMLParser::handleIsindex): Ditto.
* khtml/html/htmltokenizer.cpp:
(khtml::Token::addAttribute): Ditto.
(khtml::HTMLTokenizer::processToken): Ditto.
* khtml/rendering/render_text.h: Reduce the number of includes, change
SOFT_HYPHEN from a macro into a constant. Change originalString function
to return a PassRefPtr instead of a RefPtr. Make str and m_generatedContentStr
member be a RefPtr.
* khtml/rendering/render_text.cpp:
(khtml::RenderText::previousOffset): Update for use of RefPtr for str.
(khtml::RenderText::nextOffset): Ditto.
(khtml::RenderText::RenderText): Ditto.
(khtml::RenderText::originalString): Change to return PassRefPtr, even though
it's not necessary at this level (since it's a virtual function).
(khtml::RenderText::posOfChar): Update for use of RefPtr for str.
(khtml::RenderText::setText): Ditto.
(khtml::RenderTextFragment::RenderTextFragment): Ditto.
(khtml::RenderTextFragment::originalString): Change to return PassRefPtr.
* khtml/html/html_inlineimpl.cpp: Re-sorted list of includes, added newly-needed ones.
* kwq/KWQRenderTreeDebug.cpp: Added new include needed since QPtrVector is no longer
included by render_text.h.
2005-12-27 Darin Adler <darin@apple.com>
Fix suggested by Mitz.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6240
REGRESSION: scrollbars in overflows don't work
* khtml/xml/dom2_eventsimpl.cpp: (DOM::MouseRelatedEventImpl::computePositions):
Remove the code to compute pageX/Y from clientX/Y, because clientX/Y are not passed
in correctly (in fact, what's passed in is pageX/Y)! I accidentally included part
of my fix for clientX/Y in the original patch.
2005-12-27 Maks Orlovich <maksim@kde.org>
Reviewed and landed by Maciej.
- fixed 4405: <button> not listed in form collections.
http://bugzilla.opendarwin.org/show_bug.cgi?id=4405
Test: fast/forms/button-in-forms-collection.html
* khtml/html/html_formimpl.h:
(DOM::HTMLButtonElementImpl::isEnumeratable): override to return true
2005-12-25 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
http://bugzilla.opendarwin.org/show_bug.cgi?id=6241
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge parent]): New method, relies on the KHTMLPart's
parent pointer.
2005-12-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by eseidel.
Test: fast/forms/domstring-replace-crash.html
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6236
REGRESSION: Crash in DOMString::replace() in ToT (12/24/05)
* khtml/dom/dom_string.h:
(DOMString::replace): Added check for null m_impl.
2005-12-24 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- replaced QPtrDict for Accessors structs with HashMap (also renamed some
stray getSetInfo methods)
http://bugzilla.opendarwin.org/show_bug.cgi?id=6223
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElement::accessors):
(KJS::HTMLElement::getValueProperty):
(KJS::HTMLElement::putValueProperty):
* khtml/ecma/kjs_html.h:
2005-12-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by eric.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6231
- Fixed assertion failure in QString::mid caused by my last checkin.
parseWindowFeatures() sometimes called QString::mid() with a start
index past the end of the string but a length of 0. There were two
problems there. (1) parseWindowFeatures() shouldn't have gotten past
the end of the string. (2) QString had range truncating code that was
borked. So I fixed both.
* khtml/ecma/kjs_window.cpp:
(KJS::parseWindowFeatures): One of the "past the end" tests was >
instead of >=.
* kwq/KWQString.mm:
(QString::mid): Truncate length *before* deciding whether to return
early. Also, compare start and data._length before computing
data._length - start, because the error case we're trying to catch
will almost certainly cause unsigned overflow.
* manual-tests/window-open-features-parsing.html: Added trailing ','
to uber-test to catch this failure, too.
2005-12-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6221
REGRESSION: Password field is blank error for secure websites using
password field (ToT, 12/24/05)
* khtml/kwq/KWQSlot.mm:
(KWQSlot::KWQSlot): Changed the parameter type of slotTextChanged to const DOMString &
* khtml/rendering/render_form.h:
* khtml/rendering/render_form.cpp:
(RenderLineEdit::RenderLineEdit): ditto.
(RenderLineEdit::slotTextChanged): ditto.
(RenderFileButton::RenderFileButton): ditto.
(RenderFileButton::slotTextChanged): ditto.
2005-12-22 Geoffrey Garen <ggaren@apple.com>
Reviewed by vicki (yay!), eric.
- Fixed: <rdar://problem/4377597> parsing of window.open features strings needs to be more forgiving
Manual test case: WebCore/manual-tests/window-open-features-parsing.html
Also fixed: WebCore/manual-tests/window-open-features.html, which had an incorrect URL in it.
This patch is long. Luckily, it's also complicated.
The main thing I've done is to change our parsing of the window.open 'features' argument to match Win IE.
This is important because we now implement the correct defaults for window.open, and resizing and
scrolling are turned off by default. So, if we parse the 'features' string incorrectly, we'll end
up with an annoying, incorrectly sized window that can't resize or scroll.
To honor a long-standing request by Eric, I factored out the parsing into two new functions:
parseWindowFeatures and constrainToScreen. I also added support for "innerWidth" and "innerHeight,"
since they're just synonyms for "width" and "height."
* khtml/ecma/kjs_window.cpp: removed "emit" statements, since emit is #defined as ""
(KJS::parseDialogFeatures): renamed from parseFeatures, since we now have a 'parseWindowFeatures'.
(KJS::showModalDialog): ditto on parseFeatures. Also added some missing initializations for WindowArgs data members.
(KJS::parseWindowFeatures): new function, all new functionality.
(KJS::constrainToScreen): new function, no new functionality -- just cut and pasted code that used to run as
part of our parsing routine.
(KJS::WindowFunc::callAsFunction):
(1) Factored out previous parsing code.
(2) Factored 17 lines of custom popup-blocking code into 3 lines that use pre-existing 'allowPopUp' function.
Gratuitous, but it cried out to me.
(3) Changed URL parsing to substitute "" for undefined *and* null values (we already did this for undefined),
to avoid trying to navigate to 'http://null'.
(4) Factore a multiline if () { if () {}} into an if ( && )
(4) Removed the main body of code from a giant 'else' block by inserting early returns for the exceptional cases.
This caused some things to show up in the diff even though they're just whitespace changes.
I didn't actually change any code past the line "if (!str.isEmpty() && activePart)"
* kwq/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::createNewWindow): Added code to set toolbars to visible if toolBarVisible is true *or*
locationBarVisible is true. The parser used to do this for us, but it's really the browser that's responsible for
saying that the toolbar and the locationbar are the same thing. Hopefully, we can add a setLocationBarVisible delegate
in the future so that other webkit clients can make their own UI decisions.
* kwq/KWQKPartsBrowserExtension.h: Added locationBarVisible data member to WindowArgs structure and renamed
toolBarsVisible to toolBarVisible (see above). Removed initialization code from WindowArgs structure because
this file is for platform-specific code, and what defaults to use for window arguments is purely engine stuff.
2005-12-23 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Remove many use of .qstring()
Convert several instances of QStrings to DOMStrings
Add DOMString::replace(QChar, QChar)
Remove (unused) KWQLabel, KWQKGlobal
Slight performance improvement.
Also fixed ChangeLog line endings from previous commit.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6138
No tests needed, no functionality changes.
* ChangeLog: Fixed line endings
* ForwardingHeaders/kglobal.h: Removed.
* ForwardingHeaders/qlabel.h: Removed.
* WebCore.xcodeproj/project.pbxproj: removed KWQLabel
* khtml/css/css_base.cpp:
(CSSSelector::selectorText):
* khtml/css/css_stylesheetimpl.cpp:
(MediaListImpl::setMediaText):
* khtml/css/cssstyleselector.cpp:
(khtml::checkPseudoState):
* khtml/dom/dom_string.h:
(DOM::DOMString::replace):
* khtml/ecma/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::put):
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNode::put):
(KJS::DOMAttr::put):
(KJS::DOMDocument::put):
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* khtml/ecma/kjs_html.cpp:
(KJS::KJS::HTMLDocument::put):
(KJS::KJS::HTMLElementFunction::callAsFunction):
(KJS::KJS::HTMLElement::put):
(KJS::KJS::Context2DFunction::callAsFunction):
(KJS::Context2D::putValueProperty):
* khtml/ecma/kjs_proxy.cpp:
(KJSProxyImpl::evaluate):
* khtml/ecma/kjs_window.cpp:
(KJS::Window::isSafeScript):
(KJS::WindowFunc::callAsFunction):
(KJS::ScheduledAction::execute):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::send):
(KJS::XMLHttpRequestProtoFunc::callAsFunction):
* khtml/ecma/xmlhttprequest.h:
* khtml/editing/jsediting.cpp:
(DOM::JSEditor::queryCommandSupported):
* khtml/editing/markup.cpp:
(khtml::stringValueForRange):
(khtml::startMarkup):
* khtml/html/html_baseimpl.cpp:
(HTMLBodyElementImpl::parseMappedAttribute):
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::addHTMLAlignment):
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::formData):
(DOM::HTMLInputElementImpl::appendFormData):
(DOM::HTMLTextAreaElementImpl::updateValue):
* khtml/html/html_headimpl.cpp:
(HTMLLinkElementImpl::parseMappedAttribute):
* khtml/html/html_imageimpl.cpp:
(DOM::HTMLImageElementImpl::parseMappedAttribute):
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLObjectElementImpl::parseMappedAttribute):
(DOM::HTMLParamElementImpl::isURLAttribute):
* khtml/html/html_objectimpl.h:
* khtml/html/html_tableimpl.cpp:
(DOM::HTMLTableElementImpl::addChild):
(DOM::HTMLTableElementImpl::parseMappedAttribute):
(DOM::HTMLTablePartElementImpl::parseMappedAttribute):
(DOM::HTMLTableSectionElementImpl::addChild):
(DOM::HTMLTableRowElementImpl::addChild):
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::parseTag):
* khtml/khtml_part.cpp:
(KHTMLPart::executeScript):
(KHTMLPart::checkEmitLoadEvent):
* khtml/misc/loader.cpp:
(CachedObject::finish):
(CachedCSSStyleSheet::checkNotify):
(CachedXSLStyleSheet::checkNotify):
(CachedXBLDocument::checkNotify):
(DocLoader::requestImage):
(DocLoader::requestStyleSheet):
(DocLoader::requestScript):
(Loader::servePendingRequests):
(Loader::cancelRequests):
* khtml/rendering/render_applet.cpp:
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::updateFirstLetter):
* khtml/rendering/render_box.cpp:
(RenderBox::~RenderBox):
* khtml/rendering/render_form.cpp:
(RenderFormElement::slotTextChanged):
(RenderLineEdit::updateFromElement):
(RenderTextArea::updateFromElement):
(RenderTextArea::text):
* khtml/rendering/render_form.h:
* khtml/rendering/render_frames.cpp:
(RenderPartObject::updateWidget):
* khtml/rendering/render_line.cpp:
(khtml::EllipsisBox::paint):
* khtml/rendering/render_list.cpp:
(RenderListItem::paint):
(RenderListMarker::paint):
* khtml/rendering/render_text.cpp:
(khtml::RenderText::RenderText):
(khtml::RenderText::position):
* khtml/xml/dom_docimpl.cpp:
(DOMImplementationImpl::hasFeature):
(DocumentImpl::getElementByAccessKey):
(DocumentImpl::recalcStyleSelector):
(DocumentImpl::defaultEventHandler):
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::recalcStyle):
* khtml/xml/dom_nodeimpl.cpp:
(DOM::NodeImpl::dump):
(DOM::appendAttributeDesc):
(DOM::NodeImpl::showNode):
* khtml/xml/dom_stringimpl.cpp:
(DOM::DOMStringImpl::lower):
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::executeScripts):
* khtml/xsl/xsl_stylesheetimpl.cpp:
(DOM::XSLStyleSheetImpl::loadChildSheets):
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::documentViewForNode):
(KWQKHTMLPart::runJavaScriptAlert):
(KWQKHTMLPart::runJavaScriptConfirm):
(KWQKHTMLPart::runJavaScriptPrompt):
(KWQKHTMLPart::addMessageToConsole):
(KWQKHTMLPart::passWheelEventToChildWidget):
(KWQKHTMLPart::shouldDragAutoNode):
(KWQKHTMLPart::snapshotDragImage):
(convertAttributesToUnderlines):
(KWQKHTMLPart::setMarkedTextRange):
(KWQKHTMLPart::mousePressNode):
* kwq/KWQKGlobal.h: Removed.
* kwq/KWQKGlobal.mm: Removed.
* kwq/KWQLabel.h: Removed.
* kwq/KWQLabel.mm: Removed.
* kwq/KWQLineEdit.h:
* kwq/KWQLineEdit.mm:
(QLineEdit::setText):
(QLineEdit::text):
(QLineEdit::setAutoSaveName):
(QLineEdit::setPlaceholderString):
* kwq/KWQPainter.mm:
(QPainter::compositeOperatorFromString):
* kwq/KWQSignal.h:
* kwq/KWQSignal.mm:
(KWQSignal::call):
* kwq/KWQSlot.h:
* kwq/KWQSlot.mm:
(KWQSlot::call):
* kwq/KWQString.h:
* kwq/KWQString.mm:
* kwq/KWQTextEdit.h:
* kwq/KWQTextEdit.mm:
(QTextEdit::setText):
(QTextEdit::text):
(QTextEdit::textWithHardLineBreaks):
* ksvg2/scripts/cssmakeprops: removed kglobal.h
* ksvg2/scripts/cssmakevalues: removed kglobal.h
2005-12-23 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Eric Seidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5924
Zero-length responses to XMLHTTPRequest mishandled
* khtml/ecma/xmlhttprequest.cpp (KJS::XMLHttpRequest::slotFinished):
Make sure to fetch response headers and set the state to Loaded, if
this hasn't been done already.
2005-12-23 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Eric Seidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3565
Posting data via XML HTTP Request doesnt work
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::send): Set application/xml as a default Content-Type;
use a proper codec for request body if a charset is specified.
(KJS::XMLHttpRequest::getRequestHeader): Use getSpecificHeader.
(KJS::XMLHttpRequest::getResponseHeader): Ditto.
(KJS::XMLHttpRequest::getSpecificHeader): Factored out code from getResponseHeader.
(KJS::XMLHttpRequestProtoFunc::callAsFunction): Removed a FIXME (this is done in send() now).
* khtml/ecma/xmlhttprequest.h:
2005-12-22 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin Adler.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6118
Investigate not using the frameset charset as a default for frames
* khtml/khtml_part.cpp (KHTMLPart::write):
Do not use the parent frame encoding as a default for sub-frames (revert
rdar://3100151).
2005-12-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
- made RefPtr<DOMStringImpl> usable as a hashtable key/value
- changed XSLTProcessorImpl to make use of this instead of a QDict.
- partially fixed broken param handling for xslt
See LayoutTests for updated test case.
* khtml/xml/dom_stringimpl.cpp:
* khtml/xml/dom_stringimpl.h:
(KXMLCore::): Set things up so you can use RefPtr<DOMStringImpl> as
a hashtable key (should already be usable as a value).
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::xsltParamArrayFromParameterMap): Updated to use a HashMap of RefPtrs instead
of QDict. Also, fixed bugs that would have kept this from ever working at all.
(DOM::XSLTProcessorImpl::transformToString): ditto
(DOM::XSLTProcessorImpl::setParameter): ditto
(DOM::XSLTProcessorImpl::getParameter): ditto
(DOM::XSLTProcessorImpl::removeParameter): ditto
* khtml/xsl/xslt_processorimpl.h:
2005-12-21 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- update for new HashTranslator stuff
* khtml/xml/dom_atomicstring.cpp:
(DOM::CStringTranslator::hash):
(DOM::CStringTranslator::equal):
(DOM::CStringTranslator::translate):
(DOM::AtomicString::equal):
(DOM::AtomicString::add):
(DOM::QCharBufferTranslator::hash):
(DOM::QCharBufferTranslator::equal):
(DOM::QCharBufferTranslator::translate):
* khtml/xml/dom_qname.cpp:
(DOM::QNameComponentsTranslator::hash):
(DOM::QNameComponentsTranslator::equal):
(DOM::QNameComponentsTranslator::translate):
(DOM::QualifiedName::QualifiedName):
2005-12-22 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Cleaned up a previous checkin by defining global const defaultForm.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::radioButtonChecked):
(DocumentImpl::checkedRadioButtonForGroup):
(DocumentImpl::removeRadioButtonGroup):
2005-12-22 Adele Peterson <adele@apple.com>
Reviewed by Tim Hatcher.
Fixed <rdar://problem/4387433> Seed: Radio buttons behave incorrectly in Gmail settings
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::registerFormElement): update radio button hash map when moving form elements around.
(DOM::HTMLGenericFormElementImpl::insertedIntoTree): ditto.
* khtml/html/html_formimpl.h:
(DOM::HTMLGenericFormElementImpl::isRadioButton): Added.
(DOM::HTMLInputElementImpl::isRadioButton): Added.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::radioButtonChecked):
Added comment explaining that we use 1 for the default form. We can't use a null pointer as a key for the hash map.
(DocumentImpl::checkedRadioButtonForGroup): Added conversion of null form pointer to 1.
(DocumentImpl::removeRadioButtonGroup): ditto.
2005-12-22 Anders Carlsson <andersca@mac.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6196
Would like to be able to define prototypes in headers
* khtml/ecma/XSLTProcessor.cpp:
* khtml/ecma/domparser.cpp:
* khtml/ecma/kjs_css.cpp:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_events.cpp:
* khtml/ecma/kjs_html.cpp:
* khtml/ecma/kjs_range.cpp:
* khtml/ecma/kjs_traversal.cpp:
* khtml/ecma/kjs_views.cpp:
* khtml/ecma/xmlhttprequest.cpp:
* khtml/ecma/xmlserializer.cpp:
Update for changes to JSC.
2005-12-22 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6198
use RefPtr a few places in RenderText and related classes
* khtml/html/htmlparser.cpp:
(HTMLParser::parseToken): Use get since text pointer is RefPtr now.
(HTMLParser::textCreateErrorCheck): Ditto.
(HTMLParser::commentCreateErrorCheck): Ditto.
(HTMLParser::handleIsindex): Get rid of explicit deref, no longer needed.
* khtml/html/htmltokenizer.h: Make attrs and text fields of Token use
RefPtr. Also stop using bit fields for the flags in Token -- there's no
evidence this makes things faster.
* khtml/html/htmltokenizer.cpp:
(khtml::Token::addAttribute): Get rid of explicit ref, no longer needed.
(khtml::HTMLTokenizer::processToken): Ditto.
* khtml/rendering/render_block.cpp: (khtml::RenderBlock::updateFirstLetter):
Use a PassRefPtr.
* khtml/rendering/render_text.cpp:
(khtml::RenderText::previousOffset): Use get since str pointer is RefPtr now.
(khtml::RenderText::nextOffset): Ditto.
(khtml::RenderText::RenderText): Get rid of explicit ref, no longer needed.
Change to use initializer syntax instead of assignment.
(khtml::RenderText::setStyle): Use PassRefPtr.
(khtml::RenderText::originalString): Ditto.
(khtml::RenderText::setText): Get rid of explicit ref, no longer needed.
(khtml::RenderTextFragment::RenderTextFragment): Get rid of explicit ref,
no longer needed.
(khtml::RenderTextFragment::originalString): Use PassRefPtr.
* khtml/rendering/render_text.h: Change SOFT_HYPEN to be a constant rather than
a preprocessor macro. Used PassRefPtr in a couple places. Made RenderText's str
and RenderTextFragment's m_generatedContentStr be RefPtr.
* khtml/html/html_inlineimpl.cpp: Add a newly-needed include, sort them.
* kwq/KWQRenderTreeDebug.cpp: Add a newly-needed include.
2005-12-22 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6193
remove some unused KWQ code
* kcanvas/KCanvasCreator.cpp: (KCanvasCreator::self): Don't use static deleter for
two reasons: (1) We don't want any globals with constructors in any of our frameworks
because they slow down framework load time. (2) There's no need to destroy this object at
process termination time -- it's extra work with no benefit. Because of both these
reasons, our KStaticDeleter implementation was basically a no-op.
* ksvg2/svg/SVGDOMImplementationImpl.cpp: (SVGDOMImplementationImpl::self): Ditto.
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::setDocumentChanged): Ditto.
* khtml/html/html_canvasimpl.cpp: Removed include of kstringhandler.h.
* khtml/html/html_imageimpl.cpp: Ditto.
* khtml/khtmlpart_p.h: Removed something that was in an "APPLE_CANGES" ifdef.
* ForwardingHeaders/kstaticdeleter.h: Removed.
* ForwardingHeaders/kstringhandler.h: Removed.
* kwq/KWQKStaticDeleter.h: Removed.
* kwq/KWQKStringHandler.h: Removed.
* kwq/KWQKStringHandler.mm: Removed.
* WebCore.xcodeproj/project.pbxproj: Removed files.
2005-12-22 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6192
add support for non-standard &nsup; entity (implemented in other browsers)
* khtml/html/kentities.gperf: Add "nsup" to table.
* khtml/html/htmltokenizer.cpp: Removed old workaround for inlining issue that no
longer seems to be necessary; also touches the file which is important because
Xcode doesn't seem to understand the dependency on kentities.gperf and the need
to recompile.
2005-12-22 Darin Adler <darin@apple.com>
Reviewed by Eric.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6167
RenderStyle default constructor should initialize its members for speed
* khtml/rendering/DataRef.h: (khtml::DataRef::operator=): Eliminate an extra
branch by doing ref before deref instead of == check.
* khtml/rendering/render_style.cpp:
(khtml::initDefaultStyle): Added. Function to initialize the default style
for use in constructor.
(khtml::RenderStyle::RenderStyle): Changed constructor to initalize all the
members with constructor syntax instead of using assignment on all of them.
* khtml/rendering/render_style.h: Removed static data member _default --
it's now a file scope global instead.
2005-12-21 Darin Adler <darin@apple.com>
Reviewed by Justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6142
intermittent failures in some paste tests
* khtml/editing/apply_style_command.cpp:
(khtml::ApplyStyleCommand::applyBlockStyle): Call new updateLayout member function.
(khtml::ApplyStyleCommand::applyInlineStyle): Ditto.
(khtml::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): Ditto.
* khtml/editing/composite_edit_command.cpp:
(khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto.
(khtml::CompositeEditCommand::findBlockPlaceholder): Ditto.
(khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
* khtml/editing/delete_selection_command.cpp:
(khtml::DeleteSelectionCommand::fixupWhitespace): Ditto.
(khtml::DeleteSelectionCommand::moveNodesAfterNode): Ditto.
* khtml/editing/edit_command.cpp:
(khtml::EditCommand::apply): Ditto.
(khtml::EditCommand::unapply): Ditto.
(khtml::EditCommand::reapply): Ditto.
(khtml::EditCommand::updateLayout): Added. Calls updateLayoutIgnorePendingStylesheets
on the document.
* khtml/editing/edit_command.h: Added updateLayout member function.
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply): Call new updateLayout member function.
* khtml/editing/insert_paragraph_separator_command.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
* khtml/editing/jsediting.cpp:
(DOM::JSEditor::execCommand): Call updateLayoutIgnorePendingStylesheets instead of updateLayout.
(DOM::JSEditor::queryCommandEnabled): Ditto.
(DOM::JSEditor::queryCommandIndeterm): Ditto.
(DOM::JSEditor::queryCommandState): Ditto.
(DOM::JSEditor::queryCommandValue): Ditto.
* khtml/editing/markup.cpp: (khtml::createMarkup): Ditto.
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplacementFragment::insertFragmentForTestRendering): Ditto.
(khtml::ReplaceSelectionCommand::fixupNodeStyles): Call new updateLayout member function.
(khtml::ReplacementFragment::computeStylesUsingTestRendering): Call
updateLayoutIgnorePendingStylesheets instead of updateLayout.
(khtml::ReplaceSelectionCommand::doApply): Call new updateLayout member function.
(khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
(khtml::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
* khtml/editing/visible_units.cpp:
(khtml::previousLinePosition): Call updateLayoutIgnorePendingStylesheets instead of updateLayout.
(khtml::nextLinePosition): Ditto.
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::innerText): Ditto.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Ditto.
(-[WebCoreBridge smartDeleteRangeForProposedRange:]): Ditto.
2005-12-21 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6177
move event code from JavaScript binding into DOM implementation
* khtml/ecma/kjs_events.cpp:
(KJS::DOMMouseEvent::getValueProperty): Change everything to just call through instead of doing
the work here.
(KJS::DOMWheelEvent::getValueProperty): Ditto.
* khtml/xml/dom2_eventsimpl.h:
(DOM::MouseRelatedEventImpl::offsetX):
(DOM::MouseRelatedEventImpl::offsetY):
* khtml/xml/dom2_eventsimpl.cpp:
(DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): Initialize new m_pageX, m_pageY, m_layerX,
m_layerY, m_offsetX, and m_offsetY.
(DOM::MouseRelatedEventImpl::computePositions): Renamed from computeLayerPos since it handles
page position andoffset position too now.
(DOM::MouseRelatedEventImpl::pageX): Added. Not in header since it's virtual.
(DOM::MouseRelatedEventImpl::pageY): Ditto.
(DOM::MouseRelatedEventImpl::x): Added, with FIXME since it should change eventually.
(DOM::MouseRelatedEventImpl::y): Ditto.
(DOM::MouseEventImpl::initMouseEvent): Call computePositions instead of computeLayerPos.
(DOM::MouseEventImpl::toElement): Added.
(DOM::MouseEventImpl::fromElement): Added.
2005-12-21 Timothy Hatcher <timothy@apple.com>
* WebCore.xcodeproj/project.pbxproj:
Set tab width to 8, indent width to 4 and uses tabs to false per file.
2005-12-21 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick and Darin Adler.
- fixed HiDPI problem with forms auto-fill menu width
No test cases added; this code is used for "chrome" only.
* kwq/DOMHTML.mm:
(-[DOMHTMLInputElement _rectOnScreen]):
convert entire rect to window coordinates, not just origin
2005-12-21 David Harrison <harrison@apple.com>
Reviewed by Justin.
<rdar://problem/4039777> Pasting particular snippet of HTML containing list items and a link creates too many list items
- Fixed paste crash by making calling RenderBox::deleteLineBoxWrapper() from RenderObject::remove(),
so that the connection is broken before the InlineBox's parent gets deleted.
- Fixed overzealous style changes when setting the style on a specific range of elements. These specific
ranges are derived programmatically, e.g. as a part of pasting, so they must be respected exactly rather
than modified by converting the endpoints to VisiblePositions.
Test cases coming soon.
* khtml/editing/apply_style_command.cpp:
(khtml::ApplyStyleCommand::ApplyStyleCommand):
(khtml::ApplyStyleCommand::updateStartEnd):
(khtml::ApplyStyleCommand::startPosition):
(khtml::ApplyStyleCommand::endPosition):
(khtml::ApplyStyleCommand::applyBlockStyle):
(khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
(khtml::ApplyStyleCommand::applyInlineStyle):
(khtml::ApplyStyleCommand::removeInlineStyle):
(khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
(khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
(khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
(khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
(khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(khtml::ApplyStyleCommand::joinChildTextNodes):
* khtml/editing/apply_style_command.h:
* khtml/editing/composite_edit_command.cpp:
(khtml::CompositeEditCommand::applyStyle):
* khtml/editing/composite_edit_command.h:
* khtml/editing/insert_line_break_command.cpp:
(khtml::InsertLineBreakCommand::doApply):
* khtml/editing/replace_selection_command.cpp:
(khtml::ReplaceSelectionCommand::fixupNodeStyles):
(khtml::ReplaceSelectionCommand::completeHTMLReplacement):
* khtml/rendering/render_box.cpp:
(RenderBox::destroy):
(RenderBox::deleteLineBoxWrapper):
* khtml/rendering/render_box.h:
* khtml/rendering/render_list.cpp:
(RenderListMarker::~RenderListMarker):
(RenderListMarker::setStyle):
* khtml/rendering/render_object.cpp:
(RenderObject::remove):
* khtml/rendering/render_object.h:
* khtml/rendering/render_replaced.cpp:
(RenderWidget::destroy):
2005-12-20 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5911
REGRESSION: Page scroll position jumps when clicking on word in editable div
I moved the scrolling code out of setFocusNode, and consolidated some of the focus code to scroll when necessary.
* khtml/html/html_formimpl.cpp: Removed HTMLButtonElementImpl::blur, HTMLButtonElementImpl::focus, HTMLInputElementImpl::blur, HTMLInputElementImpl::focus.
New code in ElementImpl::focus will now handle these cases. This allows tabbing through the elements to go through the same code path as calling focus() on an element.
Before, focus() would scroll to reveal for any form elements that had a RenderWidget, but wouldn't scroll for anchor elements, or any of the new form elements.
Now the behavior will be more consistent.
(DOM::HTMLLabelElementImpl::focus): calls ElementImpl::focus.
(DOM::HTMLLegendElementImpl::focus): ditto.
* khtml/html/html_formimpl.h:
* khtml/khtml_part.cpp:
(KHTMLPart::selectAll): calls new function selectContentsOfNode
(KHTMLPart::selectContentsOfNode): factored out code to selectAll for a particular node- which is useful for contenteditable elements.
* khtml/khtml_part.h: added selectContentsOfNode
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::setFocusNode): removed scrolling code.
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::focus): Calls updateLayout in case focus() is called before there's a renderer.
Makes a selection for editable elements (right now we select all, but this will change).
Doesn't scroll if the renderer is a RenderWidget, since that is handled when the view becomes first responder. This will go away when we convert the rest of our form elements.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::revealSelection): Made this more like centerSelectionInVisibleArea where we get the right rectangle if the selection is a caret.
(KWQKHTMLPart::nextKeyViewInFrame): call ElementImpl::focus() for the node. This will set the selection too, which used to be done here.
2005-12-20 Alexey Proskuryakov <ap@nypop.com>
Reviewed by justin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4682>
-[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text
Added layout tests:
* editing/input/firstrectforcharacterrange-styled
* editing/input/firstrectforcharacterrange-plain
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::rangeFromLocationAndLength):
Return null if the range isn't found, instead of a startless/endless
range. Set the end if the requested location+length is out of bounds.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge convertToDOMRange:]): Handle larged unsigned values
before calling rangeWithLocationAndLength, which expects signed ints.
2005-12-20 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/4387630> REGRESSION: <select> element's onClick event doesn't fire @ bugweb.apple.com
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::passSubframeEventToSubframe): only pass mouse down for khtmlviews.
2005-12-20 Justin Garcia <justin.garcia@apple.com>
Reviewed by eric, thatcher
<rdar://problem/4172984> KWQExceptions needs to use @try/@catch instead of relying on NSException.h internals
Needed to undef try/catch because of 4333439. Moved the
declarations of variables that are returned from within a @try
block outside the @try block (because of "might be clobbered by
a longjmp or vfork" warnings). Moved some return statements
inside the @try block to fix volatilization errors with gcc4.
* WebCore.xcodeproj/project.pbxproj:
* WebCorePrefix.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(KCanvasFEBlendQuartz::getCIFilter):
(KCanvasFEColorMatrixQuartz::getCIFilter):
(KCanvasFECompositeQuartz::getCIFilter):
(getPointLightVectors):
(getLightVectors):
(getNormalMap):
(KCanvasFEDiffuseLightingQuartz::getCIFilter):
(KCanvasFEFloodQuartz::getCIFilter):
(KCanvasFEImageQuartz::getCIFilter):
(KCanvasFEMergeQuartz::getCIFilter):
(KCanvasFESpecularLightingQuartz::getCIFilter):
* kwq/KWQExceptions.h:
* kwq/KWQExceptions.mm:
(KWQReportBlockedException):
* kwq/KWQFileButton.mm:
(KWQFileButton::sizeForCharacterWidth):
(KWQFileButton::frameGeometry):
* kwq/KWQKCursor.mm:
(+[NSCursor _WebCore_cursorWithName:hotSpot:_WebCore_cursorWithName:hotSpot:]):
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::createPart):
(KWQKHTMLPart::nextKeyView):
(KWQKHTMLPart::runJavaScriptPrompt):
(KWQKHTMLPart::keyEvent):
(KWQKHTMLPart::sendContextMenuEvent):
(KWQKHTMLPart::fileWrapperForElement):
(KWQKHTMLPart::attributedString):
(KWQKHTMLPart::imageFromRect):
* kwq/KWQKHTMLPartBrowserExtension.mm:
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(QListBox::sizeForNumberOfLines):
* kwq/KWQLoader.mm:
(KWQCheckCacheObjectStatus):
* kwq/KWQWidget.mm:
(QWidget::frameGeometry):
(QWidget::mapFromGlobal):
2005-12-20 David Harrison <harrison@apple.com>
<rdar://problem/4294417> Cannot un-italicize some text after triple clicking it
Reviewed by Justin.
* khtml/editing/apply_style_command.cpp:
(khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
Removed check for tab span because ApplyStyleCommand::removeCSSStyle() already makes the same check.
2005-12-20 Justin Garcia <justin.garcia@apple.com>
<rdar://problem/4387270> editing/deleting/delete-3800834-fix failing
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6160> REGRESSION: Crash when running editing/deleting/delete-3800834-fix.html
<http://bugzilla.opendarwin.org/show_bug.cgi?id=6161> REGRESSION: crash when pressing tab in editable WebHTMLView
Reviewed by darin
Some callers call setAttribute on a floating element. So, using
a RefPtr for the element inside addAttribute can destroy
it.
* khtml/xml/dom_elementimpl.cpp:
(NamedAttrMapImpl::addAttribute):
2005-12-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fixed leak in createAttributeMap
http://bugzilla.opendarwin.org/show_bug.cgi?id=6162
* khtml/xml/dom_elementimpl.cpp:
(StyledElementImpl::createAttributeMap): the new attribute map
is going in a RefPtr, don't also ref it manually.
2005-12-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- change an assignment to a contructor declaration to build with PassRefPtr
leak fix changes
* ksvg2/svg/SVGTransformableImpl.cpp:
(SVGTransformableImpl::parseTransformAttribute):
2005-12-20 Geoffrey Garen <ggaren@apple.com>
Reviewed by John.
Fixed <rdar://problem/4310363> JavaScript window.open: Height is 1
pixel short, and related bugs.
There were a few bugs here.
(1) Our code took size arguments and applied them to the window's
content rect. That's incorrect. The Rhino book says the arguments
should apply to the WebView. Other things that occupy the content
rect include the tab bar, the status bar, and the 1 pixel border
between brushed metal and document. All of these used to impinge
on the web page's display area.
The fix is to calculate sizing based on the WebView instead of
the content rect. This means that the webViewContentRect and
setContentRect delegate methods are obsolete and no longer called
by any of our code. (setContentRect was never called in the
first place.)
(2) None of our sizing accounted for scaled resolutions.
The fix is to ask the WebView to scale all coordintes for us.
(3) Our code assumed that all window accoutrements were on by default.
Safari works that way, but other WebKit clients might not.
The fix is always to explicitly set an on/off state.
(a) To facilitate scaling, I added a new bridge method, webView, to
access the webView.
(b) For internal consistency, I changed ___Bars to ___bars in bridge
methods, and ___bars to ___Bars in WinArgs data members. (Interestingly,
the different classes in our code are evenly divided on which format to
use.)
Added manual test:
* manual-tests/window-open-features.html: Added.
* manual-tests/resources/200x200.png: Added.
* manual-tests/resources/popup200x200.html: Added.
* khtml/ecma/kjs_window.cpp:
(KJS::showModalDialog): see (b)
(KJS::WindowFunc::callAsFunction): see (b)
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::statusbarVisible): see (b)
* kwq/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::createNewWindow):
At the top of this method, I just did some formatting cleanup and
moved the 'referrer' variable closer to where it's used.
The changes in the middle of the method are (3), the bottom, (2).
* kwq/KWQKPartsBrowserExtension.h:
(KParts::WindowArgs::WindowArgs): see (b)
* kwq/WebCoreBridge.h: see (a)
2005-12-20 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Leaks when running SVG tests
http://bugzilla.opendarwin.org/show_bug.cgi?id=6156
No additional tests necessary, leaks already caught by other tests.
* kcanvas/KCanvasFilters.cpp:
(KCanvasFEDiffuseLighting::setLightSource): takes ownership
(KCanvasFESpecularLighting::setLightSource): takes ownership
* kcanvas/KCanvasFilters.h:
(KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting): added
(KCanvasFEDiffuseLighting::~KCanvasFEDiffuseLighting): added
(KCanvasFEDiffuseLighting::lightSource): fixed spacing
(KCanvasFESpecularLighting::KCanvasFESpecularLighting): added
(KCanvasFESpecularLighting::~KCanvasFESpecularLighting): added
(KCanvasFESpecularLighting::lightSource): fixed spacing
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(KRenderingDeviceQuartz::stringForPath): added missing CFRelease
2005-12-20 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Remove additional bit-rotted DEBUG* ifdefs from WebCore.
This removes PARSER_DEBUG, FORMS_DEBUG and CSS_STYLESHEET_DEBUG.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5931
No tests possible, only removing dead code.
* khtml/css/css_stylesheetimpl.cpp:
(CSSStyleSheetImpl::parseString):
(CSSStyleSheetImpl::isLoading):
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::formData):
(DOM::HTMLFormElementImpl::submit):
(DOM::HTMLFormElementImpl::reset):
(DOM::HTMLGenericFormElementImpl::getForm):
* khtml/html/htmlparser.cpp:
(HTMLParser::processCloseTag):
(HTMLParser::createHead):
2005-12-20 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Move Decoder onto Shared<T> and clients onto RefPtr.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6107
No test cases possible, no functional changes.
* khtml/ecma/XSLTProcessor.cpp:
(KJS::XSLTProcessorProtoFunc::callAsFunction):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::XMLHttpRequest):
(KJS::XMLHttpRequest::~XMLHttpRequest):
(KJS::XMLHttpRequest::changeState):
(KJS::XMLHttpRequest::abort):
(KJS::XMLHttpRequest::slotFinished):
(KJS::XMLHttpRequest::slotData):
* khtml/ecma/xmlhttprequest.h:
* khtml/khtml_part.cpp:
(KHTMLPart::clear):
(KHTMLPart::begin):
(KHTMLPart::write):
* khtml/khtmlpart_p.h:
(KHTMLPartPrivate::KHTMLPartPrivate):
* khtml/misc/decoder.cpp:
(Decoder::Decoder):
(Decoder::~Decoder):
* khtml/misc/decoder.h:
* khtml/misc/loader.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::~DocumentImpl):
(DocumentImpl::prepareMouseEvent):
(DocumentImpl::setDecoder):
* khtml/xml/dom_docimpl.h:
(DOM::DocumentImpl::decoder):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource):
2005-12-19 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6143
DOM::ElementImpl should use a RefPtr for the attribute map
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::ElementImpl): Remove code to initialize the pointer; not needed since
RefPtr gets initialized to 0.
(ElementImpl::~ElementImpl): Remove code to deref the pointer; RefPtr handles that.
(ElementImpl::attributes): Add get() call to get raw pointer.
(ElementImpl::setAttributeMap): Remove code to deref the old map and set the new map.
But added code to clear the element pointer from the old map (missing in the old
version). Also added a FIXME.
(ElementImpl::createAttributeMap): Remove ref(); RefPtr handles that.
(NamedAttrMapImpl::addAttribute): Use a RefPtr to guarantee the element does not go
away in the middle of dispatching DOM events.
(StyledElementImpl::attributeChanged): Clean up code by using the inline function
mappedAttributes() instead of doing type casts.
(StyledElementImpl::parseMappedAttribute): Ditto.
(StyledElementImpl::getClassList): Ditto.
* khtml/xml/dom_elementimpl.h: Make ElementImpl::namedAttrMap be a RefPtr instead
of raw pointer. Added an overload of StyledElementImpl::mappedAttributes for both
const and non-const.
* khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::addChild): Use a RefPtr to ref/deref
the child so that it doesn't leak.
* khtml/html/htmlparser.h: Changed isindex to use a RefPtr.
* khtml/html/htmlparser.cpp:
(HTMLParser::~HTMLParser): Removed now-unneeded ref.
(HTMLParser::isindexCreateErrorCheck): Remove now-unneeded deref/ref.
(HTMLParser::handleIsindex): Put isindex element into a RefPtr. This prevents a
crash that was otherwise happening during layout tests (caused indirectly by
the changes above).
(HTMLParser::startBody): Added call to get().
2005-12-19 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen and Eric Seidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4923
stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
* ForwardingHeaders/kxmlcore/AlwaysInline.h: Added.
* WebCorePrefix.h: Removed the use of <ostream>.
* kwq/KWQDef.h: Removed now-unused Q_INT64, Q_INT16, Q_UINT16, qRound, and _KWQ_IOSTREAM_.
* kwq/KWQKHTMLPart.h: Removed some unneeded headers and added forward-declarations of classes
instead. Corrected some incorrect member function declarations.
* kwq/KWQKHTMLPart.mm: Added a now-needed header.
* khtml/ecma/kjs_window.cpp: Removed the <cmath> workaround.
* khtml/rendering/bidi.cpp: Added include of AlwaysInline.h and removed a
lot of unnecessary includes.
* khtml/rendering/render_canvasimage.cpp: Removed the <cmath> workaround.
* khtml/rendering/render_image.cpp: Removed the <cmath> workaround.
* khtml/rendering/render_text.cpp: Added include of AlwaysInline.h and removed a
lot of unnecessary includes.
* ksvg2/css/SVGCSSStyleSelector.cpp: (KDOM::CSSStyleSelector::applySVGProperty):
* ksvg2/svg/SVGAnimateColorElementImpl.cpp: (SVGAnimateColorElementImpl::calculateColor):
* ksvg2/svg/SVGAnimateTransformElementImpl.cpp: (SVGAnimateTransformElementImpl::handleTimerEvent):
* ksvg2/svg/SVGAnimationElementImpl.cpp: (SVGAnimationElementImpl::closeRenderer):
* ksvg2/svg/SVGLinearGradientElementImpl.cpp: (SVGLinearGradientElementImpl::buildGradient):
* ksvg2/svg/SVGPatternElementImpl.cpp: (SVGPatternElementImpl::notifyAttributeChange):
* ksvg2/svg/SVGRadialGradientElementImpl.cpp: (SVGRadialGradientElementImpl::buildGradient):
Replaced use of qRound with use of lroundf or lround as appropriate.
* kwq/KWQCString.h:
* kwq/KWQCString.mm:
* kwq/KWQDateTime.h:
* kwq/KWQDateTime.mm:
* kwq/KWQMap.h:
* kwq/KWQMemArray.h:
* kwq/KWQPoint.mm:
* kwq/KWQPointArray.h:
* kwq/KWQPtrList.h:
* kwq/KWQPtrStack.h:
* kwq/KWQPtrVector.h:
* kwq/KWQRect.h:
* kwq/KWQRect.mm:
* kwq/KWQSize.h:
* kwq/KWQSize.mm:
* kwq/KWQValueList.h:
Removed _KWQ_IOSTREAM_ code that was used at one time for unit tests, but is now unneeded,
and requires <ostream>.
2005-12-19 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen and John Sullivan.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4312
XMLHttpRequest headers that have two CRLF sequences lead to Obj-C exception
I found this by code inspection after examining a security report about
vulnerabilities in other browsers' XMLHttpRequest implementations.
* kwq/KWQLoader.mm:
(+[NSDictionary _webcore_dictionaryWithHeaderString:_webcore_dictionaryWithHeaderString:]):
Check length of string before calling characterAtIndex:0 since it will fail for an empty string.
2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Beth
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6149
REGRESSION (WebCore-417.5): horizontal scrollbar in overflow with top
border doesn't receive mouse events
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::isPointInScrollbar):
Removed borderTop() from horizontal scrollbar rect computation.
* manual-tests/scrollbar-hittest2.html: Added.
2005-12-19 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin, committed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5744
XMLHttpRequest does not apply page encoding after assigning via innerHtml
* khtml/ecma/xmlhttprequest.cpp:
(getMIMEType): A helper function to get MIME type from a Content-Type string.
(getCharset): A helper function to get charset from a Content-Type string.
(KJS::XMLHttpRequest::getValueProperty): Factored out responseIsXML().
(KJS::XMLHttpRequest::getResponseHeader): Return QString instead of JSValue
(to get rid of unnecessary JSLocks).
(KJS::XMLHttpRequest::responseIsXML): A new method that analyses Content-Type.
(KJS::XMLHttpRequest::slotData): Use a correct charset for responses, see bug for details.
(KJS::XMLHttpRequestProtoFunc::callAsFunction): Update for getResponseHeader() changes
* khtml/ecma/xmlhttprequest.h:
== Rolled over to ChangeLog-2005-12-19 ==