Timeline



Mar 17, 2006:

7:22 PM Changeset in webkit [13371] by aliceli1
  • 2 edits in trunk/WebCore

Reviewed by Hyatt.

dynamically"

  • khtml/html/html_headimpl.cpp: (WebCore::HTMLLinkElementImpl::process):
  • dynamically added link-tags for stylesheets were messing up the counting of pending stylesheets. If a head link element specifies a new stylesheet but the previously specified stylesheet is still loading, tell the document that stylesheets are loaded so that there are no remaining requests for it to be loaded.
7:19 PM Changeset in webkit [13370] by aliceli1
  • 1 edit
    4 adds in trunk/LayoutTests

Reviewed by Justin.

  • fast/dom/HTMLHeadElement/head-link-style-href-check-expected.checksum: Added.
  • fast/dom/HTMLHeadElement/head-link-style-href-check-expected.png: Added.
  • fast/dom/HTMLHeadElement/head-link-style-href-check-expected.txt: Added.
  • fast/dom/HTMLHeadElement/head-link-style-href-check.html: Added.
6:04 PM Changeset in webkit [13369] by ggaren
  • 62 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/dom/prototype-chain-expected.txt: Updated to reflect new prototype chain.

WebCore:

Reviewed by Darin.

  • Fixed some crashes in event dispatch and settled the question of when getDocument() can return NULL, removing superfluous NULL checks.

I promise to check in a test case soon, but I need to land this before
the global rename happens, and I left the test file on my other machine.

Here's what I did:

(1) Removed NULL checks for getDocument() in cases where we know it
should not return NULL (which turned out to be all but one). Replaced
with ASSERT inside getDocument(). Tested to ensure there was no
regression @ albertsons.com.

(2) Added the EventTargetNode class, which represents Nodes that
implement the DOM EventTarget interface. Discussed this design with
Maciej and Hyatt. The previous dsign -- assuming that all Nodes were
EventTargets -- made it possible to crash WebKit by, for example,
dispatching a mouse event to a documentType node that was not
associated with a document.

(3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to
force a re-build.

(4) Using classInfo checking, strengthened type constraints on
JavaScript method dispatch so that you can't finagle JavaScript into,
for example, invoking a document-dependent method belonging to a
node type that's guaranteed to have a document on a node type that may
not have one.

(5) Pushed some IE-specific JS bindings that depend on a node having a
document down from DOMNode to DOMElement. (An element always has a
document.) Tested that Firefox's behavior matched. Confirmed with MSDN.

(6) Updated Objc bindigns to throw an exception if you try to use
the event interface on a node that doesn't support it. Discussed this
design with Maciej and TimH.

(7) Consolidated repeated documentElement-finding code in the Position
class into the Position::documentElement() method. Did the same for
repeated top-level document finding and DocumentImpl::topDocument().


  • WebCore+SVG/KDOMHeaders.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMCore.cpp:
  • bindings/objc/DOM.mm: (-[DOMNode addEventListener:::]): (-[DOMNode removeEventListener:::]): (-[DOMNode dispatchEvent:]): (-[DOMNode KJS::Bindings::]):
  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::keyEvent): (WebCore::MacFrame::dispatchCPPEvent):
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]): (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
  • css/css_base.cpp: (WebCore::StyleBaseImpl::baseURL):
  • css/css_computedstyle.cpp: (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
  • css/css_valueimpl.cpp: (WebCore::CSSMutableStyleDeclarationImpl::removeProperty): (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • dom/Attr.idl:
  • dom/CharacterData.idl:
  • dom/CharacterDataImpl.cpp: (WebCore::CharacterDataImpl::CharacterDataImpl): (WebCore::CharacterDataImpl::rendererIsNeeded): (WebCore::CharacterDataImpl::dump):
  • dom/CharacterDataImpl.h:
  • dom/ContainerNodeImpl.cpp: (WebCore::ContainerNodeImpl::ContainerNodeImpl): (WebCore::ContainerNodeImpl::removeChild): (WebCore::ContainerNodeImpl::attach): (WebCore::ContainerNodeImpl::detach): (WebCore::ContainerNodeImpl::insertedIntoDocument): (WebCore::ContainerNodeImpl::removedFromDocument): (WebCore::ContainerNodeImpl::insertedIntoTree): (WebCore::ContainerNodeImpl::removedFromTree): (WebCore::ContainerNodeImpl::setFocus): (WebCore::ContainerNodeImpl::setActive): (WebCore::ContainerNodeImpl::setHovered): (WebCore::dispatchChildInsertionEvents): (WebCore::dispatchChildRemovalEvents):
  • dom/ContainerNodeImpl.h:
  • dom/DOMImplementationImpl.cpp: (WebCore::DOMImplementationImpl::createDocument):
  • dom/DocumentImpl.cpp: (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes): (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners): (WebCore::DocumentImpl::getAccObjectCache): (WebCore::DocumentImpl::setFocusNode): (WebCore::DocumentImpl::topDocument):
  • dom/Element.idl:
  • dom/EventTargetNodeImpl.cpp: Added. (WebCore::EventTargetNodeImpl::EventTargetNodeImpl): (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl): (WebCore::EventTargetNodeImpl::insertedIntoDocument): (WebCore::EventTargetNodeImpl::removedFromDocument): (WebCore::EventTargetNodeImpl::addEventListener): (WebCore::EventTargetNodeImpl::removeEventListener): (WebCore::EventTargetNodeImpl::removeAllEventListeners): (WebCore::EventTargetNodeImpl::handleLocalEvents): (WebCore::EventTargetNodeImpl::dispatchGenericEvent): (WebCore::EventTargetNodeImpl::dispatchEvent): (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent): (WebCore::EventTargetNodeImpl::dispatchWindowEvent): (WebCore::EventTargetNodeImpl::dispatchUIEvent): (WebCore::EventTargetNodeImpl::dispatchKeyEvent): (WebCore::EventTargetNodeImpl::dispatchMouseEvent): (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent): (WebCore::EventTargetNodeImpl::dispatchWheelEvent): (WebCore::EventTargetNodeImpl::dispatchHTMLEvent): (WebCore::EventTargetNodeImpl::removeHTMLEventListener): (WebCore::EventTargetNodeImpl::setHTMLEventListener): (WebCore::EventTargetNodeImpl::getHTMLEventListener): (WebCore::EventTargetNodeImpl::disabled): (WebCore::EventTargetNodeImpl::defaultEventHandler): (WebCore::EventTargetNodeImpl::dump):
  • dom/EventTargetNodeImpl.h: Added. (WebCore::EventTargetNodeImpl::isEventTargetNode): (WebCore::EventTargetNodeImpl::preDispatchEventHandler): (WebCore::EventTargetNodeImpl::postDispatchEventHandler): (WebCore::EventTarget): (WebCore::forbidEventDispatch): (WebCore::allowEventDispatch): (WebCore::eventDispatchForbidden):
  • dom/NodeImpl.cpp: (WebCore::NodeImpl::NodeImpl): (WebCore::NodeImpl::~NodeImpl): (WebCore::NodeImpl::dump): (WebCore::NodeImpl::detach): (WebCore::NodeImpl::insertedIntoDocument): (WebCore::NodeImpl::removedFromDocument):
  • dom/NodeImpl.h: (WebCore::NodeImpl::isEventTargetNode): (WebCore::NodeImpl::isLink): (WebCore::NodeImpl::getDocument): (WebCore::NodeImpl::inDocument):
  • dom/dom2_eventsimpl.cpp: (WebCore::MouseRelatedEventImpl::receivedTarget):
  • dom/dom2_rangeimpl.cpp: (WebCore::RangeImpl::commonAncestorContainer):
  • dom/dom_elementimpl.cpp: (WebCore::inHTMLDocument): (WebCore::ElementImpl::focus): (WebCore::ElementImpl::blur): (WebCore::StyledElementImpl::parseMappedAttribute):
  • dom/dom_position.cpp: (WebCore::Position::documentElement):
  • dom/dom_position.h:
  • editing/ReplaceSelectionCommand.cpp: (WebCore::computeAndStoreNodeDesiredStyle):
  • editing/SelectionController.cpp: (WebCore::SelectionController::needsCaretRepaint):
  • editing/visible_units.cpp: (WebCore::previousBoundary): (WebCore::nextBoundary): (WebCore::previousLinePosition): (WebCore::nextLinePosition): (WebCore::startOfDocument): (WebCore::endOfDocument):
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::mark): (KJS::DOMNode::getValueProperty): (KJS::DOMNode::putValueProperty): (KJS::DOMNodeProtoFunc::callAsFunction): (KJS::DOMEventTargetNode::DOMEventTargetNode): (KJS::DOMEventTargetNode::getOwnPropertySlot): (KJS::DOMEventTargetNode::getValueProperty): (KJS::DOMEventTargetNode::put): (KJS::DOMEventTargetNode::putValueProperty): (KJS::DOMEventTargetNode::setListener): (KJS::DOMEventTargetNode::getListener): (KJS::DOMEventTargetNode::pushEventHandlerScope): (KJS::DOMEventTargetNodeProtoFunc::callAsFunction): (KJS::): (KJS::DOMDocument::DOMDocument): (KJS::DOMDocument::getOwnPropertySlot): (KJS::DOMDocument::put): (KJS::DOMDocument::putValueProperty): (KJS::DOMDocumentProtoFunc::callAsFunction): (KJS::DOMElement::DOMElement): (KJS::DOMElement::getValueProperty): (KJS::DOMElement::put): (KJS::DOMElement::putValueProperty): (KJS::DOMElement::getOwnPropertySlot): (KJS::DOMElementProtoFunc::callAsFunction): (KJS::checkNodeSecurity):
  • khtml/ecma/kjs_dom.h: (KJS::DOMNode::): (KJS::DOMEventTargetNode::): (KJS::DOMElement::):
  • khtml/ecma/kjs_events.cpp: (KJS::JSLazyEventListener::parseCode): (KJS::getNodeEventListener):
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::bodyGetter): (KJS::HTMLElement::anchorGetter): (KJS::HTMLElement::getValueProperty): (KJS::HTMLElement::bodySetter):
  • khtml/ecma/kjs_views.cpp: (KJS::DOMAbstractViewProtoFunc::callAsFunction):
  • khtml/html/HTMLFormElementImpl.cpp: (WebCore::HTMLFormElementImpl::registerFormElement): (WebCore::HTMLFormElementImpl::removeFormElement):
  • khtml/html/HTMLGenericFormElementImpl.cpp: (WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
  • khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl): (WebCore::HTMLInputElementImpl::focus):
  • khtml/html/HTMLOptionElementImpl.cpp: (WebCore::HTMLOptionElementImpl::text):
  • khtml/html/HTMLSelectElementImpl.cpp: (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
  • khtml/html/HTMLTextAreaElementImpl.cpp: (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
  • khtml/html/html_baseimpl.cpp: (WebCore::HTMLBodyElementImpl::insertedIntoDocument): (WebCore::HTMLFrameElementImpl::isURLAllowed): (WebCore::HTMLFrameElementImpl::openURL): (WebCore::HTMLFrameElementImpl::frameWidth): (WebCore::HTMLFrameElementImpl::frameHeight):
  • khtml/html/html_imageimpl.cpp: (WebCore::HTMLImageLoader::~HTMLImageLoader): (WebCore::HTMLImageLoader::updateFromElement): (WebCore::HTMLImageLoader::notifyFinished): (WebCore::HTMLImageElementImpl::width): (WebCore::HTMLImageElementImpl::height): (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
  • khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
  • khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::notifyFinished):
  • ksvg2/svg/SVGAnimateColorElementImpl.cpp: (SVGAnimateColorElementImpl::handleTimerEvent):
  • ksvg2/svg/SVGAnimateElementImpl.cpp: (SVGAnimateElementImpl::handleTimerEvent):
  • ksvg2/svg/SVGAnimateTransformElementImpl.cpp: (SVGAnimateTransformElementImpl::handleTimerEvent):
  • ksvg2/svg/SVGAnimationElementImpl.cpp: (SVGAnimationElementImpl::closeRenderer):
  • ksvg2/svg/SVGDOMImplementationImpl.cpp:
  • ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
  • ksvg2/svg/SVGDocumentImpl.h:
  • ksvg2/svg/SVGImageElementImpl.cpp:
  • ksvg2/svg/SVGSetElementImpl.cpp: (SVGSetElementImpl::handleTimerEvent):
  • kwq/KWQAccObject.mm: (-[KWQAccObject mouseButtonListener]): (-[KWQAccObject accessibilityPerformAction:]):
  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView dispatchHTMLEvent:]):
  • page/Frame.cpp: (WebCore::dispatchKHTMLEditableContentChanged):
  • page/FrameView.cpp: (WebCore::FrameView::dispatchDragEvent): (WebCore::FrameView::dispatchMouseEvent): (WebCore::FrameView::viewportWheelEvent):
  • rendering/render_layer.cpp: (WebCore::RenderLayer::scrollToOffset):
  • rendering/render_object.cpp: (WebCore::RenderObject::shouldSelect): (WebCore::RenderObject::backslashAsCurrencySymbol):
  • rendering/render_replaced.cpp: (WebCore::RenderWidget::sendConsumedMouseUp):
5:24 PM Changeset in webkit [13368] by bdakin
  • 1 edit
    4 moves in trunk/LayoutTests

Reviewed by hyatt

This test should actually be in the failures folder. Moving.

5:05 PM Changeset in webkit [13367] by hyatt
  • 1 edit in trunk/LayoutTests/tables/mozilla/marvin/backgr_layers-opacity-expected.txt

Update the table opacity test case to reflect the now-correct results.

5:01 PM Changeset in webkit [13366] by hyatt
  • 9 edits in trunk/WebCore

Fix for 7837, make opacity work with table rows. Make transparent backgrounds
stack properly in cells (so that the layers behind can show through like they
should).

Reviewed by beth

  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::requiresLayer): (WebCore::RenderTableCell::paintBackgroundsBehindCell): (WebCore::RenderTableCell::paintBoxDecorations):
  • rendering/RenderTableCell.h:
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::paint):
  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::requiresLayer):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paint):
  • rendering/render_layer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::isTransparent): (WebCore::RenderLayer::transparentAncestor): (WebCore::RenderLayer::beginTransparencyLayers): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::absoluteBoundingBox):
  • rendering/render_object.cpp: (WebCore::RenderObject::requiresLayer):
  • rendering/render_object.h: (WebCore::RenderObject::isTransparent): (WebCore::RenderObject::opacity):
2:03 PM Changeset in webkit [13365] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • kjs/ustring.cpp: (KJS::UString::from): Use "NaN" for all NaN values, regardless of sign.
1:58 PM Changeset in webkit [13364] by mjs
  • 13 edits in trunk/WebCore

Reviewed by Adele.

  • clean up ResourceRequest to be closer to a proper request interface
  • page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor that takes a KURL. (WebCore::ResourceRequest::url): getter for KURL (WebCore::ResourceRequest::setURL): corresponding setter (WebCore::ResourceRequest::referrer): new getter for referrer, instead of storing it in m_metaData (it was the only remaining real use of it) (WebCore::ResourceRequest::setReferrer): corresponding setter
  • bridge/BrowserExtension.h:
  • removed unused openURLRequest and openURLNotify methods
  • folded KURL parameter into ResourceRequest
  • bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that also take a ResourceRequest
  • bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest changes.
  • bridge/mac/MacFrame.h: remove KURL args from methods that also take a ResourceRequest
  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes (WebCore::MacFrame::submitForm): ditto (WebCore::MacFrame::urlSelected): ditto
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): adjust for ResourceRequest changes
  • bridge/win/BrowserExtensionWin.h:
  • khtml/ecma/kjs_window.cpp: (KJS::createNewWindow): adjust for ResourceRequest changes (KJS::WindowFunc::callAsFunction): ditto
  • page/Frame.cpp: (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes (WebCore::Frame::receivedFirstData): ditto (WebCore::Frame::begin): ditto (WebCore::Frame::completeURL): ditto (WebCore::Frame::changeLocation): ditto (WebCore::Frame::urlSelected): ditto (WebCore::Frame::requestFrame): ditto (WebCore::Frame::submitForm): ditto
  • page/Frame.h:
  • platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::createNewWindow): ditto
12:32 PM Changeset in webkit [13363] by bdakin
  • 5 edits
    2 adds in trunk

Reviewed by Darin, landed by Beth.

12:11 PM Changeset in webkit [13362] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Beth Dakin


  • fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a URL on the pasteboard with no usable "title"
  • History/WebURLsWithTitles.m: (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): trim whitespace from titles that are put on pasteboard. This leaves an empty string for the title in cases where there's no displayed text, like an image in an <a> element that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
12:02 PM Changeset in webkit [13361] by adele
  • 7 edits in trunk/LayoutTests

Updated results for background color change.

  • fast/forms/input-appearance-focus-expected.txt:
  • fast/forms/input-appearance-minWidth-expected.txt:
  • fast/forms/input-appearance-selection-expected.txt:
  • fast/forms/input-appearance-visibility-expected.txt:
  • fast/forms/input-appearance-width-expected.txt:
  • fast/forms/input-baseline-expected.txt:
11:42 AM Changeset in webkit [13360] by bdakin
  • 1 edit
    62 adds in trunk/LayoutTests

Reviewed by Geoff

A few more mozilla table tests.

11:20 AM Changeset in webkit [13359] by adele
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Tim Hatcher.

  • fast/forms/input-appearance-default-bkcolor-expected.checksum: Added.
  • fast/forms/input-appearance-default-bkcolor-expected.png: Added.
  • fast/forms/input-appearance-default-bkcolor-expected.txt: Added.
  • fast/forms/input-appearance-default-bkcolor.html: Added.

WebCore:

Reviewed by Tim H.

Make default backgrounds for new text fields white
instead of transparent. This will move to html4.css
when we flip the switch.

Test added:

  • fast/forms/input-appearance-default-bkcolor.html
  • rendering/render_theme_mac.mm: (WebCore::RenderThemeMac::adjustTextFieldStyle):
11:06 AM Changeset in webkit [13358] by hyatt
  • 2 edits in trunk/WebCore

Make table sections and table captions support opacity.

Reviewed by darin

Covered by some of the new Mozilla table tests.

  • rendering/RenderTable.cpp: (WebCore::RenderTable::paint):
10:39 AM Changeset in webkit [13357] by hyatt
  • 2 adds
    4 deletes in trunk/LayoutTests/tables

Fix table test that now passes.

9:47 AM Changeset in webkit [13356] by bdakin
  • 6 edits
    4 adds in trunk

Reviewed by Maciej, landed by Beth.

fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3560
page with use of first-letter crashes reproducibly in
RenderObject::renderArena()

9:42 AM Changeset in webkit [13355] by darin
  • 2 edits in trunk/WebKit
  • missing bit of my check-in yesterday

Maciej moved setWindowFrame for me, but I also had removed
setWindowContentRect.

  • WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and windowContentRect methods.
6:06 AM Changeset in webkit [13354] by eseidel
  • 2 edits in trunk/WebKitLibraries

2006-03-17 Eric Seidel <eseidel@apple.com>

  • libWebKitSystemInterface.a: commit a universal binary.
4:36 AM Changeset in webkit [13353] by andersca
  • 2 edits in trunk/WebKitTools

2006-03-17 Anders Carlsson <andersca@mac.com>

Reviewed by Eric.


  • Scripts/install-win-extras: Fetch "Program Files" location from the environment.
3:06 AM Changeset in webkit [13352] by adele
  • 24 edits in trunk

LayoutTests:

Reviewed by Eric.

Updating test results for:
http://bugzilla.opendarwin.org/show_bug.cgi?id=7798
New text fields are much wider than they should be for a specified size

  • fast/forms/input-appearance-bkcolor-expected.checksum:
  • fast/forms/input-appearance-bkcolor-expected.png:
  • fast/forms/input-appearance-bkcolor-expected.txt:
  • fast/forms/input-appearance-focus-expected.checksum:
  • fast/forms/input-appearance-focus-expected.png:
  • fast/forms/input-appearance-focus-expected.txt:
  • fast/forms/input-appearance-minWidth-expected.checksum:
  • fast/forms/input-appearance-minWidth-expected.png:
  • fast/forms/input-appearance-minWidth-expected.txt:
  • fast/forms/input-appearance-selection-expected.checksum:
  • fast/forms/input-appearance-selection-expected.png:
  • fast/forms/input-appearance-selection-expected.txt:
  • fast/forms/input-appearance-visibility-expected.checksum:
  • fast/forms/input-appearance-visibility-expected.png:
  • fast/forms/input-appearance-visibility-expected.txt:
  • fast/forms/input-appearance-width-expected.checksum:
  • fast/forms/input-appearance-width-expected.png:
  • fast/forms/input-appearance-width-expected.txt:
  • fast/forms/input-baseline-expected.checksum:
  • fast/forms/input-baseline-expected.png:
  • fast/forms/input-baseline-expected.txt:

WebCore:

Reviewed by Eric.

I changed the character we use to calculate the width from "w" back to "0",
which matches our old behavior. The original change was intentional, to try
to better match other browsers, but "w" is a little too wide. For now, lets
go back to the old behavior.

I also set the minWidth = maxWidth. We were trying to match a WinIE quirk,
but that caused some odd behavior with growth of the text field in table cells.

  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
3:00 AM Changeset in webkit [13351] by eseidel
  • 2 edits in trunk/WebKitTools

2006-03-17 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

Fix Spinneret to pass Events as const & not as pointers.

  • Spinneret/Spinneret/WebView.cpp: (WebKit::WebView::mouseMoved): (WebKit::WebView::mouseDown): (WebKit::WebView::mouseUp): (WebKit::WebView::mouseDoubleClick): (WebKit::WebView::keyPress):
2:47 AM Changeset in webkit [13350] by eseidel
  • 8 edits
    2 adds in trunk/WebCore

2006-03-17 Eric Seidel <eseidel@apple.com>

Reviewed by adele.

Fix win32 build.
Add PageWin class.
Add previously forgotten KeyEventWin class.
Pass MouseEvent() instead of 0 in a couple places to make compiler happy.

  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • bridge/win/BrowserExtensionWin.h:
  • bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): (WebCore::FrameWin::keyPress):
  • bridge/win/FrameWin.h:
  • bridge/win/PageWin.cpp: Added. (WebCore::rootWindowForFrame): (WebCore::Page::windowRect): (WebCore::Page::setWindowRect):
  • page/FrameView.cpp: (WebCore::FrameView::updateDragAndDrop): (WebCore::FrameView::hoverTimerFired):
  • page/Page.h: (WebCore::Page::mainFrame):
  • platform/win/KeyEventWin.cpp: Added. (WebCore::KeyEvent::KeyEvent):
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::findNextWordFromIndex): (FrameWin::passMouseDownEventToWidget): (FrameWin::scheduleClose): (BrowserExtensionWin::createNewWindow): (WebCore::findWordBoundary): (FrameWin::registerCommandForUndo): (FrameWin::markMisspellingsInAdjacentWords): (FrameWin::respondToChangedContents):
2:40 AM Changeset in webkit [13349] by eseidel
  • 2 edits in trunk/WebKitTools

2006-03-17 Eric Seidel <eseidel@apple.com>

Reviewed by justing.

Add support for basic HTML editing.

  • Spinneret/Spinneret/WebView.cpp: (WebKit::WebView::WebView): (WebKit::WebView::keyPress):
2:28 AM Changeset in webkit [13348] by adele
  • 3 edits in trunk/WebKitLibraries
  • WebKitSystemInterface.h: Added WKDrawBezeledTextFieldCell()
  • libWebKitSystemInterface.a: ditto
2:16 AM Changeset in webkit [13347] by hyatt
  • 2 edits in trunk/WebCore

Fix pixel test regression in fast/table/overflowHidden.html. There was
a borderTopExtra error made in the new boundingBox code for layers that
caused the bottom half of cells with opacity set to be clipped out.

Reviewed by andersca

  • rendering/render_layer.cpp: (WebCore::RenderLayer::absoluteBoundingBox):
1:50 AM Changeset in webkit [13346] by hyatt
  • 25 edits in trunk/WebCore

Give table rows and sections accurate dimensions. Fix absolutePosition
to work for table cells properly. Add an absolutePositionForContent method
to make sure callers that want to deal with the content of a cell handle
the cell's extra space correctly.

Reviewed by darin

Existing layout tests cover this change.

  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge copyRenderNode:copier:]):
  • dom/ContainerNodeImpl.cpp: (WebCore::ContainerNodeImpl::getUpperLeftCorner): (WebCore::ContainerNodeImpl::getLowerRightCorner):
  • dom/NodeImpl.cpp: (WebCore::NodeImpl::getRect):
  • editing/SelectionController.cpp: (WebCore::SelectionController::layout): (WebCore::SelectionController::caretRect):
  • editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition):
  • khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::defaultEventHandler):
  • kwq/KWQRenderTreeDebug.cpp: (operator<<):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::selectionGapRects): (WebCore::RenderBlock::positionForCoordinates):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::positionForCoordinates): (WebCore::RenderContainer::lineBoxRects):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::computeAbsoluteRepaintRect): (WebCore::RenderTableCell::absolutePosition):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild): (WebCore::RenderTableRow::getAbsoluteRepaintRect): (WebCore::RenderTableRow::nodeAtPoint):
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows): (WebCore::RenderTableSection::addCell): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::recalcCells): (WebCore::RenderTableSection::nodeAtPoint):
  • rendering/RenderTableSection.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::lineBoxRects): (WebCore::RenderText::positionForCoordinates): (WebCore::RenderText::caretRect): (WebCore::RenderText::posOfChar): (WebCore::RenderText::selectionRect):
  • rendering/render_box.cpp: (WebCore::RenderBox::absolutePosition): (WebCore::RenderBox::caretRect):
  • rendering/render_br.cpp: (WebCore::RenderBR::caretRect):
  • rendering/render_canvas.h:
  • rendering/render_flow.cpp: (WebCore::RenderFlow::caretRect):
  • rendering/render_frames.cpp: (WebCore::RenderPart::updateWidgetPosition):
  • rendering/render_layer.cpp: (WebCore::RenderLayer::updateLayerPosition):
  • rendering/render_object.cpp: (WebCore::RenderObject::absoluteRects): (WebCore::RenderObject::absoluteBoundingBoxRect): (WebCore::RenderObject::absolutePosition):
  • rendering/render_object.h: (WebCore::RenderObject::absolutePositionForContent): (WebCore::RenderObject::offsetHeight):
  • rendering/render_replaced.cpp: (WebCore::RenderWidget::updateWidgetPosition):
1:13 AM Changeset in webkit [13345] by eseidel
  • 5 edits
    6 copies
    1 add in trunk/WebKitTools

2006-03-17 Eric Seidel <eseidel@apple.com>

Rubber-stamped by ggaren.

Break DumpRenderTree.m up into several files to make the code more readable.

  • DumpRenderTree/DumpRenderTree.h: Added.
  • DumpRenderTree/DumpRenderTree.m: (doneLoading): new accessor function for "done" global.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/DumpRenderTreeDraggingInfo.h: Added.
  • DumpRenderTree/DumpRenderTreeDraggingInfo.m: Added.
  • DumpRenderTree/EditingDelegate.h: Added.
  • DumpRenderTree/EditingDelegate.m: Added. (-[EditingDelegate webViewDidChangeSelection:]):
  • DumpRenderTree/EventSendingController.h: Added.
  • DumpRenderTree/EventSendingController.m: Added.
1:10 AM Changeset in webkit [13344] by adele
  • 10 edits
    6 adds in trunk

LayoutTests:

Reviewed by Hyatt.

Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=7797
Can't set background color on new text fields

  • fast/forms/input-appearance-bkcolor-expected.checksum: Added.
  • fast/forms/input-appearance-bkcolor-expected.png: Added.
  • fast/forms/input-appearance-bkcolor-expected.txt: Added.
  • fast/forms/input-appearance-bkcolor.html: Added.
  • fast/forms/resources
  • fast/forms/resources/apple.gif

WebCore:

Reviewed by Hyatt.

WebCore part of fix for:
http://bugzilla.opendarwin.org/show_bug.cgi?id=7797
Can't set background color on new text fields

Bezeled NSTextFieldCells always draw a background, so instead we'll use a new
WebKitSystemInterface function to just draw the border of the cell.

Since the theme is drawing the border and the engine is drawing the background
(which is different from the other form controls), we have to make sure we let the
theme paint the border after the engine paints the background.

  • platform/mac/WebCoreGraphicsBridge.h:
  • platform/mac/WebCoreGraphicsBridge.m: (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
  • rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
  • rendering/render_theme.cpp: (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorder): (WebCore::RenderTheme::shouldPaintBorder):
  • rendering/render_theme.h:
  • rendering/render_theme_mac.mm: (WebCore::RenderThemeMac::paintTextField): (WebCore::RenderThemeMac::setTextFieldCellState):

WebKit:

Reviewed by Hyatt.

WebKit part of fix for:
http://bugzilla.opendarwin.org/show_bug.cgi?id=7797
Can't set background color on new text fields

Added function to draw bezeled text field without drawing background.

  • WebCoreSupport/WebGraphicsBridge.m: (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.

Mar 16, 2006:

11:45 PM Changeset in webkit [13343] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Eric.


  • move setWindowFrame / windowFrame to WebPageBridge to fix build
  • WebCoreSupport/WebFrameBridge.m:
  • WebCoreSupport/WebPageBridge.m: (-[WebPageBridge setWindowFrame:]): (-[WebPageBridge windowFrame]):
4:19 PM Changeset in webkit [13342] by darin
  • 33 edits
    1 add
    3 deletes in trunk/WebCore

Reviewed by Eric.

  • removed KWQWindowWidget
  • changed most event handling to use references instead of pointers
  • chagned PageMac to no longer be a subclass of Page

Yes, I know there's no detail in this ChangeLog entry.
No, I don't plan to make a habit of doing things this way.
Yes, this will probably break the Windows build again.

  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
  • bridge/mac/FrameViewMac.mm:
  • bridge/mac/MacFrame.h:
  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::MacFrame): (WebCore::MacFrame::~MacFrame): (WebCore::MacFrame::wheelEvent): (WebCore::MacFrame::keyEvent): (WebCore::MacFrame::khtmlMousePressEvent): (WebCore::MacFrame::khtmlMouseMoveEvent): (WebCore::MacFrame::khtmlMouseReleaseEvent): (WebCore::MacFrame::mouseDown): (WebCore::MacFrame::mouseDragged): (WebCore::MacFrame::mouseUp): (WebCore::MacFrame::mouseMoved): (WebCore::MacFrame::sendContextMenuEvent): (WebCore::MacFrame::setBridge): (WebCore::MacFrame::dragSourceMovedTo): (WebCore::MacFrame::dragSourceEndedAt): (WebCore::MacFrame::dispatchDragSrcEvent):
  • bridge/mac/PageMac.h: Removed.
  • bridge/mac/PageMac.mm: Added. (WebCore::Page::Page): (WebCore::Page::windowRect): (WebCore::Page::setWindowRect):
  • bridge/mac/WebCoreFrameBridge.h:
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge page]): (-[WebCoreFrameBridge initializeSettings:]): (globalPoint): (createMouseEventFromDraggingInfo): (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): (-[WebCoreFrameBridge dragSourceMovedTo:]): (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
  • bridge/mac/WebCoreFrameNamespaces.mm: (WebCore::):
  • bridge/mac/WebCorePageBridge.h:
  • bridge/mac/WebCorePageBridge.mm: (-[WebCorePageBridge init]):
  • dom/DocumentImpl.cpp: (WebCore::DocumentImpl::prepareMouseEvent): (WebCore::DocumentImpl::defaultEventHandler):
  • dom/DocumentImpl.h:
  • dom/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): (WebCore::NodeImpl::dispatchKeyEvent): (WebCore::NodeImpl::dispatchWheelEvent):
  • dom/NodeImpl.h:
  • dom/dom2_eventsimpl.cpp: (WebCore::KeyboardEventImpl::KeyboardEventImpl):
  • dom/dom2_eventsimpl.h: (WebCore::KeyboardEventImpl::keyEvent):
  • khtml/ecma/kjs_window.cpp: (KJS::Window::getValueProperty): (KJS::WindowFunc::callAsFunction):
  • khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
  • ksvg2/svg/SVGDocumentImpl.cpp:
  • ksvg2/svg/SVGDocumentImpl.h:
  • kwq/KWQWindowWidget.h:
  • kwq/KWQWindowWidget.mm: Removed.
  • page/Frame.cpp: (WebCore::Frame::selectClosestWordFromMouseEvent): (WebCore::Frame::handleMousePressEventDoubleClick): (WebCore::Frame::handleMousePressEventTripleClick): (WebCore::Frame::handleMousePressEventSingleClick): (WebCore::Frame::khtmlMousePressEvent): (WebCore::Frame::handleMouseMoveEventSelection): (WebCore::Frame::khtmlMouseMoveEvent): (WebCore::Frame::khtmlMouseReleaseEvent): (WebCore::Frame::khtmlMouseDoubleClickEvent): (WebCore::Frame::passWidgetMouseDownEventToWidget):
  • page/Frame.h:
  • page/FrameView.cpp: (WebCore::FrameView::viewportMousePressEvent): (WebCore::FrameView::viewportMouseDoubleClickEvent): (WebCore::FrameView::viewportMouseMoveEvent): (WebCore::FrameView::viewportMouseReleaseEvent): (WebCore::FrameView::dispatchDragEvent): (WebCore::FrameView::updateDragAndDrop): (WebCore::FrameView::cancelDragAndDrop): (WebCore::FrameView::performDragAndDrop): (WebCore::FrameView::dispatchMouseEvent): (WebCore::FrameView::viewportWheelEvent):
  • page/FrameView.h:
  • page/MouseEventWithHitTestResults.h: (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): (WebCore::MouseEventWithHitTestResults::event):
  • page/Page.cpp: (WebCore::Page::init):
  • page/Page.h: (WebCore::Page::bridge):
  • platform/KeyEvent.h: (WebCore::KeyEvent::isAutoRepeat):
  • platform/MouseEvent.h: (WebCore::MouseEvent::MouseEvent):
  • platform/mac/KeyEventMac.mm: (WebCore::KeyEvent::KeyEvent):
  • platform/win/TemporaryLinkStubs.cpp: (FrameView::isFrameView):
  • rendering/render_form.cpp: (WebCore::RenderFormElement::clicked):
4:13 PM Changeset in webkit [13341] by bdakin
  • 1 edit
    848 adds in trunk/LayoutTests

Rubber stamped by Geoff.

Another round of Mozilla table tests.

3:08 PM Changeset in webkit [13340] by eseidel
  • 14 edits
    1 add in trunk/WebCore

2006-03-16 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Add additional hackish Font, focusring and caret code.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7803

  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • WebCore.vcproj/WebCore/build-generated-files.sh:
  • bindings/js/JSCanvasRenderingContext2DBase.cpp:
  • bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress):
  • bridge/win/FrameWin.h:
  • html/CanvasRenderingContext2D.h:
  • platform/IntSize.h:
  • platform/KeyEvent.h:
  • platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawArc): (WebCore::GraphicsContext::drawFocusRing):
  • platform/win/FontWin.cpp: (WebCore::hackishExtentForString): (WebCore::Font::floatWidth): (WebCore::convertRange): (WebCore::Font::drawText): (WebCore::Font::drawHighlightForText): (WebCore::Font::selectionRectForText): (WebCore::Font::checkSelectionPoint): (WebCore::Font::drawLineForText): (WebCore::Font::misspellingLineThickness):
  • platform/win/IntSizeWin.cpp: Added. (WebCore::IntSize::IntSize): (WebCore::IntSize::operator SIZE):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::visibleContentRect):
  • platform/win/TemporaryLinkStubs.cpp: (Widget::disableFlushDrawing): (GraphicsContext::GraphicsContext): (QListBox::setSelected): (QListBox::sizeForNumberOfLines): (QListBox::isSelected): (QListBox::appendItem): (QListBox::doneAppendingItems): (FrameWin::locationbarVisible): (FrameWin::canUndo): (FrameWin::mimeTypeForFileName): (FrameWin::issueTransposeCommand): (RenderCanvasImage::setNeedsImageUpdate): (FrameWin::shouldChangeSelection): (FrameWin::respondToChangedSelection): (FrameWin::clearRecordedFormValues): (FrameWin::recordFormValue): (BrowserExtensionWin::getHistoryLength): (Widget::setIsSelected): (GraphicsContext::selectedTextBackgroundColor): (GraphicsContext::addRoundedRectClip): (QScrollBar::QScrollBar): (QScrollBar::~QScrollBar): (QScrollBar::setSteps): (QScrollBar::scroll): (QScrollBar::setValue): (QScrollBar::setKnobProportion): (QListBox::QListBox): (QListBox::~QListBox): (QListBox::setSelectionMode): (QListBox::setFont):
  • rendering/render_canvasimage.h:
3:06 PM Changeset in webkit [13339] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • tweaks to my change to redo KJS::Node refcounting
  • kjs/nodes.cpp: (Node::ref): (Node::deref): (Node::refcount): (Node::clearNewNodes):
  • kjs/nodes.h:
3:05 PM Changeset in webkit [13338] by eseidel
  • 3 edits in trunk/WebKitTools

2006-03-16 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Add resize, scroll event support.

  • Spinneret/Spinneret/WebView.cpp: (WebKit::WebView::mouseMoved): (WebKit::WebView::mouseDown): (WebKit::WebView::mouseUp): (WebKit::WebView::mouseDoubleClick): (WebKit::WebView::keyPress): (WebKit::WebViewWndProc):
  • Spinneret/Spinneret/WebView.h:
3:00 PM Changeset in webkit [13337] by mjs
  • 12 edits
    1 copy in trunk/WebCore

Reviewed by Eric.

  • renamed URLArgs to ResourceRequest, split it into its own header
  • moved methods to get and set ResourceRequest to Frame
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/BrowserExtension.h:
  • bridge/mac/BrowserExtensionMac.h:
  • bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::openURLRequest): (WebCore::BrowserExtensionMac::createNewWindow):
  • bridge/mac/MacFrame.h:
  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::openURLRequest): (WebCore::MacFrame::submitForm): (WebCore::MacFrame::urlSelected):
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
  • khtml/ecma/kjs_window.cpp: (KJS::createNewWindow): (KJS::WindowFunc::callAsFunction):
  • page/Frame.cpp: (WebCore::Frame::didOpenURL): (WebCore::Frame::receivedFirstData): (WebCore::Frame::setResourceRequest): (WebCore::Frame::resourceRequest): (WebCore::Frame::begin): (WebCore::Frame::changeLocation): (WebCore::Frame::urlSelected): (WebCore::Frame::requestFrame): (WebCore::Frame::submitForm):
  • page/Frame.h:
  • page/FramePrivate.h:
  • page/ResourceRequest.h: Added. (WebCore::ResourceRequest::ResourceRequest): (WebCore::ResourceRequest::contentType): (WebCore::ResourceRequest::setContentType): (WebCore::ResourceRequest::doPost): (WebCore::ResourceRequest::setDoPost): (WebCore::ResourceRequest::lockHistory): (WebCore::ResourceRequest::setLockHistory): (WebCore::ResourceRequest::metaData):
1:24 PM Changeset in webkit [13336] by bdakin
  • 1 edit
    680 adds in trunk/LayoutTests

Rubber stamped by Geoff.

Still adding more mozilla table tests.

10:54 AM Changeset in webkit [13335] by bdakin
  • 1 edit
    143 adds in trunk/LayoutTests

Rubber stamped by Geoff.

Adding more mozilla table tests.

1:28 AM Changeset in webkit [13334] by darin
  • 2 edits in trunk/WebCore
  • need to touch one more file to fix the build (Darn the lack of dependencies for autogenerated bindings!)
  • dom/Element.idl: Touch. (Really this time.)
1:21 AM Changeset in webkit [13333] by eseidel
  • 2 edits in trunk/WebKitTools

2006-03-16 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Make build-webkit print correctly to stdout on windows.

  • Scripts/webkitdirs.pm: Fix to use devenv.com instead of devenv.exe
1:11 AM Changeset in webkit [13332] by darin
  • 1 edit in trunk/WebCore/ChangeLog
  • need to touch one more file to fix the build (Darn the lack of dependencies for autogenerated bindings!)
  • dom/Element.idl: Touch.
12:59 AM Changeset in webkit [13331] by eseidel
  • 7 edits in trunk/WebCore

2006-03-16 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Pushed focus ring handling down into GraphicsContext.cpp

  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::mouseDown):
  • platform/GraphicsContext.cpp: (WebCore::GraphicsContext::initFocusRing): (WebCore::GraphicsContext::clearFocusRing): (WebCore::GraphicsContext::addFocusRingRect):
  • platform/GraphicsContext.h:
  • platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate): (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::drawFocusRing):
  • rendering/render_flow.cpp: (WebCore::RenderFlow::addFocusRingRects):
  • rendering/render_object.cpp: (WebCore::RenderObject::addFocusRingRects):
12:54 AM Changeset in webkit [13330] by darin
  • 12 adds in trunk/WebCore/html

Oops, these files were supposed to go in.

12:41 AM Changeset in webkit [13329] by darin
  • 43 edits
    3 adds in trunk/WebCore

Reviewed by Hyatt.

  • WebCore.xcodeproj/project.pbxproj: Added new files. Changed bindings-generation code to work on the new html directory as well as the dom one.
  • bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
  • bindings/js/JSCanvasRenderingContext2DBase.h: Added.
  • bindings/js/JSDOMHTML.cpp: Added.
  • html: Added.
  • html/CanvasGradient.cpp: Added.
  • html/CanvasGradient.h: Added.
  • html/CanvasGradient.idl: Added.
  • html/CanvasPattern.cpp: Added.
  • html/CanvasPattern.h: Added.
  • html/CanvasPattern.idl: Added.
  • html/CanvasRenderingContext2D.cpp: Added.
  • html/CanvasRenderingContext2D.h: Added.
  • html/CanvasRenderingContext2D.idl: Added.
  • html/CanvasStyle.cpp: Added.
  • html/CanvasStyle.h: Added.
  • bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
  • bindings/js/JSDOMEvents.cpp: Ditto.
  • dom/Attr.idl: Ditto.
  • dom/DOMImplementation.idl: Ditto.
  • dom/DocumentType.idl: Ditto.
  • dom/MutationEvent.idl: Ditto.
  • dom/ProcessingInstruction.idl: Ditto.
  • dom/Text.idl: Ditto.
  • khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call toJS on a PassRefPtr as well as on a raw pointer.
  • bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D, CanvasGradient, and CanvasPattern to the "waht to include". Added a special case for strings beginning with Canvas to not add an "Impl" suffix. Made the generated impl() function be a const member function. Made m_mimpl be private instead of protected. Generate a toJS function for each class. Added flaot as a type. Generate String, not DOMString. Made the HashTable const.
  • bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to try to make a missing semicolon trigger an error, but ended up giving up on that for now.
  • khtml/html/html_canvasimpl.h:
  • khtml/html/html_canvasimpl.cpp: (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0. (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas on m_2DContext, if any. (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any. (WebCore::HTMLCanvasElementImpl::getContext): Added. (WebCore::HTMLCanvasElementImpl::size): Added. (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.
  • platform/Image.h:
  • platform/Image.cpp: (WebCore::Image::compositeOperatorFromString): Changed to take a String instead of a const char*.
  • khtml/html/html_imageimpl.h:
  • khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas): Tweaked formatting. Changed to use PassRefPtr.
  • bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
  • khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
  • khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
  • khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
  • khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::getValueProperty): (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): (KJS::toJS): (KJS::DOMStyleSheet::getValueProperty): (KJS::DOMStyleSheetList::indexGetter): (KJS::DOMStyleSheetList::nameGetter): (KJS::DOMStyleSheetListFunc::callAsFunction): (KJS::DOMCSSStyleSheet::getValueProperty): (KJS::DOMCSSRuleList::indexGetter): (KJS::DOMCSSRuleListFunc::callAsFunction): (KJS::DOMCSSRule::getValueProperty): (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction): (KJS::DOMCSSValueList::indexGetter): (KJS::DOMCSSValueListFunc::callAsFunction): (KJS::DOMRect::getValueProperty):
  • khtml/ecma/kjs_css.h:
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getValueProperty): (KJS::DOMNodeProtoFunc::callAsFunction): (KJS::DOMNodeList::indexGetter): (KJS::DOMNodeList::nameGetter): (KJS::DOMNodeList::callAsFunction): (KJS::DOMNodeListFunc::callAsFunction): (KJS::DOMDocument::getValueProperty): (KJS::DOMDocumentProtoFunc::callAsFunction): (KJS::DOMNamedNodeMap::indexGetter): (KJS::DOMNamedNodeMap::nameGetter): (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): (KJS::toJS): (KJS::DOMNamedNodesCollection::indexGetter):
  • khtml/ecma/kjs_dom.h:
  • khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): (KJS::JSLazyEventListener::parseCode): (KJS::DOMEvent::getValueProperty): (KJS::toJS): (KJS::DOMUIEvent::getValueProperty): (KJS::DOMMouseEvent::getValueProperty):
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::callAsFunction): (KJS::HTMLDocument::namedItemGetter): (KJS::HTMLDocument::getValueProperty): (KJS::HTMLDocument::put): (KJS::HTMLDocument::putValueProperty): (KJS::HTMLElement::classInfo): (KJS::HTMLElement::formIndexGetter): (KJS::HTMLElement::selectIndexGetter): (KJS::HTMLElement::implementsCall): (KJS::HTMLElement::callAsFunction): (KJS::HTMLElement::linkGetter): (KJS::HTMLElement::isIndexGetter): (KJS::HTMLElement::styleGetter): (KJS::HTMLElement::selectGetter): (KJS::HTMLElement::optionGetter): (KJS::HTMLElement::inputGetter): (KJS::HTMLElement::textAreaGetter): (KJS::HTMLElement::buttonGetter): (KJS::HTMLElement::labelGetter): (KJS::HTMLElement::fieldSetGetter): (KJS::HTMLElement::legendGetter): (KJS::HTMLElement::objectGetter): (KJS::HTMLElement::tableGetter): (KJS::HTMLElement::frameGetter): (KJS::HTMLElement::iFrameGetter): (KJS::HTMLElement::getValueProperty): (KJS::HTMLElement::toString): (KJS::HTMLElement::pushEventHandlerScope): (KJS::toJS): (KJS::HTMLElementFunction::callAsFunction): (KJS::HTMLElement::put): (KJS::HTMLCollection::indexGetter): (KJS::HTMLCollection::callAsFunction): (KJS::HTMLCollection::getNamedItems): (KJS::HTMLCollectionProtoFunc::callAsFunction): (KJS::HTMLSelectCollection::put): (KJS::OptionConstructorImp::construct): (KJS::ImageConstructorImp::construct):
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
  • khtml/ecma/kjs_range.cpp: (KJS::DOMRange::getValueProperty): (KJS::DOMRangeProtoFunc::callAsFunction): (KJS::toJS):
  • khtml/ecma/kjs_range.h:
  • khtml/ecma/kjs_traversal.cpp: (KJS::DOMNodeIterator::getValueProperty): (KJS::DOMNodeIteratorProtoFunc::callAsFunction): (KJS::toJS): (KJS::DOMTreeWalker::getValueProperty): (KJS::DOMTreeWalkerProtoFunc::callAsFunction): (KJS::JSNodeFilterCondition::acceptNode):
  • khtml/ecma/kjs_traversal.h:
  • khtml/ecma/kjs_views.cpp: (KJS::DOMAbstractView::getValueProperty): (KJS::DOMAbstractViewProtoFunc::callAsFunction): (KJS::toJS):
  • khtml/ecma/kjs_views.h:
  • khtml/ecma/kjs_window.cpp: (KJS::Window::getValueProperty): (KJS::Window::namedItemGetter): (KJS::Selection::getValueProperty): (KJS::SelectionFunc::callAsFunction): Rename uses and definitions of all the various converstions to JavaScript wrappers to the new common overloaded name: "toJS".
12:40 AM Changeset in webkit [13328] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed Vector so that you can pass a reference to something in the vector to the append or insert functions
  • kxmlcore/Vector.h: (KXMLCore::Vector::expandCapacity): Added new overloads that take a pointer to adjust and return the adjusted value of the pointer. (KXMLCore::Vector::append): Pass a pointer when expanding the vector, and use it when adding the new element. Makes the case where the element moves when the vector is expanded work. (KXMLCore::Vector::insert): Ditto.
12:10 AM Changeset in webkit [13327] by eseidel
  • 8 edits in trunk/WebCore

2006-03-15 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Push more of MacFrame down into Frame.
Add visibleContentRect method to ScrollView.

  • bridge/mac/MacFrame.h:
  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::imageFromRect): (WebCore::MacFrame::setDisplaysWithFocusAttributes): (WebCore::MacFrame::bodyBackgroundColor):
  • bridge/mac/WebCoreFrameBridge.mm:
  • page/Frame.cpp: (WebCore::Frame::visibleSelectionRect): (WebCore::Frame::setDisplaysWithFocusAttributes):
  • page/Frame.h:
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::visibleHeight): (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight): (WebCore::ScrollView::contentsX): (WebCore::ScrollView::contentsY): (WebCore::ScrollView::scrollXOffset): (WebCore::ScrollView::scrollYOffset): (WebCore::ScrollView::inWindow):

Mar 15, 2006:

11:15 PM Changeset in webkit [13326] by eseidel
  • 5 edits in trunk/WebCore

2006-03-15 Eric Seidel <eseidel@apple.com>

Reviewed by darin.

Remove unused code and clean-up style.

  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::advanceToNextMisspelling): (WebCore::MacFrame::wheelEvent): (WebCore::MacFrame::nextKeyViewInFrame): (WebCore::MacFrame::nextKeyViewInFrameHierarchy): (WebCore::MacFrame::nextKeyView):
  • page/Frame.cpp:
  • page/Frame.h:
  • page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent):
10:21 PM Changeset in webkit [13325] by eseidel
  • 15 edits
    2 adds in trunk

2006-03-15 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

http://bugzilla.opendarwin.org/show_bug.cgi?id=7790
addEventListener does not work with "dblclick" event.
Renamed khtmlDblclickEvent to dblclickEvent to fix.

Test: fast/events/dblclick-addEventListener.html

  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::mouseUp): (WebCore::MacFrame::mouseMoved): (WebCore::MacFrame::shouldDragAutoNode): (WebCore::MacFrame::sendContextMenuEvent):
  • dom/EventNames.h:
  • dom/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent):
  • dom/NodeImpl.h:
  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::wasRunByUserGesture):
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getValueProperty): (KJS::DOMNode::putValueProperty):
  • khtml/ecma/kjs_window.cpp: (KJS::Window::getValueProperty): (KJS::Window::put):
  • khtml/html/HTMLElementImpl.cpp: (WebCore::HTMLElementImpl::parseMappedAttribute):
  • page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent):
  • page/FrameView.h:
10:12 PM Changeset in webkit [13324] by ap
  • 5 edits
    4 adds in trunk

Reviewed by Maciej.

Test: fast/dom/Document/document-reopen.html
Test: fast/dom/Document/doc-open-while-parsing.html

  • dom/DocumentImpl.cpp: (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
  • page/Frame.cpp: (WebCore::Frame::isComplete): Added const specifier. (WebCore::Frame::isLoadingMainResource): New function.
  • page/Frame.h:
8:53 PM Changeset in webkit [13323] by darin
  • 2 edits in trunk/WebKitTools

Reviewed by Maciej.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Fix path that had a lowercase "i" in it so this builds on case-sensitive file systems.
7:44 PM Changeset in webkit [13322] by darin
  • 5 deletes in trunk

Removed a few stray .cvsignore files that crept in.

6:00 PM Changeset in webkit [13321] by bdakin
  • 1 edit
    182 adds in trunk/LayoutTests

Rubber stamped by Geoff.

even more mozilla table tests.

5:44 PM Changeset in webkit [13320] by ggaren
  • 1 edit
    2 adds in trunk/WebKitTools

Reviewed by Eric.

Added run-testkjs and compare-timing-files scripts, to support super
accurate JS iBench.

  • Scripts/compare-timing-files: Added.
  • Scripts/run-testkjs: Added.
5:15 PM Changeset in webkit [13319] by darin
  • 2 edits in trunk/WebKit

Fix by Patrick Beard, reviewed by me.

  • fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
  • Plugins/WebPluginController.m: (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet so we can act like it's an NSSet. (-[WebPluginController dealloc]): Release _views and _checksInProgress.
4:44 PM Changeset in webkit [13318] by eseidel
  • 2 edits in trunk/JavaScriptCore

2006-03-15 Eric Seidel <eseidel@apple.com>

Reviewed by adele.

Build fix.

  • kjs/date_object.cpp: (KJS::DateProtoFunc::callAsFunction): use size() not "len()"
4:40 PM Changeset in webkit [13317] by adele
  • 5 edits in trunk/WebCore

Reviewed by Eric.

  • Fixes win32 build.
  • page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
  • platform/MouseEvent.h: Added isMouseButtonDown
  • platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
  • platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.
4:35 PM Changeset in webkit [13316] by bdakin
  • 1 edit
    848 adds in trunk/LayoutTests

Rubber stamped by Geoff.

Even more Mozilla tables tests.

4:03 PM Changeset in webkit [13315] by bdakin
  • 1 edit
    849 adds in trunk/LayoutTests

Rubber stamped by Geoff

More Mozilla table tests.

3:01 PM Changeset in webkit [13314] by bdakin
  • 1 edit
    617 adds in trunk/LayoutTests

Rubber stamped by Geoff.

First round of committing Mozilla table tests to our tree.

2:46 PM Changeset in webkit [13313] by aliceli1
  • 1 edit in trunk/WebKitSite/projects/compat/hitlist.html

forgot to change the date

2:28 PM Changeset in webkit [13312] by eseidel
  • 2 edits in trunk/WebCore

2006-03-15 Eric Seidel <eseidel@apple.com>

Reviewed by geoff.

  • platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
2:26 PM Changeset in webkit [13311] by eseidel
  • 3 edits in trunk/JavaScriptCore

2006-03-15 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Fix CString copy constructor, fixes Date.parse("") on Win32.

  • kjs/date_object.cpp: (KJS::DateProtoFunc::callAsFunction):
  • kjs/ustring.cpp: (KJS::CString::CString): (KJS::CString::operator=):
1:59 PM Changeset in webkit [13310] by aliceli1
  • 1 edit in trunk/WebKitSite/projects/compat/hitlist.html

added www.live.com to list and reordered by bug number.

1:29 PM Changeset in webkit [13309] by ggaren
  • 2 edits in trunk/WebKitSite

Reviewed by TimH.

  • projects/compat/hitlist.html: Moved delta.com to the alumni list, added description of alumni list.
12:56 PM Changeset in webkit [13308] by hyatt
  • 1 edit in trunk/LayoutTests/fast/box-sizing/percentage-height-expected.txt

Check in updated results for fast/box-sizing/percentage-height.html. All results for this test are wrong, but only in DumpRenderTree. Safari renders it correctly.

12:12 PM Changeset in webkit [13307] by hyatt
  • 2 edits in trunk/WebCore

Fix the box-sizing layout test by stopping integer overflowing from
occurring in the flexbox code.

Reviewed by beth

  • rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::allowedChildFlex):
10:43 AM Changeset in webkit [13306] by bdakin
  • 2 edits in trunk/WebCore

Reviewed by Eric

Fix for some leaks and intermittent broken pipes in the layout
tests after check-in for http://bugzilla.opendarwin.org/
show_bug.cgi?id=4171.

10:26 AM Changeset in webkit [13305] by darin
  • 1 edit in trunk/LayoutTests/ChangeLog

Update information about when a bug was fixed.

2:21 AM Changeset in webkit [13304] by mjs
  • 13 edits in trunk/JavaScriptCore

Reviewed by Anders.


The memory usage of Node was reduced by 2 machine words per node:

  • sourceURL was removed and only kept on FunctionBodyNode. The source URL can only be distinct per function or top-level program node, and you always have one.


  • refcount was removed and kept in a separate hashtable when greater than 1. newNodes set represents floating nodes with refcount of 0. This helps because almost all nodes have a refcount of 1 for almost all of their lifetime.


  • bindings/runtime_method.cpp: (RuntimeMethod::RuntimeMethod): Pass null body, added FIXME.
  • kjs/Parser.cpp: (KJS::clearNewNodes): New nodes are tracked in nodes.cpp now, but still clear them at the appropriate time.
  • kjs/context.h: (KJS::ContextImp::currentBody): added; used to retrieve source URL and sid for current code. (KJS::ContextImp::pushIteration): moved here from LabelStack (KJS::ContextImp::popIteration): ditto (KJS::ContextImp::inIteration): ditto (KJS::ContextImp::pushSwitch): ditto (KJS::ContextImp::popSwitch): ditto (KJS::ContextImp::inSwitch): ditto
  • kjs/function.cpp: (KJS::FunctionImp::FunctionImp): Add FunctionBodyNode* parameter. (KJS::FunctionImp::callAsFunction): Pass body to ContextImp. (KJS::FunctionImp::argumentsGetter): _context renamed to m_context. (KJS::DeclaredFunctionImp::DeclaredFunctionImp): Pass body to superclass constructor. (KJS::GlobalFuncImp::callAsFunction): Pass progNode as body for ContextImp in eval.
  • kjs/function.h: Move body field from DeclaredFunctionImp to FunctionImp.
  • kjs/grammar.y: Change DBG; statements no longer have a sourceid.
  • kjs/internal.cpp: (KJS::ContextImp::ContextImp): Initialize new m_currentBody, m_iterationDepth and m_switchDepth data members. New FunctionBodyNode* parameter - the function body provides source URL and SourceId. (KJS::InterpreterImp::mark): Use exception() function, not _exception directly. (KJS::InterpreterImp::evaluate): Pass progNode to ContextImp constructor to use as the body.
  • kjs/internal.h: (KJS::LabelStack::LabelStack): Remove iteration depth and switch depth; statement label stacks don't need these and it bloats their size. Put them in the ContextImp instead.
  • kjs/interpreter.cpp: (KJS::ExecState::lexicalInterpreter): Renamed _context to m_context.
  • kjs/interpreter.h: (KJS::ExecState::dynamicInterpreter): Renamed _context to m_context. (KJS::ExecState::context): ditto (KJS::ExecState::setException): Renamed _exception to m_exception (KJS::ExecState::clearException): ditto (KJS::ExecState::exception): ditto (KJS::ExecState::hadException): ditto (KJS::ExecState::ExecState): ditto both above renames
  • kjs/nodes.cpp: (Node::Node): Removed initialization of line, source URL and refcount. Add to local newNodes set instead of involving parser. (Node::ref): Instead of managing refcount directly, story refcount over 1 in a HashCountedSet, and keep a separate HashSet of "floating" nodes with refcount 0. (Node::deref): ditto (Node::refcount): ditto (Node::clearNewNodes): Destroy anything left in the new nodes set. (currentSourceId): Inline helper to get sourceId from function body via context. (currentSourceURL): ditto for sourceURL. (Node::createErrorCompletion): use new helper (Node::throwError): ditto (Node::setExceptionDetailsIfNeeded): ditto (StatementNode::StatementNode): remove initialization of l0 and sid, rename l1 to m_lastLine. (StatementNode::setLoc): Set own m_lastLine and Node's m_line. (StatementNode::hitStatement): Get sid, first line, last line in the proper new ways. (StatListNode::StatListNode): updated for setLoc changes (BlockNode::BlockNode): ditto (DoWhileNode::execute): excpect iteraton counts on ContextImp, not LabelStack (WhileNode::execute): ditto (ForNode::execute): ditto (ForInNode::execute): ditto (ContinueNode::execute): excpect inIteration on ContextImp, not LabelStack (BreakNode::execute): excpect inIteration and inSwitch on ContextImp, not LabelStack (SwitchNode::execute): expect switch counts on ContextImp, not LabelStack (FunctionBodyNode::FunctionBodyNode): update for new setLoc (FunctionBodyNode::processFuncDecl): reindent (SourceElementsNode::SourceElementsNode): update for new setLoc
  • kjs/nodes.h: (KJS::Node::lineNo): Renamed _line to m_line (KJS::StatementNode::firstLine): Use lineNo() (KJS::StatementNode::lastLine): Renamed l1 to m_lastLine (KJS::FunctionBodyNode::sourceId): added (KJS::FunctionBodyNode::sourceURL): added
  • kjs/testkjs.cpp:
1:41 AM Changeset in webkit [13303] by adele
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

Followup fix for previous checkin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
<rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas

Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.
This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will
also work with nested layers, like those in the RSS View.

  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
1:05 AM Changeset in webkit [13302] by adele
  • 7 edits in trunk/WebCore

Reviewed by Maciej.

No test case. There doesn't appear to be a way to trigger the autoscroll with the EventSender.

  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent): If we have a layer that can scroll, let the layer handle its autoscroll. Otherwise, call over the bridge to let AppKit scroll the view. (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
  • page/Frame.cpp: (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer. (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer. (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer. (WebCore::Frame::startAutoscrollTimer): Added. (WebCore::Frame::stopAutoscrollTimer): Added.
  • page/Frame.h: Added new autoscroll methods.
  • page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
  • rendering/render_layer.cpp: (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls. (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll. Except for overflow:hidden areas that aren't editable. In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
  • rendering/render_layer.h: Added new autoscroll methods.

Mar 14, 2006:

11:01 PM Changeset in webkit [13301] by justing
  • 9 edits
    6 adds in trunk

LayoutTests:

Reviewed by mjs


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
TinyMCE: Implement execCommand CreateLink

  • editing/editing.js:
  • editing/execCommand/createLink-expected.checksum: Added.
  • editing/execCommand/createLink-expected.png: Added.
  • editing/execCommand/createLink-expected.txt: Added.
  • editing/execCommand/createLink.html: Added.

WebCore:

Reviewed by mjs


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
TinyMCE: Implement execCommand CreateLink


Used ApplyStyleCommand so that creating a link from
a selection doesn't change document structure.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): (WebCore::ApplyStyleCommand::doApply): (WebCore::ApplyStyleCommand::removeInlineStyle): (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
  • editing/ApplyStyleCommand.h:
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::applyStyle):
  • editing/CreateLinkCommand.cpp: Added. (WebCore::CreateLinkCommand::CreateLinkCommand): (WebCore::CreateLinkCommand::doApply):
  • editing/CreateLinkCommand.h: Added.
  • editing/jsediting.cpp:
  • page/Frame.cpp: (WebCore::Frame::computeAndSetTypingStyle): (WebCore::Frame::applyStyle): (WebCore::Frame::applyParagraphStyle):
10:40 PM Changeset in webkit [13300] by bdakin
  • 12 edits in trunk

Reviewed by Maciej

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4171
This patch changes the word-break algorithm used to apply text-
transform:capitalize to use a UBreakIterator. This fixes some
existing edge cases we have in our text-transform:capitalize
support and generally makes our results more consistent.

7:41 PM Changeset in webkit [13299] by darin
  • 7 edits in trunk/LayoutTests

Rubber stamped by Hyatt.

  • land new results for two tests affected by Hyatt's layer change
  • fast/encoding/utf-16-big-endian-expected.checksum: Updated.
  • fast/encoding/utf-16-big-endian-expected.png: Ditto.
  • fast/encoding/utf-16-big-endian-expected.txt: Ditto.
  • fast/encoding/utf-16-little-endian-expected.checksum: Ditto.
  • fast/encoding/utf-16-little-endian-expected.png: Ditto.
  • fast/encoding/utf-16-little-endian-expected.txt: Ditto.
7:25 PM Changeset in webkit [13298] by justing
  • 5 edits in trunk/WebCore

Reviewed by adele


<http://bugzilla.opendarwin.org/show_bug.cgi?id=7770>
Should only dispatch the khtmlTextInsertedEvent for high level editing operations

Dispatching this event for low level editing operations
isn't necessary and causes a big performance regression.
Also renamed the event because it's dispatched for changes
other than just text insertion.

  • dom/EventNames.h:
  • editing/EditCommand.cpp: (WebCore::EditCommand::apply): (WebCore::EditCommand::unapply): (WebCore::EditCommand::reapply):
  • khtml/html/HTMLTextFieldInnerElementImpl.cpp: (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
  • page/Frame.cpp: (WebCore::dispatchKHTMLEditableContentChanged): (WebCore::Frame::appliedEditing): (WebCore::Frame::unappliedEditing): (WebCore::Frame::reappliedEditing):
6:47 PM Changeset in webkit [13297] by darin
  • 3 edits in trunk/LayoutTests
  • land new results for tests affected by my setAttribute change
  • dom/xhtml/level3/core/nodeisequalnode15-expected.txt: Updated to reflect a new kind of failure.
  • dom/xhtml/level3/core/nodeisequalnode16-expected.txt: Updated to reflect success.
6:07 PM Changeset in webkit [13296] by ggaren
  • 1 edit
    1 add in trunk/LayoutTests

Oops, forgot to add this file.

  • fast/js/resources/string-sort.js: Added.
5:17 PM Changeset in webkit [13295] by darin
  • 2 edits in trunk/WebCore

Reviewed by Eric.

  • fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]): Don't call setBridge(nil).
5:09 PM Changeset in webkit [13294] by ggaren
  • 7 edits
    2 adds in trunk

JavaScriptCore:

  • Fixed <rdar://problem/4478239> string sort puts "closed" before "close"

Reviewed by Eric.

  • kjs/ustring.cpp: (KJS::compare): Inverted a < in order to treat the longer string as > the shorter string.

LayoutTests:

Reviewed by Eric.

Layout test for <rdar://problem/4478239> string sort puts "closed"
before "close"

Also changed the engine to report data types when tests fail, so that
you don't get messages like, "should be A, was A."

Updated results for these files:

  • fast/js/kde/Array-expected.txt:
  • fast/js/kde/RegExp-expected.txt:
  • fast/js/kde/encode_decode_uri-expected.txt:
  • fast/js/resources/js-test-pre.js:

Added these files:

  • fast/js/string-sort-expected.txt: Added.
  • fast/js/string-sort.html: Added.
3:54 PM Changeset in webkit [13293] by darin
  • 2 edits in trunk/WebCore
  • oops, didn't mean to check this in
  • dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute): Reverted nil-document check that I didn't mean to remove.
3:53 PM Changeset in webkit [13292] by bdakin
  • 1 edit
    4 adds in trunk/LayoutTests

Reviewed by Hyatt

Layout test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6796

3:50 PM Changeset in webkit [13291] by bdakin
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6796
This fix prevents infinite recursion when a block with overflow:
auto can't decide if it needs scrollbars or not. This fix puts a
guard in place in updateScrollInforAfterLayout that only allows you
to re-layout if you are not currently laying out.

3:01 PM Changeset in webkit [13290] by darin
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Maciej.

The fix occurred somewhere between r9638 (2005-07-09) and the first CVS
nightly build (WebKit-CVS-2005-10-01 03-27-01 GMT.dmg).

  • fast/dom/setAttribute-using-initial-input-value-expected.txt: Added.
  • fast/dom/setAttribute-using-initial-input-value.html: Added.
2:58 PM Changeset in webkit [13289] by darin
  • 8 edits
    2 adds in trunk

LayoutTests:

Reviewed by Geoff and Eric.

  • fast/dom/Element/attribute-uppercase.html: Added.
  • fast/dom/Element/attribute-uppercase-expected.txt: Added.

WebCore:

Reviewed by Geoff and Eric.

  • fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7765>, <rdar://problem/4474884> hasAttribute always returns false for uppercase attribute names like "STYLE"
  • re-add missing JavaScript binding for getAttributeNS
  • fixed handling of null namespace parameters in getAttributeNS and friends

Test: fast/dom/Element/attribute-uppercase.html

To match Gecko's behavior, the magic "lowercasing" of all attribute names
is only done when calling DOM Level 1 functions that lack an NS suffix.
The functions with an NS suffix are case sensitive, even in HTML documents.

  • dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual functions instead of calling through to getNamedItemNS and removeNamedItemNS.
  • dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called the NS functions. They can't work that way any more since the lowercasing behavior is different.
  • dom/dom_elementimpl.cpp: (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document is an HTML document, and then calls through to the qualified name version. Removed the null check since getDocument is guaranteed to never return 0 now that nodes hold a reference to their document. (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code. (WebCore::ElementImpl::setAttribute): More of the same. (WebCore::ElementImpl::setAttributeNS): Ditto. (WebCore::ElementImpl::removeAttribute): Ditto. (WebCore::ElementImpl::removeAttributeNS): Ditto. (WebCore::ElementImpl::getAttributeNode): Ditto. (WebCore::ElementImpl::getAttributeNodeNS): Ditto. (WebCore::ElementImpl::hasAttribute): Ditto. (WebCore::ElementImpl::hasAttributeNS): Ditto. (WebCore::NamedAttrMapImpl::getNamedItem): Ditto. (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto. (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto. (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto. (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null check like the one mentioned above.
  • dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI parameters, since we don't want null to turn into "null". Added a semicolon to the end of the hasAttributeNS line -- was causing the next declaration to be eaten up (so getAttributeNS was completely broken).
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString for both getNamedItemNS and removeNamedItemNS.
  • bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
12:11 PM Changeset in webkit [13288] by tomernic
  • 4 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)

  • WebView/WebFrameViewPrivate.h:
  • WebView/WebFrameView.m: (-[WebFrameView documentViewShouldHandlePrint]): Called by the host application before it initializes and runs a print operation. If NO is returned, the host application will abort its print operation and call -printDocumentView on the WebFrameView. The document view is then expected to run its own print operation. If YES is returned, the host application's print operation will continue as normal. (-[WebFrameView printDocumentView]): Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
  • Plugins/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]): Allow the plugin to take over printing if it defines an NPP_Print function (-[WebNetscapePluginDocumentView printDocumentView]): Print the plugin document.
3:21 AM Changeset in webkit [13287] by hyatt
  • 1 edit in trunk/WebCore/rendering/render_layer.cpp

Fix the setpos to move screwup. Didn't realize move was a delta.

3:03 AM Changeset in webkit [13286] by hyatt
  • 4 edits in trunk/WebCore

Fix for bug 7259, opacity performs badly.

Reviewed by mjs

Adding some tests in fast/opacity.

  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::requiresLayer):
  • rendering/render_layer.cpp: (WebCore::transparencyClipBox): (WebCore::RenderLayer::beginTransparencyLayers): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::intersectsDamageRect): (WebCore::RenderLayer::absoluteBoundingBox):
  • rendering/render_layer.h: (WebCore::RenderLayer::root):
2:52 AM Changeset in webkit [13285] by eseidel
  • 2 edits in trunk/WebKitTools

2006-03-14 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Make the URL bar relinquish focus on page load.

  • Spinneret/Spinneret/Spinneret.cpp: (MyEditProc):
2:33 AM Changeset in webkit [13284] by eseidel
  • 2 edits in trunk/WebKitTools

2006-03-14 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Fix WebView to allow KeyFocus.
Add handling of space and shift-space for scrolling.

  • Spinneret/Spinneret/WebView.cpp: (WebKit::scrollMessageForKey): (WebKit::WebViewWndProc):
1:49 AM Changeset in webkit [13283] by eseidel
  • 2 edits in trunk/WebCore

2006-03-14 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Fix Gif crasher.

  • platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::do_lzw): Initialize array after new.
1:19 AM Changeset in webkit [13282] by eseidel
  • 2 edits in trunk/WebCore

2006-03-14 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Make MouseEvents aware of current scroll position.

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::viewportToContents): (WebCore::ScrollView::contentsToViewport):

Mar 13, 2006:

11:40 PM Changeset in webkit [13281] by eseidel
  • 2 edits in trunk/WebCore

2006-03-13 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Fix mouse events to be window-relative.

  • platform/win/MouseEventWin.cpp: (WebCore::positionForEvent): (WebCore::globalPositionForEvent): (WebCore::MouseEvent::MouseEvent):
11:05 PM Changeset in webkit [13280] by eseidel
  • 3 edits in trunk/WebKitTools

2006-03-10 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.

Add scrolling support into Spinneret.

  • Spinneret/Spinneret/WebFrame.cpp: (WebKit::WebFrame::paint):
  • Spinneret/Spinneret/WebView.cpp: (WebKit::WebView::createWebView): (WebKit::calculateScrollDelta): (WebKit::scrollMessageForKey): (WebKit::WebViewWndProc):
10:25 PM Changeset in webkit [13279] by eseidel
  • 3 edits in trunk/WebCore

2006-03-13 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Close DeviceContext leaks in Font code.
Also add moveCursor stub to make maps.google.com not crash.

  • platform/win/FontWin.cpp: (WebCore::getFontData): (WebCore::Font::floatWidth): (WebCore::Font::drawText):
  • platform/win/TemporaryLinkStubs.cpp: (Cursor::Cursor): (WebCore::moveCursor):
8:50 PM Changeset in webkit [13278] by eseidel
  • 4 edits in trunk/WebKitTools

2006-03-13 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Fix checksum generation on Intel machines.
Also moved to CGImage APIs instead of NSBitmapImageRep, may possibly
give a small speed boost now that it uses a shared buffer.

  • DumpRenderTree/DumpRenderTree.m: (main): (dump): (md5HashStringForBitmap):
  • DumpRenderTree/ImageDiff.m: (computePercentageDifferent):
7:30 PM Changeset in webkit [13277] by eseidel
  • 3 edits
    5 adds in trunk

2006-03-13 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren & TimH.

<rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
XML_DTD_NODE objects in the tree were causing loadChildSheets to
fail to preload child stylesheets, this patch causes us to
correctly ignore all nodes besides the first XML_ELEMENT_NODE at
the root level when searching the tree for xsl:include statements
to pre-load.

Test: fast/xsl/xslt-second-level-import.xml

  • khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::loadChildSheets):
6:26 PM Changeset in webkit [13276] by eseidel
  • 8 edits
    4 adds in trunk

2006-03-10 Rob Buis <buis@kde.org>

Reviewed by darin. Landed by eseidel.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7666:
dasharray on rounded rectangles is broken

Make sure the rounded rectangle is drawn clockwise, as outlined
in the specification.

Test: svg/custom/dashArrayOrigin.svg

  • kcanvas/KCanvasCreator.cpp: (WebCore::KCanvasCreator::createRoundedRectangle):
4:15 PM Changeset in webkit [13275] by thatcher
  • 4 copies in tags/WebCore-417.24/WebCore

New tag (part 2).

4:14 PM Changeset in webkit [13274] by thatcher
  • 1 add in tags/WebCore-417.24

New tag.

4:14 PM Changeset in webkit [13273] by thatcher
  • 5 copies in tags/JavaScriptCore-417.11/JavaScriptCore

New tag (part 2).

4:14 PM Changeset in webkit [13272] by thatcher
  • 1 add in tags/JavaScriptCore-417.11

New tag.

4:12 PM Changeset in webkit [13271] by thatcher
  • 4 edits in branches/Safari-2-0-branch

Versioning

4:09 PM Changeset in webkit [13270] by thatcher
  • 4 edits in branches/Safari-2-0-branch

Merged fix from TOT to Safari-2-0-branch

2006-02-16 Tim Omernick <timo@apple.com>

Reviewed by Geoff.

<rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps)
with javascript disabled (7015)

Added a test case, manual-tests/NPN_Invoke. This is a skeleton of a Netscape
plugin which uses NPN_Invoke() to call the window.alert() JavaScript function.


  • bridge/mac/MacFrame.mm: (WebCore::MacFrame::windowScriptNPObject): Removed the check Darin added to return 0 when JavaScript is disabled. This method cannot return 0, because plugins are not guaranteed to check for that. Removed my old fix for Radar 4428609 (7015) in favor of a better solution. Instead of creating a "dummy" JSObject to represent the window script object when JavaScript is disabled, we use the new JavaScriptCore bindings API to create a "no script" NPObject. This solution is better because it does not cause entry into any JavaScript interpreter code.
  • manual-tests/NPN_Invoke: Added.
  • manual-tests/NPN_Invoke/English.lproj: Added.
  • manual-tests/NPN_Invoke/English.lproj/Localized.r: Added.
  • manual-tests/NPN_Invoke/Info.plist: Added.
  • manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added.
  • manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Added.
  • manual-tests/NPN_Invoke/main.c: Added.
  • manual-tests/NPN_Invoke/test.html: Added.
2:16 PM Changeset in webkit [13269] by ggaren
  • 4 edits in trunk/WebKit

Reviewed by timo.

  • Fixed the load progress indicator to give more incremental feedback, and to stop spending so much time near 100%.

I did two things:
(1) Fixed some bugs and a misspelling in the previous heuristic's
implementation
(2) Added two new rules to the heuristic:

(a) Treat the first layout as the half-way point.
(b) Just like we jump the first 10% to indicate that a load has
started, jump the last 10% to indicate that a load has finished.

Rule 2a is good for two reasons. First, it seems unnatural for loading
to be "more than half done" when you can't even see anything. Second,
in the early stages of laading our estimate of how much we'll need to
load is often off by as much as 6000% (e.g., cnn.com). So anything that
makes the progress indicator more conservative in the early stages of
loading is helpful.

Rule 2b is good because it's confusing for loading to be "100% done"
but still ongoing.

FIXME: The indicator still isn't perfect. For example, the old behavior
shows up @ moviefone.com. Two areas for future work:
(1) Estimate number of linked resources. Our code estimates the size
of a single resource, but does nothing to estimate the number of
resources that resource might link to. This is the key to why we're
so wrong at the beginning.
(2) Improve "when to do first layout" heuristic. A JavaScript query
for a style property forces layout, creating a phantom first layout
with no content, essentially nullifying 2a for certain pages.


Filed <rdar://problem/4475834> to track estimating the number of
linked resources. Phantom layouts are already on Hyatt's radar.

  • WebView/WebFrame.m: (-[WebFrame _setState:]): Update firstLayoutDone (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve case, query 'frame' instead of 'self', so that we actually recurse. (-[WebFrame _firstLayoutDone]): New method (-[WebFrame _didFirstLayout]): Update firstLayoutDone
  • WebView/WebFramePrivate.h: Added firstLayoutDone ivar
  • WebView/WebView.m: (-[WebView _incrementProgressForConnectionDelegate:data:]): (1) Implemented 2a and 2b (2) Bug fix: only update the 'last time I sent a notification' time if we actually send a notification. (3) Don't test for progress < 0 because ensuring progress < max also ensures max - progress > 0. (Do still test for progress > max because rounding errors make that a possibility -- although a very minor one.) (4) Query only the loading frame and its subframes for pending requests instead of defaulting to the main frame. This is a slight optimization in cases where the main frame did not begin the load, and it makes the code more consistent.
12:00 PM Changeset in webkit [13268] by darin
  • 2 edits in trunk/WebKitTools

Reviewed by Tim Hatcher.

  • Scripts/run-webkit-tests: Fix httpd handling to work on systems that have it named httpd-1.3 instead.
11:55 AM Changeset in webkit [13267] by ap
  • 2 edits in trunk/WebKitTools

Fix proposed by Mitz Pettel, reviewed by Darin.

  • Scripts/run-webkit-tests: Make test paths canonical, to form proper URLs (sequences of slashes are equivalent to a single slash in POSIX paths, but not in URLs).
11:29 AM Changeset in webkit [13266] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
  • History/WebHistory.m: (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): use [self historyItemLimit], which prefers the explicitly-set value and falls back to the NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
Note: See TracTimeline for information about the timeline view.