blob: dc40a7887825100178a0aa3ddf4a278155697166 [file] [log] [blame]
2006-06-18 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488
"Animated GIFs do not respect transforms in SVG"
http://bugzilla.opendarwin.org/show_bug.cgi?id=6946
"SVG shows invalidation issues in WebKit"
http://www.treebuilder.de/default.asp?file=441875.xml
"Invalidation issues with "SVG 3d" demo"
http://code.google.com/webstats/2005-12/pages.html
"SVG text doesn't repaint correctly"
* kcanvas/KCanvasContainer.cpp:
(WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
(WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
seems wrong.
* kcanvas/KCanvasContainer.h: Prototype new method.
* css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
so it paints twice.
* kcanvas/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
so everything paints that is supposed to. Also handle opacity here since we won't get layers.
(WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
(WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
(WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
changes, as by transform.
* kcanvas/RenderForeignObject.h:
* kcanvas/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity
here since we won't get layers.
(WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
appropriate transforms, so damage rects in SVG images get propagated up properly.
(WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
(WebCore::RenderSVGImage::translateForAttributes): Use above.
(WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
(WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
for transforms.
(WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
* kcanvas/RenderSVGImage.h:
* kcanvas/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
won't get a layer.
(WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
(WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
(WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
rect will get inflated if user space is rotated or skewed.
* kcanvas/RenderPath.cpp:
(WebCore::RenderPath::layout): Make sure to dirty the old bounds.
(WebCore::RenderPath::paint): Hhandle opacity here.
Bonus fix:
* kcanvas/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
attribute transform.
2006-06-19 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Darin.
- fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9500
Split dom2_eventsimpl.* into separate files (one class per file).
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_binding.cpp:
* bindings/js/kjs_dom.cpp:
* bindings/js/kjs_events.cpp:
* bindings/js/kjs_html.cpp:
* bindings/js/kjs_window.cpp:
* bindings/objc/DOM.mm:
* bindings/objc/DOMEvents.mm:
* bindings/objc/DOMInternal.mm:
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/mac/FrameMac.mm:
* dom/BeforeTextInsertedEvent.h:
* dom/BeforeUnloadEvent.cpp: Added.
* dom/BeforeUnloadEvent.h: Added.
(WebCore::BeforeUnloadEvent::result):
* dom/CharacterData.cpp:
* dom/Clipboard.h: Added.
(WebCore::Clipboard::~Clipboard):
* dom/ClipboardEvent.cpp: Added.
(WebCore::ClipboardEvent::ClipboardEvent):
* dom/ClipboardEvent.h: Added.
(WebCore::ClipboardEvent::clipboard):
* dom/ContainerNode.cpp:
* dom/Document.cpp:
* dom/Event.cpp: Added.
(WebCore::Event::Event):
(WebCore::Event::initEvent):
* dom/Event.h: Added.
(WebCore::):
(WebCore::Event::):
(WebCore::Event::type):
(WebCore::Event::target):
(WebCore::Event::currentTarget):
(WebCore::Event::setCurrentTarget):
(WebCore::Event::eventPhase):
(WebCore::Event::setEventPhase):
(WebCore::Event::bubbles):
(WebCore::Event::cancelable):
(WebCore::Event::timeStamp):
(WebCore::Event::stopPropagation):
(WebCore::Event::propagationStopped):
(WebCore::Event::defaultPrevented):
(WebCore::Event::setDefaultHandled):
(WebCore::Event::defaultHandled):
(WebCore::Event::preventDefault):
(WebCore::Event::setDefaultPrevented):
(WebCore::Event::setCancelBubble):
(WebCore::Event::getCancelBubble):
(WebCore::Event::dispatched):
* dom/EventTargetNode.cpp:
* dom/KeyboardEvent.cpp: Added.
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::initKeyboardEvent):
* dom/KeyboardEvent.h: Added.
(WebCore::KeyboardEvent::):
(WebCore::KeyboardEvent::keyIdentifier):
(WebCore::KeyboardEvent::keyLocation):
(WebCore::KeyboardEvent::altGraphKey):
(WebCore::KeyboardEvent::keyEvent):
* dom/MouseEvent.cpp: Added.
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
(WebCore::MouseEvent::isDragEvent):
(WebCore::MouseEvent::toElement):
(WebCore::MouseEvent::fromElement):
* dom/MouseEvent.h: Added.
(WebCore::MouseEvent::button):
(WebCore::MouseEvent::relatedTarget):
(WebCore::MouseEvent::clipboard):
* dom/MouseRelatedEvent.cpp: Added.
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
* dom/MouseRelatedEvent.h: Added.
(WebCore::MouseRelatedEvent::screenX):
(WebCore::MouseRelatedEvent::screenY):
(WebCore::MouseRelatedEvent::clientX):
(WebCore::MouseRelatedEvent::clientY):
(WebCore::MouseRelatedEvent::layerX):
(WebCore::MouseRelatedEvent::layerY):
(WebCore::MouseRelatedEvent::offsetX):
(WebCore::MouseRelatedEvent::offsetY):
(WebCore::MouseRelatedEvent::isSimulated):
* dom/MutationEvent.cpp: Added.
(WebCore::MutationEvent::MutationEvent):
(WebCore::MutationEvent::initMutationEvent):
* dom/MutationEvent.h: Added.
(WebCore::MutationEvent::):
(WebCore::MutationEvent::relatedNode):
(WebCore::MutationEvent::prevValue):
(WebCore::MutationEvent::newValue):
(WebCore::MutationEvent::attrName):
(WebCore::MutationEvent::attrChange):
* dom/RegisteredEventListener.cpp: Added.
(WebCore::RegisteredEventListener::RegisteredEventListener):
(WebCore::operator==):
* dom/RegisteredEventListener.h: Added.
(WebCore::RegisteredEventListener::eventType):
(WebCore::RegisteredEventListener::listener):
(WebCore::RegisteredEventListener::useCapture):
(WebCore::RegisteredEventListener::removed):
(WebCore::RegisteredEventListener::setRemoved):
(WebCore::operator!=):
* dom/UIEvent.cpp: Added.
(WebCore::UIEvent::UIEvent):
(WebCore::UIEvent::initUIEvent):
* dom/UIEvent.h: Added.
(WebCore::UIEvent::view):
(WebCore::UIEvent::detail):
* dom/UIEventWithKeyState.h: Added.
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
(WebCore::UIEventWithKeyState::ctrlKey):
(WebCore::UIEventWithKeyState::shiftKey):
(WebCore::UIEventWithKeyState::altKey):
(WebCore::UIEventWithKeyState::metaKey):
* dom/WheelEvent.cpp: Added.
(WebCore::WheelEvent::WheelEvent):
* dom/WheelEvent.h: Added.
(WebCore::WheelEvent::isHorizontal):
(WebCore::WheelEvent::wheelDelta):
* dom/dom2_eventsimpl.cpp: Removed.
* dom/dom2_eventsimpl.h: Removed.
* editing/EditCommand.cpp:
* editing/SelectionController.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLButtonElement.cpp:
* html/HTMLDocument.cpp:
* html/HTMLElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLSelectElement.cpp:
* html/HTMLTextAreaElement.cpp:
* ksvg2/events/SVGZoomEvent.h:
* ksvg2/svg/SVGAElement.cpp:
* page/Frame.cpp:
* page/FrameView.cpp:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/PlatformWheelEvent.h:
* platform/mac/ClipboardMac.h:
* rendering/RenderFrameSet.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderObject.cpp:
* rendering/RenderTextField.cpp:
* xml/xmlhttprequest.cpp:
2006-06-19 Darin Adler <darin@apple.com>
Reviewed by Brady.
- removed a few empty/unused files Brady found by tracking down the nm error message
* editing/VisibleRange.cpp: Removed.
* editing/VisibleRange.h: Removed.
* kcanvas/KCanvasImage.cpp: Removed.
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
* WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
* WebCoreSources.bkl: Removed VisibleRange.cpp.
2006-06-19 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=9492
Fix or remove window.debug.
It was only available in newly created windows, and became undefined after changing the URL
or reloading. Let's try removing it; hopefully, no-one will notice.
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
2006-06-19 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8972
REGRESSION: invalid UTF-8 sequences are not displayed
Test: LayoutTests/fast/encoding/invalid-UTF-8.html
* dom/xml_tokenizer.cpp:
(WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
before, because the garbage at the end was guaranteed to be invalid UTF-8, and was
omitted in appendOmittingUnwanted();
* platform/StreamingTextDecoder.cpp:
(WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
Renamed back from appendOmittingUnwanted();
(WebCore::StreamingTextDecoder::convertUsingICU):
* platform/StreamingTextDecoder.h:
Update for the above function renaming.
2006-06-18 David Kilzer <ddkilzer@kilzer.net>
Reviewed by darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9498
Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
2006-06-18 David Kilzer <ddkilzer@kilzer.net>
Reviewed by ggaren.
* manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
2006-06-18 David Kilzer <ddkilzer@kilzer.net>
Reviewed by ggaren.
- Update a manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9150
DumpRenderTree should be able to keep URL history during runs
* manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
Fixed coordinates for mouse events. Added call to keepWebHistory().
* manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
window.history hack.
2006-06-17 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::ScriptInterpreter):
Set the default script timeout.
(KJS::ScriptInterpreter::shouldInterruptScript):
New function which asks the frame if the script should be interrupted.
* bindings/js/kjs_binding.h:
* bindings/js/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::evaluate):
Add calls to startTimeoutCheck/stopTimeoutCheck
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
Add calls to pauseTimeoutCheck/unpauseTimeoutCheck
(KJS::ScheduledAction::execute):
Add calls to startTimeoutCheck/stopTimeoutCheck
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::shouldInterruptJavaScript):
New function which asks the bridge if the script should be interrupted.
* bridge/mac/WebCoreFrameBridge.h:
* page/Frame.h:
Add function declarations.
2006-06-17 Alexey Proskuryakov <ap@nypop.com>
Reviewed by ggaren.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8131
Some properties and methods of window and document objects cannot be converted to a string
Most of the properties were already fixed, this just adds adds a prototype to window.debug.
Test: fast/dom/everything-to-string.html
* bindings/js/kjs_proxy.cpp:
(WebCore::TestFunctionImp::TestFunctionImp):
(WebCore::KJSProxy::initScriptIfNeeded):
2006-06-17 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Maciej.
- Fix capitalization issue for case-sensitive filesystems.
* icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7395
Table not properly re-flowed when floated div removed from layout
Test: fast/block/float/table-relayout.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
of children that use lineWidth.
* rendering/RenderBlock.h: Added a FIXME.
2006-06-17 Rob Buis <buis@kde.org>
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6282:
Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
Update selectedIndex when a new option is added using javascript.
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLSelectCollection::put):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setSelectedIndex):
(WebCore::HTMLSelectElement::setOption):
(WebCore::HTMLSelectElement::setLength):
* html/HTMLSelectElement.h:
2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
Assertion failure when dragging an image from the document into Safari's address bar
* manual-tests/reset-initiatedDrag.html: Added.
2006-06-16 David Kilzer <ddkilzer@kilzer.net>
Reviewed by darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9463
REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
(m_floatingSelectors.contains(selector)) in some CSS tests
* css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
instead of the bare constructor.
2006-06-16 David Harrison <harrison@apple.com>
Reviewed by Hatcher.
<rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
Problem was that revision lost a check to not draw the markers
when paintingDisabled(). This led the markers to be drawn when
the window deactivated, at which time the view happens to be flipped.
It is similar but not the same as the Mail ToDo highlighting
issue, which is due to the custom highlight method
drawing when the focusView is nil. Mail team knows this
and has tested the fix.
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForMisspelling):
Early return if paintingDisabled().
2006-06-16 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Adjust padding of inner div so text lines up with text fields.
Adjust height of textarea so it only leaves room for the horizontal
scrollbar if overflow is set to scroll, or if overflow is set to
auto and there's no word wrap.
These changes will be tested by current layout tests when the
new textarea implementation takes effect.
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::createDivStyle):
(WebCore::RenderTextField::calcHeight):
2006-06-16 John Sullivan <sullivan@apple.com>
Reviewed by Darin
- fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
* dom/Document.cpp:
(WebCore::Document::addMarker):
Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
change value of [it - markers.begin()].
2006-06-16 Adele Peterson <adele@apple.com>
Reviewed by Alice.
Added code to draw Cocoa-like border for textareas instead of just using CSS.
* WebCore.exp:
* css/html4.css: Sets a 1px solid border.
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* rendering/RenderThemeMac.h: Formatting changes.
* rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
Uses new wkDrawBezeledTextArea to draw border.
2006-06-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9432
REGRESSION: crash in capitalization code due to empty-string generated content
Test: fast/text/capitalize-empty-generated-string.html
* rendering/RenderText.cpp:
(WebCore::RenderText::setText): Skip empty-string text renderers when
looking for the previous character.
2006-06-15 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8637>
REGRESSION (11-16-05): Selection gaps left behind after delete
* editing/SelectionController.cpp:
(WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that
selection gaps are invalidated.
2006-06-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Geoff and Darin.
Prefer the DWARF debugging symbols format for use in Xcode 2.3.
* WebCore.xcodeproj/project.pbxproj:
2006-06-15 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
* editing/CompositeEditCommand.cpp:
(WebCore::hasARenderedDescendant):
(WebCore::CompositeEditCommand::prune): Ascend using the DOM
(WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
during deletion is fixed, removing the fall back.
2006-06-15 Nicholas Shanks <contact@nickshanks.com>
Reviewed by Hyatt, landed by Joost de Valk.
Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3233
Add support for the :lang pseudo-class.
* css/CSSGrammar.y:
* css/CSSSelector.cpp:
(WebCore::CSSSelector::operator == ):
* css/CSSSelector.h:
(WebCore::CSSSelector::CSSSelector):
* css/cssparser.cpp:
(WebCore::CSSParser::lex):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkOneSelector):
* css/tokenizer.flex:
2006-06-15 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
* page/Frame.cpp:
(WebCore::Frame::findString): When comparing the found range with
what's currently selected a) build a selection with the found
range to remove collapsed whitespace and b) compare ranges
instead of selection objects to ignore the way that the
current selection was made (to ignore the base and extent).
2006-06-15 David Kilzer <ddkilzer@kilzer.net>
Reviewed by mjs.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9382
IDL files missing copyright/license headers
Add Apple BSD license and copyright to IDL files.
* ksvg2/bindings/idl/svg/GetSVGDocument.idl:
* ksvg2/bindings/idl/svg/SVGAElement.idl:
* ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
* ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
* ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
* ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
* ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
* ksvg2/bindings/idl/svg/SVGCircleElement.idl:
* ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
* ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
* ksvg2/bindings/idl/svg/SVGCursorElement.idl:
* ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
* ksvg2/bindings/idl/svg/SVGDefsElement.idl:
* ksvg2/bindings/idl/svg/SVGDescElement.idl:
* ksvg2/bindings/idl/svg/SVGElementInstance.idl:
* ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
* ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
* ksvg2/bindings/idl/svg/SVGEvent.idl:
* ksvg2/bindings/idl/svg/SVGException.idl:
* ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
* ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
* ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
* ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
* ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
* ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
* ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
* ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
* ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
* ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
* ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
* ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
* ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
* ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
* ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
* ksvg2/bindings/idl/svg/SVGFETileElement.idl:
* ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
* ksvg2/bindings/idl/svg/SVGFilterElement.idl:
* ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
* ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
* ksvg2/bindings/idl/svg/SVGGElement.idl:
* ksvg2/bindings/idl/svg/SVGGradientElement.idl:
* ksvg2/bindings/idl/svg/SVGICCColor.idl:
* ksvg2/bindings/idl/svg/SVGImageElement.idl:
* ksvg2/bindings/idl/svg/SVGLangSpace.idl:
* ksvg2/bindings/idl/svg/SVGLengthList.idl:
* ksvg2/bindings/idl/svg/SVGLineElement.idl:
* ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
* ksvg2/bindings/idl/svg/SVGLocatable.idl:
* ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
* ksvg2/bindings/idl/svg/SVGNumberList.idl:
* ksvg2/bindings/idl/svg/SVGPaint.idl:
* ksvg2/bindings/idl/svg/SVGPathElement.idl:
* ksvg2/bindings/idl/svg/SVGPathSeg.idl:
* ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
* ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
* ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
* ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
* ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
* ksvg2/bindings/idl/svg/SVGPathSegList.idl:
* ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
* ksvg2/bindings/idl/svg/SVGPatternElement.idl:
* ksvg2/bindings/idl/svg/SVGPointList.idl:
* ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
* ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
* ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
* ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
* ksvg2/bindings/idl/svg/SVGRectElement.idl:
* ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
* ksvg2/bindings/idl/svg/SVGScriptElement.idl:
* ksvg2/bindings/idl/svg/SVGSetElement.idl:
* ksvg2/bindings/idl/svg/SVGStopElement.idl:
* ksvg2/bindings/idl/svg/SVGStringList.idl:
* ksvg2/bindings/idl/svg/SVGStylable.idl:
* ksvg2/bindings/idl/svg/SVGStyleElement.idl:
* ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
* ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
* ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
* ksvg2/bindings/idl/svg/SVGTests.idl:
* ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
* ksvg2/bindings/idl/svg/SVGTextElement.idl:
* ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
* ksvg2/bindings/idl/svg/SVGTitleElement.idl:
* ksvg2/bindings/idl/svg/SVGTransformList.idl:
* ksvg2/bindings/idl/svg/SVGTransformable.idl:
* ksvg2/bindings/idl/svg/SVGURIReference.idl:
* ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
* ksvg2/bindings/idl/svg/SVGUseElement.idl:
* ksvg2/bindings/idl/svg/SVGViewElement.idl:
* ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
* ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
* ksvg2/svg/SVGAnimatedLength.idl:
2006-06-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
<rdar://problem/4439248>
REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
* editing/markup.cpp:
(WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
2006-06-14 Levi Weintraub <lweintraub@apple.com>
Reviewed by justin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
TinyMCE: Implement execCommand(formatBlock, ...)
* WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
(WebCore::CompositeEditCommand::moveParagraphs): Ditto. downstream() the start
or else we'll move collapsed whitespace and uncollapse it.
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
because that's removeNode's responsibility.
(WebCore::updatePositionForNodeRemoval): Added.
(WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
overload of removeNode so that we can update positions as we remove nodes.
(WebCore::updatePositionForTextRemoval): Added.
(WebCore::DeleteSelectionCommand::deleteTextFromNode):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
since m_trailingWhitespace is always valid (we update it as we remove nodes).
(WebCore::DeleteSelectionCommand::mergeParagraphs):
(WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
be fixed if they have collapsed before merging paragraphs.
* editing/DeleteSelectionCommand.h:
* editing/EditAction.h:
(WebCore::):
* editing/FormatBlockCommand.cpp: Added.
(WebCore::FormatBlockCommand::FormatBlockCommand):
(WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
(WebCore::FormatBlockCommand::doApply):
* editing/FormatBlockCommand.h: Added.
(WebCore::FormatBlockCommand::editingAction):
* editing/InsertListCommand.h:
(WebCore::InsertListCommand::editingAction):
* editing/JSEditor.cpp:
* editing/MergeIdenticalElementsCommand.cpp:
(WebCore::MergeIdenticalElementsCommand::doApply):
* editing/htmlediting.cpp:
(WebCore::validBlockTag):
(WebCore::createElement):
* editing/htmlediting.h:
2006-06-14 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchWindowEvent):
2006-06-14 David Hyatt <hyatt@apple.com>
Rename RenderSlider to DeprecatedSlider, so that I can start work on
the new NSView-less slider.
Reviewed by john
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createRenderer):
* rendering/DeprecatedSlider.cpp: Added.
(WebCore::DeprecatedSlider::DeprecatedSlider):
(WebCore::DeprecatedSlider::calcMinMaxWidth):
(WebCore::DeprecatedSlider::updateFromElement):
(WebCore::DeprecatedSlider::valueChanged):
* rendering/DeprecatedSlider.h: Added.
(WebCore::DeprecatedSlider::renderName):
* rendering/RenderSlider.cpp: Removed.
* rendering/RenderSlider.h: Removed.
2006-06-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej.
- Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument
appears challenging.
- Added createHTMLDocument to Objc bindings, fixed up implementation
to comply with the DOM 2 Candidate Recommendation in which is was defined.
(It never made the final spec.) Also removed use of deprecatedString,
to avoid unnecessary killing of puppies.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(-[DOMImplementation createHTMLDocument:]):
* bindings/objc/DOMPrivate.h:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
2006-06-13 Alice Liu <alice.liu@apple.com>
Reviewed by Adele.
fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
* bindings/js/kjs_html.cpp:
(KJS::HTMLElementFunction::callAsFunction):
support this by converting the argument to an options object
before passing to remove()
2006-06-13 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
This patch fixes a bug where the event listener cache does not distinguish
HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
prevented default masked a case of this bug on the yahoo.com home page until
we fixed bug 5180 on 2005-10-03.
Test: fast/events/event-listener-html-non-html-confusion.html
* bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
* bindings/js/kjs_window.cpp:
(KJS::Window::~Window): Go through the additional maps when clearing the window object
pointer in event listeners.
(KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
argument passed.
(KJS::Window::getJSUnprotectedEventListener): Ditto.
* bindings/js/kjs_events.cpp:
(KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
or non-HTML map depending on the argument passed.
(KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
HTML or non-HTML map depending on whether the HTML flag is set.
(KJS::JSEventListener::JSEventListener): More of the same.
(KJS::JSEventListener::~JSEventListener): Ditto.
(KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
is not a listener at construction time, thus the code here to put the listener into a
map needs the HTML vs. non-HTML logic.
2006-06-13 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
<rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
"load" events to propagate up to the window. We need this quirk to
avoid site hangs, because they depend on an old Mozilla bug.
2006-06-13 Antti Koivisto <koivisto@iki.fi>
Reviewed by Hyatt.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9314
Relative positioned block size doesnt update root layer size
- take relative positioning into account in leftmost/rightmost/lowestPosition()
- ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
- split relativePositionOffset() to x and y functions
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absolutePosition):
(WebCore::RenderBox::relativePositionOffsetX):
(WebCore::RenderBox::relativePositionOffsetY):
(WebCore::RenderBox::lowestPosition):
(WebCore::RenderBox::rightmostPosition):
(WebCore::RenderBox::leftmostPosition):
* rendering/RenderBox.h:
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::lowestPosition):
(WebCore::RenderFlow::rightmostPosition):
(WebCore::RenderFlow::leftmostPosition):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::offsetLeft):
(WebCore::RenderObject::offsetTop):
2006-06-13 Anders Carlsson <acarlsson@apple.com>
Reviewed by Dave Hyatt.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9427
xml-stylesheet processing instructions outside of the prolog should have no effect.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
Remove todo comment.
* dom/xml_tokenizer.cpp:
(WebCore::XMLTokenizer::processingInstruction):
Only check for style sheet if the root element hasn't yet been encountered.
2006-06-13 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
REGRESSION: fix for bug 9390 broke two layout tests
* loader/PluginDocument.cpp:
(WebCore::PluginTokenizer::writeRawData):
Call finished() after setting up the document structure so we'll emit onload events.
2006-06-12 Geoffrey Garen <ggaren@apple.com>
build fix -- forgot to svn add this file
* ForwardingHeaders/kjs/SavedBuiltins.h: Added.
2006-06-12 Brady Eidson <beidson@apple.com>
Reviewed by Maciej.
Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
* platform/String.cpp:
(WebCore::String::append):
2006-06-12 Geoffrey Garen <ggaren@apple.com>
Reviewed by TimO, Maciej.
- WebCore part of merging InterpreterImp into Interpreter. No test
because there's no behavior change.
A substantive change here is that ScriptInterpreter::mark must now chain to
Interpreter::mark, since Interpreter needs to mark the things that
InterpreterImp used to mark.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_binding.cpp:
* bindings/js/kjs_window.cpp:
(KJS::Window::put):
* bridge/mac/WebCoreFrameBridge.mm:
* bridge/mac/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame evaluateWebScript:]):
* kwq/KWQPageState.mm:
2006-06-12 Brady Eidson <beidson@apple.com>
Reviewed by Maciej.
Changed String::ascii() to return a Vector<char> instead of const char*
This allows us to use it "regularly" as the returned vector will destruct
and not leak memory like the previous approach.
We can now do a String.ascii().data() to get a char* buffer instead of
String.deprecatedString().ascii(). It doesn't improve the style much but
dumping the memory-leak issue is a plus.
* icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
(WebCore::IconDatabase::clearDatabase):
* icon/SQLDatabase.cpp:
(SQLDatabase::open):
* icon/SQLStatement.cpp:
(WebCore::SQLStatement::prepare):
(WebCore::SQLStatement::step):
(WebCore::SQLStatement::returnTextResults):
(WebCore::SQLStatement::returnTextResults16):
(WebCore::SQLStatement::returnIntResults):
(WebCore::SQLStatement::returnInt64Results):
(WebCore::SQLStatement::returnDoubleResults):
In addition to the changes to the string classes, changed my database code over to the new
preferred method.
* platform/PlatformString.h:
* platform/String.cpp:
(WebCore::String::ascii):
* platform/StringImpl.cpp:
(WebCore::StringImpl::ascii):
* platform/StringImpl.h:
2006-06-12 Dave Hyatt <hyatt@apple.com>
Add the notion of a selection foreground color to the engine for
Win32. Rename existing selectionColor methods to be
selectionBackgroundColor instead.
Change the 60% alpha blend rule for transparent selection to
instead be a range from 60-80%, with less transparency being
used as needed to ensure the transformed color more closely
approximates the original operating system color when blended
with a white background.
Reviewed by mjs
* platform/Color.cpp:
(WebCore::blend):
(WebCore::Color::blendWithWhite):
* platform/Color.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::fillHorizontalSelectionGap):
(WebCore::RenderBlock::fillVerticalSelectionGap):
(WebCore::RenderBlock::fillLeftSelectionGap):
(WebCore::RenderBlock::fillRightSelectionGap):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paint):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionBackgroundColor):
(WebCore::RenderObject::selectionForegroundColor):
* rendering/RenderObject.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::activeSelectionBackgroundColor):
(WebCore::RenderTheme::inactiveSelectionBackgroundColor):
(WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
(WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
(WebCore::RenderTheme::platformActiveSelectionForegroundColor):
(WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
* rendering/RenderThemeWin.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
2006-06-12 John Sullivan <sullivan@apple.com>
Reviewed by Darin Adler.
* page/Frame.cpp:
(WebCore::Frame::markAllMatchesForText):
Do a "fake" paint here so that the rectangles for the text matches will have been
computed by the time this method returns.
2006-06-12 Brady Eidson <beidson@apple.com>
Reviewed by Levi and Tim Omernick.
-Added a skeleton sqlite3 icon database file to IconDatabase
-Added functionality to validate and recreate this icon.db file
-Fixed some buggys in SQLDatabase.cpp
* icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
(WebCore::IconDatabase::isValidDatabase):
(WebCore::IconDatabase::clearDatabase):
(WebCore::IconDatabase::recreateDatabase):
* icon/IconDatabase.h:
* icon/SQLStatement.cpp:
(WebCore::SQLStatement::columnCount):
(WebCore::SQLStatement::getColumnName):
(WebCore::SQLStatement::getColumnName16):
(WebCore::SQLStatement::getColumnText):
(WebCore::SQLStatement::getColumnText16):
(WebCore::SQLStatement::getColumnDouble):
(WebCore::SQLStatement::getColumnInt):
(WebCore::SQLStatement::getColumnInt64):
(WebCore::SQLStatement::getColumnBlob):
-Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
function calls weren't as error-tolerant as documentation advertised
(maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
2006-06-12 Brady Eidson <beidson@apple.com>
Reviewed by Levi.
-Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.
-Changed the base IconDatabase over to this new framework.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreIconDatabaseBridge.mm:
(-[WebCoreIconDatabaseBridge closeSharedDatabase]):
-By popular request, removed an annoying log message I'd accidentally left in
* icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::open):
(WebCore::IconDatabase::close):
(WebCore::IconDatabase::~IconDatabase):
* icon/IconDatabase.h:
(WebCore::IconDatabase::isOpen):
-Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
* icon/SQLDatabase.cpp: Added.
(SQLDatabase::SQLDatabase):
(SQLDatabase::open):
(SQLDatabase::close):
(SQLDatabase::executeCommand):
(SQLDatabase::tableExists):
* icon/SQLDatabase.h: Added.
(WebCore::SQLDatabase::isOpen):
(WebCore::SQLDatabase::getPath):
(WebCore::SQLDatabase::lastError):
(WebCore::SQLDatabase::lastErrorMsg):
(WebCore::SQLStatement::isPrepared):
(WebCore::SQLStatement::lastError):
(WebCore::SQLStatement::lastErrorMsg):
* icon/SQLStatement.cpp: Added.
(WebCore::SQLStatement::SQLStatement):
(WebCore::SQLStatement::~SQLStatement):
(WebCore::SQLStatement::prepare):
(WebCore::SQLStatement::step):
(WebCore::SQLStatement::finalize):
(WebCore::SQLStatement::reset):
(WebCore::SQLStatement::executeCommand):
(WebCore::SQLStatement::bindBlob):
(WebCore::SQLStatement::bindText):
(WebCore::SQLStatement::columnCount):
(WebCore::SQLStatement::getColumnName):
(WebCore::SQLStatement::getColumnName16):
(WebCore::SQLStatement::getColumnText):
(WebCore::SQLStatement::getColumnText16):
(WebCore::SQLStatement::getColumnDouble):
(WebCore::SQLStatement::getColumnInt):
(WebCore::SQLStatement::getColumnInt64):
(WebCore::SQLStatement::getColumnBlob):
(WebCore::SQLStatement::returnTextResults):
(WebCore::SQLStatement::returnTextResults16):
(WebCore::SQLStatement::returnIntResults):
(WebCore::SQLStatement::returnInt64Results):
(WebCore::SQLStatement::returnDoubleResults):
-Initial checking of SQLDatabase framework
* platform/PlatformString.h:
* platform/String.cpp:
(WebCore::String::String):
-Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on
null-terminated UTF16 which we didn't yet support.
2006-06-11 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
* DerivedSources.make: Fix clean builds.
2006-06-11 Darin Adler <darin@apple.com>
- another try at fixing Windows
* loader/CachedResource.h:
* platform/cairo/GraphicsContextCairo.cpp:
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::setData):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoderPrivate::decode):
(WebCore::GIFImageDecoder::setData):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::setData):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::setData):
* platform/image-decoders/png/PNGImageDecoder.h:
s/DeprecatedByteArray/Vector<char>/
2006-06-11 Darin Adler <darin@apple.com>
- try to fix Windows build
* platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
Use Vector<char> instead of DeprecatedByteArray.
* platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
Don't try to return 0 from a function that returns a Vector<char>.
2006-06-11 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
Remove use of DeprecatedArray in favor of new Vector class
This removes most of the uses of DeprecatedArray and
DeprecatedByteArray, with the exception of DeprecatedCString.
No test cases added because there is no change in
functionality.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::data):
* loader/CachedCSSStyleSheet.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::bufferData):
(WebCore::CachedImage::data):
(WebCore::CachedImage::checkNotify):
(WebCore::CachedImage::shouldStopAnimation):
* loader/CachedImage.h:
* loader/CachedObject.cpp:
(WebCore::CachedObject::bufferData):
(WebCore::CachedObject::setExpireDate):
* loader/CachedObject.h:
(WebCore::CachedObject::setCharset):
* loader/CachedScript.cpp:
(WebCore::CachedScript::data):
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
(WebCore::CachedXBLDocument::data):
(WebCore::CachedXBLDocument::checkNotify):
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::data):
* loader/CachedXSLStyleSheet.h:
* loader/Request.cpp:
(WebCore::Request::Request):
(WebCore::Request::~Request):
* loader/Request.h:
(WebCore::Request::buffer):
(WebCore::Request::cachedObject):
(WebCore::Request::docLoader):
(WebCore::Request::isIncremental):
(WebCore::Request::setIsIncremental):
(WebCore::Request::isMultipart):
(WebCore::Request::setIsMultipart):
* loader/loader.cpp:
(WebCore::crossDomain):
(WebCore::Loader::Loader):
(WebCore::Loader::load):
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::receivedAllData):
(WebCore::Loader::receivedResponse):
(WebCore::Loader::receivedData):
(WebCore::Loader::numRequests):
(WebCore::Loader::cancelRequests):
(WebCore::Loader::removeBackgroundDecodingRequest):
(WebCore::Loader::jobForRequest):
* platform/Image.cpp:
(WebCore::Image::setData):
* platform/Image.h:
(WebCore::Image::dataBuffer):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::init):
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::matchRulesForList):
(WebCore::CSSStyleSelector::sortMatchedRules):
(WebCore::CSSStyleSelector::initForStyleResolve):
(WebCore::CSSStyleSelector::createStyleForElement):
(WebCore::CSSStyleSelector::createPseudoStyleForElement):
* css/cssstyleselector.h:
(WebCore::CSSStyleSelector::addMatchedRule):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
* dom/xml_tokenizer.cpp:
(WebCore::OffsetBuffer::OffsetBuffer):
(WebCore::openFunc):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::index):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::setSelectedIndex):
(WebCore::HTMLSelectElement::length):
(WebCore::HTMLSelectElement::remove):
(WebCore::HTMLSelectElement::value):
(WebCore::HTMLSelectElement::setValue):
(WebCore::HTMLSelectElement::state):
(WebCore::HTMLSelectElement::restoreState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::notifyOptionSelected):
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::listItems):
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
(KWQServeSynchronousRequest):
* kwq/KWQTextStream.cpp:
(QTextStream::operator<<):
* kwq/KWQTextStream.h:
* loader/FormData.cpp:
(WebCore::FormData::flatten):
(WebCore::FormData::flattenToString):
* loader/FormData.h:
(WebCore::FormDataElement::FormDataElement):
* platform/DeprecatedString.cpp:
* platform/DeprecatedString.h:
* platform/IntPointArray.cpp: Removed.
* platform/IntPointArray.h: Removed.
* platform/TextEncoding.cpp:
(WebCore::TextEncoding::toUnicode):
* platform/TextEncoding.h:
* platform/cairo/pixman/src/pixregion.c:
* platform/cg/PathCG.cpp:
(WebCore::Path::Path):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBorder):
* rendering/RenderTable.h:
(WebCore::RenderTable::colToEffCol):
(WebCore::RenderTable::effColToCol):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::setCellWidths):
* rendering/RenderTableSection.h:
* rendering/bidi.cpp:
(WebCore::addMidpoint):
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/render_form.cpp:
(WebCore::RenderSelect::updateFromElement):
(WebCore::RenderSelect::layout):
(WebCore::RenderSelect::valueChanged):
(WebCore::RenderSelect::selectionChanged):
(WebCore::RenderSelect::updateSelection):
* rendering/table_layout.cpp:
(WebCore::FixedTableLayout::layout):
* rendering/table_layout.h:
* xml/XSLTProcessor.cpp:
(WebCore::docLoaderFunc):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::processSyncLoadResults):
* xml/xmlhttprequest.h:
2006-06-11 David Kilzer <ddkilzer@kilzer.net>
Reviewed by darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9394
Fix no-SVG build
* DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
* ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
* ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
* ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
* ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
* ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
* ksvg2/svg/SVGAngle.idl: Ditto.
* ksvg2/svg/SVGAnimatedLength.idl: Ditto.
* ksvg2/svg/SVGColor.idl: Ditto.
* ksvg2/svg/SVGDocument.idl: Ditto.
* ksvg2/svg/SVGElement.idl: Ditto.
* ksvg2/svg/SVGEvent.idl: Ditto.
* ksvg2/svg/SVGLength.idl: Ditto.
* ksvg2/svg/SVGMatrix.idl: Ditto.
* ksvg2/svg/SVGNumber.idl: Ditto.
* ksvg2/svg/SVGPoint.idl: Ditto.
* ksvg2/svg/SVGRect.idl: Ditto.
* ksvg2/svg/SVGSVGElement.idl: Ditto.
* ksvg2/svg/SVGTransform.idl: Ditto.
2006-06-11 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
Move full-frame plugins to WebCore
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add PluginDocument
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::redirectDataToPlugin):
Call the bridge.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
Add redirectDataToPlugin which is used to redirect incoming data
to a plugin.
* bridge/mac/WebCoreViewFactory.h:
Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
* dom/DOMImplementation.cpp:
* dom/DOMImplementation.h:
Get rid of createTextDocument and just create a text document explicitly when needed.
* dom/Document.h:
(WebCore::Document::isPluginDocument):
* loader/PluginDocument.cpp: Added.
(WebCore::PluginTokenizer::PluginTokenizer):
(WebCore::PluginTokenizer::wantsRawData):
(WebCore::PluginTokenizer::write):
(WebCore::PluginTokenizer::createDocumentStructure):
(WebCore::PluginTokenizer::writeRawData):
(WebCore::PluginTokenizer::stopParsing):
(WebCore::PluginTokenizer::finish):
(WebCore::PluginTokenizer::isWaitingForScripts):
(WebCore::PluginDocument::PluginDocument):
(WebCore::PluginDocument::createTokenizer):
* loader/PluginDocument.h: Added.
(WebCore::PluginDocument::isPluginDocument):
Add PluginDocument.
* page/Frame.cpp:
(WebCore::Frame::begin):
Possibly create a plugin document.
* page/Frame.h:
(WebCore::Frame::redirectDataToPlugin):
Add declaration.
* platform/PlugInInfoStore.h:
* platform/mac/PlugInInfoStoreMac.mm:
(WebCore::PlugInInfoStore::supportsMIMEType):
Ask WebCoreViewFactory if the MIME type is supported.
2006-06-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9334
Incomplete repaint when changing block from non-positioned to positioned
Test: fast/repaint/static-to-positioned.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
as static.
2006-06-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9193
REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
Test: fast/layers/opacity-outline.html
- fix repainting of layer children's outlines that extend beyond the layer
Test: fast/repaint/layer-child-outline.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
(WebCore::RenderLayer::absoluteBoundingBox): Ditto.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
outline size rather than 0 for PaintPhaseChildOutlines.
2006-06-10 Steve Falkenburg <sfalken@apple.com>
Fix build break
* platform/cairo/GraphicsContextCairo.cpp:
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::scale):
2006-06-10 Geoffrey Garen <ggaren@apple.com>
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8515
Linux porting compile bug
Fix by Mike Emmel, Reviewed by Darin.
* Projects/gdk/webcore-gdk.bkl:
* WebCoreSources.bkl:
* css/maketokenizer:
* html/HTMLCanvasElement.cpp:
* html/HTMLImageElement.h:
* icon/IconDatabase.cpp:
* make-generated-sources.sh:
* page/Frame.h:
* page/FramePrivate.h:
* platform/Cursor.h:
* platform/FontData.h:
(WebCore::FontData::getGlyphIndex):
* platform/GlyphBuffer.h:
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::add):
* platform/GraphicsContext.h:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformMouseEvent.h:
* platform/PlatformWheelEvent.h:
* platform/ScrollView.h:
* platform/TransferJob.h:
(WebCore::TransferJob::getInternal):
* platform/TransferJobInternal.h:
(WebCore::TransferJobInternal::TransferJobInternal):
* platform/Widget.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::roundToDevicePixels):
* webcore-base.bkl:
* xpath/impl/XPathValue.cpp:
2006-06-09 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick and Dave Hyatt.
WebCore support for computing but not highlighting rects for text matches.
* dom/Document.h:
added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
and one vector of rects
* dom/Document.cpp:
(placeholderRectForMarker()):
new function, returns a recognizable degenerate rect used until a real rect has been set
(WebCore::Document::addMarker):
Reworked for new MarkerMap data structure; now adds parallel placeholder rect
along with marker
(WebCore::Document::copyMarkers):
Reworked for new MarkerMap data structure
(WebCore::Document::removeMarkers):
Reworked for new MarkerMap data structure; now removed corresponding rect along
with marker
(WebCore::Document::markersForNode):
Reworked for new MarkerMap data structure
(WebCore::Document::renderedRectsForMarkers):
New method, returns an array of all non-placeholder rects for the given marker type
(WebCore::Document::repaintMarkers):
Reworked for new MarkerMap data structure
(WebCore::Document::setRenderedRectForMarker):
New method, sets the rendered rect for a given marker
(WebCore::Document::shiftMarkers):
Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
now, but sometimes we will end up only computing the rect, not actually highlighting it.
(Maybe some names should be improved here?)
(WebCore::InlineTextBox::paintTextMatchMarker):
Reorganized to move all the code that actually draws into a block that's guarded by
markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
go, and now we always use that computation in order to call setRenderedRectForMarker.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge rectsForTextMatches]):
New method, returns an array of NSValues representing NSRects. Gets them
from Document::renderedRectsForMarkers
2006-06-10 Anders Carlsson <acarlsson@apple.com>
Reviewed by Eric.
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLElement::put):
Call WebCore::JSHTMLElement::put so that autogenerated setters will work
for HTMLElement.
2006-06-09 Geoffrey Garen <ggaren@apple.com>
- Build fix after last JSC check-in (oops!)
* bridge/mac/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame scopeChain]):
(-[WebCoreScriptCallFrame functionName]):
(-[WebCoreScriptCallFrame evaluateWebScript:]):
2006-06-09 David Hyatt <hyatt@apple.com>
Rename m_isFocused on the frame to m_isActive, since it isn't really
about focus but is instead about whether or not the top-level window is
active.
Pull code that was incorrectly factored into Mac-only code out of FrameMac
and back up into Frame.
Reviewed by andersca
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
* page/Frame.cpp:
(WebCore::Frame::setFocusNodeIfNeeded):
(WebCore::Frame::isActive):
(WebCore::Frame::setIsActive):
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
2006-06-09 David Hyatt <hyatt@apple.com>
Rework selection coloring. Rename displaysWithFocusAttributes
to isActive. Move the white-blending code onto the Color API to make
it more convenient to mutate colors for selection blending. Eliminate all
the selection state from the GraphicsContext and move it to the RenderTheme.
Implement both Win32 and Mac theme selection colors.
Reviewed by sfalken
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::setIsActive):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge drawRect:]):
(-[WebCoreFrameBridge setIsActive:]):
(-[WebCoreFrameBridge selectionColor]):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkOneSelector):
* page/Frame.cpp:
(WebCore::Frame::isActive):
(WebCore::Frame::setIsActive):
* page/Frame.h:
* platform/Color.cpp:
(WebCore::blend):
(WebCore::Color::blendWithWhite):
* platform/Color.h:
(WebCore::Color::hasAlpha):
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
* platform/GraphicsContext.h:
* platform/mac/GraphicsContextMac.mm:
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::endTransparencyLayer):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSelection):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::fillHorizontalSelectionGap):
(WebCore::RenderBlock::fillVerticalSelectionGap):
(WebCore::RenderBlock::fillLeftSelectionGap):
(WebCore::RenderBlock::fillRightSelectionGap):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paint):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderListMarker.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionColor):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
* rendering/RenderReplaced.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::activeSelectionColor):
(WebCore::RenderTheme::inactiveSelectionColor):
(WebCore::RenderTheme::platformActiveSelectionColor):
(WebCore::RenderTheme::platformInactiveSelectionColor):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformActiveSelectionColor):
(WebCore::RenderThemeMac::platformInactiveSelectionColor):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::platformActiveSelectionColor):
(WebCore::RenderThemeWin::platformInactiveSelectionColor):
* rendering/RenderThemeWin.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
2006-06-09 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
<rdar://problem/4549980>
REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
* bridge/mac/FrameMac.h: Moved findString to Frame.
* bridge/mac/FrameMac.mm: Ditto.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]):
Convert the NSString to a String.
* editing/JSEditor.cpp: Added execCommand(FindString, ...)
* editing/Selection.cpp: Added a constructor for Ranges
(WebCore::Selection::Selection):
* editing/Selection.h:
* page/Frame.cpp:
(WebCore::Frame::findString): Moved from FrameMac. Compare a selection created
using the found range with the current selection in case the current selection is
the found range minus some collapsed whitespace on the edges.
* page/Frame.h:
2006-06-09 Steve Falkenburg <sfalken@apple.com>
Fix build break
* WebCore.vcproj/WebCore/WebCore.vcproj:
* css/MediaQueryEvaluator.cpp:
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::addRoundedRectClip):
(GraphicsContext::addInnerRoundedRectClip):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
2006-06-09 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth.
Landed by Beth.
CSS3 Media Queries implementation.
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_css.cpp:
(KJS::DOMMediaList::put):
(KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
* bindings/objc/DOMCSS.mm:
(-[DOMMediaList setMediaText:]):
(-[DOMMediaList deleteMedium:]):
(-[DOMMediaList appendMedium:]):
* css/CSSGrammar.y:
* css/MediaFeatureNames.cpp: Added.
(WebCore::MediaFeatureNames::init):
* css/MediaFeatureNames.h: Added.
* css/MediaList.cpp:
(WebCore::MediaList::MediaList):
(WebCore::MediaList::~MediaList):
(WebCore::parseMediaDescriptor):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::mediaText):
(WebCore::MediaList::setMediaText):
(WebCore::MediaList::item):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::appendMediaQuery):
* css/MediaList.h:
(WebCore::MediaList::MediaList):
(WebCore::MediaList::length):
(WebCore::MediaList::mediaQueries):
* css/MediaQuery.cpp: Added.
(WebCore::MediaQuery::MediaQuery):
(WebCore::MediaQuery::~MediaQuery):
(WebCore::MediaQuery::operator==):
(WebCore::MediaQuery::cssText):
* css/MediaQuery.h: Added.
(WebCore::MediaQuery::):
(WebCore::MediaQuery::restrictor):
(WebCore::MediaQuery::expressions):
(WebCore::MediaQuery::mediaType):
(WebCore::MediaQuery::append):
* css/MediaQueryEvaluator.cpp: Added.
(WebCore::):
(WebCore::MediaQueryEvaluator):
(WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
(WebCore::MediaQueryEvaluator::mediaTypeMatch):
(WebCore::applyRestrictor):
(WebCore::MediaQueryEvaluator::eval):
(WebCore::parseAspectRatio):
(WebCore::cmpvalue):
(WebCore::numberValue):
(WebCore::colorMediaFeatureEval):
(WebCore::monochromeMediaFeatureEval):
(WebCore::device_aspect_ratioMediaFeatureEval):
(WebCore::gridMediaFeatureEval):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):
(WebCore::min_colorMediaFeatureEval):
(WebCore::max_colorMediaFeatureEval):
(WebCore::min_monochromeMediaFeatureEval):
(WebCore::max_monochromeMediaFeatureEval):
(WebCore::min_device_aspect_ratioMediaFeatureEval):
(WebCore::max_device_aspect_ratioMediaFeatureEval):
(WebCore::min_heightMediaFeatureEval):
(WebCore::max_heightMediaFeatureEval):
(WebCore::min_widthMediaFeatureEval):
(WebCore::max_widthMediaFeatureEval):
(WebCore::min_device_heightMediaFeatureEval):
(WebCore::max_device_heightMediaFeatureEval):
(WebCore::min_device_widthMediaFeatureEval):
(WebCore::max_device_widthMediaFeatureEval):
(WebCore::createFunctionMap):
* css/MediaQueryEvaluator.h: Added.
* css/MediaQueryExp.cpp: Added.
(WebCore::MediaQueryExp::MediaQueryExp):
(WebCore::MediaQueryExp::~MediaQueryExp):
* css/MediaQueryExp.h: Added.
(WebCore::MediaQueryExp::mediaFeature):
(WebCore::MediaQueryExp::value):
(WebCore::MediaQueryExp::operator==):
* css/StyleSheet.cpp:
(WebCore::StyleSheet::setMedia):
* css/cssparser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::~CSSParser):
(WebCore::CSSParser::setupParser):
(WebCore::CSSParser::parseMediaQuery):
(WebCore::CSSParser::createFloatingMediaQueryExp):
(WebCore::CSSParser::sinkFloatingMediaQueryExp):
(WebCore::CSSParser::createFloatingMediaQueryExpList):
(WebCore::CSSParser::sinkFloatingMediaQueryExpList):
(WebCore::CSSParser::createFloatingMediaQuery):
(WebCore::CSSParser::sinkFloatingMediaQuery):
* css/cssparser.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::init):
(WebCore::CSSStyleSelector::~CSSStyleSelector):
(WebCore::CSSStyleSelector::loadDefaultStyle):
(WebCore::CSSStyleSelector::matchUARules):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::updateFont):
(WebCore::CSSStyleSelector::cacheBorderAndBackground):
(WebCore::CSSStyleSelector::styleRulesForElement):
(WebCore::CSSRuleSet::addRulesFromSheet):
* css/cssstyleselector.h:
* css/maketokenizer:
* css/tokenizer.flex:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createCSSStyleSheet):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::setStyleSheet):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::childrenChanged):
* ksvg2/svg/SVGDOMImplementation.cpp:
(SVGDOMImplementation::createCSSStyleSheet):
* ksvg2/svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::childrenChanged):
* page/Frame.cpp:
(WebCore::Frame::Frame):
* platform/Screen.h:
* platform/mac/ScreenMac.mm:
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
2006-06-08 Levi Weintraub <lweintraub@apple.com>
Reviewed by justin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
Implement execCommand(Insert{Un}OrderedList)
* WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
* dom/Position.cpp:
(WebCore::hasRenderedNonAnonymousDescendantsWithHeight):
Added. A block with height is only a candidate if this is false. This should fix the problems
getting carets into empty blocks.
(WebCore::Position::inRenderedContent):
* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::hasARenderedDescendant):
(WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
have a renderer with no descendants. Fixed the pruning rule to avoid removing a node like this.
(WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
each other if they aren't already, as a convenience.
(WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
(WebCore::CompositeEditCommand::moveParagraphs): Ditto.
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
continue to happen until it is no longer possible.
(WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
wouldn't always avoid removing the start block.
* editing/InsertListCommand.cpp: Added.
(WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
into a list.
(WebCore::InsertListCommand::InsertListCommand):
(WebCore::InsertListCommand::modifyRange):
(WebCore::InsertListCommand::doApply):
* editing/InsertListCommand.h: Added.
(WebCore::InsertListCommand::):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
* editing/JSEditor.cpp:
* editing/TextIterator.cpp:
(WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the
iterator ends at the start of that node.
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::next):
(WebCore::VisiblePosition::previous):
* editing/VisiblePosition.h:
Added a parameter to next/previous that can prevent them from leaving the current editable region.
* editing/htmlediting.cpp:
(WebCore::highestAncestor):
(WebCore::enclosingList):
(WebCore::enclosingListChild):
(WebCore::outermostEnclosingList):
(WebCore::createListItemElement):
* editing/htmlediting.h:
* page/Frame.cpp:
(WebCore::Frame::selectionListState): Added.
* page/Frame.h:
2006-06-08 David Harrison <harrison@apple.com>
Reviewed by Geoff and John.
<rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
Problem was the primitive value was getting reset to a generic state before the parameter
check that relies on that state.
Test: fast/dom/setPrimitiveValue.html
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::setFloatValue):
(WebCore::CSSPrimitiveValue::setStringValue):
Move parameter checks ahead of call to cleanup().
2006-06-08 Alice Liu <alice.liu@apple.com>
Reviewed by justin.
- fixed <rdar://problem/4578115> support Range.isPointInRange
- fixed <rdar://problem/4578123> support Range.comparePoint
* dom/Range.cpp:
(WebCore::Range::isPointInRange):
added implementation
(WebCore::Range::comparePoint):
added implementation
* dom/Range.h:
added prototypes
* dom/Range.idl:
added bindings
2006-06-08 Darin Adler <darin@apple.com>
Reviewed by justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
REGRESSION: TinyMCE: Crash on Undo
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
Changed to call nodeInfoAtPoint directly.
(-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
Also added code to convert coordinates so it works for points that are in nodes in subframes.
* page/Frame.cpp:
(WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
endpoints in another document.
(WebCore::Frame::setSelection): Ditto.
2006-06-07 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
Fixed some comments and removed an unused variable.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeBlockPlaceholder):
Don't remove a br if it isn't at the start of a block, since
it isn't really a "block placeholder".
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
(WebCore::DeleteSelectionCommand::mergeParagraphs):
(WebCore::DeleteSelectionCommand::doApply):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
* editing/htmlediting.cpp:
2006-06-07 David Hyatt <hyatt@apple.com>
Add support for custom highlighting. This is all ifdefed to be Mac-only.
Reviewed by justin
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::paintCustomHighlight):
* bridge/mac/WebCoreFrameBridge.h:
* platform/mac/ClipboardMac.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintCustomHighlight):
* rendering/InlineTextBox.h:
2006-06-07 Adele Peterson <adele@apple.com>
Reviewed by Hyatt
Added support for cross-platform resize property.
* platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
already cache this info when we handle mouse down and mouse up.
* platform/mac/MouseEventMac.mm: ditto.
* platform/win/TemporaryLinkStubs.cpp: ditto.
* page/Frame.cpp:
(WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
* page/FrameView.cpp:
(WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
(WebCore::FrameView::mousePressed): Added.
* page/FrameView.h: Added mousePressed.
* rendering/RenderTheme.h: Removed paintResizeControl.
Since its not dependent on the theme, the layer can just paint this.
* rendering/RenderTheme.cpp: ditto.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
(WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
(WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
(WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
* rendering/RenderLayer.h: Added m_resizeCornerImage. Important to have one per-layer for when we allow
more customization.
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::loadResource): Loads image resources.
2006-06-07 David Hyatt <hyatt@apple.com>
Add support for a new property for custom highlighting. This patch just
adds support for the parsing of the property. It doesn't do anything yet.
Reviewed by beth
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPropertyNames.in:
* css/cssparser.cpp:
(WebCore::CSSParser::parseValue):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/render_style.cpp:
(WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
(WebCore::StyleCSS3InheritedData::operator==):
(WebCore::RenderStyle::diff):
* rendering/render_style.h:
(WebCore::RenderStyle::highlight):
(WebCore::RenderStyle::setHighlight):
(WebCore::RenderStyle::initialHighlight):
2006-06-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
Fix suggested by Rob Buis. Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
REGRESSION: Repro crash caused by style="font:bold"
Test: fast/css/font-shorthand-weight-only.html
* css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
made to fix bug 5564.
2006-06-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
REGRESSION: Incorrect vertical position for text fields in a "display: table" block
Test: fast/table/text-field-baseline.html
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
use their baseline.
2006-06-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt (concept) and Darin (some coding details).
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
REGRESSION: Flickering when css-hover should change opacity on floating elements
Pixel test: fast/block/float/nopaint-after-layer-destruction.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
in the block's FloatingObject for the given float and calls setChildNeedsLayout.
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::blockThatPaintsFloat): Added this helper function.
(WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
gains or loses its layer.
2006-06-06 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
REGRESSION: [Incremental Repaint] DHTML movement test failures
Test (repaint): fast/repaint/containing-block-position-change.html
* manual-tests/containing-block-position-chage.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
the RenderCanvas to RenderView rename.
(WebCore::RenderBlock::removePositionedObject): Added a return immediately
after removing the object.
(WebCore::RenderBlock::removePositionedObjects): Added.
* rendering/RenderBlock.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
descendants from the positioned objects list of their current containing block
when they are going to have a new one as a result of this block's position
property changing.
* rendering/RenderObject.h:
(WebCore::RenderObject::removePositionedObjects):
2006-06-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
* dom/Node.cpp:
(WebCore::Node::firstDescendant): Added.
* dom/Node.h:
* dom/Range.cpp: Added a constructor that takes in Positions.
(WebCore::Range::Range):
* dom/Range.h:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeAt):
Let this function insert children into empty containers.
Calls canHaveChildrenForEditing.
(WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
(WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the
replacement so that moveParagraph's callers have a valid destination after the move.
* editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
Removed m_startNode, used a local variable.
(WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
(WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
front and keep track of it as nodes and text are removed.
(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
(WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
Update m_endingPosition as we remove nodes.
(WebCore::DeleteSelectionCommand::deleteTextFromNode):
Update m_endingPosition as we delete text.
(WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block. Cleaned up.
(WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
clobbers the old one.
(WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after
deletion. Make the placeholder decision before we do special element expansion.
* editing/DeleteSelectionCommand.h:
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned
up the code.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
a merge (added a testcase).
* editing/RebalanceWhitespaceCommand.cpp:
(WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Ditto.
Merge even when the incoming fragment has interchange newlines (added a testcase).
Merge when the selection being pasted into starts at the start of a block because not
doing so would leave one or more hanging empty blocks.
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
a selection, and a selection can't be created until whitespace has been rebalanced.
* editing/htmlediting.cpp:
(WebCore::canHaveChildrenForEditing): Added.
* editing/htmlediting.h:
2006-06-06 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej.
Fix for <rdar://problem/4570475> Dashboard regions do not scale for
non-1.0 scale factors.
No test cases added since this only affects non-1.0 resolution
scale factors.
* platform/FloatRect.cpp:
(WebCore::FloatRect::scale): Added new function that scales a
rect's origin and size by a given factor.
* platform/FloatRect.h:
* platform/IntRect.cpp:
(WebCore::IntRect::scale): Same as above.
* platform/IntRect.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addDashboardRegions): After the bounds and
clip rects on the Dashboard region have been calculated, get the
user space scale factor, and if it is not 1.0, scale the rects.
2006-06-06 John Sullivan <sullivan@apple.com>
Reviewed by Darin Adler.
- fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at
http://www.apple.com/ (RenderObject::repaint(bool))
This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
it to the surface.
* dom/Document.h:
Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
* dom/Document.cpp:
(WebCore::Document::removeMarkers):
Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
removed.
(WebCore::Document::repaintMarkers):
Add a .get() to compensate for using RefPtr.
2006-06-06 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
clientWidth/clientHeight on document element in strict mode should return visible frame size
* dom/Element.cpp:
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
If we're the document element, and in strict mode, return the visible size of the frame.
2006-06-06 Anders Carlsson <acarlsson@apple.com>
Reviewed by John.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge containsPlugins]):
* page/Frame.cpp:
(WebCore::Frame::containsPlugins):
* page/Frame.h:
Add containsPlugins function which returns whether a frame contains plugins
or not.
2006-06-05 Rob Buis <buis@kde.org>
Reviewed by mjs.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
'font' shorthand parsing should be more tolerant in quirks mode
When not in strict mode accept font property specifications
lacking a font family part, like WinIE does.
* css/cssparser.cpp:
(WebCore::CSSParser::parseFont):
2006-06-05 Beth Dakin <bdakin@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/4567520> Pixel cracks in weather widget at
1.83 scaling
To prevent pixel cracks at non-integral scaling factors, before we
call into CG to draw an image, we have to convert the rect to
device space, round the origin and size to integers in device
space, and convert back to user space.
No test cases added since this only affects non-1.0 resolution
scale factors.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now
takes FloatRects.
* html/CanvasPattern.cpp:
(WebCore::patternCallback): Call roundToDevicePixels()
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage): drawImage() now
takes FloatRects and call roundToDevicePixels()
* html/CanvasRenderingContext2D.h: drawImage() now takes
FloatRects.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
* kcanvas/device/quartz/QuartzSupport.mm:
(WebCore::debugDumpCGImageToFile): Same as above.
* platform/GraphicsContext.h:
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::roundToDevicePixels): Takes care of
converting between coordinate spaces and rounding.
(WebCore::GraphicsContext::drawLineForText):
* platform/mac/ImageMac.mm: Call roundToDevicePixels()
(WebCore::Image::draw): Same as above.
(WebCore::drawPattern): Same as above.
2006-06-05 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
Add missing DOM prototypes and other DOM cleanup
- Added the built-in object prototype to DOM objects that were missing it
so that primitive operations like == work on them.
- Removed dead EventConstructor class (it's autogenerated now)
- Changed HTML collections to describe themselves as "[object Collection]",
to match IE.
- Made DOMCSSRule constructor private because JSCSSRule is the class
to use.
* bindings/js/JSHTMLOptionElementConstructor.cpp:
(WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
* bindings/js/kjs_css.cpp:
(KJS::DOMStyleSheet::DOMStyleSheet):
(KJS::DOMStyleSheetList::DOMStyleSheetList):
(KJS::DOMCSSRule::DOMCSSRule):
(KJS::DOMCSSValue::DOMCSSValue):
(KJS::toJS):
(KJS::DOMRGBColor::DOMRGBColor):
(KJS::getDOMRGBColor):
(KJS::DOMRect::DOMRect):
* bindings/js/kjs_css.h:
* bindings/js/kjs_dom.cpp:
(KJS::DOMNodeList::DOMNodeList):
(KJS::DOMExceptionConstructor::DOMExceptionConstructor):
(KJS::DOMExceptionConstructor::getOwnPropertySlot):
(KJS::):
(KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
* bindings/js/kjs_dom.h:
(KJS::DOMNamedNodesCollection::classInfo):
* bindings/js/kjs_events.h:
* bindings/js/kjs_html.cpp:
(KJS::):
2006-06-04 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
REGRESSION: Crash when closing tabs on newegg.com
- removed a no-longer-needed Win32-specific workaround (not reviewed)
* bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
(WebCore::floatFeature): Remove WIN32 ifdef around isnan.
(WebCore::toJS): Add null checks.
2006-06-04 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
Test: fast/loader/link-no-URL.html
* loader/Cache.h:
* loader/Cache.cpp:
(WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
from the cached object itself. Callers were passing in the wrong URL. When it was a
null string, it caused the crash mentioned above. But in other cases it may have
caused some other minor problems as well. Added an assert to catch cases where the
URL is null (should never happen).
(WebCore::Cache::requestImage): Changed call site to not pass URL.
(WebCore::Cache::requestStyleSheet): Ditto.
(WebCore::Cache::requestScript): Ditto.
(WebCore::Cache::requestXSLStyleSheet): Ditto.
(WebCore::Cache::requestXBLDocument): Ditto.
2006-06-04 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
REGRESSION: delete key does not work in isIndex fields
* platform/mac/WebCoreTextField.mm:
(inputElement): Added. Helper function to get the Objective-C wrapper for an
input element associated with a QTextEdit. Returns nil if the element is not
an input element. The bug was caused by passing a non-input element to the
delegate methods.
(-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
and don't make the delegate call at all if there is none. This happens only
with isindex elements; it's not important to have auto-fill work with those.
(-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
(-[KWQTextFieldController controlTextDidChange:]): Ditto.
(-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
(-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
(-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
2006-06-04 Darin Adler <darin@apple.com>
Reviewed by Anders.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
memory leak in XPath code -- seen in layout tests
- fixed malloc error on exit due to SVGDOMImplementation destructor
- attempted to fix the no-XPATH_SUPPORT build by adding an #if
- changed around includes and header-file formatting in XPath code
* bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
generating the bindings for XPathNSResolver.
* dom/DOMImplementation.h: Added a virtual destructor for the benefit of
SVGDOMImplementation.
* dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
* ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
* ksvg2/svg/SVGDOMImplementation.cpp:
(SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
(SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
* xpath/XPathExpression.cpp:
(WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
reference count churn.
(WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
relies on it being 0 when the function succeeds.
* xpath/XPathResult.cpp:
(WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
unneeded target node data member.
(WebCore::XPathResult::XPathResult): Updated for enum name changes and
InvalidatingEventListener name change. Added an assertion.
* xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
for createFunction to be a String instead of char*.
* xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
the Interval functions inline.
(WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
(WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
Use equalIgnoringCase() instead of calling lower() on two strings.
(WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
this function. Also removed a duplicate entry for the "last" function.
(WebCore::XPath::createFunction): Changed from a member function to a separate function.
Also changed so that if the args are not used in the function they are deleted.
This was one of the sources of the storage leaks.
* xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
tokens that were declared as <str> but weren't actually using the string to be
declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
call delete functions instead that both unregister and delete. Change call sites for
createFunction to just use the String, removing the deprecatedString().latin1() call
that is no longer needed. Added a call to unregisterParseNode that was missing in the
"FilterExpr DescendantOrSelf RelativeLocationPath" production.
* xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
part of the Parser class last. Moved a number of private things inside the cpp file.
* xpath/impl/XPathParser.cpp:
(WebCore::XPath::charCat): Made this a separate function, instead of a static member.
(WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
allowing use of a map instead of a map pointer.
(WebCore::XPath::isNodeTypeName): Ditto.
(WebCore::XPath::Parser::isOperatorContext): Made this const.
(WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
By using the actual types, we can safely use overload instead.
(WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
(WebCore::XPath::Parser::lexNumber): Ditto.
(WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
confusing and is also a bit more explicit.
(WebCore::XPath::Parser::lexQName): Ditto.
(WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
to remove some unneeded else statements.
(WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
to decide what the type is. This matches what the grammar expects, and removes the need
for the token object to track which part of the value is good and the need to reserve 0
to have a special meaning.
(WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
expressions in the predicate and expression vectors. Before, we were only deleting
the vectors. This was one of the sources of the storage leaks.
(WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
the vector. However this does not delete the predicates in the vector.
(WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
the vector. However this does not delete the expressions in the vector.
(WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
* xpath/impl/XPathPredicate.h:
* xpath/impl/XPathPredicate.cpp:
(WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
renamed to "opcode" instead of "opCode".
(WebCore::XPath::NumericOp::doEvaluate): More of the same.
(WebCore::XPath::EqTestOp::EqTestOp): Ditto.
(WebCore::XPath::EqTestOp::doEvaluate): Ditto.
(WebCore::XPath::LogicalOp::LogicalOp): Ditto.
(WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
(WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".
* xpath/impl/XPathStep.h:
* xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
function and default constructor.
* xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
instead of the underscore suffix used before on NodeVector and String.
* xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.
* xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
Use a reference instead of a pointer.
* xpath/XPathEvaluator.cpp:
* xpath/XPathEvaluator.h:
* xpath/XPathExpression.h:
* xpath/XPathNSResolver.cpp:
* xpath/XPathNSResolver.h:
* xpath/XPathNamespace.cpp:
* xpath/XPathNamespace.h:
* xpath/XPathResult.h:
* xpath/impl/XPathExpressionNode.cpp:
* xpath/impl/XPathExpressionNode.h:
* xpath/impl/XPathPath.cpp:
* xpath/impl/XPathPath.h:
* xpath/impl/XPathUtil.cpp:
* xpath/impl/XPathUtil.h:
* xpath/impl/XPathVariableReference.h:
Reformatted and changed includes around; no substantive changes.
2006-06-04 Sam Weinig <sam.weinig@gmail.com>
Reviewed by hyatt.
- fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9213
Absolutely positioned objects with relatively positioned inline
containing blocks are rendered incorrectly
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockWidthForPositioned):
(WebCore::RenderBox::containingBlockHeightForPositioned):
(WebCore::RenderBox::calcAbsoluteHorizontal):
(WebCore::RenderBox::calcAbsoluteHorizontalValues):
(WebCore::RenderBox::calcAbsoluteVertical):
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
(WebCore::RenderBox::calcAbsoluteVerticalReplaced):
* rendering/RenderBox.h:
2006-06-04 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9035
document.evaluate and createNSResolver miss on namespaced elements
* xpath/XPathExpression.cpp:
(WebCore::XPathExpression::createExpression):
Pass the resolver to the parser.
* xpath/XPathResult.cpp:
(WebCore::XPathResult::iterateNext):
Fix off-by-one error.
* xpath/impl/XPathExpressionNode.h:
(WebCore::XPath::EvaluationContext::EvaluationContext):
Get rid of the resolver in the evaluation context.
* xpath/impl/XPathGrammar.y:
Fetch the resolver from the parser. Only return the local name.
* xpath/impl/XPathParser.cpp:
(WebCore::XPath::Parser::parseStatement):
* xpath/impl/XPathParser.h:
(WebCore::XPath::Parser::resolver):
Update to hold the resolver.
* xpath/impl/XPathStep.cpp:
(WebCore::XPath::Step::Step):
If the parser has stored a namespace URI, set it.
(WebCore::XPath::Step::nodeTestMatches):
Check namespace URIs.
* xpath/impl/XPathStep.h:
Add m_namespaceURI.
2006-06-03 Rob Buis <buis@kde.org>
Reviewed by mjs. Tweaked and landed by ddkilzer.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7281
With java disabled wrong information is displayed.
Test: fast/replaced/applet-rendering-java-disabled.html
Match WinIE, render applet content inline when java is
disabled.
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderEmptyApplet.cpp and RenderEmptyApplet.h.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCoreSources.bkl: Ditto.
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createRenderer):
* rendering/RenderEmptyApplet.cpp: Removed.
* rendering/RenderEmptyApplet.h: Removed.
2006-06-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9252
REGRESSION: Very odd roll-over issues (content disappearing)
Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::~HTMLLinkElement): If the stylesheet was being
loaded, call stylesheetLoaded() on the document, to keep the pending stylesheet
count correct.
2006-06-03 Darin Adler <darin@apple.com>
- fix Windows build
* platform/Widget.h: Moved scaleFactor function out of Apple-specific
section of the header into the common part.
2006-06-03 Beth Dakin <bdakin@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/4537274> HiDPI: <canvas> needs to apply a
scale. <canvas> needs to scale itself along with whatever scale
factor is set on the window.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createDrawingContext): Get the scale
factor and use it to create a larger buffer and to scale the
CGContext.
* platform/Widget.h: Provide a new function that returns the user
space scale factor.
* platform/mac/WidgetMac.mm:
(WebCore::Widget::scaleFactor): Get the scale factor from the
window and return it.
* platform/win/WidgetWin.cpp:
(WebCore::Widget::scaleFactor): Just return 1.0f for now.
2006-06-03 Steve Falkenburg <sfalken@apple.com>
Reviewed by hyatt.
Don't send empty referrers. Fixes image load fail on Spinneret default content.
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJob::start):
2006-06-02 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Windows theme for textareas. Also made some formatting changes.
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::supportsFocus):
(WebCore::RenderThemeWin::getThemeData):
(WebCore::RenderThemeWin::adjustButtonStyle):
(WebCore::RenderThemeWin::adjustTextFieldStyle):
(WebCore::RenderThemeWin::adjustTextAreaStyle):
(WebCore::RenderThemeWin::paintTextArea):
* rendering/RenderThemeWin.h:
(WebCore::RenderThemeWin::supportsHover):
2006-06-02 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Hyatt, checked in by Tim H.
Explicitly run perl on *.pl files instead of relying
on Windows shell figuring out which program to run for
this extention.
* DerivedSources.make:
2006-06-02 David Carson <dacarson@gmail.com>
Reviewed by Hyatt, checked in by Tim H.
fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9115
Changed RenderLayer to only render layers that are not
totally transparent.
* rendering/RenderLayer.cpp
(RenderLayer::paintLayer):
Changed function to also check if the layer is totally transparent
and if it is, don't bother painting it.
2006-06-02 Rob Buis <buis@kde.org>
Reviewed by Hyatt, checked in by Tim H.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8223
WebKit fails to update style on element via DOM
Handle !important by detecting it and using a different code
path from normal priority.
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::put):
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::setProperty):
* css/CSSStyleDeclaration.h:
2006-06-02 Darin Adler <darin@apple.com>
Reviewed by Geoff, checked in by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9236
REGRESSION: focus method does not work on some elements before they are laid out
* dom/Element.cpp: (WebCore::Element::focus): Do the updateLayout call before
calling isFocusable, since isFocusable looks at the size of the renderer.
2006-06-02 Steve Falkenburg <sfalken@apple.com>
Reviewed by darin.
Platform hookup fixes
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::urlSelected):
(WebCore::FrameWin::setTitle):
(WebCore::FrameWin::setStatusBarText):
* bridge/win/FrameWin.h:
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::overrideMediaType):
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJobWndProc):
(WebCore::TransferJob::start):
(WebCore::TransferJob::fileLoadTimer):
(WebCore::TransferJob::cancel):
2006-06-02 Rémi Zara <remi_zara@mac.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3379
attr(X) does not work
Test: fast/css-generated-content/016.html
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement): Don't share style
if the unique bit is set.
(WebCore::CSSStyleSelector::applyProperty): When applying the "attr" property,
set the unique bit and add to m_selectorAttrs.
* rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
(WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.
* rendering/render_style.h:
(WebCore::RenderStyle::unique): Added. Returns value of m_unique.
(WebCore::RenderStyle::setUnique): Added. Sets m_unique.
2006-06-02 David Kilzer <ddkilzer@kilzer.net>
Reviewed by mjs.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9183
Finish renaming of RenderCanvas to RenderView
* rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".
2006-06-01 Darin Adler <darin@apple.com>
- try to fix Windows build
* bridge/win/FrameWin.cpp: Added include of Decoder.h.
2006-06-01 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- WebCore doesn't need to load WebKit images any more; removed code for that
* WebCore.exp: Removed WebCoreImageRendererFactory.
* WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRendererFactory.h/mm.
* bridge/mac/WebCoreFrameBridge.mm: Removed include of WebCoreImageRendererFactory.h.
* platform/mac/ImageMac.mm: Removed include of WebCoreImageRendererFactory.h.
* platform/mac/WebCoreImageRendererFactory.h: Removed.
* platform/mac/WebCoreImageRendererFactory.m: Removed.
2006-06-01 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Geoff, tweaked a bit by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=9064
Split dom2_traversalimpl.* into separate files (one class per file).
* WebCore.xcodeproj/project.pbxproj: Updated for new files.
* WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
* bindings/js/kjs_traversal.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/objc/DOM.mm:
* dom/Document.cpp:
* dom/Document.h:
Updated includes.
* dom/NodeFilter.cpp: Added.
* dom/NodeFilter.h: Added.
* dom/NodeFilterCondition.cpp: Added.
* dom/NodeFilterCondition.h: Added.
* dom/NodeIterator.cpp: Added.
* dom/NodeIterator.h: Added.
* dom/Traversal.cpp: Added.
* dom/Traversal.h: Added.
* dom/TreeWalker.cpp: Added.
* dom/TreeWalker.h: Added.
* dom/dom2_traversalimpl.cpp: Removed.
* dom/dom2_traversalimpl.h: Removed.
2006-06-01 David Carson <dacarson@gmail.com>
Reviewed by Maciej and Adele
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8398
REGRESSION: LABEL in OPTION element is clobbering display #TEXT
Patch provided by Darin.
* rendering/RenderSelect.cpp
(RenderSelect::updateFromElement):
Changed to use the containing text by default, and not the label text
2006-06-01 David Carson <dacarson@gmail.com>
Reviewed by Hyatt.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8646
Correcting the value returned for window.screen.pixelDepth and
window.screen.colorDepth
* platform/mac/ScreenMac.mm
(screenDepth):
Changed to return the BitsPerPixelFromDepth rather than the WindowDepth
2006-06-01 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
Missed an initialization in my last checkin which caused too many
resizers to be drawn.
* rendering/render_style.cpp: (WebCore::resize):
Initialize resize to RESIZE_NONE.
2006-06-01 Dave Hyatt <hyatt@apple.com>
Implement form POST using WinINet. This code is crazy... CRAZY!
* platform/TransferJobInternal.h:
(WebCore::TransferJobInternal::TransferJobInternal):
* platform/win/CookieJarWin.cpp:
(WebCore::setCookies):
(WebCore::cookies):
* platform/win/TransferJobWin.cpp:
(WebCore::TransferJobWndProc):
(WebCore::TransferJob::start):
2006-06-01 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9216
Implement CSS3 resize property
* css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.
* css/CSSPropertyNames.in: Added resize property.
* css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added case for CSS_PROP_RESIZE.
* css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
* css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): ditto.
* rendering/render_style.cpp: (WebCore::StyleCSS3InheritedData): Initialize resize.
* rendering/render_style.h:
(WebCore::): Added EResize enum.
(WebCore::RenderStyle::resize):
(WebCore::RenderStyle::setResize):
(WebCore::RenderStyle::initialResize):
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Added m_resizeLayer to keep track of a layer that has begun resizing.
(WebCore::FrameViewPrivate::reset): Reset m_resizeLayer.
(WebCore::FrameView::handleMousePressEvent): If the mouse was pressed in a layer's resize control, then put the layer into resize mode.
(WebCore::selectCursor): Updated so we get a pointer cursor for the resize control.
(WebCore::FrameView::handleMouseMoveEvent): If there's a layer currently resizing, then tell the layer to continue resizing.
(WebCore::FrameView::handleMouseReleaseEvent): If there's a layer currently resizing, then pull it out of resize mode.
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): Updated so the resize control isn't considered part of the scrollbar.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer): Initialize m_inResizeMode
(WebCore::RenderLayer::updateLayerPositions): Calls positionResizeControl.
(WebCore::RenderLayer::resize): Added. Sets a new width and height based on the current mouse point.
(WebCore::RenderLayer::isPointInResizeControl): Added.
(WebCore::RenderLayer::positionResizeControl): Added.
(WebCore::RenderLayer::positionScrollbars): Calls positionResizeControl.
(WebCore::RenderLayer::paintScrollbars): Calls positionResizeControl.
(WebCore::RenderLayer::paintResizeControl): Added.
(WebCore::RenderLayer::paintLayer): Calls paintResizeControl.
* rendering/RenderLayer.h: Added m_inResizeMode.
(WebCore::RenderLayer::resizeControlRect):
(WebCore::RenderLayer::setResizeControlRect):
(WebCore::RenderLayer::inResizeMode): Added.
(WebCore::RenderLayer::setInResizeMode): Added.
* platform/mac/ImageMac.mm: (WebCore::Image::loadResource): Moved code from WebImageRendererFactory. Now loads images from WebCore's resources.
WebImageRendererFactory is no longer used and should be removed.
* Resources/missingImage.tiff: Added. Copied from WebKit.
* WebCore.xcodeproj/project.pbxproj: Added missingImage.tiff
* loader/Cache.cpp: (WebCore::Cache::init): Updated name from missing_image to missingImage.
* rendering/RenderTheme.h:
* rendering/RenderTheme.cpp: (WebCore::RenderTheme::paintResizeControl): Added.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::RenderThemeMac): Initialize resizeCornerImage.
(WebCore::RenderThemeMac::paintResizeControl): Paints resizeCornerImage.
2006-06-01 Brady Eidson <beidson@apple.com>
Reviewed by Maciej.
Added the beginnings of sqlite-based code in a WebCore
based version of the Icon Database. Right now the code
is very loosely hooked up through a Bridge and only
creates an sqlite3 database.
There are also changes to our String classes to allow appending
a single character to a String without creating a temporary object.
* WebCore.exp:
-Added a symbol export
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreIconDatabaseBridge.h: Added.
* bridge/mac/WebCoreIconDatabaseBridge.mm: Added.
(-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
(-[WebCoreIconDatabaseBridge closeSharedDatabase]):
(-[WebCoreIconDatabaseBridge isOpen]):
-This class will eventually shadow WebIconDatabase but for now
is a minimal interface to make the sql code live
* icon: Added.
* icon/IconDatabase.cpp: Added.
-This class will eventually resemble WebIconDatabase but for now
is minimal just to make the sql code live
(WebCore::IconDatabase::sharedIconDatabase):
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::open):
-This method calls a mkdir to make sure the target directory
exists
(WebCore::IconDatabase::close):
(WebCore::IconDatabase::~IconDatabase):
* icon/IconDatabase.h: Added.
(WebCore::IconDatabase::isOpen):
* platform/Logging.cpp:
* platform/Logging.h:
-Added an IconDatabase logging channel
* platform/PlatformString.h:
* platform/String.cpp:
(WebCore::String::append):
* platform/StringImpl.cpp:
(WebCore::StringImpl::append):
* platform/StringImpl.h:
-Added append(char) and append(UChar) to allow appending a
single character without creating a temporary object. Required
to facilitate manually adding a null character to a unicode 16
string
2006-06-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Anders.
- fixed all places in the Canvas to RenderView rename patch where
view() should have been changed to frameView().
* kwq/WebCoreAXObject.mm:
(-[WebCoreAXObject position]):
(-[WebCoreAXObject accessibilityAttributeValue:]):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBackgroundExtended):
* rendering/RenderTreeAsText.cpp:
(externalRepresentation):
2006-06-01 Geoffrey Garen <ggaren@apple.com>
Fix by Mitz. Reviewed, tweaked, tested, landed by me.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9113
REGRESSION (14581): XMLHttpRequest never calls onreadystatechange with
a readystate == 4
An XMLHttpRequest must be added to the DOMObject cache so that its
DOM implementation object can protect it, and by extension, its event
listeners.
This design seems slightly backwards to me -- the bindings should know
about the DOM, not the other way around -- but I'm restoring it for
now to fix the regression.
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequest::JSXMLHttpRequest):
(KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
2006-06-01 Anders Carlsson <acarlsson@apple.com>
* platform/KURL.cpp:
(equalIgnoringRef):
Whoops. Fix build.
2006-06-01 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
* bindings/js/kjs_window.cpp:
(KJS::Location::put):
Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
are equal.
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::historyURL):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
New function historyURL which returns the complete URL for a given item in the history.
* page/Frame.cpp:
(WebCore::Frame::scheduleLocationChange):
(WebCore::Frame::scheduleHistoryNavigation):
If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
directly.
* platform/KURL.cpp:
* platform/KURL.h:
Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.
2006-06-01 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9212
dispatchEvent13.html crashes under GuardMalloc
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::addEventListener):
(WebCore::EventTargetNode::removeEventListener):
(WebCore::EventTargetNode::handleLocalEvents):
(WebCore::EventTargetNode::removeHTMLEventListener):
(WebCore::EventTargetNode::getHTMLEventListener):
* dom/EventTargetNode.h:
Make the list of registered event listeners refcount the listeners
by using a value list of RefPtr objects.
Set removed flag to true in removeEventListener
Only invoke event listeners if they don't have the removed flag.
* dom/dom2_eventsimpl.cpp:
(WebCore::RegisteredEventListener::RegisteredEventListener):
* dom/dom2_eventsimpl.h:
Make RegisteredEventListener refcounted.
(WebCore::RegisteredEventListener::removed):
(WebCore::RegisteredEventListener::setRemoved):
Add removed flag and getter and setter
2006-06-01 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4567752> When forwarding a message, pressing TAB key to place caret in body actually selects the entire message instead
* dom/Element.cpp:
(WebCore::Element::focus):
2006-06-01 David Kilzer <ddkilzer@kilzer.net>
Reviewed by darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9144
Test for Bug 8079 (REGRESSION: Redraw from page cache does not show visited links)
* manual-tests/redraw-page-cache-visited-links.html: Added.
* manual-tests/resources/redraw-page-cache-visited-links-2.html: Added.
2006-05-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9124
Drop shadow obscures "add more stuff" bubble at live.com
Test: fast/css/find-next-layer.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::findNextLayer): Fixed a bug where this function could reach
two levels down in the layer tree and return 0.
2006-05-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Geoff.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=9109
Remove bogus assertion in RenderBlock::tabWidth
Changed the uninitialized value of m_tabWidth to -1 and removed the
assertion that it cannot be 0.
* rendering/RenderBlock.cpp:
(WebCore:::RenderBlock::RenderBlock):
(WebCore::RenderBlock::setStyle):
* rendering/bidi.cpp:
(WebCore::RenderBlock::tabWidth):
2006-05-31 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt.
- fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9100
Absolutely positioned replaced elements with all non-auto
values are rendered incorrectly
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Add support for case when all values are specified.
(WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto
2006-05-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9012
Row height not updated when cell heights change
Test: fast/table/row-height-recalc.html
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::setStyle): Mark the section as needing recalculation
if the height property changed.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::setStyle): Ditto.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::recalcCells): Initialize the grid row height
to the height of the row element (like addChild() does).
2006-05-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8969
REGRESSION: typing in textfield repaints whole web page at gamefaqs.com
No test possible (no functionality change)
* dom/Document.cpp:
(WebCore::Document::updateLayout): Changed to ensure that pending subtree
layouts are performed too.
* page/Frame.cpp:
(WebCore::Frame::forceLayout): Force a full layout.
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::reset):
(WebCore::FrameView::layout): Changed to relayout only the subtree rooted
at d->layoutRoot if it's non-zero and allowSubtree is true.
(WebCore::FrameView::scheduleRelayout): Change pending subtree relayout into
normal relayout by clearing d->layoutRoot and propagating needsLayout to the
root.
(WebCore::FrameView::scheduleRelayoutOfSubtree): Added.
* page/FrameView.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout): Added scheduleRelayout
parameter. FrameView passes false to force marking all the way to the root
when turning a pending subtree relayout into a full relayout. Otherwise,
marking stops at the first textField (or at the root) and
relayout of the last object reached is scheduled.
(WebCore::RenderObject::scheduleRelayout):
* rendering/RenderObject.h:
2006-05-31 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Darin.
patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8910>
Bug 8910: Various code cleanups in RenderBox
Clean up with some slight optimizations.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::contentWidth):
(WebCore::RenderBox::contentHeight):
(WebCore::RenderBox::setPos):
(WebCore::RenderBox::calcWidth):
(WebCore::RenderBox::calcWidthUsing):
* rendering/RenderBox.h:
2006-05-31 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt.
patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8899>
Bug 8899: Removes some unneeded code from RenderBox
Removes the use of WidthType where not needed to simplify
the code a little.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcWidthUsing):
(WebCore::RenderBox::sizesToIntrinsicWidth):
(WebCore::RenderBox::calcReplacedWidth):
(WebCore::RenderBox::calcReplacedWidthUsing):
(WebCore::RenderBox::calcReplacedHeight):
(WebCore::RenderBox::calcReplacedHeightUsing):
* rendering/RenderBox.h:
(WebCore::):
(WebCore::RenderBox::renderName):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::calcReplacedWidth):
(WebCore::RenderImage::calcReplacedHeight):
2006-05-31 Rob Buis <buis@kde.org>
Reviewed by Geoff.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8455
selectedIndex for a select after a Form reset() has wrong value
Make sure the list items are reset properly by selecting
the first option in case no options have the selected attribute
set.
* html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::reset):
2006-05-31 Rob Buis <buis@kde.org>
Reviewed by Geoff.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8024
"Go" button (search) doesn't work at fifa.com (document.all.FormName)
Allow input elements with name attributes as possible named
items for document.all.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::checkForNameMatch):
(WebCore::HTMLCollection::updateNameCache):
2006-05-31 Dave Hyatt <hyatt@apple.com>
Adding stubs for BMP/ICO/XBM image decoders. They don't
do anything yet though.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/cairo/ImageSourceCairo.cpp:
(WebCore::createDecoder):
* platform/image-decoders/bmp: Added.
* platform/image-decoders/bmp/BMPImageDecoder.cpp: Added.
(WebCore::BMPImageDecoder::isSizeAvailable):
(WebCore::BMPImageDecoder::frameBufferAtIndex):
* platform/image-decoders/bmp/BMPImageDecoder.h: Added.
* platform/image-decoders/ico: Added.
* platform/image-decoders/ico/ICOImageDecoder.cpp: Added.
(WebCore::ICOImageDecoder::isSizeAvailable):
(WebCore::ICOImageDecoder::frameBufferAtIndex):
* platform/image-decoders/ico/ICOImageDecoder.h: Added.
* platform/image-decoders/xbm: Added.
* platform/image-decoders/xbm/XBMImageDecoder.cpp: Added.
(WebCore::XBMImageDecoder::isSizeAvailable):
(WebCore::XBMImageDecoder::frameBufferAtIndex):
* platform/image-decoders/xbm/XBMImageDecoder.h: Added.
2006-05-31 David Hyatt <hyatt@apple.com>
Fix for the gmail tab-focus-stealing bug.
Reviewed by darin
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::focusWindow):
(WebCore::FrameMac::unfocusWindow):
* bridge/mac/WebCoreFrameBridge.h:
* page/Frame.h:
* platform/Widget.h:
* platform/mac/WidgetMac.mm:
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::focusWindow):
* platform/win/WidgetWin.cpp:
2006-05-31 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6755 CSS3:
Borders rounded with border-radius don't draw the roundings
This patch does not draw all of the different border styles
perfectly, so I have filed a few followup bugs that I will
reference from this Bugzilla.
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawArc): drawArc() has different
parameters now, but mostly this needs to be implemented to match
the Mac side later.
(WebCore::GraphicsContext::addRoundedRectClip): Just a stub.
Implement this later.
(WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub.
Implement this later.
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawArc): drawArc() now handles drawing
elliptical arcs as well as circular arcs, it also takes a thickness
parameter to draw an arc of a given thickness and draws with the
appropriate pen style.
(WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to
the inside of an arc instead of to the outside which is already
done by addRoundedClipRect()
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBorderArc): Draws the border arcs in
the appropriate styles.
(WebCore::RenderObject::paintBorder): Calls drawBorderArc() when
border arcs are needed.
* rendering/RenderObject.h:
2006-05-30 Eric Seidel <eric@eseidel.com>
Reviewed by andersca.
Add first-cut SVG JS bindings autogeneration.
SVGSVGElement and various other support classes are generated.
Various small style fixes.
http://bugzilla.opendarwin.org/show_bug.cgi?id=4249
* DerivedSources.make:
* WebCore+SVG/RGBColor.cpp: Removed.
* WebCore+SVG/RGBColor.h: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createJSHTMLWrapper): renamed from createJSWrapper
* bindings/js/JSHTMLElementWrapperFactory.h:
* bindings/js/kjs_dom.cpp:
(KJS::DOMNode::DOMNode):
(KJS::DOMNode::toBoolean):
(KJS::DOMNode::getOwnPropertySlot):
(KJS::DOMNode::getValueProperty):
(KJS::DOMNode::put):
(KJS::DOMNode::putValueProperty):
(KJS::DOMNode::toPrimitive):
(KJS::DOMNode::toString):
(KJS::DOMNodeProtoFunc::callAsFunction):
(KJS::toEventTargetNode):
(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::DOMNodeList::toPrimitive):
(KJS::DOMNodeList::getValueProperty):
(KJS::DOMNodeList::indexGetter):
(KJS::DOMNodeList::nameGetter):
(KJS::DOMNodeList::getOwnPropertySlot):
(KJS::DOMNodeList::callAsFunction):
(KJS::DOMNodeListFunc::callAsFunction):
(KJS::toElement):
(KJS::toDocumentType):
(KJS::DOMNamedNodeMap::DOMNamedNodeMap):
(KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
(KJS::DOMNamedNodeMap::lengthGetter):
(KJS::DOMNamedNodeMap::indexGetter):
(KJS::DOMNamedNodeMap::nameGetter):
(KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
(KJS::toJS):
(KJS::checkNodeSecurity):
(KJS::getRuntimeObject):
(KJS::DOMExceptionConstructor::getOwnPropertySlot):
(KJS::DOMExceptionConstructor::getValueProperty):
(KJS::getDOMExceptionConstructor):
(KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
(KJS::DOMNamedNodesCollection::lengthGetter):
(KJS::DOMNamedNodesCollection::indexGetter):
(KJS::DOMNamedNodesCollection::getOwnPropertySlot):
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* dom/Element.h:
* dom/StyledElement.h:
* ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
* ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
* ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
* ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
* ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
* ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
* ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
* ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
* ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
* ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
* ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
* ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
* ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
* ksvg2/bindings/js: Added.
* ksvg2/bindings/js/JSSVGNumber.cpp: Added.
(WebCore::):
(WebCore::JSSVGNumber::~JSSVGNumber):
(WebCore::JSSVGNumber::getOwnPropertySlot):
(WebCore::JSSVGNumber::getValue):
(WebCore::getJSSVGNumber):
* ksvg2/bindings/js/JSSVGNumber.h: Added.
(WebCore::JSSVGNumber::JSSVGNumber):
(WebCore::JSSVGNumber::classInfo):
* ksvg2/bindings/js/JSSVGPoint.cpp: Added.
(WebCore::):
(WebCore::JSSVGPoint::~JSSVGPoint):
(WebCore::JSSVGPoint::getOwnPropertySlot):
(WebCore::JSSVGPoint::getValueProperty):
(WebCore::getJSSVGPoint):
(WebCore::toFloatPoint):
* ksvg2/bindings/js/JSSVGPoint.h: Added.
(WebCore::JSSVGPoint::JSSVGPoint):
(WebCore::JSSVGPoint::classInfo):
(WebCore::JSSVGPoint::):
(WebCore::JSSVGPoint::impl):
* ksvg2/bindings/js/JSSVGRect.cpp: Added.
(WebCore::):
(WebCore::JSSVGRect::~JSSVGRect):
(WebCore::JSSVGRect::getOwnPropertySlot):
(WebCore::JSSVGRect::getValueProperty):
(WebCore::getJSSVGRect):
(WebCore::toFloatRect):
* ksvg2/bindings/js/JSSVGRect.h: Added.
(WebCore::JSSVGRect::JSSVGRect):
(WebCore::JSSVGRect::classInfo):
(WebCore::JSSVGRect::):
(WebCore::JSSVGRect::impl):
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* ksvg2/events/SVGZoomEvent.cpp:
(SVGZoomEvent::SVGZoomEvent):
(SVGZoomEvent::zoomRectScreen):
(SVGZoomEvent::previousTranslate):
(SVGZoomEvent::newTranslate):
* ksvg2/events/SVGZoomEvent.h:
* ksvg2/ksvg.h:
(WebCore::):
* ksvg2/misc/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
(WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
(WebCore::SVGDocumentExtensions::addTimeContainer):
(WebCore::SVGDocumentExtensions::removeTimeContainer):
(WebCore::SVGDocumentExtensions::startAnimations):
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
* ksvg2/misc/SVGDocumentExtensions.h:
* ksvg2/svg/SVGAElement.h:
* ksvg2/svg/SVGAngle.h:
(WebCore::SVGAngle::):
* ksvg2/svg/SVGAngle.idl: Added.
* ksvg2/svg/SVGAnimateColorElement.cpp:
(WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
(WebCore::SVGAnimateColorElement::handleTimerEvent):
(WebCore::SVGAnimateColorElement::clampColor):
* ksvg2/svg/SVGAnimateColorElement.h:
* ksvg2/svg/SVGAnimateElement.cpp:
(SVGAnimateElement::SVGAnimateElement):
(SVGAnimateElement::handleTimerEvent):
* ksvg2/svg/SVGAnimateElement.h:
* ksvg2/svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
(WebCore::SVGAnimateTransformElement::parseMappedAttribute):
(WebCore::SVGAnimateTransformElement::handleTimerEvent):
(WebCore::SVGAnimateTransformElement::parseTransformValue):
(WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
(WebCore::SVGAnimateTransformElement::initialMatrix):
* ksvg2/svg/SVGAnimateTransformElement.h:
* ksvg2/svg/SVGAnimatedLength.idl: Added.
* ksvg2/svg/SVGAnimationElement.cpp:
(SVGAnimationElement::closeRenderer):
* ksvg2/svg/SVGAnimationElement.h:
* ksvg2/svg/SVGCircleElement.h:
* ksvg2/svg/SVGClipPathElement.h:
* ksvg2/svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
(WebCore::SVGColor::rgbColor):
(WebCore::SVGColor::setRGBColor):
(WebCore::SVGColor::setRGBColorICCColor):
(WebCore::SVGColor::setColor):
(WebCore::SVGColor::color):
* ksvg2/svg/SVGColor.h:
(WebCore::SVGColor::):
(WebCore::SVGColor::setRGBColor):
* ksvg2/svg/SVGColor.idl: Added.
* ksvg2/svg/SVGComponentTransferFunctionElement.h:
* ksvg2/svg/SVGCursorElement.h:
* ksvg2/svg/SVGDefsElement.h:
* ksvg2/svg/SVGDescElement.h:
* ksvg2/svg/SVGDocument.idl: Added.
* ksvg2/svg/SVGElement.cpp:
(WebCore::SVGElement::SVGElement):
(WebCore::SVGElement::isSupported):
(WebCore::SVGElement::id):
(WebCore::SVGElement::setId):
(WebCore::SVGElement::xmlbase):
(WebCore::SVGElement::setXmlbase):
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::tryGetAttribute):
(WebCore::SVGElement::tryGetAttributeNS):
(WebCore::SVGElement::childShouldCreateRenderer):
* ksvg2/svg/SVGElement.h:
* ksvg2/svg/SVGElement.idl: Added.
* ksvg2/svg/SVGEllipseElement.h:
* ksvg2/svg/SVGEvent.idl: Added.
* ksvg2/svg/SVGFEBlendElement.h:
* ksvg2/svg/SVGFEColorMatrixElement.h:
* ksvg2/svg/SVGFEComponentTransferElement.h:
* ksvg2/svg/SVGFECompositeElement.h:
* ksvg2/svg/SVGFEDiffuseLightingElement.h:
* ksvg2/svg/SVGFEDistantLightElement.h:
* ksvg2/svg/SVGFEFloodElement.h:
* ksvg2/svg/SVGFEFuncAElement.h:
* ksvg2/svg/SVGFEFuncBElement.h:
* ksvg2/svg/SVGFEFuncGElement.h:
* ksvg2/svg/SVGFEFuncRElement.h:
* ksvg2/svg/SVGFEGaussianBlurElement.h:
* ksvg2/svg/SVGFEImageElement.h:
* ksvg2/svg/SVGFELightElement.h:
* ksvg2/svg/SVGFEMergeElement.h:
* ksvg2/svg/SVGFEMergeNodeElement.h:
* ksvg2/svg/SVGFEOffsetElement.h:
* ksvg2/svg/SVGFEPointLightElement.h:
* ksvg2/svg/SVGFESpecularLightingElement.h:
* ksvg2/svg/SVGFESpotLightElement.h:
* ksvg2/svg/SVGFETileElement.h:
* ksvg2/svg/SVGFETurbulenceElement.h:
* ksvg2/svg/SVGFilterElement.h:
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
* ksvg2/svg/SVGForeignObjectElement.h:
* ksvg2/svg/SVGGElement.h:
* ksvg2/svg/SVGGradientElement.h:
* ksvg2/svg/SVGHelper.cpp:
(WebCore::SVGHelper::PercentageOfViewport):
(WebCore::SVGHelper::ParseSeperatedList):
* ksvg2/svg/SVGImageElement.h:
* ksvg2/svg/SVGLength.h:
(WebCore::SVGLength::):
* ksvg2/svg/SVGLength.idl: Added.
* ksvg2/svg/SVGLineElement.h:
* ksvg2/svg/SVGLinearGradientElement.h:
* ksvg2/svg/SVGLocatable.cpp:
(SVGLocatable::getBBox):
* ksvg2/svg/SVGLocatable.h:
* ksvg2/svg/SVGMarkerElement.h:
* ksvg2/svg/SVGMaskElement.h:
* ksvg2/svg/SVGMatrix.cpp:
(SVGMatrix::inverse):
(SVGMatrix::rotateFromVector):
* ksvg2/svg/SVGMatrix.h:
* ksvg2/svg/SVGMatrix.idl: Added.
* ksvg2/svg/SVGNumber.idl: Added.
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getPointAtLength):
* ksvg2/svg/SVGPathElement.h:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::x):
(WebCore::SVGPatternElement::y):
(WebCore::SVGPatternElement::width):
(WebCore::SVGPatternElement::height):
(WebCore::SVGPatternElement::pushAttributeContext):
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::notifyClientsToRepaint):
(WebCore::SVGPatternElement::notifyAttributeChange):
(WebCore::SVGPatternElement::canvasResource):
(WebCore::SVGPatternElement::getCTM):
* ksvg2/svg/SVGPatternElement.h:
* ksvg2/svg/SVGPoint.idl: Added.
* ksvg2/svg/SVGPolyElement.h:
* ksvg2/svg/SVGPolygonElement.h:
* ksvg2/svg/SVGPolylineElement.h:
* ksvg2/svg/SVGRadialGradientElement.h:
* ksvg2/svg/SVGRect.idl: Added.
* ksvg2/svg/SVGRectElement.h:
* ksvg2/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::viewport):
(WebCore::SVGSVGElement::currentTranslate):
(WebCore::SVGSVGElement::unsuspendRedraw):
(WebCore::SVGSVGElement::getIntersectionList):
(WebCore::SVGSVGElement::getEnclosureList):
(WebCore::SVGSVGElement::checkIntersection):
(WebCore::SVGSVGElement::checkEnclosure):
(WebCore::SVGSVGElement::createSVGNumber):
(WebCore::SVGSVGElement::createSVGPoint):
(WebCore::SVGSVGElement::createSVGRect):
(WebCore::SVGSVGElement::pauseAnimations):
(WebCore::SVGSVGElement::unpauseAnimations):
(WebCore::SVGSVGElement::animationsPaused):
(WebCore::SVGSVGElement::getCurrentTime):
(WebCore::SVGSVGElement::setCurrentTime):
* ksvg2/svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::timeScheduler):
* ksvg2/svg/SVGSVGElement.idl: Added.
* ksvg2/svg/SVGScriptElement.h:
* ksvg2/svg/SVGSetElement.cpp:
(WebCore::SVGSetElement::SVGSetElement):
(WebCore::SVGSetElement::handleTimerEvent):
* ksvg2/svg/SVGSetElement.h:
* ksvg2/svg/SVGStopElement.h:
* ksvg2/svg/SVGStyleElement.h:
* ksvg2/svg/SVGStyledElement.h:
* ksvg2/svg/SVGStyledLocatableElement.cpp:
(SVGStyledLocatableElement::getBBox):
* ksvg2/svg/SVGStyledLocatableElement.h:
* ksvg2/svg/SVGStyledTransformableElement.cpp:
(SVGStyledTransformableElement::getBBox):
* ksvg2/svg/SVGStyledTransformableElement.h:
* ksvg2/svg/SVGSwitchElement.h:
* ksvg2/svg/SVGSymbolElement.h:
* ksvg2/svg/SVGTRefElement.h:
* ksvg2/svg/SVGTSpanElement.h:
* ksvg2/svg/SVGTextContentElement.cpp:
(SVGTextContentElement::getStartPositionOfChar):
(SVGTextContentElement::getEndPositionOfChar):
(SVGTextContentElement::getExtentOfChar):
(SVGTextContentElement::getCharNumAtPosition):
(SVGTextContentElement::parseMappedAttribute):
* ksvg2/svg/SVGTextContentElement.h:
* ksvg2/svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::getBBox):
* ksvg2/svg/SVGTextElement.h:
* ksvg2/svg/SVGTextPositioningElement.h:
* ksvg2/svg/SVGTitleElement.h:
* ksvg2/svg/SVGTransform.h:
(WebCore::SVGTransform::):
* ksvg2/svg/SVGTransform.idl: Added.
* ksvg2/svg/SVGUseElement.h:
* ksvg2/svg/SVGViewElement.h:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::pauseTimeouts):
(WebCore::Frame::resumeTimeouts):
* platform/Color.h:
* rendering/RenderBR.h:
* rendering/RenderBox.h:
(WebCore::RenderBox::renderName):
* rendering/RenderCanvas.h:
(WebCore::RenderCanvas::view):
* rendering/RenderContainer.h:
* rendering/RenderFlexibleBox.h:
* rendering/RenderFlow.h:
(WebCore::RenderFlow::RenderFlow):
* rendering/RenderInline.h:
* rendering/RenderTableSection.h:
* rendering/RenderTextFragment.h:
(WebCore::RenderTextFragment::contentString):
* xml/xmlattrs.in: Added.
2006-05-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej.
- Fixed <rdar://problem/4559720> window sizing: make javascript window
and screen sizing methods and properties work @ HIDPI
The general approach here is to change some ints to floats, make
a few key functions that scale between WebView and window/screen
coordinates, and change other functions that work with screen
coordinates to use the scaling functions for their underlying
implementations.
* manual-tests/window-open-features.html: Removed.
* manual-tests/window-sizing.html: Added. More test coverage.
* bindings/js/kjs_window.cpp: Changed ints to floats and IntRects to
FloatRects, because window coordinates can be fractional when scaled
to WebView/DOM coordinates.
(KJS::floatFeature):
(KJS::showModalDialog):
(KJS::Window::getValueProperty):
(KJS::constrainToVisible):
(KJS::WindowFunc::callAsFunction):
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow): Removed custom scaling
code and replaced with calls to Page::windowRect and
Page::setWindowRect. Renamed 'page' and 'bridge' to 'pageBridge' and
'frameBridge,' respectively.
* bridge/mac/PageMac.mm:
(WebCore::Page::windowRect): Changed to use scaling
(WebCore::Page::setWindowRect): ditto
* bridge/mac/WebCoreFrameBridge.mm:
(globalPoint):
* page/Page.h:
* platform/IntRect.h:
* platform/Screen.h:
* platform/mac/MouseEventMac.mm:
(WebCore::globalPositionForEvent): Changed to use flipScreenPoint
* platform/mac/ScreenMac.mm:
(WebCore::flipScreenRect): New key function
(WebCore::flipScreenPoint): New key function
(WebCore::scaleScreenRectToView): New key function
(WebCore::scaleViewRectToScreen): New key function
(WebCore::screenRect): Changed to use scaling
(WebCore::usableScreenRect): ditto
Feeble attempt to preserve Windows build:
* platform/win/ScreenWin.cpp:
(WebCore::scaleScreenRectToWidget): stub -- doesn't actually scale
(WebCore::scaleWidgetRectToScreen): ditto
* bridge/win/PageWin.cpp:
(WebCore::Page::Page):
(WebCore::Page::widget):
2006-05-30 David Hyatt <hyatt@apple.com>
Rename RenderCanvas to RenderView. Rename canvas(), isCanvas()
to view(), isView(). Rename the frame view accessor on the old canvas
from view() to frameView() (to avoid view()->view(), since that just looks
stupid). :)
Reviewed by andersca
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_dom.cpp:
* bindings/js/kjs_window.cpp:
* bridge/mac/FrameMac.mm:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge _setupRootForPrinting:]):
(-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
(-[WebCoreFrameBridge selectionColor]):
(-[WebCoreFrameBridge accessibilityTree]):
* dom/Document.cpp:
(WebCore::Document::attach):
(WebCore::Document::updateSelection):
(WebCore::Document::prepareMouseEvent):
* editing/SelectionController.cpp:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
* ksvg2/svg/SVGClipPathElement.cpp:
(SVGClipPathElement::canvasResource):
* ksvg2/svg/SVGFEFloodElement.cpp:
(SVGFEFloodElement::filterEffect):
* ksvg2/svg/SVGGradientElement.cpp:
(SVGGradientElement::rebuildStops):
* ksvg2/svg/SVGHelper.cpp:
(SVGHelper::PercentageOfViewport):
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getPointAtLength):
* ksvg2/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentTranslate):
* ksvg2/svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::view):
(WebCore::SVGStyledElement::pushAttributeContext):
* ksvg2/svg/SVGStyledElement.h:
* kwq/WebCoreAXObject.mm:
(-[WebCoreAXObject accessibilityShouldUseUniqueId]):
(-[WebCoreAXObject role]):
(-[WebCoreAXObject value]):
(-[WebCoreAXObject position]):
(-[WebCoreAXObject accessibilityIsIgnored]):
(-[WebCoreAXObject accessibilityAttributeNames]):
(-[WebCoreAXObject topView]):
(-[WebCoreAXObject accessibilityAttributeValue:]):
* page/Frame.cpp:
(WebCore::Frame::selectionRect):
(WebCore::Frame::paint):
(WebCore::Frame::adjustPageHeight):
(WebCore::Frame::forceLayoutWithPageWidthRange):
* page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::layout):
* page/FrameView.h:
* rendering/AutoTableLayout.cpp:
(WebCore::shouldScaleColumns):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::setSelectionState):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::fillInlineSelectionGaps):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::calcBlocminMaxWidth):
(WebCore::RenderBlock::inRootBlockContext):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::setStyle):
(WebCore::RenderBox::paintRootBoxDecorations):
(WebCore::RenderBox::paintBackgroundExtended):
(WebCore::RenderBox::calcHeight):
(WebCore::RenderBox::calcPercentageHeight):
(WebCore::RenderBox::availableHeightUsing):
* rendering/RenderCanvas.cpp: Removed.
* rendering/RenderCanvas.h: Removed.
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::removeChildNode):
* rendering/RenderFileButton.cpp:
(WebCore::RenderFileButton::RenderFileButton):
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::destroy):
(WebCore::RenderFlow::paintLines):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::layout):
(WebCore::RenderFrameSet::userResize):
(WebCore::RenderFrameSet::setResizing):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::stackingContext):
(WebCore::RenderLayer::enclosingPositionedAncestor):
(WebCore::RenderLayer::convertToLayerCoords):
(WebCore::RenderLayer::scrollToOffset):
(WebCore::isSubframeCanvas):
(WebCore::RenderLayer::intersectsDamageRect):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::isStackingContext):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::scroll):
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::draggableNode):
(WebCore::RenderObject::selectionStartEnd):
(WebCore::RenderObject::setStyle):
(WebCore::RenderObject::viewRect):
(WebCore::RenderObject::view):
(WebCore::RenderObject::container):
(WebCore::RenderObject::removeFromObjectLists):
(WebCore::RenderObject::scheduleRelayout):
(WebCore::RenderObject::imageChanged):
(WebCore::RenderObject::maximalOutlineSize):
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderView):
* rendering/RenderTextArea.cpp:
(WebCore::RenderTextArea::RenderTextArea):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintCheckbox):
(WebCore::RenderThemeMac::paintRadio):
(WebCore::RenderThemeMac::paintButton):
* rendering/RenderTreeAsText.cpp:
(externalRepresentation):
* rendering/RenderView.cpp: Added.
(WebCore::RenderView::RenderView):
(WebCore::RenderView::~RenderView):
(WebCore::RenderView::calcHeight):
(WebCore::RenderView::calcWidth):
(WebCore::RenderView::calcMinMaxWidth):
(WebCore::RenderView::layout):
(WebCore::RenderView::absolutePosition):
(WebCore::RenderView::paint):
(WebCore::RenderView::paintBoxDecorations):
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::getAbsoluteRepaintRect):
(WebCore::RenderView::computeAbsoluteRepaintRect):
(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::selectionRect):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::clearSelection):
(WebCore::RenderView::selectionStartEnd):
(WebCore::RenderView::updateWidgetPositions):
(WebCore::RenderView::addWidget):
(WebCore::RenderView::removeWidget):
(WebCore::RenderView::viewRect):
(WebCore::RenderView::docHeight):
(WebCore::RenderView::docWidth):
(WebCore::RenderView::setBestTruncatedAt):
* rendering/RenderView.h: Added.
(WebCore::RenderView::renderName):
(WebCore::RenderView::isRenderView):
(WebCore::RenderView::frameView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
(WebCore::RenderWidget::destroy):
(WebCore::RenderWidget::updateWidgetPosition):
* rendering/RenderWidget.h:
(WebCore::RenderWidget::widget):
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
2006-05-30 Tim Omernick <timo@apple.com>
Reviewed by Geoff.
<rdar://problem/4567776> REGRESSION: window.open() links do not work at www.newarchery.com
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
Set the URL in the ResourceRequest; otherwise, it'll be uninitialized and createNewWindow() will
not be able to load the URL into a pre-existing frame.
2006-05-30 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Maciej, landed by Beth.
- fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9137
Children with percentage heights of absolutely positioned element
with height: auto and top and bottom non-auto does not lay out
correctly
Adds special case.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcPercentageHeight):
(WebCore::RenderBox::calcReplacedHeightUsing):
2006-05-30 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt, landed by Beth.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9085
Absolutely positioned objects with 'height': auto and 'top': and
'bottom': non-auto should not be content based
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcAbsoluteVertical):
(WebCore::RenderBox::calcAbsoluteVerticalValues):
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
(WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2006-05-30 Eric Seidel <eric@eseidel.com>
Reviewed by andersca.
Small amount of svg-related code cleanup.
No test case possible.
* ksvg2/svg/SVGColor.h:
* ksvg2/svg/SVGLength.cpp:
(SVGLength::SVGLength):
(SVGLength::value):
* ksvg2/svg/SVGMarkerElement.cpp:
* ksvg2/svg/SVGMatrix.cpp:
(SVGMatrix::SVGMatrix):
(SVGMatrix::copy):
(SVGMatrix::postMultiply):
(SVGMatrix::inverse):
(SVGMatrix::postTranslate):
(SVGMatrix::postScale):
(SVGMatrix::postScaleNonUniform):
(SVGMatrix::postRotate):
(SVGMatrix::postRotateFromVector):
(SVGMatrix::postFlipX):
(SVGMatrix::postFlipY):
(SVGMatrix::postSkewX):
(SVGMatrix::postSkewY):
(SVGMatrix::multiply):
(SVGMatrix::translate):
(SVGMatrix::scale):
(SVGMatrix::scaleNonUniform):
(SVGMatrix::rotate):
(SVGMatrix::rotateFromVector):
(SVGMatrix::flipX):
(SVGMatrix::flipY):
(SVGMatrix::skewX):
(SVGMatrix::skewY):
(SVGMatrix::setMatrix):
(SVGMatrix::qmatrix):
(SVGMatrix::removeScale):
* ksvg2/svg/SVGMatrix.h:
2006-05-30 Eric Seidel <eric@eseidel.com>
Reviewed by andersca.
Small amount of bindings-related code cleanup.
No test case possible.
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSXMLSerializer.cpp:
(WebCore::JSXMLSerializerConstructorImp::JSXMLSerializerConstructorImp):
(WebCore::JSXMLSerializerConstructorImp::implementsConstruct):
(WebCore::JSXMLSerializerConstructorImp::construct):
(WebCore::):
(WebCore::JSXMLSerializer::JSXMLSerializer):
(WebCore::JSXMLSerializerProtoFunc::callAsFunction):
* bindings/js/JSXMLSerializer.h:
(WebCore::JSXMLSerializer::toBoolean):
(WebCore::JSXMLSerializer::classInfo):
(WebCore::JSXMLSerializer::):
* bindings/js/kjs_window.cpp:
(KJS::Window::getValueProperty):
2006-05-27 Anders Carlsson <acarlsson@apple.com>
* bindings/js/JSHTMLElementWrapperFactory.cpp:
Correct include file names.
2006-05-26 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
<rdar://problem/4564296> Mail crashes on Leopard9A184 when I attempt to compose a new message
* dom/Position.cpp:
(WebCore::Position::inRenderedContent):
Removed a candidate at [html, 0].
* editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply): Added early return when there is no selection.
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Ditto.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input): Ditto.
* editing/Selection.cpp:
(WebCore::Selection::validate): If visible positions can't be created from the endpoints,
then create a null selection. Not doing this was making editing code think there was
a valid, editable selection even though there wasn't.
* editing/UnlinkCommand.cpp:
(WebCore::UnlinkCommand::doApply): Early return.
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::initDeepPosition): Special case the html/body element boundary.
It looks like a non-editable/editable boundary since rootEditableElement stops at the body
even if the html element is editable.
2006-05-26 Adele Peterson <adele@apple.com>
Reviewed by Justin.
Fixes a mistake in my last checkin. Uses maxDeepOffset to get the end position for
the textarea's inner div.
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::textWithHardLineBreaks):
2006-05-26 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Added support for wrap=hard for new textarea implementation.
Tests: fast/forms/textarea-appearance-wrap.html
* dom/Range.h: Added version of toString that will convert BRs to newlines.
* dom/Range.cpp: (WebCore::Range::toString):
* editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
When in plain-text mode, and a white-space mode that doesn't collapse whitespace, create a fragment with one text node.
* editing/visible_units.cpp:
(WebCore::previousLinePosition): Subtract scroll offset so the absolute position for the containing block is correct.
(WebCore::nextLinePosition): ditto.
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForCoordinates): If the position is equal to the left edge of the box,
make the affinity downstream so the position doesn't jump back to the previous line.
(WebCore::RenderText::atLineWrap): The logic was reversed here in a recent change.
If the box is not at a line break, then its at a line wrap.
(WebCore::RenderText::caretRect): Only go to the next text box if its at a line wrap and the
affinity is also downstream. If its upstream, then the correct box is on the current line.
(WebCore::RenderText::inlineBox): ditto.
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::updateFromElement): multi line controls don't need to check
valueMatchesRenderer before updating the renderer. For textareas, the renderer should always try to update.
This matches our old textarea behavior.
(WebCore::RenderTextField::text): Pass true to textContent so it converts BRs to newlines.
(WebCore::RenderTextField::textWithHardLineBreaks): Iterate through the RootLineBoxes to find the soft wraps and replace them with newlines.
2006-05-26 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9127
Invoke capturing event listeners when AT_TARGET
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::handleLocalEvents):
Invoke capturing event listeners for the AT_TARGET phase. This violates the
DOM spec but it's what Mozilla does.
2006-05-26 David Harrison <harrison@apple.com>
Reviewed by John Sullivan.
<rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- Renamed ModifySelectionListLevelCommand .cpp and .h to ModifySelectionListLevel .cpp and .h
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
(-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
(-[WebCoreFrameBridge increaseSelectionListLevel]):
(-[WebCoreFrameBridge decreaseSelectionListLevel]):
- Call functions in IncreaseSelectionListLevelCommand or DecreaseSelectionListLevelCommand instead
of ModifySelectionListLevelCommand.
(-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
(-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
- Added.
* editing/ModifySelectionListLevel.cpp: Added.
- Renamed from ModifySelectionListLevelCommand.cpp
- Made ModifySelectionListLevelCommand class into a useful base class for new
classes IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand.
(WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
(WebCore::getStartEndListChildren):
(WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
(WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
- ModifySelectionListLevelCommand is base class for IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand
(WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
(WebCore::IncreaseSelectionListLevelCommand::listElement):
(WebCore::canIncreaseListLevel):
(WebCore::IncreaseSelectionListLevelCommand::doApply):
(WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
(WebCore::increaseSelectionListLevelWithType):
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered):
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered):
- Now a subclass of ModifySelectionListLevelCommand
- Added Ordered and Unordered increaser functions
- Increaser functions return the list element that the items were moved into
(WebCore::DecreaseSelectionListLevelCommand::DecreaseSelectionListLevelCommand):
(WebCore::canDecreaseListLevel):
(WebCore::DecreaseSelectionListLevelCommand::doApply):
(WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
(WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel):
- No functional changes other than to become a subclass of ModifySelectionListLevelCommand
* editing/ModifySelectionListLevel.h: Added.
(WebCore::):
- Renamed from ModifySelectionListLevelCommand.cpp
* editing/ModifySelectionListLevelCommand.cpp: Removed.
- Renamed to ModifySelectionListLevel.cpp
* editing/ModifySelectionListLevelCommand.h: Removed.
- Renamed to ModifySelectionListLevel.h
* editing/htmlediting.cpp:
(WebCore::createOrderedListElement):
(WebCore::createUnorderedListElement):
* editing/htmlediting.h:
2006-05-26 Steve Falkenburg <sfalken@apple.com>
Reviewed by adele.
Build fixes/tweaks
* WebCore.vcproj/WebCore/WebCore.vcproj:
* config.h:
* ksvg2/scripts/make_names.pl:
2006-05-26 Steve Falkenburg <sfalken@apple.com>
Reviewed by adele.
Fix build
* WebCore.vcproj/WebCore/WebCore.vcproj:
* config.h:
2006-05-25 Dave Hyatt <hyatt@apple.com>
Change default font size for fixed pitch to 13 to match Safari
on Mac (and every other browser on the planet too).
Reviewed by adele
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
* platform/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontLinkInterface):
2006-05-25 Alice Liu <alice.liu@apple.com>
Reviewed by Adele.
* bindings/js/kjs_html.cpp:
added bindings
(KJS::HTMLElementFunction::callAsFunction):
added case to handle namedItem for select elements
* bindings/js/kjs_html.h:
added enum value for bindings
(KJS::JSHTMLElement::):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::namedItem):
implemented namedItem method
* html/HTMLSelectElement.h:
added prototype for namedItem method
2006-05-25 Dave Hyatt <hyatt@apple.com>
Make soft hyphens work on Win32 by special casing them
along with normal hyphens.
Reviewed by mjs
* rendering/break_lines.cpp:
(WebCore::nextBreakablePosition):
2006-05-25 Dave Hyatt <hyatt@apple.com>
Implement the fallback method containsCharacters for
checking if a font has the necessary glyphs to be
selected as a fallback choide.
* platform/win/FontDataWin.cpp:
(WebCore::FontData::containsCharacters):
2006-05-25 Dave Hyatt <hyatt@apple.com>
For now eliminate the logical scale factor from Cairo.
This enables bitmap fonts like MS Sans Serif to work on
Win32.
* platform/cairo/cairo/src/cairo-win32-font.c:
(cairo_win32_scaled_font_select_font):
* platform/cairo/cairo/src/cairo-win32-private.h:
* platform/cairo/font-bug-patch.txt: Removed.
* platform/cairo/scale-removal.txt: Added.
* platform/win/FontCacheWin.cpp:
(WebCore::FontCache::createFontPlatformData):
* platform/win/FontDataWin.cpp:
(WebCore::FontData::smallCapsFontData):
(WebCore::FontData::platformWidthForGlyph):
* platform/win/FontPlatformData.h:
* platform/win/GlyphMapWin.cpp:
(WebCore::GlyphMap::fillPage):
2006-05-25 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt. Landed by eseidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8848
TFOOT borders are copied to THEAD and TBODY
Test: fast/table/border-collapsing/border-collapsing-head-foot.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::sectionAbove): Added.
(WebCore::RenderTable::sectionBelow): Added.
(WebCore::RenderTable::cellAbove): Changed to call sectionAbove.
(WebCore::RenderTable::cellBelow): Changed to call sectionBelow.
* rendering/RenderTable.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::collapsedTopBorder): Changed to call sectionAbove.
(WebCore::RenderTableCell::collapsedBottomBorder): Changed to call sectionBelow.
2006-05-25 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt. Landed by eseidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3297
height property is not honored on table rows
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild): Assign the row renderer to the
grid row.
(WebCore::RenderTableSection::calcRowHeight): Fix off-by-one index bug
and add vertical spacing only for grid rows that have a renderer.
(WebCore::RenderTableSection::recalcCells): Assign row renderers to
grid rows.
2006-05-25 Rob Buis <buis@kde.org>
Reviewed by darin. Landed by eseidel.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5978
WebKIt+SVG should use SVGDocumentImpl for image/svg+xml
Make sure SVGDocument is created for standalone svg
documents.
* ksvg2/svg/SVGDOMImplementation.cpp:
(SVGDOMImplementation::instance):
(SVGDOMImplementation::createDocument):
* ksvg2/svg/SVGDOMImplementation.h:
* ksvg2/svg/SVGDocument.cpp:
(WebCore::SVGDocument::SVGDocument):
(WebCore::SVGDocument::~SVGDocument):
* ksvg2/svg/SVGDocument.h:
* ksvg2/svg/SVGTests.cpp:
(WebCore::SVGTests::isValid):
* ksvg2/svg/SVGTitleElement.cpp:
* ksvg2/svg/SVGTitleElement.h:
* page/Frame.cpp:
(WebCore::Frame::begin):
2006-05-25 Rob Buis <buis@kde.org>
Reviewed by darin. Landed by eseidel.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5889
HTMLNames.* should be generated using make_names.pl
Use a patched make_names.pl to autogenerate HTMLNames.*
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLNames.cpp: Removed.
* html/HTMLNames.h: Removed.
* html/HTMLTagNames.in: Added.
* html/HTMLAttributeNames.in: Added.
* ksvg2/scripts/make_names.pl:
2006-05-25 Eric Seidel <eric@eseidel.com>
Reviewed by andersca.
Add "HasIndexGetter" support to bindings autogen system.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9057
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLInputElementBase.cpp:
* bindings/js/kjs_css.cpp:
(KJS::toJS):
* bindings/js/kjs_css.h:
* bindings/js/kjs_dom.cpp:
(KJS::DOMNamedNodeMap::getOwnPropertySlot):
* bindings/scripts/CodeGeneratorJS.pm:
* css/CSSValueList.idl: Added.
2006-05-24 David Hyatt <hyatt@apple.com>
Implement font aliasing of family names for Courier/Courier New,
Arial/Helvetica, and Times/Times New Roman. This behavior matches
WinIE and Firefox.
Reviewed by maciej
Test cases not really possible, since they would have to rely on people
not having the fonts installed (so not having installed Office).
* platform/FontCache.cpp:
(WebCore::alternateFamilyName):
(WebCore::FontCache::getCachedFontPlatformData):
* platform/FontCache.h:
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
=== WebCore-521.11 ===
2006-05-24 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
<rdar://problem/4549610> REGRESSION: No initial cursor in Mail reply or Blot document
<rdar://problem/4560698> Mail is very crashy in Leopard9A182, WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)
* page/Frame.cpp:
(WebCore::Frame::setSelectionFromNone): Find the body and stick a caret
in it.
2006-05-24 Geoffrey Garen <ggaren@apple.com>
Rubber stamped by Anders.
Removed meaningless 'dom::' prefix in IDL files.
* dom/Range.idl:
* html/CanvasRenderingContext2D.idl:
* html/HTMLOptionElement.idl:
2006-05-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by andersca.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9095
regression: can't select by setting option.selected to true
'text' and 'selected' were erroneously marked read-only for option elements.
* html/HTMLOptionElement.idl:
2006-05-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by mjs.
- WebCore half of fix for <rdar://problem/4557926> TOT REGRESSION: Crash
occurs when attempting to view image in slideshow mode at
http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute
(KJS::ExecState*) + 312)
On alternate threads, DOMObjects remain in the
ScriptInterpreter's cache because they're not collected. So, they
need an opportunity to mark their children.
I'm not particularly happy with this solution because it fails to
resolve many outstanding issues with the DOM object cache. Since none
of those issues is a crasher or a serious compatibility concern,
and since the behavior of other browsers is not much to go on in this
case, I've filed <rdar://problem/4561439> about that, and I'm moving
on with my life.
Also added functionality for testing garbage collection from inside
DumpRenderTree.
Also removed XMLHttpRequest from the DOM object cache because XMLHttpRequest
objects aren't accessed through the DOM.
Also added JS locking around access to some shared data structures in
WebCoreJavaScript, even though it probably doesn't matter in practice.
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequest::JSXMLHttpRequest):
(KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::mark):
* bindings/js/kjs_binding.h:
* bridge/mac/WebCoreJavaScript.h:
* bridge/mac/WebCoreJavaScript.mm:
(collect):
(+[WebCoreJavaScript objectCount]):
(+[WebCoreJavaScript interpreterCount]):
(+[WebCoreJavaScript protectedObjectCount]):
(+[WebCoreJavaScript garbageCollect]):
(+[WebCoreJavaScript garbageCollectOnAlternateThread:]):
(+[WebCoreJavaScript shouldPrintExceptions]):
(+[WebCoreJavaScript setShouldPrintExceptions:]):
2006-05-24 Dave Hyatt <hyatt@apple.com>
Fix the font cache corruption problems on Win32. Move the
native font destruction code out of FontPlatformData and
into FontData. Implement smallCaps.
* platform/win/FontDataWin.cpp:
(WebCore::FontData::platformDestroy):
(WebCore::FontData::smallCapsFontData):
* platform/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::~FontPlatformData):
2006-05-24 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9093
Implement document.scripts
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocument::getValueProperty):
Return document.scripts() instead of a placeholder object.
* dom/Document.cpp:
(WebCore::Document::scripts):
* dom/Document.h:
Add Document::scripts.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::traverseNextItem):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::):
Add scripts collection type which traverses all script elements.
2006-05-24 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9092
innerText is empty for elements without renderers
* dom/Node.cpp:
(WebCore::Node::textContent):
* dom/Node.h:
Add optional convertBRsToNewlines argument for textContent.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::innerText):
If the element doesn't have a renderer, return textContent.
2006-05-24 Dave Hyatt <hyatt@apple.com>
Fix a bug with the computation of the Cairo glyph offsets
on the Win32 code path.
* ChangeLog:
* platform/GlyphBuffer.h:
(WebCore::GlyphBuffer::add):
* platform/win/FontWin.cpp:
(WebCore::Font::drawGlyphs):
2006-05-23 Dave Hyatt <hyatt@apple.com>
Disable some code in Cairo that is attempting to clip
runs of text to their glyph boundaries, since:
(a) Why re-measure text again when I just gave you
the glyph bounds anyway.
(b) It gets the measurements wrong.
* platform/GlyphBuffer.h:
(WebCore::GlyphBuffer::add):
* platform/cairo/cairo/src/cairo-surface-fallback.c:
(_cairo_surface_fallback_show_glyphs):
* platform/cairo/clipping-cleartype-font-bug-patch.txt: Added.
* platform/win/FontWin.cpp:
(WebCore::Font::drawGlyphs):
2006-05-23 Timothy Hatcher <timothy@apple.com>
Reviewed by Eric.
Remove the recent idl files from the WebCore target to prevent them
from being copied into the framework resources.
* WebCore.xcodeproj/project.pbxproj:
2006-05-23 John Sullivan <sullivan@apple.com>
Reviewed by Justin Garcia and Levi Weintraub.
- fixed Bug 9072: REGRESSION: Misspelling marker incorrect in editing/deleting/delete-and-undo.html
* dom/Document.cpp:
(WebCore::Document::removeMarkers):
One more time to get this right, ugh. There is still one case where we don't want to advance the
iterator, and that's when we remove a marker and do not insert a replacement marker. So I undid
my previous patch, and added it++ to each of the two cases that insert a replacement marker. Now
the layout tests pass even with the pixel tests enabled.
2006-05-23 Dave Hyatt <hyatt@apple.com>
Do an initial implementation of CookieJar on Win32. No policy
checking yet and the cookies are just always on.
Reviewed by mjs
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/win/CookieJarWin.cpp: Added.
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookiesEnabled):
* platform/win/TemporaryLinkStubs.cpp:
2006-05-23 Dave Hyatt <hyatt@apple.com>
Fix the JS autogeneration for WebCore so that the hashtables
are correct on Win32.
Switch to using GetCharWidthI so that we can obtain widths
for glyphs instead of having to obtain them from UChars.
Reviewed by eric (autogeneration) and maciej (fonts)
* bindings/scripts/CodeGeneratorJS.pm:
* platform/Font.cpp:
(WebCore::WidthIterator::advance):
* platform/FontData.cpp:
(WebCore::m_smallCapsFontData):
(WebCore::FontData::widthForGlyph):
* platform/FontData.h:
* platform/mac/FontDataMac.mm:
(-[NSFont WebCore]):
* platform/win/FontDataWin.cpp:
(WebCore::FontData::platformWidthForGlyph):
2006-05-23 Levi Weintraub <lweintraub@apple.com>
Reviewed by Hyatt.
Cleaned up changes to markup by adding the non-virtual
nodeNamePreservingCase accessor function.
* dom/Element.cpp:
(WebCore::Element::nodeNamePreservingCase):
* dom/Element.h:
* editing/markup.cpp:
(WebCore::startMarkup):
(WebCore::endMarkup):
2006-05-23 John Sullivan <sullivan@apple.com>
Reviewed by Anders Carlsson.
* dom/Document.cpp:
(WebCore::Document::removeMarkers):
Fix to my previous checkin (which broke a layout test).
Advance the iterator position every time through the loop; formerly it was not advanced in the
case where a marker was actually removed, causing an infinite loop in certain cases. Also
modified a comment that was confusing the situation by falsely claiming that iterating over a
just-inserted node would always be OK.
2006-05-23 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=9017
Weather2.css incorrectly treated as JavaScript file @ www.live.com
* dom/Element.cpp:
(WebCore::Element::getAttribute):
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::getAttributeNode):
(WebCore::Element::hasAttribute):
Use new getAttributeItem method.
* dom/NamedAttrMap.cpp:
(WebCore::NamedAttrMap::getNamedItem):
(WebCore::NamedAttrMap::removeNamedItem):
Use new getAttributeItem method.
(WebCore::NamedAttrMap::getAttributeItem):
* dom/NamedAttrMap.h:
New method which returns the attribute based on the nodeName.
2006-05-22 Eric Seidel <eric@eseidel.com>
Rubber-stamped by adele.
* bindings/js/kjs_html.h: simple style cleanup.
=== WebCore-521.10 ===
2006-05-22 John Sullivan <sullivan@apple.com>
Reviewed by Anders Carlsson.
- fixed Bug 9038: Rework Document::TextMarker mechanism to not use deprecated data structures
Changed Document::markersForNode and Document::MarkerMap to use Vector rather than
DeprecatedValueList and DeprecatedValueListIterator.
* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::addMarker):
(WebCore::Document::copyMarkers):
(WebCore::Document::removeMarkers):
(WebCore::Document::markersForNode):
(WebCore::Document::repaintMarkers):
(WebCore::Document::shiftMarkers):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintAllMarkersOfType):
2006-05-22 Levi Weintraub <lweintraub@apple.com>
Reviewed by Eric.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8393
<br>s created by createMarkup aren't valid xhtml
Fixed uppered output from innerHTML
* editing/markup.cpp:
(WebCore::startMarkup):
(WebCore::endMarkup):
2006-05-21 Dave Hyatt <hyatt@apple.com>
Fix Win32 bustage. I forgot to add a bunch of files.
Also tweak some existing functions a bit (just cleanup).
* platform/FontCache.cpp:
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::FontCache::getFontData):
* platform/FontCache.h:
* platform/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData):
* platform/win/FontDataWin.cpp:
(WebCore::FontData::platformDestroy):
(WebCore::FontData::smallCapsFontData):
2006-05-21 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9016
crash loading live.com in TreeShared::ref because accessing RenderTextField::text() can destroy the RenderTextField
* rendering/RenderTextField.cpp: (WebCore::RenderTextField::text):
Reverting recent change to user innerText instead of textContent. For textareas,
we need a better solution than textContent that also takes newlines into account,
but this should fix this crasher.
2006-05-21 Anders Carlsson <acarlsson@apple.com>
Fix build.
* ForwardingHeaders/wtf/MathExtras.h: Added.
2006-05-20 Dave Hyatt <hyatt@apple.com>
Switch on Cairo-based text rendering on Win32. This is tracked
by bug 9019.
Reviewed by maciej
* WebCore.vcproj/WebCore/WebCore.vcproj:
* config.h:
* platform/Font.cpp:
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::normalizeVoicingMarks):
(WebCore::Font::width):
* platform/Font.h:
(WebCore::Font::isRoundingHackCharacter):
* platform/FontCache.cpp:
(WebCore::computeHash):
(WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
(WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
(WebCore::FontDataCacheKeyTraits::deletedValue):
(WebCore::FontDataCacheKeyTraits::emptyValue):
* platform/FontData.cpp:
(WebCore::m_smallCapsFontData):
(WebCore::FontData::widthForGlyph):
* platform/FontData.h:
* platform/FontPlatformData.h: Removed.
* platform/GlyphBuffer.h:
(WebCore::GlyphBuffer::clear):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::swap):
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::add):
* platform/GlyphMap.cpp:
(WebCore::GlyphMap::locatePage):
* platform/cairo/cairo/src/cairo-win32-font.c:
(cairo_win32_scaled_font_select_font):
* platform/cairo/font-bug-patch.txt: Added.
* platform/mac/FontDataMac.mm:
(-[NSFont WebCore]):
* platform/mac/FontPlatformData.h: Added.
(WebCore::FontPlatformData::FontPlatformData):
* platform/win/FontDataWin.cpp: Added.
(WebCore::FontData::platformInit):
(WebCore::FontData::platformDestroy):
(WebCore::FontData::smallCapsFontData):
(WebCore::FontData::containsCharacters):
(WebCore::FontData::determinePitch):
(WebCore::FontData::platformWidthForGlyph):
* platform/win/FontPlatformDataWin.cpp:
(WebCore::m_size):
(WebCore::FontPlatformData::~FontPlatformData):
* platform/win/FontWin.cpp:
(WebCore::notImplemented):
(WebCore::Font::drawGlyphs):
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
2006-05-20 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8991
REGRESSION: missing or broken CSS custom cursors are displayed as
a missing image icon
* page/FrameView.cpp:
(WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
* manual-tests/custom-cursors.html: Added.
2006-05-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9009
REGRESSION: ToT crash in WebCore at Zap2it
Test: fast/table/empty-section-crash.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint): Return immediately if the section
has 0 rows or 0 columns.
2006-05-19 Levi Weintraub <lweintraub@apple.com>
Reviewed by justin.
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8931>
Drag caret not painted for editable sub-frames
Moved the drag caret out of Frame and into Page.
Only the Frame that contains the drag caret will paint it.
* editing/SelectionController.h:
* page/Frame.cpp:
(WebCore::Frame::dragCaret):
(WebCore::Frame::setDragCaret):
(WebCore::Frame::paintDragCaret):
* page/FramePrivate.h:
* page/Page.cpp:
(WebCore::Page::dragCaret):
(WebCore::Page::setDragCaret):
* page/Page.h:
2006-05-19 Alice Liu <alice.liu@apple.com>
Reviewed by Adele.
* html/HTMLButtonElement.idl:
added support for HTMLButtonElement.click()
2006-05-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Eric.
- Fixed non-autogenerated global constructors to match autogenerated
ones and FF. (Found this bug while @ the GOOG.)
(1) They're no longer read-only, so they can be overridden.
(2) They now have the default object prototype, so they can do things
like 'toString' and 'valueOf', necessary for general functionality,
including my layout test.
(3) Their prototype properties are now enumerable and not read-only.
* bindings/js/JSDOMParser.cpp:
(KJS::DOMParserConstructorImp::DOMParserConstructorImp):
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
* bindings/js/JSXMLHttpRequest.h:
* bindings/js/JSXMLSerializer.cpp:
(KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
* bindings/js/JSXSLTProcessor.cpp:
(KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
* bindings/js/kjs_html.cpp:
(KJS::OptionConstructorImp::OptionConstructorImp):
(KJS::ImageConstructorImp::ImageConstructorImp):
* bindings/js/kjs_window.cpp:
2006-05-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Eric.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8983
Autogenerate another 22 HTML classes
Already covered by existing DOM tests.
* DerivedSources.make:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add new IDL files and generated sources.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::createPattern):
Use JSHTMLImageElement::info in inherits.
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createJSWrapper):
Add macros for the functions and the code to populate the hash set.
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
(KJS::HTMLElementFunction::callAsFunction):
* bindings/js/kjs_html.h:
(KJS::JSHTMLElement::):
Delete old cruft.
* bindings/scripts/CodeGeneratorJS.pm:
Add support for creating a JS object from a HTMLCollection.
* html/HTMLAreaElement.idl: Added.
* html/HTMLBRElement.idl: Added.
* html/HTMLBaseFontElement.idl: Added.
* html/HTMLBlockquoteElement.idl: Added.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):
* html/HTMLBodyElement.h:
Add new functions that used to be implemented in kjs_html.cpp
* html/HTMLBodyElement.idl: Added.
* html/HTMLFieldSetElement.idl: Added.
* html/HTMLFontElement.idl: Added.
* html/HTMLHRElement.idl: Added.
* html/HTMLHeadingElement.idl: Added.
* html/HTMLImageElement.idl: Added.
* html/HTMLIsIndexElement.idl: Added.
* html/HTMLLIElement.idl: Added.
* html/HTMLLabelElement.idl: Added.
* html/HTMLLegendElement.idl: Added.
* html/HTMLMapElement.idl: Added.
* html/HTMLMenuElement.idl: Added.
* html/HTMLModElement.idl: Added.
* html/HTMLParagraphElement.idl: Added.
* html/HTMLParamElement.idl: Added.
* html/HTMLPreElement.idl: Added.
* html/HTMLQuoteElement.idl: Added.
* html/HTMLScriptElement.idl: Added.
2006-05-18 David Hyatt <hyatt@apple.com>
Turn off responding to font changes while running. It doesn't work
right anyway.
Reviewed by darin
* platform/FontCache.cpp:
(WebCore::FontCache::getCachedFontPlatformData):
* platform/FontCache.h:
* platform/GlyphMap.h:
(WebCore::GlyphMap::~GlyphMap):
* platform/GlyphWidthMap.h:
(WebCore::GlyphWidthMap::~GlyphWidthMap):
* platform/mac/FontCacheMac.mm:
(WebCore::FontCache::platformInit):
2006-05-18 Darin Adler <darin@apple.com>
- try to fix the Windows build
* platform/TextEncoding.h: Changed a ";" to a ",".
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed
JSCanvasRenderingContext2DBase.cpp and
JSCanvasRenderingContext2DBase.h. Added
JSCanvasRenderingContext2DCustom.cpp.
2006-05-18 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt.
Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8896>
Bug 8896: Absolutely positioned elements should use their parent's
direction when left, right and width are auto in quirks mode.
Use the parent's direction instead of the containing
block's in quirks mode for absolute positioning to match
WinIE.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcAbsoluteHorizontal):
(WebCore::RenderBox::calcAbsoluteHorizontalValues):
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
* rendering/RenderBox.h:
2006-05-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and tweaked (way too much) by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8937
EncodingMap uses 0 as its empty value but 0 is a valid TextEncodingID
* platform/CharsetNames.cpp:
(WebCore::TextEncodingIDHashTraits::emptyValue): Added a non-zero empty value,
InvalidEncoding, and used InvalidEncoding2 for the deleted value.
(WebCore::buildCharsetMaps): Added an assertion that the deleted and empty
values are not valid encodings.
* platform/TextEncoding.h: Defined InvalidEncoding2.
2006-05-18 David Hyatt <hyatt@apple.com>
Horrible glyph map performance regression fix.
The initial page of the map was being rebuilt over and over again.
Reviewed by andersca
* platform/GlyphMap.cpp:
(WebCore::GlyphMap::locatePage):
* platform/GlyphWidthMap.cpp:
(WebCore::GlyphWidthMap::locatePage):
2006-05-18 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8964
Autogenerate more HTML classes
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
Add new files.
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createAnchorWrapper):
(WebCore::createAppletWrapper):
(WebCore::createDivWrapper):
(WebCore::createDirectoryWrapper):
(WebCore::createDListWrapper):
(WebCore::createHtmlWrapper):
(WebCore::createOListWrapper):
(WebCore::createUListWrapper):
(WebCore::createJSWrapper):
Add wrappers.
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
(KJS::HTMLElementFunction::callAsFunction):
* bindings/js/kjs_html.h:
(KJS::JSHTMLElement::):
Delete the old implementations.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::hash):
(WebCore::HTMLAnchorElement::host):
(WebCore::HTMLAnchorElement::hostname):
(WebCore::HTMLAnchorElement::pathname):
(WebCore::HTMLAnchorElement::port):
(WebCore::HTMLAnchorElement::protocol):
(WebCore::HTMLAnchorElement::search):
(WebCore::HTMLAnchorElement::text):
* html/HTMLAnchorElement.h:
Add some new accessor methods which used to be in kjs_html.cpp.
* html/HTMLAnchorElement.idl: Added.
* html/HTMLAppletElement.idl: Added.
* html/HTMLDListElement.idl: Added.
* html/HTMLDirectoryElement.idl: Added.
* html/HTMLDivElement.idl: Added.
* html/HTMLHtmlElement.idl: Added.
* html/HTMLOListElement.idl: Added.
* html/HTMLUListElement.idl: Added.
2006-05-17 David Hyatt <hyatt@apple.com>
Convert the width map for glyphs into the same new HashMap-style as the
glyph map for characters.
* WebCore.xcodeproj/project.pbxproj:
* platform/FontData.cpp:
(WebCore::FontData::~FontData):
(WebCore::FontData::widthForGlyph):
* platform/FontData.h:
* platform/GlyphWidthMap.cpp: Added.
(WebCore::GlyphWidthMap::widthForGlyph):
(WebCore::GlyphWidthMap::setWidthForGlyph):
(WebCore::GlyphWidthMap::locatePage):
* platform/GlyphWidthMap.h: Added.
(WebCore::GlyphWidthMap::GlyphWidthMap):
(WebCore::GlyphWidthMap::~GlyphWidthMap):
(WebCore::GlyphWidthMap::GlyphWidthPage::widthForGlyph):
(WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForGlyph):
(WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForIndex):
2006-05-17 David Hyatt <hyatt@apple.com>
Rename FontData.mm to FontData.cpp, since it has no obj-c in it.
* WebCore.xcodeproj/project.pbxproj:
* platform/FontData.cpp: Added.
2006-05-17 David Hyatt <hyatt@apple.com>
Split FontData.mm into platform-specific and cross-platform pieces.
Reviewed by andersca
* WebCore.xcodeproj/project.pbxproj:
* platform/FontData.h:
(WebCore::FontData::xHeight):
* platform/mac/FontData.mm:
(WebCore::FontData::widthForGlyph):
(WebCore::m_smallCapsFontData):
(WebCore::FontData::~FontData):
(WebCore::extendWidthMap):
2006-05-17 John Sullivan <sullivan@apple.com>
Reviewed by Darin Adler
Improvement to my previous patch, suggested by Darin
* dom/Document.cpp:
(WebCore::Document::repaintMarkers):
new method, similar in structure to removeMarkers but just repaints each node that
has a marker of the specified type
* dom/Document.h:
declare new method, and tweak style in related method declarations
* page/Frame.cpp:
(WebCore::Frame::setMarkedTextMatchesAreHighlighted):
if the value changes, call repaintMarkers
2006-05-17 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Autogenerate button, optgroup, option, input and textarea js bindings
http://bugzilla.opendarwin.org/show_bug.cgi?id=8953
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createButtonWrapper):
(WebCore::createInputWrapper):
(WebCore::createOptGroupWrapper):
(WebCore::createOptionWrapper):
(WebCore::createTextAreaWrapper):
(WebCore::createJSWrapper):
* bindings/js/JSHTMLInputElementBase.cpp: Added.
(WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction):
(WebCore::):
(WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
(WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
* bindings/js/JSHTMLInputElementBase.h: Added.
(WebCore::JSHTMLInputElementBase::classInfo):
(WebCore::JSHTMLInputElementBase::):
(WebCore::JSHTMLInputElementBase::impl):
* bindings/js/JSHTMLOptionElementConstructor.cpp: Added.
(WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
(WebCore::JSHTMLOptionElementConstructor::implementsConstruct):
(WebCore::JSHTMLOptionElementConstructor::construct):
* bindings/js/JSHTMLOptionElementConstructor.h: Added.
* bindings/js/kjs_domnode.h:
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
(KJS::JSHTMLElement::getOwnPropertySlot):
(KJS::HTMLElementFunction::callAsFunction):
(KJS::JSHTMLElement::put):
(KJS::JSHTMLElement::htmlSetter):
* bindings/js/kjs_html.h:
(KJS::JSHTMLElement::):
* bindings/js/kjs_window.cpp:
(KJS::Window::getValueProperty):
* bindings/scripts/CodeGeneratorJS.pm:
* html/HTMLButtonElement.idl: Added.
* html/HTMLInputElement.idl: Added.
* html/HTMLOptGroupElement.idl: Added.
* html/HTMLOptionElement.idl: Added.
* html/HTMLTextAreaElement.idl: Added.
2006-05-17 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
First step for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>
New textareas can be turned on by setting -webkit-appearance:textarea.
Tests:
* LayoutTests/fast/block/float/032.html - Updated results.
* bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
* page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
* page/Frame.h: ditto.
* css/CSSValueKeywords.in: Added textarea.
* css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
* css/html4.css: Added style for textarea. Leaved background-color and appearance values commented out.
* rendering/render_style.h: (WebCore::): Added TextAreaAppearance.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Updated for textarea.
(WebCore::RenderTheme::paint): ditto.
(WebCore::RenderTheme::paintBorderOnly): ditto.
(WebCore::RenderTheme::isControlStyled): ditto.
(WebCore::RenderTheme::supportsFocusRing): ditto.
(WebCore::RenderTheme::adjustTextFieldStyle): ditto.
(WebCore::RenderTheme::adjustTextAreaStyle): ditto.
* rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
* rendering/RenderThemeMac.h: Added adjustTextAreaStyle.
Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border
specified in html4.css to match the NSTextView border. Added a paintTextArea function to the Windows
theme can override that border.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::isControlStyled): Updated for textarea.
(WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.
* html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement):
Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and
HTMLTextArea can share.
* html/HTMLGenericFormElement.h:
(WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added.
(WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization.
(WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling.
(WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor.
(WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer.
(WebCore::HTMLInputElement::detach): ditto.
(WebCore::HTMLInputElement::setValue): ditto.
(WebCore::HTMLInputElement::setValueFromRenderer): ditto.
* html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer.
(WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use.
(WebCore::HTMLTextAreaElement::selectionEnd): ditto.
(WebCore::HTMLTextAreaElement::setSelectionStart): ditto.
(WebCore::HTMLTextAreaElement::setSelectionEnd): ditto.
(WebCore::HTMLTextAreaElement::select): ditto.
(WebCore::HTMLTextAreaElement::setSelectionRange): ditto.
(WebCore::HTMLTextAreaElement::createRenderer): ditto.
(WebCore::HTMLTextAreaElement::appendFormData): ditto.
(WebCore::HTMLTextAreaElement::updateValue): ditto.
(WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added.
(WebCore::HTMLTextAreaElement::isMouseFocusable): Added.
(WebCore::HTMLTextAreaElement::focus): Added.
(WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div.
(WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
* html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods.
Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
* html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
Updated to handle textareas.
* rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged):
Calls setValueMatchesRenderer(false) instead of invalidateValue.
* rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock.
This was necessary to get the inner div's height to grow and shrink with the size of the textarea.
Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged.
(WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for
the textarea's child text node for its initial contents.
(WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false.
(WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::RenderTextField): Initializes m_multiLine.
(WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated.
(WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div.
(WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area.
(WebCore::RenderTextField::updateFromElement): Updated for textarea elements.
(WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating
the same VisiblePosition twice.
(WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements.
(WebCore::RenderTextField::text): Use innerText so newlines are considered.
(WebCore::RenderTextField::textWithHardLineBreaks): Added. Not implemented yet. Just calls text method.
(WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class.
(WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom.
(WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas.
(WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.
2006-05-17 David Hyatt <hyatt@apple.com>
Fix for 8954, separate the glyph map out into its own files and make it
cross-platform.
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* platform/Font.cpp:
(WebCore::WidthIterator::advance):
* platform/FontData.h:
(WebCore::FontData::glyphDataForCharacter):
(WebCore::FontData::setGlyphDataForCharacter):
* platform/GlyphMap.cpp: Added.
(WebCore::GlyphMap::glyphDataForCharacter):
(WebCore::GlyphMap::setGlyphDataForCharacter):
(WebCore::GlyphMap::locatePage):
* platform/GlyphMap.h: Added.
(WebCore::GlyphMap::GlyphMap):
(WebCore::GlyphMap::~GlyphMap):
(WebCore::GlyphMap::GlyphPage::glyphDataForCharacter):
(WebCore::GlyphMap::GlyphPage::setGlyphDataForCharacter):
(WebCore::GlyphMap::GlyphPage::setGlyphDataForIndex):
* platform/mac/FontData.mm:
(-[NSFont WebCore]):
(WidthMap::m_ATSUMirrors):
(WidthMap::FontData::~FontData):
(WidthMap::FontData::xHeight):
(WidthMap::FontData::platformInit):
(WidthMap::extendWidthMap):
* platform/mac/GlyphMapMac.cpp: Added.
(WebCore::GlyphMap::fillPage):
* platform/mac/WebCoreSystemInterface.h:
2006-05-17 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8958
Should be able to have custom implementations for JS methods
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCanvasRenderingContext2DBase.cpp: Removed.
* bindings/js/JSCanvasRenderingContext2DBase.h: Removed.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp: Added.
Remove JSCanvasRenderingContext2DBase and add
JSCanvasRenderingContext2DCustom with custom implementations.
(WebCore::toJS):
(WebCore::toHTMLCanvasStyle):
(WebCore::JSCanvasRenderingContext2D::strokeStyle):
(WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
(WebCore::JSCanvasRenderingContext2D::fillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
Move implementations from JSCanvasRenderingContext2DBase.
* bindings/scripts/CodeGeneratorJS.pm:
Add new "Custom" extended attribute for functions and attributes. When a function or
attribute has this attribute, a custom implementation is called instead of calling down to
the DOM object.
* html/CanvasRenderingContext2D.idl:
Add bunch of custom attributes and functions.
2006-05-17 John Sullivan <sullivan@apple.com>
Reviewed by Maciej.
First step towards making text-matching mechanism more flexible; now caller can
control whether or not the matches are highlighted.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]):
renamed from highlightAllMatchesForString:
(-[WebCoreFrameBridge markedTextMatchesAreHighlighted]):
new getter method
(-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]):
new setter method
(-[WebCoreFrameBridge unmarkAllTextMatches]):
renamed from clearHighlightedMatches
* page/Frame.h:
* page/Frame.cpp:
(WebCore::Frame::markAllMatchesForText):
renamed from highlightAllMatchesForString
(WebCore::Ferame::markedTextMatchesAreHighlighted):
new getter method, uses boolean ivar in FramePrivate
(WebCore::Frame::setMarkedTextMatchesAreHighlighted):
new setter method, uses boolean ivar in FramePrivate
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
added boolean ivar m_highlightTextMatches, initialized to 0
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
respect markedTextMatchesAreHighlighted
* WebCore.xcodeproj/project.pbxproj:
newer Xcode removed some obsolete settings
2006-05-17 Adele Peterson <adele@apple.com>
Reviewed by Beth.
* editing/htmlediting.cpp: (WebCore::editingIgnoresContent):
Reverting change that Darin made a few weeks ago. He was trying
to make editingIgnoresContent return true for the new text fields, but the code
actually didn't change that result. When the new text fields actually do return
true for editingIgnoresContent, other editing problems are exposed. For example,
moving the cursor around an editable area that contains a text field will cross the
text field boundary and descend into the shadow tree. So for now, we'll revert this
change.
2006-05-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Maciej, tweaked by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8951
AtomicString hash corrupted by high-bit Latin-1
Test: fast/encoding/high-bit-latin1.html
* platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an
unsigned char local.
* platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.
2006-05-17 Rob Buis <buis@kde.org>
Reviewed by Maciej.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7492
CSS attribute selectors fail when the setAttribute() method is used
to create an attribute and the attribute name is not Class or ID.
Keep track of attributes used in attribute selectors to
check after setAttribute whether a style recalc is needed.
Test: fast/css/selector-set-attribute.html
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkOneSelector):
(WebCore::CSSStyleSelector::hasSelectorForAttribute):
* css/cssstyleselector.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
2006-05-17 Rob Buis <buis@kde.org>
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5264
document.createElementNS() should not allow to insert a second <html> element
Do extra checks for document nodes to detect multiple document elements
and document types.
Test: fast/dom/createDocumentType2.html
Test: fast/dom/createElementNS.html
* dom/Document.cpp:
(WebCore::Document::childTypeAllowed):
* dom/Document.h:
2006-05-17 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
* DerivedSources.make:
Conditionally generate the SVG and XPath related files based on the value of
FEATURE_DEFINES. Also, pass FEATURE_DEFINES to the bindings generator.
* WebCore.xcodeproj/project.pbxproj:
Add FEATURE_DEFINES as a toplevel build setting and set it to "SVG_SUPPORT XPATH_SUPPORT"
to keep SVG and XPath support turned on. Add FEATURE_DEFINES to the CPP defines.
* bindings/js/kjs_binding.cpp:
(KJS::setDOMException):
Add #ifdefs around the XPath code.
* bindings/scripts/CodeGeneratorJS.pm:
Add "Conditional" extended attribute for interfaces. If this is set, the generated code will be
surrounded by an #if.
* bindings/scripts/IDLParser.pm:
Pass the define flags on to the preprocessor.
* bindings/scripts/generate-bindings.pl:
Add a --defines property and pass it on to the parser.
* css/cssstyleselector.h:
Add DeprecatedString.h include.
* dom/Document.idl:
Put back #if around the XPath functions
* page/DOMWindow.idl:
Put #if around the XPath constructors
* xpath/XPathEvaluator.idl:
* xpath/XPathExpression.idl:
* xpath/XPathNSResolver.cpp:
* xpath/XPathNSResolver.idl:
* xpath/XPathNamespace.cpp:
* xpath/XPathResult.idl:
Add "Conditional=XPATH" to all interfaces.
2006-05-16 Darin Adler <darin@apple.com>
Reviewed by Anders.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
remove extra copy of image code
* WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
* platform/mac/WebCoreImageRenderer.h: Removed.
* bridge/mac/WebCoreFrameBridge.h: Added supportedImageResourceMIMETypes.
Like supportedImageMIMETypes, but includes PDF and PostScript.
* bridge/mac/WebCoreFrameBridge.mm:
(+[WebCoreFrameBridge supportedImageResourceMIMETypes]): Added.
Has code that came from -[WebImageRendererFactory supportedMIMETypes].
(+[WebCoreFrameBridge supportedImageMIMETypes]):
* platform/mac/ImageMac.mm:
(WebCore::Image::supportsType): Instead of calling the old
-[WebCoreImageRendererFactory supportedMIMETypes], call the new
+[WebCoreFrameBridge supportedImageResourceMIMETypes].
(WebCore::Image::drawTiled): Use wkSetPatternPhaseInUserSpace instead of
the WebCoreImageRendererFactory.
* platform/mac/ClipboardMac.mm: Removed an unneeded include of
WebCoreImageRenderer.h.
* platform/mac/WebCoreImageRendererFactory.h: Removed everything except
for the one remaining method, imageDataForName:, which gets resources
from the WebKit localized resources. We should figure out how to remove
that one too later.
* platform/mac/WebCoreImageRendererFactory.m: Ditto.
* platform/mac/WebCoreSystemInterface.h: Added some new calls.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* WebCore.exp: Ditto.
* platform/cairo/ImageCairo.cpp: Moved a stub to the stubs file. If it's
here it has to have a FIXME comment and also it contains a big commented-out
pile of code. Better to have it in the stubs file with all the other stubs.
* platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled): Put stub here
instead of having it in ImageCairo.cpp.
2006-05-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Dave Hyatt.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8941
document.cookie undefined for documents of type text/javascript
* loader/TextDocument.cpp:
(WebCore::TextDocument::TextDocument):
* loader/TextDocument.h:
Inherit from HTMLDocument.
2006-05-16 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
REGRESSION: Attempting to right-click image in own tab on website causes crash
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge domain]): Removed unneeded check of isHTMLDocument.
(-[WebCoreFrameBridge getData:andResponse:forURL:]): Handle document() of 0.
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): Ditto.
2006-05-16 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.
Already covered by existing dom tests.
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createBaseWrapper):
(WebCore::createHeadWrapper):
(WebCore::createLinkWrapper):
(WebCore::createStyleWrapper):
(WebCore::createTitleWrapper):
(WebCore::createJSWrapper):
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
* bindings/js/kjs_html.h:
* html/HTMLBaseElement.idl: Added.
* html/HTMLHeadElement.idl: Added.
* html/HTMLLinkElement.idl: Added.
* html/HTMLStyleElement.idl: Added.
* html/HTMLTitleElement.idl: Added.
2006-05-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.
* WebCore.xcodeproj/project.pbxproj:
Add ImageDocument.
* bridge/mac/WebCoreFrameBridge.h:
Add mainResourceURLResponse and imageTitleForFilename.
* bridge/mac/WebCoreFrameBridge.mm:
(+[WebCoreFrameBridge supportedNonImageMIMETypes]):
This used to be supportedMIMETypes but WebKit requires that we handle the
image MIME types separately.
(+[WebCoreFrameBridge supportedImageMIMETypes]):
Add image types from WebCoreImageRendererFactory.
(-[WebCoreFrameBridge canProvideDocumentSource]):
Return no for image types.
* dom/xml_tokenizer.h:
(WebCore::Tokenizer::wantsRawData):
(WebCore::Tokenizer::writeRawData):
New virtual functions which tokenizers can override if they want to get
raw data (which isn't fed through the decoder)
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::setLoadManually):
New function which calls HTMLImageLoader::setLoadManually
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::HTMLImageLoader):
(WebCore::HTMLImageLoader::updateFromElement):
Don't request the image from the loader if the load is set to be manual.
* html/HTMLImageLoader.h:
(WebCore::HTMLImageLoader::setLoadManually):
New function which decides if the image data should be fed manually or loaded
by the loader.
* loader/DocLoader.h:
Add HTMLImageLoader as a friend.
* loader/ImageDocument.cpp: Added.
(WebCore::ImageTokenizer::ImageTokenizer):
(WebCore::ImageTokenizer::wantsRawData):
(WebCore::ImageTokenizer::write):
(WebCore::ImageTokenizer::writeRawData):
(WebCore::ImageTokenizer::stopParsing):
(WebCore::ImageTokenizer::finish):
(WebCore::ImageTokenizer::isWaitingForScripts):
(WebCore::ImageDocument::ImageDocument):
(WebCore::ImageDocument::createTokenizer):
* loader/ImageDocument.h: Added.
Add new ImageDocument class which will feed its data to a created image element.
* loader/TextDocument.h:
Inherit from HTMLDocument here too, in case any broken web pages want to manipulate
the DOM of any plain text documents.
* page/Frame.cpp:
(WebCore::Frame::begin):
(WebCore::Frame::write):
Don't create or use the decoder if the tokenizer is in "raw mode".
2006-05-16 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Autogenerate JSHTMLMetaElement.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8938
Test: fast/dom/HTMLMetaElement/meta-attributes.html
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createMetaWrapper):
(WebCore::createJSWrapper):
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
* bindings/js/kjs_html.h:
* html/HTMLMetaElement.h:
2006-05-16 David Hyatt <hyatt@apple.com>
Bug 8936, eliminate WebTextRendererFactory and convert it over to the
new FontCache.
Reviewed by andersca
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreStringTruncator.mm:
* kwq/KWQComboBox.mm:
* kwq/KWQLineEdit.mm:
* kwq/KWQListBox.mm:
* platform/Font.h:
(WebCore::Font::bold):
* platform/FontCache.cpp: Added.
(WebCore::FontPlatformDataCacheKey::m_italic):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::computeHash):
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::FontPlatformDataCacheKeyHash::equal):
(WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::FontDataCacheKeyHash::hash):
(WebCore::FontDataCacheKeyHash::equal):
(WebCore::FontDataCacheKeyTraits::deletedValue):
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::getFontData):
(WebCore::FontCache::clearCommonCaches):
* platform/FontCache.h:
* platform/FontData.h:
* platform/FontFamily.cpp:
(WebCore::FontFamily::FontFamily):
(WebCore::FontFamily::operator=):
(WebCore::FontFamily::setFamily):
* platform/FontFamily.h:
(WebCore::FontFamily::familyIsEmpty):
* platform/FontPlatformData.h:
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
* platform/mac/FontCacheMac.mm:
(WebCore::getAppDefaultValue):
(WebCore::getUserDefaultValue):
(WebCore::getLCDScaleParameters):
(WebCore::fontsChanged):
(WebCore::FontCache::registerForFontChanges):
(WebCore::FontCache::clearCaches):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
(WebCore::FontCache::createFontPlatformData):
* platform/mac/FontData.mm:
(-[NSFont WebCore]):
(WidthMap::FontData::xHeight):
(WidthMap::FontData::smallCapsFontData):
(WidthMap::computeWidthForSpace):
(WidthMap::setUpFont):
(WidthMap::fillStyleWithAttributes):
(WidthMap::FontData::determinePitch):
* platform/mac/FontFallbackListMac.mm:
(WebCore::FontFallbackList::setPlatformFont):
* platform/mac/FontFamilyMac.mm: Removed.
* platform/mac/FontMac.mm:
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreFindFont):
* platform/mac/WebFontCache.h: Added.
* platform/mac/WebFontCache.mm: Added.
(acceptableChoice):
(betterChoice):
(+[WebFontCache fontWithFamily:traits:size:]):
* platform/mac/WebTextRendererFactory.h: Removed.
* platform/mac/WebTextRendererFactory.mm: Removed.
2006-05-16 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Add Rect.idl, even though it can't be used quite yet due to generator limitations.
* WebCore.xcodeproj/project.pbxproj:
* css/Rect.idl: Added.
2006-05-16 Sam Weinig <sam.weinig@gmail.com>
Reviewed by darin. Landed by eseidel.
Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8924>
Bug 8924: re-apply the 'disabled type=file' change
from bug 5882 to RenderFileButton
* rendering/RenderFileButton.cpp:
(WebCore::RenderFileButton::updateFromElement):
2006-05-16 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Split css_base.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8935
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_css.cpp:
* css/CSSBorderImageValue.cpp:
* css/CSSBorderImageValue.h:
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.h:
* css/CSSGrammar.y:
* css/CSSImportRule.h:
* css/CSSInheritedValue.cpp:
* css/CSSInitialValue.cpp:
* css/CSSMediaRule.h:
* css/CSSMutableStyleDeclaration.h:
* css/CSSNamespace.h: Added.
(WebCore::CSSNamespace::CSSNamespace):
(WebCore::CSSNamespace::namespaceForPrefix):
* css/CSSPageRule.h:
* css/CSSPrimitiveValue.h:
* css/CSSProperty.cpp:
* css/CSSProperty.h:
* css/CSSRule.h:
* css/CSSRuleList.cpp:
* css/CSSSelector.cpp: Added.
* css/CSSSelector.h: Added.
(WebCore::CSSSelector::CSSSelector):
* css/CSSStyleDeclaration.h:
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::~CSSStyleSheet):
* css/CSSStyleSheet.h:
* css/CSSValue.h:
* css/CSSValueList.cpp:
* css/CSSValueList.h:
* css/FontFamilyValue.cpp:
* css/FontValue.cpp:
* css/FontValue.h:
* css/MediaList.h:
* css/ShadowValue.cpp:
* css/ShadowValue.h:
* css/StyleBase.cpp: Added.
(WebCore::StyleBase::stylesheet):
* css/StyleBase.h: Added.
(WebCore::StyleBase::StyleBase):
* css/StyleList.cpp: Added.
* css/StyleList.h: Added.
* css/StyleSheet.h:
* css/css_base.cpp: Removed.
* css/css_base.h: Removed.
* css/cssparser.cpp:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::matchRulesForList):
* css/cssstyleselector.h:
* dom/CSSMappedAttributeDeclaration.h:
* ksvg2/svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
(WebCore::SVGColor::setRGBColor):
(WebCore::SVGColor::setRGBColorICCColor):
(WebCore::SVGColor::setColor):
(WebCore::SVGColor::cssText):
(WebCore::SVGColor::color):
* ksvg2/svg/SVGColor.h:
* ksvg2/svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::SVGStyledElement):
(WebCore::SVGStyledElement::className):
(WebCore::SVGStyledElement::createRenderer):
(WebCore::SVGStyledElement::parseMappedAttribute):
(WebCore::SVGStyledElement::notifyAttributeChange):
(WebCore::SVGStyledElement::attributeChanged):
(WebCore::SVGStyledElement::canvas):
(WebCore::SVGStyledElement::updateCanvasItem):
(WebCore::SVGStyledElement::pushAttributeContext):
2006-05-15 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8934
* WebCore+SVG/RGBColor.cpp:
(WebCore::RGBColor::RGBColor):
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSRule::classInfo):
* bindings/js/kjs_css.h:
* bindings/js/kjs_dom.cpp:
* bindings/js/kjs_html.cpp:
* bindings/js/kjs_window.cpp:
* bindings/objc/DOMCSS.mm:
* bindings/scripts/CodeGeneratorJS.pm:
* css/CSSBorderImageValue.cpp: Added.
(WebCore::CSSBorderImageValue::CSSBorderImageValue):
* css/CSSBorderImageValue.h: Added.
* css/CSSCharsetRule.h: Added.
(WebCore::CSSCharsetRule::CSSCharsetRule):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForShadow):
(WebCore::):
* css/CSSComputedStyleDeclaration.h:
* css/CSSFontFaceRule.cpp: Added.
(WebCore::CSSFontFaceRule::CSSFontFaceRule):
* css/CSSFontFaceRule.h: Added.
(WebCore::CSSFontFaceRule::isFontFaceRule):
* css/CSSGrammar.y:
* css/CSSImageValue.cpp: Added.
(WebCore::CSSImageValue::CSSImageValue):
* css/CSSImageValue.h: Added.
* css/CSSImportRule.cpp: Added.
* css/CSSImportRule.h: Added.
* css/CSSInheritedValue.cpp: Added.
* css/CSSInheritedValue.h: Added.
* css/CSSInitialValue.cpp: Added.
* css/CSSInitialValue.h: Added.
* css/CSSMediaRule.cpp: Added.
(WebCore::CSSMediaRule::CSSMediaRule):
(WebCore::CSSMediaRule::~CSSMediaRule):
(WebCore::CSSMediaRule::append):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::cssText):
* css/CSSMediaRule.h: Added.
(WebCore::CSSMediaRule::media):
(WebCore::CSSMediaRule::cssRules):
* css/CSSMutableStyleDeclaration.cpp: Added.
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::setChanged):
* css/CSSMutableStyleDeclaration.h: Added.
* css/CSSPageRule.cpp: Added.
(WebCore::CSSPageRule::CSSPageRule):
* css/CSSPageRule.h: Added.
(WebCore::CSSPageRule::isPageRule):
* css/CSSPrimitiveValue.cpp: Added.
* css/CSSPrimitiveValue.h: Added.
* css/CSSProperty.cpp: Added.
(WebCore::CSSProperty::cssText):
* css/CSSProperty.h: Added.
(WebCore::CSSProperty::CSSProperty):
* css/CSSQuirkPrimitiveValue.h: Added.
* css/CSSRule.cpp: Added.
* css/CSSRule.h: Added.
(WebCore::CSSRule::CSSRule):
* css/CSSRuleList.cpp: Added.
(WebCore::CSSRuleList::CSSRuleList):
(WebCore::CSSRuleList::~CSSRuleList):
(WebCore::CSSRuleList::deleteRule):
(WebCore::CSSRuleList::append):
(WebCore::CSSRuleList::insertRule):
* css/CSSRuleList.h: Added.
(WebCore::CSSRuleList::item):
* css/CSSStyleDeclaration.cpp: Added.
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::diff):
* css/CSSStyleDeclaration.h: Added.
* css/CSSStyleRule.cpp: Added.
(WebCore::CSSStyleRule::CSSStyleRule):
(WebCore::CSSStyleRule::selectorText):
* css/CSSStyleRule.h: Added.
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::ownerRule):
* css/CSSUnknownRule.h: Added.
(WebCore::CSSUnknownRule::CSSUnknownRule):
* css/CSSValue.h: Added.
* css/CSSValueList.cpp: Added.
* css/CSSValueList.h: Added.
* css/Counter.h: Added.
* css/DashboardRegion.h: Added.
* css/FontFamilyValue.cpp: Added.
* css/FontFamilyValue.h: Added.
(WebCore::FontFamilyValue::genericFamilyType):
* css/FontValue.cpp: Added.
(WebCore::FontValue::cssText):
* css/FontValue.h: Added.
* css/MediaList.cpp:
* css/Pair.h: Added.
(WebCore::Pair::~Pair):
* css/RectImpl.h: Added.
(WebCore::RectImpl::~RectImpl):
* css/ShadowValue.cpp: Added.
(WebCore::ShadowValue::ShadowValue):
* css/ShadowValue.h: Added.
* css/css_base.cpp:
* css/css_ruleimpl.cpp: Removed.
* css/css_ruleimpl.h: Removed.
* css/css_valueimpl.cpp: Removed.
* css/css_valueimpl.h: Removed.
* css/cssparser.cpp:
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseFontFamily):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::locateCousinList):
(WebCore::CSSStyleSelector::checkSelector):
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapBackgroundImage):
* css/cssstyleselector.h:
* dom/CSSMappedAttributeDeclaration.h:
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
* dom/Document.cpp:
* editing/ApplyStyleCommand.cpp:
* editing/CompositeEditCommand.h:
* editing/EditCommand.cpp:
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertLineBreakCommand.h:
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input):
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
(WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
* editing/RemoveCSSPropertyCommand.h:
(WebCore::RemoveCSSPropertyCommand::styleDeclaration):
* html/HTMLBodyElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLScriptElement.h:
* html/HTMLTokenizer.h:
* kcanvas/KCanvasFilters.h:
(WebCore::KCanvasFEColorMatrix::values):
(WebCore::KCanvasFEColorMatrix::setValues):
(WebCore::KCanvasFEConvolveMatrix::kernel):
(WebCore::KCanvasFEConvolveMatrix::setKernel):
* kcanvas/KCanvasPath.h:
* kcanvas/KCanvasTreeDebug.h:
(WebCore::operator<<):
* kcanvas/RenderPath.h:
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
(WebCore::CSSParser::parseSVGStrokeDasharray):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* ksvg2/css/SVGRenderStyleDefs.h:
* ksvg2/ecma/Ecma.cpp:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGAnimationElement.cpp:
* ksvg2/svg/SVGColor.cpp:
* ksvg2/svg/SVGColor.h:
* ksvg2/svg/SVGCursorElement.h:
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(SVGFEColorMatrixElement::filterEffect):
* page/DOMWindow.cpp:
* page/Frame.cpp:
* page/FramePrivate.h:
* platform/DeprecatedValueList.h:
* rendering/RenderTextField.cpp:
2006-05-15 Darin Adler <darin@apple.com>
* WebCore.xcodeproj/project.pbxproj: Removed duplicate files that were
screwing up Xcode.
2006-05-15 Darin Adler <darin@apple.com>
* make-generated-sources.sh: Changed to be executable and removed
text in the file generated by "svn diff".
* move-js-headers.sh: Ditto.
2006-05-15 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Split css_stylesheetimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8933
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSheet.cpp: Added.
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::addRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::parseString):
(WebCore::CSSStyleSheet::docLoader):
* css/CSSStyleSheet.h: Added.
* css/MediaList.cpp: Added.
(WebCore::MediaList::MediaList):
(WebCore::MediaList::contains):
(WebCore::MediaList::parentStyleSheet):
(WebCore::MediaList::parentRule):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::setMediaText):
* css/MediaList.h: Added.
* css/StyleSheet.cpp: Added.
(WebCore::StyleSheet::StyleSheet):
(WebCore::StyleSheet::parentStyleSheet):
(WebCore::StyleSheet::setMedia):
* css/StyleSheet.h: Added.
(WebCore::StyleSheet::ownerNode):
* css/StyleSheetList.cpp: Added.
(WebCore::StyleSheetList::~StyleSheetList):
(WebCore::StyleSheetList::add):
(WebCore::StyleSheetList::remove):
(WebCore::StyleSheetList::item):
* css/StyleSheetList.h: Added.
* css/css_stylesheetimpl.cpp: Removed.
* css/css_stylesheetimpl.h: Removed.
2006-05-15 Eric Seidel <eseidel@apple.com>
* WebCore.xcodeproj/project.pbxproj: build fix.
2006-05-15 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Split dom_xmlimpl.* into separate files (one per class).
* WebCore.xcodeproj/project.pbxproj:
* dom/Entity.cpp: Added.
(WebCore::Entity::Entity):
* dom/Entity.h: Added.
* dom/EntityReference.cpp: Added.
(WebCore::EntityReference::EntityReference):
* dom/EntityReference.h: Added.
* dom/Notation.cpp: Added.
(WebCore::Notation::Notation):
* dom/Notation.h: Added.
* dom/ProcessingInstruction.cpp: Added.
(WebCore::ProcessingInstruction::ProcessingInstruction):
* dom/ProcessingInstruction.h: Added.
* dom/dom_xmlimpl.cpp: Removed.
* dom/dom_xmlimpl.h: Removed.
2006-05-15 Eric Seidel <eseidel@apple.com>
Reviewed by Tim Hatcher.
Split html_imageimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8929
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCanvasRenderingContext2DBase.cpp:
* bindings/js/kjs_events.cpp:
* bindings/js/kjs_html.cpp:
* bindings/objc/DOMHTML.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* dom/Document.cpp:
* editing/JSEditor.cpp:
* html/CanvasRenderingContext2D.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAreaElement.cpp: Added.
(WebCore::HTMLAreaElement::HTMLAreaElement):
(WebCore::HTMLAreaElement::mapMouseEvent):
(WebCore::HTMLAreaElement::getRect):
(WebCore::HTMLAreaElement::getRegion):
* html/HTMLAreaElement.h: Added.
* html/HTMLCanvasElement.h:
* html/HTMLDocument.cpp:
* html/HTMLElementFactory.cpp:
* html/HTMLFormCollection.cpp:
* html/HTMLFormElement.cpp:
* html/HTMLImageElement.cpp: Added.
(WebCore::HTMLImageElement::HTMLImageElement):
* html/HTMLImageElement.h: Added.
* html/HTMLImageLoader.cpp: Added.
(WebCore::HTMLImageLoader::HTMLImageLoader):
* html/HTMLImageLoader.h: Added.
* html/HTMLInputElement.cpp:
* html/HTMLMapElement.cpp: Added.
(WebCore::HTMLMapElement::mapMouseEvent):
(WebCore::HTMLMapElement::parseMappedAttribute):
* html/HTMLMapElement.h: Added.
* html/HTMLObjectElement.cpp:
* html/HTMLParser.cpp:
* html/html_imageimpl.cpp: Removed.
* html/html_imageimpl.h: Removed.
* ksvg2/misc/SVGImageLoader.h:
* kwq/WebCoreAXObject.mm:
(-[WebCoreAXObject addChildrenToArray:]):
* page/Frame.cpp:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::nodeAtPoint):
2006-05-15 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Split html_blockimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8927
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_html.cpp:
* bindings/objc/DOMHTML.mm:
* html/HTMLBlockquoteElement.cpp: Added.
(WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
* html/HTMLBlockquoteElement.h: Added.
* html/HTMLDivElement.cpp: Added.
* html/HTMLDivElement.h: Added.
* html/HTMLElementFactory.cpp:
* html/HTMLHRElement.cpp: Added.
* html/HTMLHRElement.h: Added.
* html/HTMLHeadingElement.cpp: Added.
* html/HTMLHeadingElement.h: Added.
* html/HTMLMarqueeElement.cpp: Added.
(WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
(WebCore::HTMLMarqueeElement::parseMappedAttribute):
* html/HTMLMarqueeElement.h: Added.
* html/HTMLParagraphElement.cpp: Added.
* html/HTMLParagraphElement.h: Added.
* html/HTMLParser.cpp:
* html/HTMLPreElement.cpp: Added.
(WebCore::HTMLPreElement::HTMLPreElement):
(WebCore::HTMLPreElement::setWrap):
* html/HTMLPreElement.h: Added.
* html/HTMLTextFieldInnerElement.h:
* html/html_blockimpl.cpp: Removed.
* html/html_blockimpl.h: Removed.
* rendering/RenderLayer.cpp:
2006-05-15 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Split render_list.* and html_listimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8925
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_html.cpp:
* bindings/objc/DOMHTML.mm:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::attributedString):
* html/HTMLDListElement.cpp: Added.
(WebCore::HTMLDListElement::HTMLDListElement):
* html/HTMLDListElement.h: Added.
* html/HTMLDirectoryElement.cpp: Added.
(WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
* html/HTMLDirectoryElement.h: Added.
* html/HTMLElementFactory.cpp:
* html/HTMLKeygenElement.cpp:
* html/HTMLLIElement.cpp: Added.
(WebCore::HTMLLIElement::HTMLLIElement):
(WebCore::HTMLLIElement::parseMappedAttribute):
(WebCore::HTMLLIElement::attach):
(WebCore::HTMLLIElement::setType):
* html/HTMLLIElement.h: Added.
* html/HTMLMenuElement.cpp: Added.
(WebCore::HTMLMenuElement::HTMLMenuElement):
* html/HTMLMenuElement.h: Added.
* html/HTMLOListElement.cpp: Added.
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::setType):
* html/HTMLOListElement.h: Added.
(WebCore::HTMLOListElement::start):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement):
(WebCore::HTMLOptionElement::checkDTD):
(WebCore::HTMLOptionElement::text):
(WebCore::HTMLOptionElement::setText):
(WebCore::HTMLOptionElement::getSelect):
(WebCore::HTMLOptionElement::setLabel):
* html/HTMLOptionElement.h:
* html/HTMLParser.cpp:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement):
* html/HTMLUListElement.cpp: Added.
(WebCore::HTMLUListElement::HTMLUListElement):
* html/HTMLUListElement.h: Added.
* html/html_listimpl.cpp: Removed.
* html/html_listimpl.h: Removed.
* kwq/WebCoreAXObject.mm:
* rendering/InlineFlowBox.cpp:
* rendering/ListMarkerBox.cpp: Added.
(WebCore::ListMarkerBox::ListMarkerBox):
(WebCore::ListMarkerBox::isText):
* rendering/ListMarkerBox.h: Added.
* rendering/RenderContainer.cpp:
(WebCore::updateListMarkerNumbers):
(WebCore::RenderContainer::addChild):
(WebCore::RenderContainer::removeChild):
(WebCore::RenderContainer::layout):
(WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
(WebCore::RenderContainer::positionForCoordinates):
(WebCore::RenderContainer::lineBoxRects):
* rendering/RenderListItem.cpp: Added.
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::setStyle):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::markerStringValue):
* rendering/RenderListItem.h: Added.
(WebCore::RenderListItem::renderName):
(WebCore::RenderListItem::setValue):
(WebCore::RenderListItem::setNotInList):
(WebCore::RenderListItem::notInList):
* rendering/RenderListMarker.cpp: Added.
(WebCore::RenderListMarker::RenderListMarker):
(WebCore::RenderListMarker::setStyle):
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::calcMinMaxWidth):
* rendering/RenderListMarker.h: Added.
(WebCore::RenderListMarker::renderName):
* rendering/RenderObject.cpp:
* rendering/render_list.cpp: Removed.
* rendering/render_list.h: Removed.
2006-05-15 Sam Weinig <sam.weinig@gmail.com>
Reviewed by eseidel.
Split render_form.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8889
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::HTMLButtonElement):
* html/HTMLFieldSetElement.cpp:
* html/HTMLFormElement.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLLabelElement.cpp:
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::createRenderer):
* html/HTMLOptionElement.cpp:
* html/HTMLSelectElement.cpp:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::selectionStart):
(WebCore::HTMLTextAreaElement::selectionEnd):
(WebCore::HTMLTextAreaElement::setSelectionStart):
(WebCore::HTMLTextAreaElement::setSelectionEnd):
(WebCore::HTMLTextAreaElement::setSelectionRange):
(WebCore::HTMLTextAreaElement::parseMappedAttribute):
(WebCore::HTMLTextAreaElement::createRenderer):
(WebCore::HTMLTextAreaElement::setValue):
(WebCore::HTMLTextAreaElement::setDefaultValue):
(WebCore::HTMLTextAreaElement::setAccessKey):
* kwq/KWQComboBox.mm:
* kwq/KWQFileButton.mm:
* kwq/KWQListBox.mm:
* kwq/KWQSlider.mm:
* platform/mac/WebCoreTextField.mm:
* rendering/RenderFieldset.cpp: Added.
(WebCore::RenderFieldset::RenderFieldset):
(WebCore::RenderFieldset::findLegend):
(WebCore::RenderFieldset::paintBorderMinusLegend):
(WebCore::RenderFieldset::setStyle):
* rendering/RenderFieldset.h: Added.
(WebCore::RenderFieldset::renderName):
* rendering/RenderFileButton.cpp: Added.
(WebCore::RenderFileButton::RenderFileButton):
(WebCore::RenderFileButton::calcMinMaxWidth):
(WebCore::RenderFileButton::updateFromElement):
(WebCore::RenderFileButton::click):
* rendering/RenderFileButton.h: Added.
(WebCore::RenderFileButton::renderName):
(WebCore::RenderFileButton::calcReplacedHeight):
(WebCore::RenderFileButton::isEditable):
* rendering/RenderFormElement.cpp: Added.
(WebCore::RenderFormElement::RenderFormElement):
(WebCore::RenderFormElement::baselinePosition):
(WebCore::RenderFormElement::layout):
* rendering/RenderFormElement.h: Added.
(WebCore::RenderFormElement::renderName):
(WebCore::RenderFormElement::isFormElement):
(WebCore::RenderFormElement::borderTop):
(WebCore::RenderFormElement::borderBottom):
(WebCore::RenderFormElement::borderLeft):
(WebCore::RenderFormElement::borderRight):
(WebCore::RenderFormElement::paddingTop):
(WebCore::RenderFormElement::paddingBottom):
(WebCore::RenderFormElement::paddingLeft):
(WebCore::RenderFormElement::paddingRight):
(WebCore::RenderFormElement::canHaveIntrinsicMargins):
(WebCore::RenderFormElement::intrinsicMargin):
(WebCore::RenderFormElement::isEditable):
* rendering/RenderImageButton.cpp: Added.
(WebCore::RenderImageButton::RenderImageButton):
* rendering/RenderImageButton.h: Added.
(WebCore::RenderImageButton::renderName):
(WebCore::RenderImageButton::isImageButton):
* rendering/RenderLabel.cpp: Added.
(WebCore::RenderLabel::RenderLabel):
* rendering/RenderLabel.h: Added.
(WebCore::RenderLabel::renderName):
* rendering/RenderLegend.cpp: Added.
(WebCore::RenderLegend::RenderLegend):
* rendering/RenderLegend.h: Added.
(WebCore::RenderLegend::renderName):
* rendering/RenderLineEdit.cpp: Added.
(WebCore::RenderLineEdit::RenderLineEdit):
* rendering/RenderLineEdit.h: Added.
(WebCore::RenderLineEdit::renderName):
(WebCore::RenderLineEdit::calcReplacedHeight):
(WebCore::RenderLineEdit::canHaveIntrinsicMargins):
(WebCore::RenderLineEdit::isTextField):
(WebCore::RenderLineEdit::isEditable):
* rendering/RenderSelect.cpp: Added.
(WebCore::RenderSelect::RenderSelect):
(WebCore::RenderSelect::setWidgetWritingDirection):
(WebCore::RenderSelect::setStyle):
(WebCore::RenderSelect::updateFromElement):
(WebCore::RenderSelect::baselinePosition):
(WebCore::RenderSelect::calcMinMaxWidth):
(WebCore::RenderSelect::layout):
(WebCore::RenderSelect::valueChanged):
(WebCore::RenderSelect::selectionChanged):
(WebCore::RenderSelect::updateSelection):
* rendering/RenderSelect.h: Added.
(WebCore::RenderSelect::renderName):
(WebCore::RenderSelect::calcReplacedHeight):
(WebCore::RenderSelect::canHaveIntrinsicMargins):
(WebCore::RenderSelect::selectionChanged):
(WebCore::RenderSelect::setSelectionChanged):
* rendering/RenderSlider.cpp: Added.
(WebCore::RenderSlider::calcMinMaxWidth):
(WebCore::RenderSlider::updateFromElement):
* rendering/RenderSlider.h: Added.
(WebCore::RenderSlider::renderName):
(WebCore::RenderSlider::canHaveIntrinsicMargins):
* rendering/RenderTextArea.cpp: Added.
(WebCore::RenderTextArea::RenderTextArea):
(WebCore::RenderTextArea::calcMinMaxWidth):
(WebCore::RenderTextArea::setStyle):
(WebCore::RenderTextArea::updateFromElement):
(WebCore::RenderTextArea::selectionStart):
(WebCore::RenderTextArea::selectionEnd):
(WebCore::RenderTextArea::setSelectionStart):
(WebCore::RenderTextArea::setSelectionEnd):
(WebCore::RenderTextArea::select):
(WebCore::RenderTextArea::setSelectionRange):
* rendering/RenderTextArea.h: Added.
(WebCore::RenderTextArea::renderName):
(WebCore::RenderTextArea::isTextArea):
(WebCore::RenderTextArea::isEdited):
(WebCore::RenderTextArea::canHaveIntrinsicMargins):
(WebCore::RenderTextArea::isEditable):
* rendering/render_form.cpp: Removed.
* rendering/render_form.h: Removed.
2006-05-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Eric.
Remove the XPath log calls. They were causing leaks and were never
really useful.
* bridge/mac/WebCorePageBridge.mm:
(initializeLoggingChannelsIfNecessary):
* platform/Logging.cpp:
* platform/Logging.h:
* xpath/XPathResult.cpp:
(WebCore::XPathResult::convertTo):
* xpath/impl/XPathFunctions.cpp:
(round):
(WebCore::XPath::FunCount::doEvaluate):
(WebCore::XPath::FunSum::doEvaluate):
(WebCore::XPath::FunctionLibrary::createFunction):
* xpath/impl/XPathPath.cpp:
(WebCore::XPath::Filter::doEvaluate):
(WebCore::XPath::LocationPath::doEvaluate):
* xpath/impl/XPathPredicate.cpp:
(WebCore::XPath::Negative::doEvaluate):
(WebCore::XPath::NumericOp::doEvaluate):
(WebCore::XPath::Union::doEvaluate):
* xpath/impl/XPathStep.cpp:
(WebCore::XPath::Step::evaluate):
(WebCore::XPath::Step::nodesInAxis):
(WebCore::XPath::Step::nodeTestMatches):
* xpath/impl/XPathValue.cpp:
(WebCore::XPath::Value::toNodeVector):
2006-05-15 Eric Seidel <eseidel@apple.com>
Fix linux build.
* html/HTMLBodyElement.cpp: Fix case of #include "cssstyleselector.h"
2006-05-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
REGRESSION: Can view source for text files
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canProvideDocumentSource]):
(-[WebCoreFrameBridge canSaveAsWebArchive]):
2006-05-15 David Hyatt <hyatt@apple.com>
Remove the .forPrinter boolean from FontPlatformData. After the initial
acquisition of an NSFont, the font is then adjusted to printer or screen
when put into a FontPlatformData. Then it can simply be used in the hash
lookup to get a FontData.
Reviewed by mjs
* platform/Font.cpp:
(WebCore::WidthIterator::advance):
* platform/FontData.h:
* platform/FontDescription.h:
(WebCore::FontDescription::bold):
* platform/FontPlatformData.h:
(WebCore::FontPlatformData::syntheticOblique):
* platform/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
* platform/mac/FontData.mm:
(WebCore::FontData::smallCapsFontData):
(WebCore::getSmallCapsFontData):
(WebCore::setUpFont):
* platform/mac/FontMac.mm:
(WebCore::ATSULayoutParameters::initialize):
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory rendererWithFont:]):
(-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
2006-05-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
* dom/Document.idl:
Remove #if XPATH_SUPPORT until we have a way to feed defines to the bindings generator
(see http://bugzilla.opendarwin.org/show_bug.cgi?id=8912)
2006-05-14 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6838
Incomplete repaint of collapsed table borders
This patch updates the implementation of collapsing borders to match
the current spec.
Test: fast/repaint/table-collapsed-border.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::layout): Calculate horizontal overflows.
(WebCore::RenderTable::calcMinMaxWidth): Added call to recalcHorizontalBorders.
(WebCore::RenderTable::colElement): Made const.
(WebCore::RenderTable::calcBorderLeft): Calculates the left border. In the collapsing
borders model, this is the left border of the leftmost cell of the first row.
(WebCore::RenderTable::calcBorderRight): Ditto for the right border.
(WebCore::RenderTable::recalcHorizontalBorders): Added.
(WebCore::RenderTable::borderTop): Changed to return outerBorderTop in the
collapsing case.
(WebCore::RenderTable::borderBottom): Changed to return outerBorderBottom in
the collapsing case.
(WebCore::RenderTable::outerBorderTop): Added. Returns the table half of the
top border, which is half the widest top border on the first row.
(WebCore::RenderTable::outerBorderBottom): Added. Returns the table half of the
bottom border, which is half the widest bottom border on the last row.
(WebCore::RenderTable::outerBorderLeft): Added. Returns the table half of the
left border, which is half the widest left border on the leftmost column.
(WebCore::RenderTable::outerBorderRight): Added. Returns the table half of the
right border, which is half the widest right border on the rightmost column.
(WebCore::RenderTable::cellAbove): Return 0 if the cell is in the first row
of the header.
(WebCore::RenderTable::cellBelow): Return 0 if the cell is in the last row
of the footer.
* rendering/RenderTable.h:
(WebCore::RenderTable::borderLeft):
(WebCore::RenderTable::borderRight):
(WebCore::RenderTable::overflowHeight):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::borderLeft): Removed unnecessary use of floats.
(WebCore::RenderTableCell::borderTop): Ditto.
(WebCore::RenderTableCell::paint): Account for the table half of the vertical
borders.
(WebCore::RenderTableCell::paintCollapsedBorder): Removed unnecessary use of
floats.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::layoutRows): Added call to recalcOuterBorder.
(WebCore::RenderTableSection::calcOuterBorderTop): Added. Calculates the outer half of
the section's top border, which is half the widest top border on the first row.
(WebCore::RenderTableSection::calcOuterBorderBottom): Ditto for the bottom border.
(WebCore::RenderTableSection::calcOuterBorderLeft): Ditto for the left border.
(WebCore::RenderTableSection::calcOuterBorderRight): Ditto for the right border.
(WebCore::RenderTableSection::recalcOuterBorder): Added.
(WebCore::RenderTableSection::paint): Account for the table half of the borders.
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::outerBorderTop):
(WebCore::RenderTableSection::outerBorderBottom):
(WebCore::RenderTableSection::outerBorderLeft):
(WebCore::RenderTableSection::outerBorderRight):
* rendering/render_style.cpp:
(WebCore::RenderStyle::diff): Changed to return Layout if a border style changed
from 'hidden' to 'none' or vice versa in the collapsing borders model, since
'hidden' suppresses other borders.
2006-05-14 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8739
Crash in RenderTableSection::paint due to manipulating DOM on resize
* manual-tests/dom-manipulation-on-resize.html: Added.
2006-05-14 Rob Buis <buis@kde.org>
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5882:
disabled type="file" element doesn't appear disabled
Be sure to call setDisabled on the file button when in
RenderFileButton::updateFromElement.
* kwq/KWQFileButton.h:
* kwq/KWQFileButton.mm:
(-[WebFileChooserButton setEnabled:]):
(KWQFileButton::setDisabled):
* rendering/render_form.cpp:
(WebCore::RenderFileButton::updateFromElement):
2006-05-14 Steve Falkenburg <sfalken@apple.com>
Fix Windows build.
* platform/win/FontWin.cpp:
(WebCore::FontFallbackList::fontDataAt):
(WebCore::hackishExtentForString):
(WebCore::Font::floatWidth):
(WebCore::Font::drawText):
(WebCore::Font::selectionRectForText):
(WebCore::Font::offsetForPosition):
2006-05-14 David Hyatt <hyatt@apple.com>
Bug 8895. Rework font substitution and fallback. Lift the concept of
substitution and fallback out of FontData and up into the FontFallbackList.
See the bug for details of issues fixed in the fallback code.
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* platform/Font.cpp:
(WebCore::m_finalRoundingWidth):
(WebCore::WidthIterator::advance):
(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::fontDataForCharacters):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::lineSpacing):
(WebCore::Font::xHeight):
(WebCore::Font::isFixedPitch):
* platform/Font.h:
(WebCore::Font::getNSFont):
* platform/FontCache.h: Added.
* platform/FontData.h:
(WebCore::FontData::pitch):
(WebCore::FontData::getNSFont):
(WebCore::):
* platform/FontFallbackList.cpp: Added.
(WebCore::m_pitch):
(WebCore::FontFallbackList::~FontFallbackList):
(WebCore::FontFallbackList::invalidate):
(WebCore::FontFallbackList::determinePitch):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::fontDataForCharacters):
* platform/FontFallbackList.h:
(WebCore::FontFallbackList::isFixedPitch):
(WebCore::FontFallbackList::primaryFont):
* platform/FontFamily.h:
* platform/mac/FontCacheMac.mm: Added.
(WebCore::FontCache::getFontData):
(WebCore::FontCache::getFontDataForCharacters):
* platform/mac/FontData.mm:
(WebCore::FontData::containsCharacters):
* platform/mac/FontMac.mm:
(WebCore::ATSULayoutParameters::initialize):
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory fallbackFontWithTraits:size:]):
(-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
* platform/win/FontWin.cpp:
(WebCore::FontFallbackList::determinePitch):
(WebCore::FontFallbackList::primaryFont):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::fontDataForCharacters):
2006-05-14 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt, landed by ap.
Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8387>
"border-left/padding-Left do not show up on multiline rtl inline boxes"
Test: fast/inline/inline-borders-with-bidi-override.html: added
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2006-05-14 Steve Falkenburg <sfalken@apple.com>
Fix the Windows build the rest of the way
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-05-14 Steve Falkenburg <sfalken@apple.com>
Get FontWin.cpp compiling.
WebCore and JSCore now build, but Spinneret still gets link errors.
* platform/win/FontWin.cpp:
(WebCore::Font::offsetForPosition):
2006-05-14 Steve Falkenburg <sfalken@apple.com>
Reviewed by maciej.
Fix Windows build except for fontwin.cpp.
* WebCore/platform/win/FontWin.cpp:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
2006-05-13 Kevin M. Ollivier <kevino@theolliviers.com>
Reviewed by Darin, landed by ap.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8528
Bakefiles (and generated Makefiles) for wx and gdk ports
* make-generated-sources.sh:
Added script to configure environment to run DerivedSources.make
* move-js-headers.sh:
Added script to copy JavaScriptCore includes into one dir so that
Framework-style includes will work on all OSes. (written by Mike Emmel)
* platform/wx: New dir, home for the wxWidgets port
* platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.
* Projects: New dir, for various project files for ports.
* Projects/gdk: New dir, GDK port files.
* Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files
* Projects/wx: New dir, wxWidgets port files.
* Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files
2006-05-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin, landed by ap.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8485
iExploder(#11705): Freeze in RenderBlock::layout()
Test: fast/text/midword-break-hang.html
* rendering/bidi.cpp:
(WebCore::RenderBlock::findNextLineBreak): If this is a mid-word break,
ignore breakOnlyAfterWhiteSpace.
2006-05-13 Alexey Proskuryakov <ap@nypop.com>
Fix release build.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcAbsoluteHorizontalValues): Initialize leftValue.
This value will never be used, because 'left' and 'right' cannot both be 'auto'.
(WebCore::RenderBox::calcAbsoluteVerticalValues): Initialize topValue.
(WebCore::RenderBox::calcAbsoluteVerticalReplaced): Same changes as above.
2006-05-13 Alexey Proskuryakov <ap@nypop.com>
Re-applied the fix for bug 8835 (REGRESSION: Line moves but selection
highlight stays behind) to a correct file; removed the stale one.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
and m_selectionBottom.
* rendering/render_line.cpp: Removed.
2006-05-13 Rob Buis <buis@kde.org>
Reviewed by Darin, landed by ap.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8132
CSS parser sometimes accepts real number as integer
Add a boolean variable per css value to catch whether values
are specified as floats or integers.
Test: fast/css/rgb-float.html
* css/CSSGrammar.y:
* css/cssparser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::lex):
* css/cssparser.h:
* css/tokenizer.flex:
2006-05-13 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Hyatt, landed by ap.
Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=7604
calcAbsoluteHorizontalValues() is being getting passed arguments
in the wrong order in calcAbsoluteHorizontal()
Cleans up the RenderBox code for absolutely positioned elements
and adds new functions for replaced absolutely positioned
elements. Now uses Length so that magic number -666666 for
auto lengths is no longer used.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcAbsoluteHorizontal):
(WebCore::RenderBox::calcAbsoluteHorizontalValues):
(WebCore::RenderBox::calcAbsoluteVertical):
(WebCore::RenderBox::calcAbsoluteVerticalValues):
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced
case separately.
(WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
* rendering/RenderBox.h:
2006-05-12 David Hyatt <hyatt@apple.com>
Bug 8880, remove the remaining drawing/hit testing code from
FontData.
Reviewed by tim h
* platform/Font.cpp:
(WebCore::m_finalRoundingWidth):
(WebCore::WidthIterator::advanceOneCharacter):
(WebCore::Font::selectionRectForText):
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::offsetForPosition):
(WebCore::Font::offsetForPositionForSimpleText):
* platform/Font.h:
(WebCore::TextRun::makeComplete):
* platform/FontData.h:
* platform/GlyphBuffer.h:
(WebCore::GlyphBuffer::clear):
* platform/mac/FontData.mm:
* platform/mac/FontMac.mm:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
2006-05-12 Kevin M. Ollivier <kevino@theolliviers.com>
Reviewed by Maciej.
Add missing include.
* dom/Node.h: Add missing include for DeprecatedString.
2006-05-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8835
REGRESSION: Line moves but selection highlight stays behind
Test: fast/dynamic/selection-highlight-adjust.html
* rendering/render_line.cpp:
(WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
and m_selectionBottom.
2006-05-12 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7156
Bug 7156: TinyMCE: Links are actually activated in editable area, not editable.
Links in editable areas will not activate or perform a navigation
change (on par with WinIE and Firefox.) To visit the link
you can shift-click. Manual test added.
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::setActive):
* html/HTMLAnchorElement.h:
* manual-tests/contenteditable-link.html: Added.
* page/FrameView.cpp:
(WebCore::selectCursor):
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
Split out html_inlineimpl.* into separate files (one per class).
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_html.cpp:
* bindings/objc/DOMHTML.mm:
* editing/CreateLinkCommand.cpp:
* editing/UnlinkCommand.cpp:
* html/HTMLAnchorElement.cpp: Added.
(WebCore::HTMLAnchorElement::HTMLAnchorElement):
* html/HTMLAnchorElement.h: Added.
* html/HTMLBRElement.cpp: Added.
* html/HTMLBRElement.h: Added.
* html/HTMLElementFactory.cpp:
* html/HTMLFontElement.cpp: Added.
(WebCore::HTMLFontElement::HTMLFontElement):
(WebCore::HTMLFontElement::setColor):
(WebCore::HTMLFontElement::setFace):
(WebCore::HTMLFontElement::setSize):
* html/HTMLFontElement.h: Added.
* html/HTMLModElement.cpp: Added.
(WebCore::HTMLModElement::setCite):
(WebCore::HTMLModElement::setDateTime):
* html/HTMLModElement.h: Added.
* html/HTMLQuoteElement.cpp: Added.
* html/HTMLQuoteElement.h: Added.
* html/html_imageimpl.h:
* html/html_inlineimpl.cpp: Removed.
* html/html_inlineimpl.h: Removed.
* page/FrameView.cpp:
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Fix build error.
* rendering/InlineFlowBox.cpp:
* rendering/RootInlineBox.cpp:
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Split out render_line.* into separate files (one per class).
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
* rendering/EllipsisBox.cpp: Added.
* rendering/EllipsisBox.h: Added.
(WebCore::EllipsisBox::EllipsisBox):
* rendering/InlineBox.cpp: Added.
* rendering/InlineBox.h: Added.
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::~InlineBox):
(WebCore::InlineBox::bottomOverflow):
(WebCore::InlineBox::rightOverflow):
* rendering/InlineFlowBox.cpp: Added.
(WebCore::InlineFlowBox::placeBoxesHorizontally):
* rendering/InlineFlowBox.h: Added.
* rendering/InlineRunBox.h: Added.
(WebCore::InlineRunBox::InlineRunBox):
(WebCore::InlineRunBox::paintBackgroundAndBorder):
(WebCore::InlineRunBox::paintDecorations):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.h:
* rendering/RenderFlow.h:
* rendering/RenderReplaced.cpp:
* rendering/RootInlineBox.cpp: Added.
* rendering/RootInlineBox.h: Added.
(WebCore::RootInlineBox::RootInlineBox):
* rendering/render_line.h: Removed.
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by hyatt.
Split out table_layout.* into separate files (one per class).
Search replace instance variables "foo" with "m_foo" to comply with modern style.
* WebCore.xcodeproj/project.pbxproj:
* rendering/AutoTableLayout.cpp: Added.
(WebCore::AutoTableLayout::AutoTableLayout):
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::AutoTableLayout::calcMinMaxWidth):
(WebCore::AutoTableLayout::calcEffectiveWidth):
(WebCore::AutoTableLayout::insertSpanCell):
(WebCore::AutoTableLayout::layout):
(WebCore::AutoTableLayout::calcPercentages):
* rendering/AutoTableLayout.h: Added.
(WebCore::AutoTableLayout::totalPercent):
(WebCore::AutoTableLayout::Layout::Layout):
* rendering/FixedTableLayout.cpp: Added.
(WebCore::FixedTableLayout::FixedTableLayout):
(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::calcMinMaxWidth):
(WebCore::FixedTableLayout::layout):
* rendering/FixedTableLayout.h: Added.
* rendering/RenderTable.cpp:
* rendering/TableLayout.h: Added.
(WebCore::TableLayout::TableLayout):
* rendering/table_layout.cpp: Removed.
* rendering/table_layout.h: Removed.
2006-05-12 David Hyatt <hyatt@apple.com>
Bug 8877. Change form controls and the bridge entry points from the
Safari UI to use Font instead of FontData.
Reviewed by mjs
* bridge/mac/WebCoreStringTruncator.mm:
(stringWidth):
(truncateString):
(+[WebCoreStringTruncator widthOfString:font:]):
(+[WebCoreStringTruncator clear]):
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(itemTextRenderer):
(groupLabelTextRenderer):
(QListBox::sizeForNumberOfLines):
(QListBox::clearCachedTextRenderers):
(-[KWQTableView drawRow:clipRect:]):
* platform/Font.cpp:
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawText):
* platform/Font.h:
(WebCore::TextStyle::disableRoundingHacks):
(WebCore::TextStyle::setRTL):
* platform/FontData.h:
* platform/FontFallbackList.h:
* platform/FontPlatformData.h:
(WebCore::FontPlatformData::syntheticOblique):
* platform/Pen.h:
* platform/mac/FontData.mm:
(WebCore::FontData::smallCapsFontData):
(WebCore::findSubstituteRenderer):
* platform/mac/FontMac.mm:
(WebCore::FontFallbackList::setPlatformFont):
(WebCore::m_wordSpacing):
(WebCore::Font::drawComplexText):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
(WebCoreTextFloatWidth):
* platform/win/FontWin.cpp:
(WebCore::Font::drawText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::positionForOffset):
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by kevin.
Move render_button to RenderButton.
Various small style cleanup.
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLButtonElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLGenericFormElement.cpp:
* html/HTMLInputElement.cpp:
* platform/mac/WebCoreTextArea.mm:
* rendering/RenderApplet.h:
* rendering/RenderBox.cpp:
* rendering/RenderButton.cpp: Added.
(WebCore::RenderButton::RenderButton):
(WebCore::RenderButton::addChild):
(WebCore::RenderButton::removeChild):
* rendering/RenderButton.h: Added.
* rendering/RenderEmptyApplet.h:
* rendering/RenderHTMLCanvas.h:
* rendering/RenderTreeAsText.cpp:
* rendering/render_button.cpp: Removed.
* rendering/render_button.h: Removed.
* rendering/table_layout.cpp:
(WebCore::FixedTableLayout::FixedTableLayout):
(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::calcMinMaxWidth):
(WebCore::FixedTableLayout::layout):
(WebCore::AutoTableLayout::AutoTableLayout):
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::AutoTableLayout::calcMinMaxWidth):
(WebCore::AutoTableLayout::calcEffectiveWidth):
(WebCore::AutoTableLayout::insertSpanCell):
(WebCore::AutoTableLayout::layout):
* rendering/table_layout.h:
(WebCore::TableLayout::TableLayout):
(WebCore::AutoTableLayout::totalPercent):
(WebCore::AutoTableLayout::Layout::Layout):
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8878
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocumentProtoFunc::callAsFunction):
(KJS::JSHTMLDocument::namedItemGetter):
(KJS::JSHTMLDocument::getValueProperty):
(KJS::JSHTMLDocument::getOwnPropertySlot):
(KJS::JSHTMLDocument::putValueProperty):
(KJS::JSHTMLElement::formIndexGetter):
(KJS::JSHTMLElement::formNameGetter):
(KJS::JSHTMLElement::selectIndexGetter):
(KJS::JSHTMLElement::framesetNameGetter):
(KJS::JSHTMLElement::runtimeObjectGetter):
(KJS::JSHTMLElement::runtimeObjectPropertyGetter):
(KJS::JSHTMLElement::getOwnPropertySlot):
(KJS::JSHTMLElement::implementsCall):
(KJS::JSHTMLElement::callAsFunction):
(KJS::JSHTMLElement::getValueProperty):
(KJS::JSHTMLElement::toString):
(KJS::getForm):
(KJS::JSHTMLElement::pushEventHandlerScope):
(KJS::HTMLElementFunction::callAsFunction):
(KJS::JSHTMLElement::put):
(KJS::JSHTMLElement::selectSetter):
(KJS::JSHTMLElement::putValueProperty):
(KJS::toHTMLElement):
(KJS::toHTMLTableCaptionElement):
(KJS::toHTMLTableSectionElement):
(KJS::JSHTMLCollection::lengthGetter):
(KJS::JSHTMLCollection::indexGetter):
(KJS::JSHTMLCollection::nameGetter):
(KJS::JSHTMLCollection::getOwnPropertySlot):
(KJS::HTMLCollectionProtoFunc::callAsFunction):
(KJS::JSHTMLSelectCollection::selectedIndexGetter):
(KJS::JSHTMLSelectCollection::put):
(KJS::OptionConstructorImp::construct):
(KJS::getSelectHTMLCollection):
* bindings/objc/DOMHTML.mm:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::createFrame):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge copyRenderNode:copier:]):
* dom/Document.cpp:
(WebCore::widgetForNode):
* html/HTMLBodyElement.cpp: Added.
(WebCore::HTMLBodyElement::HTMLBodyElement):
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLBodyElement.h: Added.
* html/HTMLDocument.cpp:
* html/HTMLElementFactory.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameElement.cpp: Added.
(WebCore::HTMLFrameElement::isURLAllowed):
(WebCore::HTMLFrameElement::parseMappedAttribute):
(WebCore::HTMLFrameElement::setLocation):
* html/HTMLFrameElement.h: Added.
* html/HTMLFrameSetElement.cpp: Added.
(WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
(WebCore::HTMLFrameSetElement::attach):
(WebCore::HTMLFrameSetElement::defaultEventHandler):
(WebCore::HTMLFrameSetElement::recalcStyle):
* html/HTMLFrameSetElement.h: Added.
* html/HTMLHeadElement.cpp: Added.
(WebCore::HTMLHeadElement::HTMLHeadElement):
* html/HTMLHeadElement.h: Added.
* html/HTMLHtmlElement.cpp: Added.
(WebCore::HTMLHtmlElement::HTMLHtmlElement):
* html/HTMLHtmlElement.h: Added.
* html/HTMLIFrameElement.cpp: Added.
(WebCore::HTMLIFrameElement::HTMLIFrameElement):
* html/HTMLIFrameElement.h: Added.
* html/HTMLObjectElement.cpp:
* html/HTMLParser.cpp:
* html/html_baseimpl.cpp: Removed.
* html/html_baseimpl.h: Removed.
* kwq/WebCoreAXObject.mm:
* page/Frame.cpp:
(WebCore::isFrameElement):
(WebCore::Frame::applyEditingStyleToBodyElement):
(WebCore::Frame::removeEditingStyleFromBodyElement):
(WebCore::Frame::applyEditingStyleToElement):
(WebCore::Frame::removeEditingStyleFromElement):
(WebCore::Frame::selectionRect):
(WebCore::Frame::isFrameSet):
(WebCore::scanForForm):
(WebCore::Frame::currentForm):
(WebCore::Frame::nodeInfoAtPoint):
(WebCore::Frame::adjustPageHeight):
(WebCore::Frame::frameForWidget):
(WebCore::Frame::forceLayoutWithPageWidthRange):
(WebCore::Frame::passWidgetMouseDownEventToWidget):
* page/FrameView.cpp:
* rendering/RenderFrame.cpp: Added.
(WebCore::RenderFrame::viewCleared):
* rendering/RenderFrame.h: Added.
* rendering/RenderFrameSet.cpp: Added.
(WebCore::RenderFrameSet::RenderFrameSet):
(WebCore::RenderFrameSet::~RenderFrameSet):
(WebCore::RenderFrameSet::layout):
(WebCore::RenderFrameSet::positionFrames):
(WebCore::RenderFrameSet::userResize):
(WebCore::RenderFrameSet::canResize):
(WebCore::RenderFrameSet::dump):
* rendering/RenderFrameSet.h: Added.
* rendering/RenderImage.h:
* rendering/RenderPart.cpp: Added.
(WebCore::RenderPart::RenderPart):
* rendering/RenderPart.h: Added.
* rendering/RenderPartObject.cpp: Added.
(WebCore::isURLAllowed):
(WebCore::RenderPartObject::updateWidget):
(WebCore::RenderPartObject::viewCleared):
* rendering/RenderPartObject.h: Added.
* rendering/RenderReplaced.cpp: Added.
(WebCore::RenderReplaced::selectionColor):
* rendering/RenderReplaced.h: Added.
* rendering/RenderWidget.cpp: Added.
(WebCore::RenderWidget::deleteWidget):
* rendering/RenderWidget.h: Added.
* rendering/render_form.h:
* rendering/render_frames.cpp: Removed.
* rendering/render_frames.h: Removed.
* rendering/render_replaced.cpp: Removed.
* rendering/render_replaced.h: Removed.
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Split html_headimpl.* into separate files (one per class)
http://bugzilla.opendarwin.org/show_bug.cgi?id=8875
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_css.cpp:
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLElement::headGetter):
(KJS::JSHTMLElement::linkGetter):
* bindings/objc/DOMCSS.mm:
(+[DOMCounter _counterWith:]):
(-[DOMCounter finalize]):
(-[DOMCounter _DOMStyleSheet]):
(-[DOMStyleSheet _initWithStyleSheet:]):
(-[DOMStyleSheetList dealloc]):
(-[DOMStyleSheetList finalize]):
(-[DOMStyleSheetList _styleSheetList]):
(-[DOMStyleSheetList _initWithStyleSheetList:]):
(-[DOMCSSStyleSheet _CSSStyleSheet]):
(-[DOMMediaList dealloc]):
(-[DOMMediaList finalize]):
(-[DOMMediaList _mediaList]):
(-[DOMMediaList _initWithMediaList:]):
(-[DOMCSSRuleList dealloc]):
(-[DOMCSSRuleList finalize]):
(-[DOMCSSRuleList _ruleList]):
(-[DOMCSSRuleList _initWithRuleList:]):
(-[DOMCSSRule dealloc]):
(-[DOMCSSRule finalize]):
(-[DOMCSSRule _rule]):
(-[DOMCSSRule _initWithRule:]):
(-[DOMCSSStyleRule _styleRule]):
(-[DOMCSSMediaRule _mediaRule]):
(-[DOMCSSFontFaceRule _fontFaceRule]):
(-[DOMCSSPageRule _pageRule]):
(-[DOMCSSImportRule _importRule]):
(-[DOMCSSCharsetRule _importRule]):
(-[DOMCSSStyleDeclaration dealloc]):
(-[DOMCSSStyleDeclaration finalize]):
(-[DOMCSSStyleDeclaration _initWithStyleDeclaration:]):
(-[DOMCSSStyleDeclaration _styleDeclaration]):
(-[DOMCSSValue dealloc]):
(-[DOMCSSValue finalize]):
(-[DOMCSSValue _value]):
(-[DOMCSSValue _initWithValue:]):
(-[DOMCSSPrimitiveValue _primitiveValue]):
(-[DOMCSSValueList _valueList]):
(getWrapperForRGB):
(setWrapperForRGB):
(removeWrapperForRGB):
(-[DOMRGBColor _initWithRGB:]):
(-[DOMRect dealloc]):
(-[DOMRect finalize]):
(-[DOMRect _rect]):
(-[DOMRect _initWithRect:]):
(-[DOMCounter dealloc]):
(-[DOMCounter _counter]):
(-[DOMCounter _initWithCounter:]):
(-[DOMObject sheet]):
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLCollection dealloc]):
(-[DOMHTMLCollection finalize]):
(-[DOMHTMLCollection _collection]):
(-[DOMHTMLCollection _initWithCollection:]):
(-[DOMHTMLOptionsCollection dealloc]):
(-[DOMHTMLOptionsCollection finalize]):
(-[DOMHTMLOptionsCollection _initWithOptionsCollection:]):
(-[DOMHTMLOptionsCollection _optionsCollection]):
(+[DOMHTMLElement _elementWith:]):
(-[DOMHTMLElement _HTMLElement]):
(-[DOMHTMLDocument _HTMLDocument]):
(-[DOMHTMLHtmlElement _HTMLHtmlElement]):
(-[DOMHTMLHeadElement _headElement]):
(-[DOMHTMLLinkElement _linkElement]):
(-[DOMHTMLTitleElement _titleElement]):
(-[DOMHTMLMetaElement _metaElement]):
(-[DOMHTMLBaseElement _baseElement]):
(-[DOMHTMLStyleElement _styleElement]):
(-[DOMHTMLBodyElement _bodyElement]):
(-[DOMHTMLFormElement _formElement]):
(+[DOMHTMLFormElement _formElementWith:]):
(-[DOMHTMLIsIndexElement _isIndexElement]):
(-[DOMHTMLSelectElement _selectElement]):
(-[DOMHTMLOptGroupElement _optGroupElement]):
(-[DOMHTMLOptionElement _optionElement]):
(-[DOMHTMLInputElement _inputElement]):
(-[DOMHTMLTextAreaElement _textAreaElement]):
(-[DOMHTMLButtonElement _buttonElement]):
(-[DOMHTMLLabelElement _labelElement]):
(-[DOMHTMLLabelElement form]):
(-[DOMHTMLFieldSetElement _fieldSetElement]):
(-[DOMHTMLLegendElement _legendElement]):
(-[DOMHTMLUListElement _uListElement]):
(-[DOMHTMLOListElement _oListElement]):
(-[DOMHTMLDListElement _dListElement]):
(-[DOMHTMLDirectoryElement _directoryListElement]):
(-[DOMHTMLMenuElement _menuListElement]):
(-[DOMHTMLLIElement _liElement]):
(-[DOMHTMLQuoteElement _quoteElement]):
(-[DOMHTMLDivElement _divElement]):
(-[DOMHTMLParagraphElement _paragraphElement]):
(-[DOMHTMLHeadingElement _headingElement]):
(-[DOMHTMLPreElement _preElement]):
(-[DOMHTMLBRElement _BRElement]):
(-[DOMHTMLBaseFontElement _baseFontElement]):
(-[DOMHTMLFontElement _fontElement]):
(-[DOMHTMLHRElement _HRElement]):
(-[DOMHTMLModElement _modElement]):
(-[DOMHTMLAnchorElement _anchorElement]):
(-[DOMHTMLImageElement _imageElement]):
(-[DOMHTMLObjectElement _objectElement]):
(-[DOMHTMLParamElement _paramElement]):
(-[DOMHTMLMapElement _mapElement]):
(-[DOMHTMLAreaElement _areaElement]):
(-[DOMHTMLScriptElement _scriptElement]):
(+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
(-[DOMHTMLTableCaptionElement _tableCaptionElement]):
(+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
(-[DOMHTMLTableSectionElement _tableSectionElement]):
(-[DOMHTMLTableElement createTHead]):
(-[DOMHTMLTableElement createTFoot]):
(-[DOMHTMLTableElement createCaption]):
(-[DOMHTMLTableElement insertRow:]):
(+[DOMHTMLTableElement _tableElementWith:]):
(-[DOMHTMLTableElement _tableElement]):
(-[DOMHTMLTableColElement _tableColElement]):
(-[DOMHTMLTableRowElement _tableRowElement]):
(-[DOMHTMLTableRowElement insertCell:]):
(+[DOMHTMLTableCellElement _tableCellElementWith:]):
(-[DOMHTMLTableCellElement _tableCellElement]):
(-[DOMHTMLFrameSetElement _frameSetElement]):
(-[DOMHTMLFrameElement _frameElement]):
(-[DOMHTMLIFrameElement _IFrameElement]):
(-[DOMHTMLEmbedElement _embedElement]):
(viewForElement):
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::searchForLabelsAboveCell):
(WebCore::FrameMac::searchForLabelsBeforeElement):
(WebCore::FrameMac::createFrame):
(WebCore::FrameMac::passMouseDownEventToWidget):
(WebCore::FrameMac::passSubframeEventToSubframe):
(WebCore::FrameMac::passWheelEventToChildWidget):
(WebCore::FrameMac::fileWrapperForElement):
(WebCore::listParent):
(WebCore::FrameMac::attributedString):
(WebCore::FrameMac::shouldBeginEditing):
(WebCore::FrameMac::shouldEndEditing):
(WebCore::FrameMac::setMarkedTextRange):
* dom/Document.cpp:
* dom/xml_tokenizer.cpp:
* html/HTMLBaseElement.cpp: Added.
(WebCore::HTMLBaseElement::removedFromDocument):
(WebCore::HTMLBaseElement::process):
* html/HTMLBaseElement.h: Added.
* html/HTMLDocument.cpp:
* html/HTMLElementFactory.cpp:
* html/HTMLLinkElement.cpp: Added.
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::process):
* html/HTMLLinkElement.h: Added.
* html/HTMLMetaElement.cpp: Added.
(WebCore::HTMLMetaElement::HTMLMetaElement):
(WebCore::HTMLMetaElement::parseMappedAttribute):
(WebCore::HTMLMetaElement::process):
(WebCore::HTMLMetaElement::setContent):
(WebCore::HTMLMetaElement::setHttpEquiv):
(WebCore::HTMLMetaElement::setName):
* html/HTMLMetaElement.h: Added.
* html/HTMLParser.cpp:
* html/HTMLScriptElement.cpp: Added.
(WebCore::HTMLScriptElement::HTMLScriptElement):
(WebCore::HTMLScriptElement::parseMappedAttribute):
(WebCore::HTMLScriptElement::evaluateScript):
* html/HTMLScriptElement.h: Added.
* html/HTMLStyleElement.cpp: Added.
(WebCore::HTMLStyleElement::HTMLStyleElement):
* html/HTMLStyleElement.h: Added.
* html/HTMLTitleElement.cpp: Added.
(WebCore::HTMLTitleElement::HTMLTitleElement):
(WebCore::HTMLTitleElement::text):
(WebCore::HTMLTitleElement::setText):
* html/HTMLTitleElement.h: Added.
* html/html_headimpl.cpp: Removed.
* html/html_headimpl.h: Removed.
* loader/CachedCSSStyleSheet.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::updateFromElement):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::updateFromElement):
2006-05-12 Eric Seidel <eseidel@apple.com>
Reviewed by beth.
Split out html_tableimpl.* into multiple files (one per class)
http://bugzilla.opendarwin.org/show_bug.cgi?id=8873
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLTableCaptionElement.cpp: Added.
(WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
* html/HTMLTableCaptionElement.h: Added.
* html/HTMLTableCellElement.cpp: Added.
(WebCore::HTMLTableCellElement::HTMLTableCellElement):
* html/HTMLTableCellElement.h: Added.
* html/HTMLTableColElement.cpp: Added.
(WebCore::HTMLTableColElement::HTMLTableColElement):
(WebCore::HTMLTableColElement::endTagRequirement):
(WebCore::HTMLTableColElement::tagPriority):
(WebCore::HTMLTableColElement::checkDTD):
* html/HTMLTableColElement.h: Added.
* html/HTMLTableElement.cpp: Added.
(WebCore::HTMLTableElement::HTMLTableElement):
(WebCore::HTMLTableElement::setCaption):
(WebCore::HTMLTableElement::setTHead):
(WebCore::HTMLTableElement::setTFoot):
(WebCore::HTMLTableElement::setTBody):
(WebCore::HTMLTableElement::createTHead):
(WebCore::HTMLTableElement::deleteTHead):
(WebCore::HTMLTableElement::createTFoot):
(WebCore::HTMLTableElement::deleteTFoot):
(WebCore::HTMLTableElement::createCaption):
(WebCore::HTMLTableElement::deleteCaption):
(WebCore::HTMLTableElement::insertRow):
(WebCore::HTMLTableElement::deleteRow):
(WebCore::HTMLTableElement::addChild):
(WebCore::HTMLTableElement::parseMappedAttribute):
(WebCore::HTMLTableElement::attach):
* html/HTMLTableElement.h: Added.
* html/HTMLTablePartElement.cpp: Added.
(WebCore::HTMLTablePartElement::parseMappedAttribute):
* html/HTMLTablePartElement.h: Added.
* html/HTMLTableRowElement.cpp: Added.
(WebCore::HTMLTableRowElement::HTMLTableRowElement):
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowElement.h: Added.
* html/HTMLTableSectionElement.cpp: Added.
(WebCore::HTMLTableSectionElement::insertRow):
* html/HTMLTableSectionElement.h: Added.
* html/html_tableimpl.cpp: Removed.
* html/html_tableimpl.h: Removed.
2006-05-10 Eric Seidel <eseidel@apple.com>
Reviewed by mjs & adele.
Split html_objectimpl.* into multiple files (one per class)
http://bugzilla.opendarwin.org/show_bug.cgi?id=8836
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_dom.cpp:
(KJS::DOMNamedNodeMap::lengthGetter):
(KJS::DOMNamedNodeMap::indexGetter):
(KJS::DOMNamedNodeMap::nameGetter):
(KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
(KJS::getRuntimeObject):
* bindings/js/kjs_html.cpp:
* html/HTMLAppletElement.cpp: Added.
* html/HTMLAppletElement.h: Added.
* html/HTMLElementFactory.cpp:
* html/HTMLEmbedElement.cpp: Added.
(WebCore::HTMLEmbedElement::HTMLEmbedElement):
(WebCore::HTMLEmbedElement::getInstance):
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLEmbedElement.h: Added.
* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::traverseNextItem):
* html/HTMLObjectElement.cpp: Added.
(WebCore::HTMLObjectElement::getInstance):
(WebCore::HTMLObjectElement::form):
(WebCore::HTMLObjectElement::parseMappedAttribute):
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLObjectElement.h: Added.
* html/HTMLParamElement.cpp: Added.
* html/HTMLParamElement.h: Added.
* html/HTMLParser.cpp:
* html/HTMLPlugInElement.cpp: Added.
* html/HTMLPlugInElement.h: Added.
* html/html_objectimpl.cpp: Removed.
* html/html_objectimpl.h: Removed.
* page/Frame.cpp:
(WebCore::Frame::handleFallbackContent):
* rendering/RenderApplet.cpp:
* rendering/render_frames.cpp:
(WebCore::RenderPartObject::updateWidget):
2006-05-12 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8521
crash bringing up context menu with CSS generated content
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
Added a null check.
* manual-tests/context-click-generated-content.html: Added.
2006-05-12 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8715
REGRESSION: Caret to the right of an image is a big black rectangle.
* rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Move caret to the
right side of the rect when the offset is non-zero, rather than expanding it.
* manual-tests/caret-image.html: Added.
2006-05-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Anders.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8866
REGRESSION: Incorrect caret position in RTL text
Test: fast/text/international/rtl-caret.html
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.
2006-05-12 David Hyatt <hyatt@apple.com>
Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).
Reviewed by mjs
* platform/Font.cpp:
(WebCore::m_finalRoundingWidth):
(WebCore::WidthIterator::advance):
(WebCore::Font::width):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::floatWidthForSimpleText):
* platform/Font.h:
(WebCore::TextStyle::m_attemptFontSubstitution):
(WebCore::TextStyle::tabWidth):
(WebCore::TextStyle::xPos):
(WebCore::TextStyle::padding):
(WebCore::TextStyle::rtl):
(WebCore::TextStyle::ltr):
(WebCore::TextStyle::directionalOverride):
(WebCore::TextStyle::applyRunRounding):
(WebCore::TextStyle::applyWordRounding):
(WebCore::TextStyle::attemptFontSubstitution):
(WebCore::Font::operator==):
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawHighlightForText):
* platform/GraphicsContext.h:
* platform/mac/FontMac.mm:
(WebCore::overrideLayoutOperation):
(WebCore::ATSULayoutParameters::initialize):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPosition):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::calcMinMaxWidth):
(WebCore::RenderText::width):
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::calcMinMaxWidth):
* rendering/render_line.cpp:
(WebCore::EllipsisBox::paint):
2006-05-11 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8770
XMLHttpRequest should strip CR/LF characters from the URL
Test: fast/loader/url-strip-cr-lf-tab.html
* platform/KURL.cpp:
(appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.
2006-05-11 David Hyatt <hyatt@apple.com>
Remove the misspelling drawing code from Font and FontData. Implement it
natively in GraphicContext instead.
Reviewed by maciej
* platform/FontData.h:
* platform/GraphicsContext.cpp:
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForMisspelling):
* platform/mac/FontData.mm:
* platform/mac/FontMac.mm:
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForMisspelling):
* platform/win/FontWin.cpp:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSpellingMarker):
2006-05-11 David Hyatt <hyatt@apple.com>
Remove drawLineForText from the Font API. Implement it natively in
the two GraphicsContexts (CG and Cairo) instead.
Reviewed by maciej
* platform/Font.h:
* platform/FontData.h:
* platform/GraphicsContext.cpp:
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForText):
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLineForText):
* platform/mac/FontData.mm:
* platform/mac/FontMac.mm:
* platform/win/FontWin.cpp:
(WebCore::Font::drawLineForText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintMarkedTextUnderline):
* rendering/render_line.cpp:
(WebCore::InlineFlowBox::paintDecorations):
2006-05-11 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Fix last fix.
* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedName):
2006-05-11 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Fix crash on static constructors builds at exit due to qualified name default constructor not
initializing m_impl.
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::deref):
2006-05-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8851
REGRESSION: RTL text shifted to the right
Already covered by several tests in fast/text
* platform/Font.h:
(WebCore::TextRun::TextRun): Added length parameter.
* rendering/InlineTextBox.cpp: Pass the length to the TextRun constructor.
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache): Pass length and from instead of from and to
to the TextRun constructor.
(WebCore::RenderText::width): Ditto.
2006-05-11 David Hyatt <hyatt@apple.com>
Fix a regression from the TextRun landing. Delete the characters in
the adjustedRun, not the ones in the original run!
Reviewed by beth
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText):
2006-05-10 Justin Garcia <justin.garcia@apple.com>
Reviewed by thatcher, levi
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
Removed a use fragment.hasMoreThanOneBlock to decide if the paragraph containing the
position pasted into must be split to avoid block nesting. We now split unnecessarily
some times, but the end merge cleans up for us.
2006-05-11 David Hyatt <hyatt@apple.com>
This patch makes drawHighlightForText a completely cross-platform method
implemented by the GraphicsContext. The platform-specific implementations
of the method in the Font class have been eliminated.
Reviewed by andersca
* platform/Font.h:
* platform/FontData.h:
Remove the drawHighlight methods. Change the selectionRect method in
Font to return a FloatRect so that the GraphicsContext can do an accurate
fill.
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawHighlightForText):
Implement the drawHighlightFunction in terms of the cross-platform
Font selectionRect functions and a new float-based fillRect graphics context
function.
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::fillRect):
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::fillRect):
Add the new float-based fillRect function for Cairo and CG.
* platform/mac/FontData.mm:
(WebCore::CG_draw):
(WebCore::ATSU_draw):
Removed the CG and ATSU drawHighlight methods. Remove the drawing of
the background from the deprecated draw methods (they'll be removed
soon).
* platform/mac/FontMac.mm:
(WebCore::Font::selectionRectForText):
* platform/win/FontWin.cpp:
(WebCore::Font::selectionRectForText):
Change selectionRectForText to return a FloatRect instead of an IntRect,
so that the GraphicsContext can do a precise fill.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::positionForOffset):
Modify the callers who expect an int-based selection rect so that they call
enclosingIntRect.
2006-05-11 Darin Adler <darin@apple.com>
Reviewed by Adele.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8743
REGRESSION: focus() on input field selects all text within it
(was: cannot select cities on British Rail reservation site)
Test: fast/forms/double-focus.html
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus):
Changed to only call setFocusNode, select, and revealSelection
if the element is not already focused. Also changed to use return
a bit more rather than else.
2006-05-11 Darin Adler <darin@apple.com>
Reviewed by Tim Hatcher (earlier version).
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8821
use the preprocessor for IDL files
* bindings/scripts/IDLParser.pm: Invoke the preprocessor via the "gcc"
driver script, passing "-E" so we only preprocess, "-P" so we don't get
"#line" directives, and "-x c++" so we handle both C and C++ comments.
Removed the code to eliminate comments since the preprocessor handles that.
* css/make-css-file-arrays.pl: This already invoked the preprocessor, but
updated it to do the same way as above.
2006-05-11 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7838
Add support for mozilla-style node constructors as properties of the window object
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
Add new generated files.
* bindings/js/JSCanvasRenderingContext2DBase.cpp:
(WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createJSWrapper):
Specify the KJS namespace for JSHTMLElmement.
* bindings/js/kjs_dom.cpp:
(KJS::toJS):
Create a WebCore::JSHTMLDocument for document nodes. Also, create
JSDocumentFragments for document fragments (instead of plain node objects).
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocumentProtoFunc::callAsFunction):
(KJS::JSHTMLDocument::JSHTMLDocument):
(KJS::JSHTMLDocument::getOwnPropertySlot):
Add a prototype for JSHTMLDocument and move all functions there.
(KJS::JSHTMLElement::JSHTMLElement):
(KJS::JSHTMLElement::getOwnPropertySlot):
Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.
(KJS::JSHTMLElement::getValueProperty):
(KJS::JSHTMLElement::putValueProperty):
Remove title setter and getter. Those are autogenerated now.
* bindings/js/kjs_html.h:
(KJS::JSHTMLElement::):
Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.
* bindings/scripts/CodeGeneratorJS.pm:
Always generate a prototype object, regardless of whether the object has any functions or
constants.
Use the type of generator attributes to determine what constructor to use. This is useful for
the XMLDocument property in DOMWindow.idl, since that's just an alias for the Document constructor.
* dom/DocumentFragment.idl: Added.
* html/HTMLDocument.idl: Added.
* html/HTMLElement.idl: Added.
* page/DOMWindow.idl:
Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
an alias for the Document constructor.
2006-05-11 David Hyatt <hyatt@apple.com>
Bug 8845. Define a TextRun (similar to the old WebCoreTextRun) and
make it the new API for Font and GraphicsContext when drawing/measuring
text.
Reviewed by andersca
* platform/Font.cpp:
(WebCore::m_finalRoundingWidth):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::normalizeVoicingMarks):
(WebCore::Font::width):
(WebCore::Font::canUseGlyphCache):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::floatWidthForSimpleText):
* platform/Font.h:
(WebCore::TextRun::m_to):
(WebCore::TextRun::operator[]):
(WebCore::TextRun::data):
(WebCore::TextRun::adjustFrom):
(WebCore::TextRun::adjustTo):
(WebCore::TextRun::characters):
(WebCore::TextRun::length):
(WebCore::TextRun::from):
(WebCore::TextRun::to):
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawHighlightForText):
* platform/GraphicsContext.h:
* platform/mac/FontMac.mm:
(WebCore::addDirectionalOverride):
(WebCore::overrideLayoutOperation):
(WebCore::ATSULayoutParameters::initialize):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::checkSelectionPoint):
* platform/win/FontWin.cpp:
(WebCore::hackishExtentForString):
(WebCore::Font::floatWidth):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::selectionRectForText):
(WebCore::Font::checkSelectionPoint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderBlock.cpp:
(WebCore::stripTrailingSpace):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::paint):
* rendering/RenderText.cpp:
(WebCore::RenderText::cacheWidths):
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedMinMaxWidth):
(WebCore::RenderText::calcMinMaxWidth):
(WebCore::RenderText::width):
* rendering/RenderTextField.cpp:
(WebCore::RenderTextField::calcMinMaxWidth):
* rendering/bidi.cpp:
(WebCore::RenderBlock::tabWidth):
(WebCore::RenderBlock::checkLinesForTextOverflow):
* rendering/render_line.cpp:
(WebCore::EllipsisBox::paint):
* rendering/render_list.cpp:
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::calcMinMaxWidth):
(WebCore::RenderListMarker::getRelativeMarkerRect):
2006-05-10 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
Removed the code to find out if we must later add smart replace whitespace. We can
wait until we've done the insertion to figure it out, and the position sampled (startPos)
to make the decision about trailing whitespace was wrong.
Changed the order that work is done during a paste: 1) Insert everything 2) Do one of
the following: a) handle a trailing interchange newline, b) uncollapse the last incoming
br if it has been collapsed because of quirks mode, c) do an end merge 3) Add smart replace
whitespace (2 and 3 were reversed because the end merge must happen before we can know
whether or not we need to add a trailing space).
Don't do an end merge if the last node inserted was a br because the end merge will
clobber it.
(WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
brs where [br, 0] is at the end of a block and not at the start of a paragraph
are the ones that are collapsed because of quirks mode.
2006-05-10 David Hyatt <hyatt@apple.com>
Rename isSpace to treatAsSpace. Move it and the rounding hack function into
Font and make them static methods (inlined in the header). Make the rounding
hack character table a static member as well. Remove the redundant space/rounding
functions from FontData.mm.
Reviewed by darin
* platform/Font.cpp:
(WebCore::):
(WebCore::m_finalRoundingWidth):
(WebCore::WidthIterator::advance):
* platform/Font.h:
(WebCore::Font::treatAsSpace):
(WebCore::Font::isRoundingHackCharacter):
* platform/mac/FontData.mm:
(WebCore::overrideLayoutOperation):
(WebCore::createATSULayoutParameters):
(WebCore::initializeWidthIterator):
(WebCore::advanceWidthIterator):
* platform/mac/FontMac.mm:
(WebCore::overrideLayoutOperation):
(WebCore::ATSULayoutParameters::initialize):
2006-05-10 Darin Adler <darin@apple.com>
* WebCore: Removed an extra WebCore subtree that somehow got checked in.
2006-05-10 David Carson <dacarson@gmail.com>
- Fix for bug 8833. Removed inline keyword from functions declared
in .mm and .cpp files. inline function code needs to reside in the
header file for the linker to find the code.
http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.7
Reviewed by Darin, landed by Timothy.
* platform/Font.cpp:
(WebCore::isSpace):
* platform/mac/FontData.mm:
(WebCore::widthForGlyph):
(WebCore::isRoundingHackCharacter):
(WebCore::glyphForCharacter):
2006-05-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed and landed by Anders.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8830
REGRESSION: Words render on top of each other when fallback font is used
Already covered by several pixel tests in fast/text
* platform/Font.cpp:
(WebCore::Font::drawSimpleText):
2006-05-10 David Hyatt <hyatt@apple.com>
Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
drawing and measuring of runs up into the Font class. The fast code
path is in Font.cpp and is designed to be mostly cross-platform. The
slow code path is in FontMac.cpp and is Mac-specific.
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* platform/Font.cpp:
(WebCore::isSpace):
(WebCore::):
(WebCore::isRoundingHackCharacter):
(WebCore::m_finalRoundingWidth):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::normalizeVoicingMarks):
(WebCore::Font::primaryFont):
(WebCore::Font::setAlwaysUseComplexPath):
(WebCore::Font::canUseGlyphCache):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::floatWidthForSimpleText):
* platform/Font.h:
* platform/FontData.h:
(WebCore::FontData::platformData):
* platform/GlyphBuffer.h: Added.
(WebCore::GlyphBuffer::GlyphBuffer):
(WebCore::GlyphBuffer::isEmpty):
(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontDataAt):
(WebCore::GlyphBuffer::swap):
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::add):
* platform/mac/FontData.mm:
(WebCore::isSpace):
(WebCore::isRoundingHackCharacter):
(WebCore::FontData::widthForGlyph):
(WebCore::m_ATSUMirrors):
(WebCore::FontData::xHeight):
(WebCore::FontData::smallCapsFontData):
(WebCore::findSubstituteFont):
(WebCore::rendererForAlternateFont):
(WebCore::findSubstituteRenderer):
(WebCore::FontData::findSubstituteFontData):
(WebCore::computeWidthForSpace):
(WebCore::FontData::updateGlyphMapEntry):
(WebCore::extendGlyphMap):
(WebCore::extendWidthMap):
(WebCore::createATSULayoutParameters):
(WebCore::FontData::glyphForCharacter):
(WebCore::advanceWidthIterator):
(WebCore::shouldUseATSU):
* platform/mac/FontMac.mm:
(WebCore::ATSULayoutParameters::m_padPerSpace):
(WebCore::addDirectionalOverride):
(WebCore::initializeATSUStyle):
(WebCore::overrideLayoutOperation):
(WebCore::ATSULayoutParameters::initialize):
(WebCore::disposeATSULayoutParameters):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::drawGlyphs):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreSetAlwaysUseATSU):
2006-05-10 Darin Adler <darin@apple.com>
- another try at fixing the Windows build
* platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
instead of unicode().
== Rolled over to ChangeLog-2006-05-10 ==