Timeline


and

06/07/08:

22:56 Changeset [34438] by mitz@apple.com
  • 5 edits in trunk

WebCore:

Reviewed by Dave Hyatt.

Covered by fast/css/remove-shorthand.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::initShorthandMap): Fixed a typo which mapped the background shorthand to the mask properties.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/css/remove-shorthand-expected.txt:
  • fast/css/remove-shorthand.html:
20:50 Changeset [34437] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Dan Bernstein.

Bug 17928: testkjs shouldn't require "-f"
<https://bugs.webkit.org/show_bug.cgi?id=17928>

  • kjs/testkjs.cpp: (printUsageStatement): (parseArguments):
18:57 Changeset [34436] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-06-07 Brent Fulgham <bfulgham@gmail.com>

Cairo build fix for r34432

  • html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern):
18:44 Changeset [34435] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-06-07 Jan Michael Alonzo <jmalonzo@webkit.org>

Confirmed by Christian Dywan.

Gtk build fix for r34432

  • webkit/webkitwebhistoryitem.cpp: (_WebKitWebHistoryItemPrivate::webkit_history_item_add): (_WebKitWebHistoryItemPrivate::webkit_history_item_remove): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): (WebKit::core):
18:12 Changeset [34434] by darin@apple.com
  • 2 edits in trunk/WebKit/gtk

2008-06-07 Darin Adler <darin@apple.com>

  • try to fix build after HistoryItem changes
  • webkit/webkitwebhistoryitem.cpp: (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): Use HistoryItem::create. (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): Ditto. I also believe this fixes a memory leak in the old version.
17:20 Changeset [34433] by cwzwarich@webkit.org
  • 4 edits
    1 delete in trunk

2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Timothy.

Remove the --squirrelfish option from SunSpider, as it is no longer needed.

SunSpider:


  • sunspider:
  • tests/LIST-SQUIRRELFISH: Removed.

WebKitTools:

  • Scripts/run-sunspider:
15:51 Changeset [34432] by darin@apple.com
  • 100 edits in trunk

WebCore:

2008-06-07 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toHTMLCanvasStyle):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  • bindings/js/JSNodeFilterCondition.h: (WebCore::JSNodeFilterCondition::create):
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::toNodeFilter):
  • bindings/js/JSSVGLazyEventListener.h: (WebCore::JSSVGLazyEventListener::create):
  • bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::multiply): (WebCore::JSSVGMatrix::inverse): (WebCore::JSSVGMatrix::translate): (WebCore::JSSVGMatrix::scale): (WebCore::JSSVGMatrix::scaleNonUniform): (WebCore::JSSVGMatrix::rotate): (WebCore::JSSVGMatrix::rotateFromVector): (WebCore::JSSVGMatrix::flipX): (WebCore::JSSVGMatrix::flipY): (WebCore::JSSVGMatrix::skewX): (WebCore::JSSVGMatrix::skewY):
  • bindings/js/JSSVGPODTypeWrapper.h: (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create): (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite): (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create): (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly): (WebCore::JSSVGPODTypeWrapperCreatorForList::create): (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper): (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
  • bindings/js/JSSVGPointListCustom.cpp: (WebCore::commonExit): (WebCore::commonExitReadOnly): (WebCore::JSSVGPointList::initialize): (WebCore::JSSVGPointList::getItem): (WebCore::JSSVGPointList::insertItemBefore): (WebCore::JSSVGPointList::replaceItem): (WebCore::JSSVGPointList::removeItem): (WebCore::JSSVGPointList::appendItem):
  • bindings/js/JSSVGTransformListCustom.cpp: (WebCore::JSSVGTransformList::initialize): (WebCore::JSSVGTransformList::getItem): (WebCore::JSSVGTransformList::insertItemBefore): (WebCore::JSSVGTransformList::replaceItem): (WebCore::JSSVGTransformList::removeItem): (WebCore::JSSVGTransformList::appendItem):
  • bindings/js/kjs_binding.cpp: (WebCore::setDOMException):
  • bindings/js/kjs_events.h: (WebCore::JSUnprotectedEventListener::create): (WebCore::JSEventListener::create): (WebCore::JSLazyEventListener::create):
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::createHTMLEventHandler): (WebCore::KJSProxy::createSVGEventHandler):
  • bindings/objc/DOM.mm: (WebCore::ObjCNodeFilterCondition::create): (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): (WebCore::ObjCNodeFilterCondition::acceptNode): (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
  • bindings/scripts/CodeGeneratorJS.pm:
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForNinePieceImage): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSFontFace.h: (WebCore::CSSFontFace::create): (WebCore::CSSFontFace::CSSFontFace):
  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseDashboardRegions): (WebCore::CSSParser::parseCounterContent): (WebCore::CSSParser::parseShape): (WebCore::BorderImageParseContext::commitBorderImage):
  • css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
  • css/CSSSegmentedFontFace.h: (WebCore::CSSSegmentedFontFace::create):
  • css/Counter.h: (WebCore::Counter::create): (WebCore::Counter::Counter):
  • css/DashboardRegion.h: (WebCore::DashboardRegion::create): (WebCore::DashboardRegion::DashboardRegion):
  • css/Rect.h: (WebCore::Rect::create): (WebCore::Rect::Rect):
  • dom/ChildNodeList.h: (WebCore::ChildNodeList::create):
  • dom/ClassNodeList.h: (WebCore::ClassNodeList::create):
  • dom/Clipboard.h:
  • dom/DOMCoreException.h: (WebCore::DOMCoreException::create):
  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::instance):
  • dom/DOMImplementation.h: (WebCore::DOMImplementation::DOMImplementation):
  • dom/Document.cpp: (WebCore::Document::addWindowEventListener): (WebCore::Document::removeWindowEventListener): (WebCore::Document::setDecoder): (WebCore::Document::images): (WebCore::Document::applets): (WebCore::Document::embeds): (WebCore::Document::plugins): (WebCore::Document::objects): (WebCore::Document::scripts): (WebCore::Document::links): (WebCore::Document::forms): (WebCore::Document::anchors): (WebCore::Document::all): (WebCore::Document::windowNamedItems): (WebCore::Document::documentNamedItems):
  • dom/Document.h:
  • dom/DynamicNodeList.h:
  • dom/EventException.h: (WebCore::EventException::create): (WebCore::EventException::EventException):
  • dom/EventListener.h:
  • dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::removeEventListener):
  • dom/ExceptionBase.cpp: (WebCore::ExceptionBase::ExceptionBase):
  • dom/ExceptionBase.h:
  • dom/NameNodeList.h: (WebCore::NameNodeList::create):
  • dom/Node.cpp: (WebCore::Node::childNodes): (WebCore::Node::getElementsByTagNameNS): (WebCore::Node::getElementsByName): (WebCore::Node::getElementsByClassName): (WebCore::Node::querySelectorAll):
  • dom/NodeFilterCondition.h:
  • dom/NodeList.h:
  • dom/RangeException.h: (WebCore::RangeException::create): (WebCore::RangeException::RangeException):
  • dom/RegisteredEventListener.h: (WebCore::RegisteredEventListener::create):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
  • dom/SelectorNodeList.h:
  • dom/StaticNodeList.cpp: (WebCore::StaticNodeList::StaticNodeList):
  • dom/StaticNodeList.h: (WebCore::StaticNodeList::adopt):
  • dom/TagNodeList.h: (WebCore::TagNodeList::create):
  • history/HistoryItem.cpp: (WebCore::defaultNotifyHistoryItemChanged): (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::copy):
  • history/HistoryItem.h: (WebCore::HistoryItem::create):
  • html/CanvasGradient.h:
  • html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern):
  • html/CanvasPattern.h: (WebCore::CanvasPattern::create):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::setStrokeColor): (WebCore::CanvasRenderingContext2D::setFillColor): (WebCore::CanvasRenderingContext2D::createPattern):
  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::CanvasStyle):
  • html/CanvasStyle.h: (WebCore::CanvasStyle::create):
  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::HTMLCollection): (WebCore::HTMLCollection::create):
  • html/HTMLCollection.h:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::children):
  • html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::create):
  • html/HTMLFormCollection.h:
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::elements):
  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::areas):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): (WebCore::HTMLMediaElement::willSaveToCache):
  • html/HTMLNameCollection.h: (WebCore::HTMLNameCollection::create):
  • html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create):
  • html/HTMLOptionsCollection.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::options):
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::rows): (WebCore::HTMLTableElement::tBodies):
  • html/HTMLTableRowElement.cpp: (WebCore::HTMLTableRowElement::cells):
  • html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): (WebCore::HTMLTableRowsCollection::create):
  • html/HTMLTableRowsCollection.h:
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::rows):
  • html/MediaError.h: (WebCore::MediaError::create): (WebCore::MediaError::MediaError):
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
  • loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::write): (WebCore::FrameLoader::createHistoryItem):
  • loader/ImageDocument.cpp: (WebCore::ImageEventListener::create): (WebCore::ImageEventListener::ImageEventListener): (WebCore::ImageDocument::createDocumentStructure):
  • loader/TextResourceDecoder.h: (WebCore::TextResourceDecoder::create):
  • page/Page.cpp: (WebCore::Page::userStyleSheet):
  • svg/SVGException.h: (WebCore::SVGException::create): (WebCore::SVGException::SVGException):
  • svg/animation/SVGSMILElement.cpp: (WebCore::ConditionEventListener::create): (WebCore::ConditionEventListener::ConditionEventListener): (WebCore::SVGSMILElement::connectConditions):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData):
  • xml/XMLHttpRequestException.h: (WebCore::XMLHttpRequestException::create): (WebCore::XMLHttpRequestException::XMLHttpRequestException):
  • xml/XPathException.h: (WebCore::XPathException::create): (WebCore::XPathException::XPathException):
  • xml/XPathResult.cpp: (WebCore::InvalidatingEventListener::create): (WebCore::InvalidatingEventListener::InvalidatingEventListener): (WebCore::XPathResult::XPathResult):
  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource):

WebKit/mac:

2008-06-07 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • History/WebHistoryItem.mm: (-[WebHistoryItem init]): (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): (-[WebHistoryItem initWithURL:target:parent:title:]): (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
  • WebView/WebView.mm: (+[WebView _decodeData:]):

WebKit/win:

2008-06-07 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • WebHistoryItem.cpp: (WebHistoryItem::createInstance): (WebHistoryItem::initFromDictionaryRepresentation): (WebHistoryItem::initWithURLString):
15:49 Changeset [34431] by weinig@apple.com
  • 9 edits in trunk/LayoutTests

2008-06-07 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix random failures of XSS tests by using window.postMessage().

  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html:
  • http/tests/security/resources/cross-frame-access.js:
  • http/tests/security/resources/cross-frame-iframe-with-explicit-domain-set.html:
  • http/tests/security/resources/cross-frame-iframe.html:
  • platform/mac-leopard/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
15:37 Changeset [34430] by mitz@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Reviewed by Sam Weinig.

  • fast/text/selection-painted-separately.html: Added.
  • platform/mac/fast/text/selection-painted-separately-expected.checksum: Added.
  • platform/mac/fast/text/selection-painted-separately-expected.png: Added.
  • platform/mac/fast/text/selection-painted-separately-expected.txt: Added.
14:56 Changeset [34429] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Eric.

Bug 17548: JavaScriptCore print(a, b) differs from Spidermonkey Behavior
<https://bugs.webkit.org/show_bug.cgi?id=17548>

  • kjs/testkjs.cpp: (functionPrint):
12:32 Changeset [34428] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Sam.

Bug 17547: JavaScriptCore print() differs from Spidermonkey Behavior
<https://bugs.webkit.org/show_bug.cgi?id=17547>

  • kjs/testkjs.cpp: (functionPrint):
12:02 Changeset [34427] by abarth@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2008-06-07 Adam Barth <abarth@webkit.org>

Reviewed by Sam.

Tests for https://bugs.webkit.org/show_bug.cgi?id=17911

  • http/tests/security/resources/iframe-for-synchronous-form.html: Added.
  • http/tests/security/xss-DENIED-synchronous-form-expected.txt: Added.
  • http/tests/security/xss-DENIED-synchronous-form.html: Added.
11:07 Changeset [34426] by christian@webkit.org
  • 6 edits in trunk

Remove PLATFORM ifdefs from ContextMenu.cpp

https://bugs.webkit.org/show_bug.cgi?id=17324

Reviewed by Alp Toker.

03:59 Changeset [34425] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

More build fixes.

  • kjs/JSGlobalData.cpp: Fixed an included file name for case-sensitive file systems, fixed JSGlobalData::threadInstance() for non-multithreaded builds.
03:41 Changeset [34424] by ap@webkit.org
  • 5 edits in trunk/JavaScriptCore

Build fix - actually adding JSGlobalData.cpp to non-Mac builds!

03:36 Changeset [34423] by eric@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by ap.

Still more CSSParser cleanup

  • use c++ style member initializers in CSSParser()
  • change m_styleElement to m_styleSheet and make it a CSSStyleSheet
  • finally add my copyright to the files I've been cleaning
  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::setupParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::parseContent): (WebCore::CSSParser::parseFillImage): (WebCore::CSSParser::parseFontFaceSrc): (WebCore::CSSParser::parseBorderImage): (WebCore::CSSParser::createCharsetRule): (WebCore::CSSParser::createImportRule): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createStyleRule):
  • css/CSSParser.h:
  • css/SVGCSSParser.cpp:
03:35 Changeset [34422] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by ap.

More CSSParser cleanup

  • rename CSSParser::id to m_id
  • rename CSSParser::data to m_data
  • fix a few whitespace and argument name issues
  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::setupParser): (WebCore::CSSParser::parseValue):
  • css/CSSParser.h:
03:35 Changeset [34421] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by ap.

Rename CSSParser::strict to m_strict

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseBackgroundColor): (WebCore::CSSParser::parseFillPositionXY): (WebCore::CSSParser::parseFillSize): (WebCore::CSSParser::parseTransitionDuration): (WebCore::CSSParser::parseTransitionRepeatCount): (WebCore::CSSParser::parseTimingFunctionValue): (WebCore::CSSParser::parseDashboardRegions): (WebCore::CSSParser::parseShape): (WebCore::CSSParser::parseFont): (WebCore::CSSParser::parseColorFromValue): (WebCore::CSSParser::parseShadow): (WebCore::CSSParser::parseReflect): (WebCore::CSSParser::parseBorderImage):
  • css/CSSParser.h:
03:34 Changeset [34420] by eric@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by ap.

Rename CSSParser::defaultNamespace to m_defaultNamespace

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseSheet):
  • css/CSSParser.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addNamespace):
03:34 Changeset [34419] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by ap.

Rename CSSParser::important to m_important

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFontFaceSrc): (WebCore::CSSParser::parseFontFaceUnicodeRange):
  • css/CSSParser.h:
03:33 Changeset [34418] by eric@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by ap.

Yet another cleanup patch for CSSParser
Rename CSSParser::valueList to m_valueList

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::checkForOrphanedUnits): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFillShorthand): (WebCore::CSSParser::parseTransitionShorthand): (WebCore::CSSParser::parseShorthand): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::parseContent): (WebCore::CSSParser::parseFillImage): (WebCore::CSSParser::parseFillPositionXY): (WebCore::CSSParser::parseFillPosition): (WebCore::CSSParser::parseFillSize): (WebCore::CSSParser::parseFillProperty): (WebCore::CSSParser::parseTransitionProperty): (WebCore::CSSParser::parseDashboardRegions): (WebCore::CSSParser::parseShape): (WebCore::CSSParser::parseFont): (WebCore::CSSParser::parseFontFamily): (WebCore::CSSParser::parseFontFaceSrc): (WebCore::CSSParser::parseFontFaceUnicodeRange): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseShadow): (WebCore::CSSParser::parseReflect): (WebCore::BorderImageParseContext::commitBorderImage): (WebCore::CSSParser::parseBorderImage): (WebCore::CSSParser::parseCounter): (WebCore::CSSParser::parseGradient): (WebCore::CSSParser::parseCanvas): (WebCore::CSSParser::parseTransform): (WebCore::CSSParser::parseTransformOrigin):
  • css/CSSParser.h:
  • css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parseSVGStrokeDasharray): (WebCore::CSSParser::parseSVGPaint): (WebCore::CSSParser::parseSVGColor):
03:32 Changeset [34417] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by ap.

More cleanup to CSSParser, rename mediaQuery to m_mediaQuery
Remove CSSParser::current and CSSParser::currentParser and use
the magic of YYLEX_PARAM instead.

  • css/CSSParser.cpp: (WebCore::enterGeneratedParser): (WebCore::CSSParser::parseSheet): (WebCore::CSSParser::parseRule): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::parseMediaQuery):
  • css/CSSParser.h:
03:20 Changeset [34416] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Try to fix Gtk/gcc 4.3 build.

  • kjs/JSGlobalData.h: Include ustring.h instead of forward-declaring UString::Rep.
02:57 Changeset [34415] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

WebCore:

2008-06-07 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Part of bug 19200: *.in files should embed more information
https://bugs.webkit.org/show_bug.cgi?id=19200

  • Added XML attributes' parsing.
  • Moved (most) capitalization and audio hacks in the *.in files.
  • dom/make_names.pl:
  • html/HTMLTagNames.in:
  • svg/svgtags.in:
01:20 Changeset [34414] by mitz@apple.com
  • 2 edits in trunk/WebCore

2008-06-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>

With the help of Jonathon Jongsma.

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=19279
REGRESSION (r32660): Text not redrawn correctly when selection changes

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Add a condition for when ePos <= sPos
00:58 Changeset [34413] by cwzwarich@webkit.org
  • 3 edits in trunk/LayoutTests

2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 17663: Wrong sequencing of argument list evaluation
<https://bugs.webkit.org/show_bug.cgi?id=17663>

SquirrelFish fixed this bug, but we should add a test.

LayoutTests:

  • fast/js/order-of-operations-expected.txt:
  • fast/js/resources/order-of-operations.js:

06/06/08:

23:03 Changeset [34412] by ap@webkit.org
  • 26 edits
    2 adds in trunk/JavaScriptCore

Reviewed by Darin.

Combine per-thread objects into one, to make it easier to support legacy clients (for
which they shouldn't be really per-thread).

No change on SunSpider total.

  • kjs/JSGlobalData.cpp: Added. (KJS::JSGlobalData::JSGlobalData): (KJS::JSGlobalData::~JSGlobalData): (KJS::JSGlobalData::threadInstance):
  • kjs/JSGlobalData.h: Added. This class encapsulates all data that should be per-thread (or shared between legacy clients). It will also keep a Heap pointer, but right now, Heap (Collector) methods are all static.
  • kjs/identifier.h: (KJS::Identifier::Identifier): Added a constructor explicitly taking JSGlobalData to access IdentifierTable. Actually, all of them should, but this will be a separate patch.
  • kjs/identifier.cpp: (KJS::IdentifierTable::literalTable): (KJS::createIdentifierTable): (KJS::deleteIdentifierTable): (KJS::Identifier::add): (KJS::Identifier::addSlowCase): Combined IdentifierTable and LiteralIdentifierTable into a single class for simplicity.
  • kjs/grammar.y: kjsyyparse now takes JSGlobalData, not just a Lexer.
  • kjs/nodes.cpp: (KJS::Node::Node): (KJS::EvalFunctionCallNode::emitCode): (KJS::ScopeNode::ScopeNode): Changed to access Lexer and Parser via JSGlobalData::threadInstance(). This is also a temporary measure, they will need to use JSGlobalData explicitly.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::callEval):
  • kjs/CommonIdentifiers.cpp: (KJS::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/DebuggerCallFrame.cpp: (KJS::DebuggerCallFrame::evaluate):
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState):
  • kjs/ExecState.h: (KJS::ExecState::globalData): (KJS::ExecState::identifierTable): (KJS::ExecState::propertyNames): (KJS::ExecState::emptyList): (KJS::ExecState::lexer): (KJS::ExecState::parser): (KJS::ExecState::arrayTable): (KJS::ExecState::dateTable): (KJS::ExecState::mathTable): (KJS::ExecState::numberTable): (KJS::ExecState::RegExpImpTable): (KJS::ExecState::RegExpObjectImpTable): (KJS::ExecState::stringTable):
  • kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::init):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): (KJS::JSGlobalObject::head): (KJS::JSGlobalObject::globalData):
  • kjs/Parser.cpp: (KJS::Parser::parse):
  • kjs/Parser.h:
  • kjs/function.cpp: (KJS::FunctionImp::getParameterName): (KJS::IndexToNameMap::unMap): (KJS::globalFuncEval):
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct):
  • kjs/interpreter.cpp: (KJS::Interpreter::checkSyntax): (KJS::Interpreter::evaluate):
  • kjs/lexer.cpp: (kjsyylex):
  • kjs/lexer.h:
  • kjs/testkjs.cpp: (prettyPrintScript): Updated for the above changes. Most of threadInstance uses here will need to be replaced with explicitly passed pointers to support legacy JSC clients.
21:51 Changeset [34411] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-06-06 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 19424: Add support for logging opcode pair counts
<https://bugs.webkit.org/show_bug.cgi?id=19424>

JavaScriptCore:

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.cpp: (KJS::OpcodeStats::OpcodeStats): (KJS::compareOpcodeIndices): (KJS::compareOpcodePairIndices): (KJS::OpcodeStats::~OpcodeStats): (KJS::OpcodeStats::recordInstruction): (KJS::OpcodeStats::resetLastInstruction):
  • VM/Opcode.h:
19:11 Changeset [34410] by jchaffraix@webkit.org
  • 11 edits
    1 add in trunk/WebCore

WebCore:

2008-06-06 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Part of bug 19200: *.in files should embed more information
https://bugs.webkit.org/show_bug.cgi?id=19200

  • Switched *.in files to XML format.
  • Added (simple) parsing facilities in make_names.pl using the XML::Tiny Perl parser.
  • Updated the build systems to include bindings/scripts when executing make_names.pl (for XMLTiny dependency).
  • Cleaned-up make_names.pl a little.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • bindings/scripts/XMLTiny.pm: Added.
  • dom/make_names.pl:
  • html/HTMLAttributeNames.in:
  • html/HTMLTagNames.in:
  • svg/svgattrs.in:
  • svg/svgtags.in:
  • svg/xlinkattrs.in:
  • xml/xmlattrs.in:
15:51 Changeset [34409] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

2008-06-06 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=19407
CSS3 Selector Test: *= ~= = $= should all accept the empty string, but match nothing

Test: fast/css/begin-end-contain-selector-empty-value.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2008-06-06 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=19407
CSS3 Selector Test: *= ~= = $= should all accept the empty string, but match nothing.

  • fast/css/begin-end-contain-selector-empty-value.html: Added.
  • platform/mac/fast/css/begin-end-contain-selector-empty-value-expected.txt: Added.
15:09 Changeset [34408] by eric@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by mitz.

More cleanup of CSSParser.
Rename CSSParser::numParsedProperties and maxNumParsedProperites to m_*

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::addProperty): (WebCore::CSSParser::rollbackLastProperties): (WebCore::CSSParser::clearProperties): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule):
  • css/CSSParser.h:
  • css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue):
15:03 Changeset [34407] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by mitz.

More cleanup of CSSParser.
Rename CSSParser::parsedProperties to m_parsedProperties.

  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::addProperty): (WebCore::CSSParser::rollbackLastProperties): (WebCore::CSSParser::clearProperties): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule):
  • css/CSSParser.h:
  • css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue):
14:49 Changeset [34406] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by mitz.

Start the cleanup of CSSParser.
Rename CSSParser::styleElement to CSSParser::m_styleElement

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::document): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseContent): (WebCore::CSSParser::parseFillImage): (WebCore::CSSParser::parseFontFaceSrc): (WebCore::CSSParser::parseBorderImage): (WebCore::CSSParser::createCharsetRule): (WebCore::CSSParser::createImportRule): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createStyleRule):
  • css/CSSParser.h:
14:07 Changeset [34405] by eric@webkit.org
  • 5 edits in trunk

Reviewed by adele. Landed by eseidel.

https://bugs.webkit.org/show_bug.cgi?id=18337

Calls listBoxOnChange() in typeAheadFind() when the <select> tag is a listBox.

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::typeAheadFind):
13:39 Changeset [34404] by justin.garcia@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.

<rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break


Serialization of font-family:-webkit-monospace when it came from a
CSSMutableStyleDeclaration would wrap the value in single quotes but
serialization of the same property value pair from a CSSComputedStyleDeclaration
wouldn't, which kept code that checked for and removed non-redundant styles from
style spans from working correctly.

A redundant style left on a style span would not normally create a rendering
difference, but it did in this case because an element with
font-family:-webkit-monospace does not appear to inherit font-size.
Added a FIXME about how we might need to keep font-size on a style span if its
non-redundant styles include font-family:-webkit-monospace, although I couldn't
create a test case to produce this scenario.

  • css/FontFamilyValue.cpp: (WebCore::isValidCSSIdentifier): Don't return false if the String starts with a '-'. This function now appears identical to isCSSTokenizerIdentifier, so perhaps we should use a single function.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans): Added FIXME. Removed the creation of two Strings that were never used.

LayoutTests:

2008-06-06 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.

<rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break


  • editing/deleting/5890684-expected.txt: Added.
  • editing/deleting/5890684.html: Added.
10:06 Changeset [34403] by justin.garcia@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-06-06 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin.

<https://bugs.webkit.org/show_bug.cgi?id=19087>
Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): applyStyle can destroy insertedPlaceholder if it needs to move it, but it will set an endingSelection() at [movedPlaceholder, 0] if it does so. Re-fetch insertedPlaceholder if that happens. The long term solution for these crashes is to make moveParagraphs not copy/destroy/move content, and to make VisiblePositions update themselves on DOM mutations.
  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Early return to avoid crashes like this in the future, but ASSERT to catch them in debug builds.

LayoutTests:

2008-06-06 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin.

<https://bugs.webkit.org/show_bug.cgi?id=19087>
Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode


  • editing/execCommand/19087-expected.txt: Added.
  • editing/execCommand/19087.html: Added.
10:01 WikiStart edited by iain@openedhand.com
Added a link to the Clutter page (diff)
09:58 clutter created by iain@openedhand.com
09:48 Changeset [34402] by kmccullough@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-06-06 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

<rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
profiler.

  • Change the remaining functions that do not take arguments, from using recursion to using iteration.
  • JavaScriptCore.exp:
  • profiler/Profile.cpp: (KJS::stopProfiling): (KJS::restoreAll): (KJS::Profile::stopProfiling): Use foreach instead of recursion. (KJS::Profile::restoreAll): Ditto.
  • profiler/Profile.h:
  • profiler/ProfileNode.cpp: Remove recursion. (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::restore):
  • profiler/ProfileNode.h:
07:48 Changeset [34401] by jchaffraix@webkit.org
  • 3 edits
    1 add
    1 delete in trunk/LayoutTests

LayoutTests:

2008-06-06 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Alexey.

xmlhttprequest-onProgress-open-should-zero-length.html supposes that the onprogress event
is dispatched 3 times to test that the position is reset when XMLHttpRequest.open() is
called.
The test was failing because CoreFoundation keeps the data if they are not big enough
(which led to only 1 progress event dispatched).

We now generate a big response instead of a small one.

Warning: this test is not guaranteed to succeed as we cannot guarantee that the server

will send responses' sizes that are close for 2 different requests to the same
resource.

  • http/tests/xmlhttprequest/resources/big-response.php: Added.
  • http/tests/xmlhttprequest/resources/five-tiny-chunk-one-second-delay.php: Removed.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length-expected.txt: Added a warning about the possible failure of the test.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html: Ditto.

06/05/08:

22:09 Changeset [34400] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Fix Greater and GreaterEq nodes to emit code in the correct order.

Reviewed by Alexey.

21:44 Changeset [34399] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by Eric.

<https://bugs.webkit.org/show_bug.cgi?id=19403>
ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call

  • editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::doApply): If the selection was all formatting (like an empty list) the format-less text will be empty. Early return to avoid the ASSERT that fires if input(...) is called with an empty String.

LayoutTests:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by Eric.


<https://bugs.webkit.org/show_bug.cgi?id=19403>
ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call


  • editing/execCommand/19403-expected.txt: Added.
  • editing/execCommand/19403.html: Added.
18:43 Changeset [34398] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-06-05 Alp Toker <alp@nuanti.com>

Add 'Since' documentation for API versioning functions.

  • webkit/webkitversion.cpp:
18:09 Changeset [34397] by alp@webkit.org
  • 4 edits in trunk

2008-06-05 Alp Toker <alp@nuanti.com>

Build fix for r34387.

  • GNUmakefile.am:
18:00 Changeset [34396] by antti@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Alp Toker.


Fix whitespaces.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters):
17:50 Changeset [34395] by antti@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


Support compiling JavaScriptCore for ARM.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters): (KJS::otherThreadStackPointer):
17:49 Changeset [34394] by antti@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Oops, accidentally commited ChangeLog only.

17:47 Changeset [34393] by antti@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


Support compiling JavaScriptCore for ARM.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters): (KJS::otherThreadStackPointer):
17:33 Changeset [34392] by kmccullough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-06-05 Kevin McCullough <kmccullough@apple.com>

Reviewed by Jon.

  • Name changes.
  • JavaScriptCore.exp:
  • profiler/Profile.cpp: (KJS::Profile::Profile): (KJS::Profile::stopProfiling): (KJS::Profile::didExecute): (KJS::Profile::forEach): (KJS::Profile::debugPrintData): (KJS::Profile::debugPrintDataSampleStyle):
  • profiler/Profile.h: (KJS::Profile::callTree): (KJS::Profile::totalTime): (KJS::Profile::sortTotalTimeDescending): (KJS::Profile::sortTotalTimeAscending): (KJS::Profile::sortSelfTimeDescending): (KJS::Profile::sortSelfTimeAscending): (KJS::Profile::sortCallsDescending): (KJS::Profile::sortCallsAscending): (KJS::Profile::sortFunctionNameDescending): (KJS::Profile::sortFunctionNameAscending): (KJS::Profile::focus): (KJS::Profile::exclude): (KJS::Profile::restoreAll):
17:28 Changeset [34391] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Stephanie Lewis.

Added the -fno-move-loop-invariants flag to the pcre_exec.cpp build, to
tell GCC not to perform loop invariant motion, since GCC's loop
invariant motion doesn't do very well with computed goto code.


SunSpider reports no change.

17:20 Changeset [34390] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by Eric.

<https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints


ApplyStyleCommand::applyInlineStyle does some work and then checks to see
if the start offset of the Range it's operating on is now past the caretMaxOffset
of the start container. If it is, applyInlineStyle updates the position to
[startContainer->traverseNextNode(), 0] and then operates on that new start
position.


caretMaxOffset was incorrect for horizontal rules. It should be 1 and it was 0. So,
if the horizontal rule was the last node in the document, applyInlineStyle would update
its start position to [0, 0] and then try to operate on that position, assuming it was
non-null, leading to the ASSERT.


  • rendering/RenderObject.cpp: (WebCore::RenderObject::caretMaxOffset):

LayoutTests:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by Eric.


<https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints

  • editing/execCommand/19089-expected.txt: Added.
  • editing/execCommand/19089.html: Added.
16:19 Changeset [34389] by cfleizach@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/5947396> AccessibilityListBoxOptions should return their string as AXValue, not AXTitle

16:13 Changeset [34388] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Stephanie Lewis.


Added the -fno-tree-pre flag to the Machine.cpp build, to tell GCC not
to perform Partial Redundancy Elimination (PRE) on trees in Machine.cpp,
since GCC's PRE doesn't do very well with computed goto code.


SunSpider reports a .7% speedup.

15:50 Changeset [34387] by christian@webkit.org
  • 7 edits
    1 copy
    1 add in trunk

Please add a version to the Gtk port
https://bugs.webkit.org/show_bug.cgi?id=14141

Reviewed by Alp Toker.

15:40 Changeset [34386] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Stephanie Lewis (or maybe the other way around).


Minor change to PCRE to help out certain compilers.


SunSpider reports no change, maybe a small speedup.

  • pcre/pcre_exec.cpp: (match): Use instructionPtr++ a little less, to avoid confusing the optimizer.
15:34 Changeset [34385] by justin.garcia@apple.com
  • 3 edits
    6 adds in trunk

WebCore:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by Harrison.

<rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice
<rdar://problem/5831310> CrashTracer: [USER] 4 crashes in Mail at WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion
<rdar://problem/5480141> GoogleDocs: Attempting to indent content in <td> closes <table> element


A crash would occur when indenting a selection that started just before a table
and ended inside that table. With a selection like this, we'd indent the entire
table, then try and indent paragraphs inside it, but the stored position for the
next paragraph to indent was inside content that had been removed from the document
during the first Indent.


Fixed the crash adjusting the selection to perform the indent on to prepare it
for paragraph iteration using selectionForParagraphIteration. We do this adjustment
for paragraph iteration in InsertList as well.


Also, indenting paragraphs inside table cells would break table structure because
we were splitting the DOM all the way up to the root editable element to insert
a blockquote. Fixed this by only splitting up to the enclosing table cell. This
matches FF. Lastly, fixed a bug where indenting several paragraphs inside different
table cells would move all the selected text into the same table cell. FF still has
this bug.

  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion):

LayoutTests:

2008-06-05 Justin Garcia <justin.garcia@apple.com>

Reviewed by Harrison.


<rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice

  • editing/execCommand/5658933-1-expected.txt: Added.
  • editing/execCommand/5658933-1.html: Added.
  • editing/execCommand/5658933-2-expected.txt: Added.
  • editing/execCommand/5658933-2.html: Added.
  • editing/execCommand/5658933-3-expected.txt: Added.
  • editing/execCommand/5658933-3.html: Added.
15:17 Changeset [34384] by cfleizach@apple.com
  • 10 edits in trunk/WebCore

<rdar://problem/5979998> AXList controls should have AXSelectedChildren and its children's AXSelected attribute writable

15:01 Changeset [34383] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by mjs.

Get rid of Uninitialized Memory Reads (UMRs) in the XPath::Value copy constructor.

No functional changes, thus no tests.

  • xml/XPathValue.h: (WebCore::XPath::Value::Value): initialize all values in each constructor
13:51 Changeset [34382] by hyatt@apple.com
  • 3 edits
    1 add in trunk/WebCore

2008-06-04 David Hyatt <hyatt@apple.com>

Fix for <rdar://problem/5957994> Height doesn't animate

Improve the behavior when transitions are dynamically changed. Make sure to leave older transitions
running and let them obsolete themselves when they finish.

Reviewed by Dan Bernstein

Added WebCore/manual-tests/transitions2.html (must be tested manually)

  • manual-tests/transitions.html:
  • manual-tests/transitions2.html: Added.
  • page/AnimationController.cpp: (WebCore::ImplicitAnimation::property): (WebCore::ImplicitAnimation::setFinished): (WebCore::ImplicitAnimation::markedForDeath): (WebCore::ImplicitAnimation::setMarkedForDeath): (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::reset): (WebCore::ImplicitAnimation::animate): (WebCore::CompositeImplicitAnimation::animate):
13:33 Changeset [34381] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by hyatt.

No functional changes, thus no tests.

  • platform/graphics/Color.h: remove unnecessary bitfield use
13:03 Changeset [34380] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Re-landing an independent part of a previously rolled out threading patch.

  • wtf/ThreadSpecific.h: Make sure to initialize POD thread-specific varaibles, too (replaced "new T" with "new T()").
12:56 Changeset [34379] by antti@apple.com
  • 4 edits in trunk

WebCore:

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Dave Hyatt.


Make hasFeature() return true for the animation stuff.

  • dom/DOMImplementation.cpp: (WebCore::isSVG11Feature):

LayoutTests:

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Dave Hyatt.


Make hasFeature() return true for the animation stuff.

  • svg/custom/svg-features-expected.txt:
10:54 Changeset [34378] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Hyatt.


  • force inlining of a template function that only has one call site per specialization 1.3% speedup on SunSpider
  • kjs/collector.cpp: (KJS::Collector::heapAllocate): This template function is only called from allocate() and allocateNumber() (once per specialization) and the extra call overhead for GC allocation shows up, so force inlining.
09:55 Changeset [34377] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/transforms/shadows.html

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setPlatformShadow): In Core Graphics, shadow dimensions are always in device space. Account for that, and apply the current context transform to shadow offset, and multiply the blur radius by the inverse of the operator norm of the inverse transform (which is the radius of the circle inscribed in the transformed unit circle).
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintBoxShadow): Added 1px separation between the edge of the filled shape and the edge of the clipped-out shape, because in a transformed context, due to antialiasing, the fill can bleed into the clip if they touch.

LayoutTests:

Reviewed by Darin Adler.

  • fast/transforms/shadows.html: Added.
  • platform/mac/fast/transforms/shadows-expected.checksum: Added.
  • platform/mac/fast/transforms/shadows-expected.png: Added.
  • platform/mac/fast/transforms/shadows-expected.txt: Added.
04:45 Changeset [34376] by hausmann@webkit.org
  • 4 edits in trunk/LayoutTests

2008-06-05 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Update layout tests on Mac based on the changes to html4.css
in r34299. The missing backgroundClip and outlineClip in the
new results is strange, but visually it looks the same.

03:36 Changeset [34375] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-06-05 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Prevent cycles when converting from DOM objects to
QVariant, due to cycles in the DOM tree.

03:30 Changeset [34374] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Alexey and Oliver.


  • remove profiler fetch hack I measure an 0.5% progression from this, others show a wash. It seems not needed any more.
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
02:19 Changeset [34373] by cwzwarich@webkit.org
  • 7 edits in trunk

2008-06-05 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 19400: subscript operator does not protect base when necessary
<https://bugs.webkit.org/show_bug.cgi?id=19400>

Use a temporary for the base in BracketAccessorNode if the subscript
might possibly modify it.

JavaScriptCore:

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::BracketAccessorNode::emitCode):
  • kjs/nodes.h: (KJS::BracketAccessorNode::):

LayoutTests:

  • fast/js/codegen-temporaries-expected.txt:
  • fast/js/resources/codegen-temporaries.js:

06/04/08:

22:36 Changeset [34372] by weinig@apple.com
  • 32 edits in trunk/JavaScriptCore

2008-06-04 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Big cleanup of formatting and whitespace.

21:39 Changeset [34371] by cwzwarich@webkit.org
  • 6 edits in trunk

2008-06-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Add an option to dump statistics on executed instructions.

JavaScriptCore:

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.cpp: (KJS::): (KJS::OpcodeStats::~OpcodeStats): (KJS::OpcodeStats::recordInstruction):
  • VM/Opcode.h:

WebKitTools:

  • Scripts/check-for-global-initializers:
18:03 Changeset [34370] by andersca@apple.com
  • 5 edits in trunk/WebCore

2008-06-04 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

Get rid of DeprecatedPtrList from StyleSheetList.


  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector):
  • css/StyleSheetList.cpp: (WebCore::StyleSheetList::~StyleSheetList): (WebCore::StyleSheetList::length): (WebCore::StyleSheetList::item):
  • css/StyleSheetList.h: (WebCore::StyleSheetList::swap):
  • dom/Document.cpp: (WebCore::Document::recalcStyleSelector):
17:31 Changeset [34369] by andersca@apple.com
  • 17 edits in trunk/WebCore

2008-06-04 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Convert more classes over to start out with a ref count of 1.


  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::generatedImage):
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
  • css/CSSMediaRule.cpp: (WebCore::CSSMediaRule::CSSMediaRule):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFillSize): (WebCore::CSSParser::parseCounter): (WebCore::CSSParser::createRuleList):
  • css/CSSRuleList.cpp: (WebCore::CSSRuleList::CSSRuleList):
  • css/CSSRuleList.h: (WebCore::CSSRuleList::create):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): (WebCore::CSSStyleSelector::styleRulesForElement):
  • css/CSSStyleSelector.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules): (WebCore::CSSStyleSheet::addSubresourceURLStrings):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::rules):
  • css/Pair.h: (WebCore::Pair::create): (WebCore::Pair::Pair):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::buffered): (WebCore::HTMLMediaElement::played): (WebCore::HTMLMediaElement::seekable):
  • html/TimeRanges.cpp: (TimeRanges::TimeRanges):
  • html/TimeRanges.h: (WebCore::TimeRanges::create): (WebCore::TimeRanges::TimeRanges):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::addCursor): (WebCore::RenderStyle::clearCursorList):
  • rendering/style/RenderStyle.h: (WebCore::StyleImage::~StyleImage): (WebCore::StyleImage::StyleImage): (WebCore::StyleCachedImage::create): (WebCore::StyleCachedImage::StyleCachedImage): (WebCore::StyleGeneratedImage::create): (WebCore::StyleGeneratedImage::StyleGeneratedImage): (WebCore::CursorList::create): (WebCore::CursorList::CursorList):
16:45 Changeset [34368] by cfleizach@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/5983804> Editable web areas do not properly report the AXFocused attribute

15:04 Changeset [34367] by bdakin@apple.com
  • 2 edits in trunk/WebCore

2008-06-03 Beth Dakin <bdakin@apple.com>

Reviewed by Adele.

Fix for https://bugs.webkit.org/show_bug.cgi?id=19381 WebKit
Crashing Constantly on Gmail with accessibility turned on

There was a missing null-check!

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::roleValue):
14:12 Changeset [34366] by andersca@apple.com
  • 21 edits in trunk/WebCore

2008-06-04 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Convert more classes to start with a ref count of 1.


  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::toVoidCallback):
  • bindings/js/JSCustomVoidCallback.h: (WebCore::JSCustomVoidCallback::create):
  • css/StyleSheetList.cpp: (WebCore::StyleSheetList::StyleSheetList):
  • css/StyleSheetList.h: (WebCore::StyleSheetList::create):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::createNodeIterator): (WebCore::Document::createTreeWalker):
  • dom/NodeIterator.h: (WebCore::NodeIterator::create):
  • dom/Traversal.cpp: (WebCore::Traversal::Traversal):
  • dom/Traversal.h:
  • dom/TreeWalker.h: (WebCore::TreeWalker::create):
  • history/CachedPage.cpp: (WebCore::CachedPage::create): (WebCore::CachedPage::CachedPage):
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasGradient.h: (WebCore::CanvasGradient::create):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): (WebCore::CanvasRenderingContext2D::createLinearGradient): (WebCore::CanvasRenderingContext2D::createRadialGradient):
  • html/CanvasRenderingContext2D.h: (WebCore::CanvasRenderingContext2D::create):
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext):
  • html/VoidCallback.h: (WebCore::VoidCallback::VoidCallback):
  • loader/FormState.cpp: (WebCore::FormState::create): (WebCore::FormState::FormState):
  • platform/text/RegularExpression.cpp: (WebCore::RegularExpression::Private::create): (WebCore::RegularExpression::Private::Private): (WebCore::RegularExpression::RegularExpression):
  • storage/SQLResultSet.cpp: (WebCore::SQLResultSet::SQLResultSet):
  • storage/SQLResultSetRowList.h: (WebCore::SQLResultSetRowList::create): (WebCore::SQLResultSetRowList::SQLResultSetRowList):
13:47 Changeset [34365] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()

Test: fast/multicol/gap-non-negative.html

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()
  • fast/multicol/gap-non-negative-expected.txt: Added.
  • fast/multicol/gap-non-negative.html: Added.
13:45 Changeset [34364] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()

Test: fast/reflections/table-cell.html

  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::computeAbsoluteRepaintRect): Null-check parent(). (WebCore::RenderTableCell::absolutePosition): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()
  • fast/reflections/table-cell.html: Added.
  • platform/mac/fast/reflections/table-cell-expected.checksum: Added.
  • platform/mac/fast/reflections/table-cell-expected.png: Added.
  • platform/mac/fast/reflections/table-cell-expected.txt: Added.
13:00 Changeset [34363] by dino@apple.com
  • 1 edit
    2 adds in trunk/WebKitSite

Added index.html files to specification directories so
things are easier to find.

11:53 Changeset [34362] by kmccullough@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-06-04 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

<rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
profiler.

  • This patch removes the use of recursion for the sort functions.
  • JavaScriptCore.exp: Change the signatures of the functions being exported.
  • profiler/Profile.cpp: (KJS::Profile::sort): This generic function will accept any of the static sort functions and apply them to the whole tree.
  • profiler/Profile.h: All of the sorting functions now call the new sort() function. (KJS::Profile::sortTotalTimeDescending): (KJS::Profile::sortTotalTimeAscending): (KJS::Profile::sortSelfTimeDescending): (KJS::Profile::sortSelfTimeAscending): (KJS::Profile::sortCallsDescending): (KJS::Profile::sortCallsAscending): (KJS::Profile::sortFunctionNameDescending): (KJS::Profile::sortFunctionNameAscending):
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::ProfileNode): m_head used to point to the head node if this was the head node. It now points to null to make iteration easy (KJS::ProfileNode::willExecute): Now must check if m_head is null, this check used to happend in the constructor. (KJS::ProfileNode::stopProfiling): Again the check is slightly different to determine if this is the head. (KJS::ProfileNode::traverseNextNode): This function returns the next node in post order. (KJS::ProfileNode::sort): This generic function will sort according to the comparator passed in, then reset the children pointers to macth the new order.
  • profiler/ProfileNode.h: The sorting function were removed from the definition file and instead use the new generic sort() function (KJS::ProfileNode::totalPercent): because the head can now be empty we need to check here too for the head node. (KJS::ProfileNode::selfPercent): Ditto (KJS::ProfileNode::firstChild): This function is necessary for the iterative algorithm in Profile.cpp. (KJS::ProfileNode::sortTotalTimeDescending): (KJS::ProfileNode::sortTotalTimeAscending): (KJS::ProfileNode::sortSelfTimeDescending): (KJS::ProfileNode::sortSelfTimeAscending): (KJS::ProfileNode::sortCallsDescending): (KJS::ProfileNode::sortCallsAscending): (KJS::ProfileNode::sortFunctionNameDescending): (KJS::ProfileNode::sortFunctionNameAscending): (KJS::ProfileNode::childrenBegin): (KJS::ProfileNode::childrenEnd): (KJS::ProfileNode::totalTimeDescendingComparator): (KJS::ProfileNode::totalTimeAscendingComparator): (KJS::ProfileNode::selfTimeDescendingComparator): (KJS::ProfileNode::selfTimeAscendingComparator): (KJS::ProfileNode::callsDescendingComparator): (KJS::ProfileNode::callsAscendingComparator): (KJS::ProfileNode::functionNameDescendingComparator): (KJS::ProfileNode::functionNameAscendingComparator):
11:10 Changeset [34361] by ap@webkit.org
  • 11 edits
    2 deletes in trunk

Reviewed by Darin.

Fix JSClassCreate to work with old JSCore API threading model.

No change on SunSpider.

  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): Since JSClass is constructed without a context, there is no way for it to create Identifiers. Also, added initializeThreading(), just for good measure.
  • API/JSCallbackObjectFunctions.h: (KJS::::getPropertyNames): Make an Identifier out of the string here, because propertyNames.add() needs that.
  • kjs/identifier.cpp:
  • kjs/identifier.h: (KJS::Identifier::equal):
  • kjs/ustring.cpp: (KJS::equal): Moved equal() from identifier.h to ustring.h, because it's not really about Identifiers, and to make it possible to use it from StrHash. Include StrHash.h from ustring.h to avoid having the behavior depend on headers that happen to be included.
  • wtf/StrHash.h: Removed.
  • kjs/ustring.h: Made RefPtr<UString::Rep> use the same default hash as UString::Rep* (it used to default to pointer equality). Moved the whole StrHash header into ustring.h.
  • JavaScriptCore.exp: Export equal() for WebCore use (this StrHash is used in c_class.cpp, jni_class.cpp, and npruntime.cpp).
09:29 Changeset [34360] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Rubber-stamped by Darin.

Fix spacing in collector.{h,cpp}.

  • kjs/collector.cpp:
  • kjs/collector.h:
06:40 Changeset [34359] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-06-04 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix a failing assertion when calling QWebFrame::evaluateJavaScript.

The starting line number has to be 1 instead of 0.

06/03/08:

19:57 Changeset [34358] by antti@apple.com
  • 6 edits
    2 adds in trunk

WebCore:

2008-06-03 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


https://bugs.webkit.org/show_bug.cgi?id=19384
Implement path morphing for SVG animation


You can animate smoothly between paths that have equal number of control points of matching type.

Test: svg/custom/animate-path-morphing.svg

  • svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::determinePropertyType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget):
  • svg/SVGAnimateElement.h: (WebCore::SVGAnimateElement::):
  • svg/SVGPathSegList.cpp: (WebCore::blendFunc): (WebCore::SVGPathSegList::createAnimated):
  • svg/SVGPathSegList.h:

LayoutTests:

2008-06-03 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


https://bugs.webkit.org/show_bug.cgi?id=19384


Test for path morphing.

  • platform/mac/svg/custom/animate-path-morphing-expected.txt: Added.
  • svg/custom/animate-path-morphing.svg: Added.
19:09 Changeset [34357] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-06-03 Darin Adler <darin@apple.com>

  • try to fix the Qt build
  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): Remove the originalObject argument. (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto. (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto. (KJS::Bindings::QtConnectionObject::execute): Use callAsFunction.
  • bridge/qt/qt_runtime.h: More of the same.
18:03 Changeset [34356] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-06-03 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Build fix. The cleanup in r34355 missed a method.

  • kjs/nodes.cpp:
  • kjs/nodes.h:
17:40 Changeset [34355] by darin@apple.com
  • 71 edits in trunk

JavaScriptCore:

2008-06-03 Darin Adler <darin@apple.com>

Reviewed by Geoff.

Makes standalone SunSpider 1.025x as fast as before.

The getOwnPropertySlot virtual function now takes care of the toObject call
for get. Similarly, the put function (and later deleteProperty) does the
same for those operations. To do this, the virtual functions were moved from
the JSObject class to the JSCell class. Also, since the caller no longer knows
the identity of the "original object", which is used by JavaScript-function
based getters, changed the PropertySlot class so the original object is
already stored in the slot when getOwnPropertySlot is called, if the caller
intends to call getValue.

This affected the old interpreter code enough that the easiest thing for me
was to just delete it. While I am not certain the mysterious slowdown is not
still occurring, the net change is definitely a significant speedup.

  • VM/Machine.cpp: Moved the UNLIKELY macro into AlwaysInline.h. (KJS::resolve): Set up the originalObject in the PropertySlot before calling getPropertySlot. Also removed the originalObject argument from getValue. (KJS::resolve_skip): Ditto. (KJS::resolveBaseAndProperty): Ditto. (KJS::resolveBaseAndFunc): Ditto. (KJS::Machine::privateExecute): Removed the toObject calls from the get and put functions where possible, instead calling directly with JSValue and letting the JSValue and JSCell calls handle toObject. Same for toThisObject.
  • kjs/ExecState.h: Removed OldInterpreterExecState.
  • API/JSBase.cpp: Updated includes.
  • kjs/LocalStorageEntry.h: Removed contents. Later we can remove the file too.
  • kjs/array_instance.cpp: (KJS::ArrayInstance::lengthGetter): Removed originalObject argumet. (KJS::ArrayInstance::inlineGetOwnPropertySlot): Don't pass a base value to setValueSlot. Also use UNLIKELY around the "getting elements past the end of the array" code path; less common than successfully getting an element.
  • kjs/array_object.cpp: (KJS::getProperty): Initialize the PropertySlot with the original object. Don't pass the original object to the get function. (KJS::arrayProtoFuncFilter): Ditto. (KJS::arrayProtoFuncMap): Ditto. (KJS::arrayProtoFuncEvery): Ditto. (KJS::arrayProtoFuncForEach): Ditto. (KJS::arrayProtoFuncSome): Ditto.
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct): Removed an obsolete comment.
  • kjs/grammar.y: Eliminated support for some of the node types that were used to optimize executing from the syntax tree.
  • kjs/internal.cpp: (KJS::StringImp::toThisObject): Added. Same as toObject. (KJS::NumberImp::toThisObject): Ditto. (KJS::GetterSetterImp::getOwnPropertySlot): Added. Not reached. (KJS::GetterSetterImp::put): Ditto. (KJS::GetterSetterImp::toThisObject): Ditto.
  • kjs/internal.h: Added toThisObject to NumberImp for speed.
  • kjs/lexer.cpp: (KJS::Lexer::shift): Changed shift to just do a single character, to unroll the loop and especially to make the one character case faster. (KJS::Lexer::setCode): Call shift multiple times instead of passing a number. (KJS::Lexer::lex): Ditto. (KJS::Lexer::matchPunctuator): Ditto. Also removed unneeded elses after returns. (KJS::Lexer::scanRegExp): Ditto.
  • kjs/lexer.h: Removed the count argument from shift.
  • kjs/math_object.cpp: (KJS::mathProtoFuncPow): Call jsNaN instead of jsNumber(NaN).
  • kjs/nodes.cpp: Removed some of the things needed only for the pre-SquirrelFish execution model. (KJS::ForNode::emitCode): Handle cases where some expressions are missing by not emitting any code at all. The old way was to emit code for "true", but this is an unnecessary remnant of the old way of doing things.
  • kjs/nodes.h: Removed some of the things needed only for the pre-SquirrelFish execution model.
  • kjs/object.cpp: (KJS::JSObject::fillGetterPropertySlot): Changed to only pass in the getter function. The old code passed in a base, but it was never used when actually getting the property; the toThisObject call was pointless. Also changed to not pass a base for setUndefined.
  • kjs/object.h: Added the new JSCell operations to GetterSetterImp. Never called. (KJS::JSObject::get): Initialize the object in the PropertySlot and don't pass it in getValue. (KJS::JSObject::getOwnPropertySlotForWrite): Removed the base argument in calls to setValueSlot. (KJS::JSObject::getOwnPropertySlot): Ditto. (KJS::JSValue::get): Added. Here because it calls through to JSObject. A version of JSObject::get that also handles the other types of JSValue by creating the appropriate wrapper. Saves the virtual call to toObject. (KJS::JSValue::put): Ditto. (KJS::JSValue::deleteProperty): Ditto.
  • kjs/property_slot.cpp: (KJS::PropertySlot::undefinedGetter): Removed the originalObject argument. (KJS::PropertySlot::ungettableGetter): Ditto. (KJS::PropertySlot::functionGetter): Ditto. Use the value in the base as the "this" object, which will be set to the original object by the new PropertySlot initialization code. Also call toThisObject. The old code did not do this, but needed to so we can properly handle the activation object like the other similar code paths.
  • kjs/property_slot.h: (KJS::PropertySlot::PropertySlot): Added a constructor that takes a base object. In debug builds, set the base to 0 if you don't pass one. (KJS::PropertySlot::getValue): Don't take or pass the originalObject. (KJS::PropertySlot::setValueSlot): Don't take a base object, and clear the base object in debug builds. (KJS::PropertySlot::setGetterSlot): Ditto. (KJS::PropertySlot::setUndefined): Ditto. (KJS::PropertySlot::setUngettable): Ditto. (KJS::PropertySlot::slotBase): Assert that a base object is present. This will fire if someone actually calls the get function without having passed in a base object and the getter needs it. (KJS::PropertySlot::setBase): Added. Used by the code that implements toObject so it can supply the original object after the fact. (KJS::PropertySlot::clearBase): Added. Clears the base, but is debug-only code because it's an error to fetch the base if you don't have a guarantee it was set.
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (KJS::JSCallbackObject::cachedValueGetter): (KJS::JSCallbackObject::staticValueGetter): (KJS::JSCallbackObject::staticFunctionGetter): (KJS::JSCallbackObject::callbackGetter):
  • kjs/JSActivation.cpp: (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet):
  • kjs/array_instance.h:
  • kjs/function.cpp: (KJS::FunctionImp::argumentsGetter): (KJS::FunctionImp::callerGetter): (KJS::FunctionImp::lengthGetter): (KJS::Arguments::mappedIndexGetter):
  • kjs/function.h:
  • kjs/lookup.h: (KJS::staticFunctionGetter): (KJS::staticValueGetter):
  • kjs/string_object.cpp: (KJS::StringInstance::lengthGetter): (KJS::StringInstance::indexGetter): (KJS::stringInstanceNumericPropertyGetter):
  • kjs/string_object.h: Removed originalObject arguments from getters. Don't pass base values to the various PropertySlot functions that no longer take them.
  • kjs/value.cpp: (KJS::JSCell::getOwnPropertySlot): Added. Calls toObject and then sets the slot. This function has to always return true, because the caller can't walk the prototype chain. Because of that, we do a getPropertySlot, not getOwnPropertySlot, which works for the caller. This is private, only called by getOwnPropertySlotInternal. (KJS::JSCell::put): Added. Calls toObject and then put. (KJS::JSCell::toThisObject): Added. Calls toObject.
  • kjs/value.h: Added get, put, and toThisObject to both JSValue and JSCell. These take care of the toObject operation without an additional virtual function call, and so make the common "already an object" case faster.
  • wtf/AlwaysInline.h: Moved the UNLIKELY macro here for now. Maybe we can find a better place later, or rename this header.

JavaScriptGlue:

2008-06-03 Darin Adler <darin@apple.com>

  • UserObjectImp.cpp: (UserObjectImp::userObjectGetter): Removed originalObject argument.
  • UserObjectImp.h: Ditto.

WebCore:

2008-06-03 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.

<rdar://problem/5763082> GMail: Hang when removing indent from nested list
<rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
<rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor

  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove the last paragraph of the selection from the document if it's in the same list item as startOfCurrentParagraph. Return early to avoid an infinite loop and because there is no more work to be done. Added a FIXME (<rdar://problem/5983974>) about the incorrect endingSelection()s.
17:36 Changeset [34354] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-06-03 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.

<rdar://problem/5763082> GMail: Hang when removing indent from nested list
<rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
<rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor

  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove the last paragraph of the selection from the document if it's in the same list item as startOfCurrentParagraph. Return early to avoid an infinite loop and because there is no more work to be done. Added a FIXME (<rdar://problem/5983974>) about the incorrect endingSelection()s.

LayoutTests:

2008-06-03 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.


<rdar://problem/5763082> GMail: Hang when removing indent from nested list

  • editing/execCommand/5763082-expected.txt: Added.
  • editing/execCommand/5763082.html: Added.
15:53 Changeset [34353] by mrowe@apple.com
  • 4 edits in tags/Safari-6526.9.1

Versioning.

15:52 Changeset [34352] by mrowe@apple.com
  • 2 edits in tags/Safari-6526.9.1/WebKit/mac

Merge r34347.

15:48 Changeset [34351] by oliver@apple.com
  • 15 edits in trunk

Bug 12983: Web Inspector break on the debugger keyword
<https://bugs.webkit.org/show_bug.cgi?id=12983>

Reviewed by Tim

Added a DebuggerStatementNode to handle codegen, and added a new
DidReachBreakPoint debug event (which will hopefully be useful
if we ever move breakpoint management into JSC proper). Also
added didReachBreakpoint to Debugger to allow us to actually respond
to this event.

15:46 Changeset [34350] by mrowe@apple.com
  • 1 copy in tags/Safari-6526.9.1

New tag.

14:43 Changeset [34349] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-06-03 Darin Adler <darin@apple.com>

Fix build with GCC.

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): Put a default case back in the switch statement so we don't get warned about all the unhandled cases with GCC. Remove the unreachable code that was causing a warning in Visual Studio.
14:01 Changeset [34348] by darin@apple.com
  • 2 edits in trunk/WebKit/qt

2008-06-03 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>

Reviewed by Darin.

  • Api/qwebhistoryinterface.cpp: Remove WebCore::historyContains(). This function is not used anywhere internally and is only a convenience function that can still be accomplished using QWebHistoryInterface::historyContains();
12:25 Changeset [34347] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-06-03 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

<rdar://problem/5980961>


In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
newBottom to be larger than oldBottom which is illegal.


  • WebView/WebHTMLView.mm: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
11:46 Changeset [34346] by sfalken@apple.com
  • 10 edits in trunk

2008-05-30 Steve Falkenburg <sfalken@apple.com>

Registry-free COM.


WebKit no longer requires COM registration.
Registry-free COM information is read from the application manifest.

Only 1 set of CLSIDs are now used, since we don't need to worry about registry collisions.
The second set remains, but only temporarily so nightlies continue to work.

This is supported for XPSP2 and later. Earlier systems require an installer
to write the required registry keys. Nightlies and developer builds require
XPSP2, Server 2003, or later.

Reviewed by Adam.

  • ForEachCoClass.cpp: Moved COM registration code here from WebKitDLL.cpp. This is ONLY used in the nightly case. (substituteGUID): Moved here from WebKitDLL.cpp. (registerWebKit): Moved here from WebKitDLL.cpp. (setUseOpenSourceWebKit): Call registerWebKit instead of swapping progids. There is only 1 set of progids now - for the nightly.
  • ForEachCoClass.h: Removed production progids.
  • Interfaces/WebKit.idl: Added prototype for shutDownWebKit.
  • WebKit.vcproj/Interfaces.vcproj: Changed path to type library to move it out of project directory.
  • WebKit.vcproj/WebKit.vcproj: Changed path to type library to move it out of project directory.
  • WebKitDLL.cpp: (DllUnregisterServer): Does nothing. Entry point is still present for backward compatibility. (DllRegisterServer): Does nothing. Entry point is still present for backward compatibility. (RunAsLocalServer): Does nothing. Entry point is still present for backward compatibility. (shutDownWebKit): Moved from ForEachCoClass.
  • WebKitDLL.h:

2008-05-30 Steve Falkenburg <sfalken@apple.com>

Generate an isolated COM manifest for registry free COM.


  • DumpRenderTree/win/DumpRenderTree.vcproj:
11:29 Changeset [34345] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix build.

10:12 Changeset [34344] by justin.garcia@apple.com
  • 4 edits in trunk/WebCore

2008-06-03 Justin Garcia <justin.garcia@apple.com>

Reviewed by John Sullivan.

<rdar://problem/5943515> SelectionController()->modify Backward/Forward with LineGranularity sometimes don't work


next/previousLinePosition didn't work if the input position was the last line in its
block. The code for handling such a position assumed that the input position was
editable, and that the position to be returned needed to also be editable. Changed
this code to just maintain the same editability.


No test case for now because we haven't enabled selection extension operations for
non-editable selections. I enabled them temporarily to test the fix, however.

  • dom/Node.cpp: Removed the now unused nextEditable(int).
  • dom/Node.h:
  • editing/visible_units.cpp: (WebCore::previousLeafWithSameEditability): Added. Like previousEditable but just returns a node of the same editability. (WebCore::previousLinePosition): Call previousLeaf instead of previousEditable. (WebCore::nextLeafWithSameEditability): Added. (WebCore::nextLinePosition): Same as above.
10:07 Changeset [34343] by andersca@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

2008-06-02 Anders Carlsson <andersca@apple.com>

Reviewed by John and Sam.

<rdar://problem/5955218>
Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)


  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::hasNewestCache): Add new accessor.


  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't call newestCache since it will always be null. Instead, call hasNewestCache which returns the saved newest cache pointer.

LayoutTests:

2008-06-03 Anders Carlsson <andersca@apple.com>

Reviewed by John and Sam.

<rdar://problem/5955218>
Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)

  • http/tests/appcache/crash-when-navigating-away-then-back-expected.txt: Added.
  • http/tests/appcache/crash-when-navigating-away-then-back.html: Added.
  • http/tests/appcache/resources/crash-when-navigating-away-then-back.html: Added.
  • http/tests/appcache/resources/crash-when-navigating-away-then-back.manifest: Added.
08:56 Changeset [34342] by ap@webkit.org
  • 2 edits in trunk/SunSpider

Rubber-stamped by Mark Rowe.

Roll out r31215 - with Mac OS X 10.5.3, there is no need to pause update daemon any more.

  • sunspider:
08:29 Changeset [34341] by mitz@apple.com
  • 6 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5965410> In fixed table layout, the width of cells with auto width should be proportional to their column span, to match Firefox and IE.

Test: fast/table/fixed-with-auto-with-colspan.html

  • rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::layout):

LayoutTests:

Reviewed by Dave Hyatt.

  • test and updated results for <rdar://problem/5965410> In fixed table layout, the width of cells with auto width should be proportional to their column span, to match Firefox and IE.
  • fast/table/fixed-with-auto-with-colspan.html: Added.
  • platform/mac/fast/table/fixed-with-auto-with-colspan-expected.checksum: Added.
  • platform/mac/fast/table/fixed-with-auto-with-colspan-expected.png: Added.
  • platform/mac/fast/table/fixed-with-auto-with-colspan-expected.txt: Added.
  • platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.checksum:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.txt:
02:01 Changeset [34340] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-06-03 Alp Toker <alp@nuanti.com>

Rubber-stamped by Alexey.

Remove GenerateNativeConverter added in r34331 to fix JS regressions.
(JSTextCustom.cpp added in r34141 is now unused in any code path.)

  • dom/Text.idl:
01:47 Changeset [34339] by mjs@apple.com
  • 1 edit
    1 add in trunk/WebKitSite

2008-06-03 Maciej Stachowiak <mjs@apple.com>

Add a snapshot of the squirrelfish bytecode docs.

  • specs/squirrelfish-bytecode.html: Added.
01:44 Changeset [34338] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • document remaining opcodes.
  • VM/Machine.cpp: (KJS::Machine::privateExecute): Document call, call_eval, construct, ret and end opcodes.
01:42 Changeset [34337] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

<rdar://problem/5621979> editing/selection/5241148.html crashes on Windows

Try removing it from the Skipped list, as this is not reproducible with current closed
source libraries.

  • platform/win/Skipped:
00:56 Changeset [34336] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-06-03 Alexander Vassilev <avasilev@voipgate.com>

Reviewed, tweaked and landed by Alexey.

https://bugs.webkit.org/show_bug.cgi?id=19363
Compiler error in Entity.h

  • dom/Entity.h: (WebCore::Entity::Entity): Add a private constructor to shut down the errors.
00:46 Changeset [34335] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-06-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Document throw and catch opcodes.
Note: See TracTimeline for information about the timeline view.