Timeline



Jan 18, 2010:

11:58 PM WebKit Team edited by abarth@webkit.org
(diff)
11:22 PM Changeset in webkit [53456] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

Revert r53454, since it causes much sadness in this world.

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by NOBODY (build fix).

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

11:00 PM Changeset in webkit [53455] by ggaren@apple.com
  • 6 edits
    2 adds in trunk

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.


  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp: (JSC::Heap::destroy): Moved ASSERTs to here. (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its setter to the function that does the shrinking. (JSC::Heap::freeBlocks): Implemented above algorithm. (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::~WorkerScriptController): Removed some ASSERTs that have moved to JavaScriptCore.

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826


Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added. (Dummy):
  • fast/workers/worker-gc2.html: Added.
9:51 PM Changeset in webkit [53454] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

8:32 PM Changeset in webkit [53453] by dbates@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2010-01-18 Daniel Bates <dbates@webkit.org>

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

Unreviewed. Add expected results for Windows.

  • platform/win/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
7:10 PM Changeset in webkit [53452] by dbates@webkit.org
  • 10 edits
    2 adds in trunk

2010-01-18 Daniel Bates <dbates@webkit.org>

Reviewed by Darin Adler.

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

Implements all of the alphabetic CSS3 list-style-types as per
section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.

Test: fast/lists/w3-css3-list-styles-alphabetic.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Updated comment to include added list-style-types.
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types, alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
  • css/CSSValueKeywords.in:
  • inspector/front-end/CSSSourceSyntaxHighlighter.js: (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types and alphabetized array valueKeywords.
  • platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
  • rendering/RenderListMarker.cpp: (WebCore::toAlphabetic): (WebCore::listMarkerSuffix): Added. (WebCore::listMarkerText): (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix. (WebCore::RenderListMarker::calcPrefWidths): Ditto. (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
  • rendering/style/RenderStyle.h: (WebCore::):
  • rendering/style/RenderStyleConstants.h: (WebCore::):

2010-01-18 Daniel Bates <dbates@webkit.org>

Reviewed by Darin Adler.

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

Tests that all of the alphabetic CSS3 list-style-types are supported.

  • fast/lists/w3-css3-list-styles-alphabetic.html: Added.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
7:08 PM Changeset in webkit [53451] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@webkit.org>

Unreviewed, fix misspelling of the word maximum in comment.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::maximum):
6:59 PM Changeset in webkit [53450] by mitz@apple.com
  • 17 edits in trunk

Rubber-stamped by Sam Weinig.

<rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change

WebCore:

Reverted r49567.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeLogicalBoxHeights):

  • rendering/RenderBR.cpp:

(WebCore::RenderBR::lineHeight):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::computedLineHeight):

LayoutTests:

Reverted r49567, but left in the test added in that revision, now with a failing result.

  • css1/font_properties/font.html:
  • fast/css/line-height-rounding-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-00-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-02-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-03-d-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.checksum:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.checksum:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
6:56 PM Changeset in webkit [53449] by steveblock@google.com
  • 4 edits
    1 add in trunk/WebCore

Moves JSC-specific implementation of JavaString to a private implementation class.
https://bugs.webkit.org/show_bug.cgi?id=33558

Reviewed by Adam Barth.

Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.

No new tests, refactoring only.

  • WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
  • bridge/jni/jni_class.cpp: Modified.

(JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.

  • bridge/jni/jni_runtime.h: Modified.

(JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
(JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
(JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.

  • bridge/jni/jsc/JavaStringJSC.h: Added.

(JSC::Bindings::JavaStringImpl::~JavaStringImpl):
(JSC::Bindings::JavaStringImpl::init):
(JSC::Bindings::JavaStringImpl::UTF8String):
(JSC::Bindings::JavaStringImpl::uchars):
(JSC::Bindings::JavaStringImpl::length):
(JSC::Bindings::JavaStringImpl::uString):

6:53 PM Changeset in webkit [53448] by eric@webkit.org
  • 4 edits in trunk

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • fast/css/parsing-error-recovery.html:

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • css/CSSGrammar.y:
6:22 PM Changeset in webkit [53447] by barraclough@apple.com
  • 5 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler & Oliver Hunt.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):

6:20 PM WikiStart edited by skyul@company100.net
(diff)
6:17 PM Changeset in webkit [53446] by Nikolas Zimmermann
  • 32 edits
    12 adds in trunk

2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml

svg/custom/relative-sized-shadow-tree-content.xhtml

Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)

Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.

Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.

updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
lazily recloning the shadow tree if necessary.

Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.

Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
as expected, and resize on window changes - affecting lots of testcases.

The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.

  • Android.mk: Add new files to build.
  • GNUmakefile.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement. (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates. (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
  • rendering/RenderSVGShadowTreeRootContainer.h: Added. (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
  • rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise). (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements. (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
  • rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree). (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here. (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree. (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node. (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
  • svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree. (WebCore::SVGElement::SVGElement): (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
  • svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
  • svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say. (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
  • svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
  • svg/SVGGElement.h: (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
  • svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
  • svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked. (WebCore::SVGStyledElement::instanceUpdatesBlocked): (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
  • svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above. (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::instanceRoot): (WebCore::SVGUseElement::insertedIntoDocument): (WebCore::SVGUseElement::removedFromDocument): (WebCore::SVGUseElement::svgAttributeChanged): (WebCore::updateContainerOffset): (WebCore::SVGUseElement::updateContainerOffsets): (WebCore::SVGUseElement::recalcStyle): (WebCore::dumpInstanceTree): (WebCore::SVGUseElement::buildPendingResource): (WebCore::SVGUseElement::buildShadowAndInstanceTree): (WebCore::SVGUseElement::createRenderer): (WebCore::updateFromElementCallback): (WebCore::SVGUseElement::attach): (WebCore::SVGUseElement::detach): (WebCore::SVGUseElement::toClipPath): (WebCore::SVGUseElement::buildInstanceTree): (WebCore::SVGUseElement::handleDeepUseReferencing): (WebCore::SVGUseElement::buildShadowTree): (WebCore::SVGUseElement::expandUseElementsInShadowTree): (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): (WebCore::SVGUseElement::instanceForShadowTreeElement): (WebCore::SVGUseElement::invalidateShadowTree): (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
  • svg/SVGUseElement.h: (WebCore::SVGUseElement::isPendingResource):

2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Update some test results, after rewriting <use> support.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/use-events-crash-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
  • platform/mac/svg/custom/use-recursion-1-expected.txt:
  • platform/mac/svg/custom/use-recursion-2-expected.txt:
  • platform/mac/svg/custom/use-recursion-3-expected.txt:
  • platform/mac/svg/custom/use-recursion-4-expected.txt:
  • platform/mac/svg/hixie/error/017-expected.txt:
  • platform/mac/svg/text/text-text-05-t-expected.checksum:
  • platform/mac/svg/text/text-text-05-t-expected.png:
  • svg/custom/relative-sized-deep-shadow-tree-content.xhtml: Added.
  • svg/custom/relative-sized-shadow-tree-content.xhtml: Added.
  • svg/text/text-text-05-t.svg: Remove possible race-condition, between selecting & dumping.
5:49 PM Changeset in webkit [53445] by tkent@chromium.org
  • 14 edits in trunk

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Expose the following functions to be used by WebCore:

  • WTF::msToyear()
  • WTF::dayInYear()
  • WTF::monthFromDayInYear()
  • WTF::dayInMonthFromDayInYear()
  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/DateMath.cpp: (WTF::msToYear): Remove "static inline". (WTF::dayInYear): Remove "static inline". (WTF::monthFromDayInYear): Remove "static inline". (WTF::dayInMonthFromDayInYear): Remove "static inline".
  • wtf/DateMath.h: Declare the above functions.

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Add setter tests to input-valueasdate-month.js, and update the
expectation.

  • fast/forms/input-valueasdate-expected.txt:
  • fast/forms/input-valueasdate-month-expected.txt:
  • fast/forms/script-tests/input-valueasdate-month.js:
  • fast/forms/script-tests/input-valueasdate.js:

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
toString() for the Month type, and HTMLInputElement::setValueAsDate()
calls them.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::beforeGregorianStartDate): (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate(). (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate(). (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal): (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): (WebCore::ISODateTime::toString): Implement only for the Month type.
  • html/ISODateTime.h:
5:19 PM Changeset in webkit [53444] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Fix build by reverting the previous change.

  • runtime/UString.h: Rolled out the FastAllocBase base class.

It was making UString larger, and therefore JSString larger,
and too big for a garbage collection cell.

This raises the unpleasant possibility that many classes became
larger because we added the FastAllocBase base class. I am
worried about this, and it needs to be investigated.

5:12 PM Changeset in webkit [53443] by steveblock@google.com
  • 5 edits
    2 moves in trunk/WebCore

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Patch by Enrica Casucci <enrica@apple.com> on 2010-01-18
Reviewed by Darin Adler.

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

5:07 PM Changeset in webkit [53442] by enrica@apple.com
  • 23 edits
    2 adds in trunk

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Reviewed by Darin Adler.

WebCore:

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.

LayoutTests:

  • editing/pasteboard/paste-noscript-expected.txt: Added.
  • editing/pasteboard/paste-noscript.html: Added.
5:05 PM Changeset in webkit [53441] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<https://bugs.webkit.org/show_bug.cgi?id=33816>
Crashes in Geolocation code due to refcounting, observer balance issues.

Reviewed by Sam Weinig.

Hold a ref to the GeoNotifier while dispatching a callback. The code was
copying a data member to avoid accessing a freed this ptr, but was still
using the this ptr.

Geolocation::removeObserver calls are not always balanced with addObserver.
Instead of asserting and continuing, don't try to remove non-existant
observers.

  • page/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.

  • page/GeolocationController.cpp:

(WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.

5:03 PM Changeset in webkit [53440] by sfalken@apple.com
  • 2 edits in trunk/WebKit/mac

Rubber-stamped by Sam Weinig.

Add missing export for Geolocation.

  • WebKit.exp:
4:53 PM Changeset in webkit [53439] by ap@apple.com
  • 5 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33815
Crash when using DOMTimer from a detached frame

Test: fast/dom/Window/timer-null-script-execution-context.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both IE and Firefox do raise an exception in this situation, although different ones.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is null (meaning that the window is detached). (WebCore::DOMWindow::setInterval): Ditto. (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution context. (WebCore::DOMWindow::clearInterval): Ditto. Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
4:50 PM Changeset in webkit [53438] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.

Allow custom memory allocation control for UString class
https://bugs.webkit.org/show_bug.cgi?id=27831

Inherits the following class from FastAllocBase because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at:
classs UString - JavaScriptCore/runtime/UString.cpp:160

  • runtime/UString.h:
4:02 PM Changeset in webkit [53437] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
rdar://problem/7553780

Patch by Evan Cheng <evan.cheng@apple.com> on 2010-01-18
Reviewed by Darin Adler.

  • runtime/JSObject.h:

(JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.

  • runtime/JSString.h:

(JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.

  • runtime/UString.h:

(JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.

3:49 PM Changeset in webkit [53436] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33792

No new tests, style fixes only.

  • bridge/jni/jni_runtime.cpp: Modified. (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jni_runtime.h: Modified. (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
  • bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
3:14 PM Changeset in webkit [53435] by bweinstein@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Tim Hatcher.

Updated Windows results after r53424.

  • platform/win/fast/css/zoom-body-scroll-expected.txt: Added.
3:09 PM Changeset in webkit [53434] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=30073
Moved reshape to HTMLCanvasElement::reset and have it always
set the size to the canvas width and height attrs.

This is not testable with LayoutTests, so I instead added logic
to the demo at:

https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html

2:51 PM Changeset in webkit [53433] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=33813
<rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame

Test: http/tests/appcache/destroyed-frame.html

  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
2:20 PM Changeset in webkit [53432] by mitz@apple.com
  • 3 edits
    4 adds in trunk

REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
https://bugs.webkit.org/show_bug.cgi?id=33809

Reviewed by Darin Adler.

WebCore:

Test: fast/repaint/trailing-floats-root-line-box-overflow.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
root box to the trailing floats box, which is becoming the last root box. This is
needed because painting code assumes that the last line in a block is the one with the
lowest overflow bottom.

LayoutTests:

  • fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow.html: Added.
2:14 PM Changeset in webkit [53431] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

[Qt] Unreviewed trivial buildfix. (r53429)

  • WebCore.pri: missing XMLNS_NAMES added.
2:12 PM Changeset in webkit [53430] by ggaren@apple.com
  • 5 edits in trunk/WebCore

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
https://bugs.webkit.org/show_bug.cgi?id=33811

This change simplifies a bunch of code, and also reduces
the number of places that use the difficult-to-understand and possibly
crashy-null scriptExecutionContext() idiom.

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSEventListener.h: (WebCore::createJSAttributeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
2:05 PM Changeset in webkit [53429] by ap@apple.com
  • 18 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33787
Add constants for more XML strings

No change in functionality, so no tests.

  • WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
  • platform/text/AtomicString.h: Added atomic strings for "xml" and "xmlns".
  • page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): (WebCore::Document::createAttributeNS):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): (WebCore::Node::isDefaultNamespace): (WebCore::Node::lookupNamespaceURI): (WebCore::Node::lookupNamespacePrefix):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::handleElementNamespaces):
  • editing/markup.cpp: (WebCore::shouldAddNamespaceAttr): (WebCore::appendNamespace):
  • xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): (WebCore::XPath::Step::nodesInAxis): Use the new constants.
  • Android.derived.mk:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added the new files to projects.
2:04 PM Changeset in webkit [53428] by andersca@apple.com
  • 2 edits in trunk/WebCore

Fix !ENABLE(3D_CANVAS) build.

  • rendering/RenderLayerBacking.cpp:

(WebCore::is3DCanvas):

1:58 PM Changeset in webkit [53427] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Adam Roben.

Change a newly added WebSocket test to work on Windows.

  • websocket/tests/multiple-connections.html: Decrease the number of simultaneous connections from 100 to 50. On Windows buildbot, only ~70 connections are allowed for some reason - but we only need much fewer to compare to HTTP simultaneous connection limit anyway.
1:54 PM Changeset in webkit [53426] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Skip test introduced in r53423 because of missing layoutTestController.setDomainRelaxationForbiddenForURLScheme()

  • platform/qt/Skipped: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html added.
1:47 PM Changeset in webkit [53425] by Csaba Osztrogonác
  • 1 edit
    1 copy in trunk/LayoutTests

[Qt] Add platform dependent expected file because of different font size.

Reviewed by Ariya Hidayat.

  • platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
1:36 PM Porting Macros plan edited by dbates@webkit.org
Changed OS(WIN) to OS(WINDOWS) since there is no such macro definition … (diff)
1:30 PM Changeset in webkit [53424] by timothy@apple.com
  • 4 edits in trunk

Adjust the scroll position when doing a full page zoom, so the content
stays in relatively the same position.

<rdar://problem/6150099> Zooming should keep the page content in the same place

Reviewed by Oliver Hunt.

  • page/Frame.cpp:

(WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
the scroll position, only when doing a full page zoom.

1:26 PM Changeset in webkit [53423] by Adam Roben
  • 22 edits
    2 adds in trunk

Add WebKit SPI to disallow setting document.domain from certain URL schemes

Fixes <http://webkit.org/b/33806> <rdar://problem/7552837> Would like
API to disallow setting of document.domain for pages with certain URL
schemes

Reviewed by Sam Weinig.

WebCore:

Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
respect it

Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

  • WebCore.base.exp: Export

SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.

  • dom/Document.cpp:

(WebCore::Document::setDomain): If domain relaxation is forbidden for
our security origin's scheme, throw an exception and don't allow
the domain to be set.

  • page/SecurityOrigin.cpp:

(WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
global set of schemes.
(WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
appropriate.
(WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.

  • page/SecurityOrigin.h: Added

{set,is}DomainRelaxationForbiddenForURLScheme.

WebKit/mac:

Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]

  • WebView/WebView.mm:

(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):

  • WebView/WebViewPrivate.h:

Added. Calls through to SecurityOrigin.

WebKit/win:

Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme

  • Interfaces/IWebViewPrivate.idl: Added

setDomainRelaxationForbiddenForURLScheme.

  • Interfaces/WebKit.idl: Touched to force a build.
  • WebView.cpp:

(WebView::setDomainRelaxationForbiddenForURLScheme):

  • WebView.h:

Added. Calls through to SecurityOrigin.

WebKitTools:

Add LayoutTestController support for calling new WebKit SPI to
disallow setting document.domain

  • DumpRenderTree/LayoutTestController.cpp:

(setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
through to LayoutTestController.
(LayoutTestController::staticFunctions): Added
setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/LayoutTestController.h: Added

setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Added. Calls through to WebKit.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Stubbed out.

LayoutTests:

Add tests for new WebKit SPI to disallow setting document.domain

  • http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt: Added.
  • http/tests/security/setDomainRelaxationForbiddenForURLScheme.html: Added.
  • platform/gtk/Skipped: Skip the new test since WebKitGtk doesn't have

this API.

1:18 PM Changeset in webkit [53422] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Csaba Osztrogonác <Csaba Osztrogonác>

Reviewed by Darin Adler.

Delete dftables-xxxxxxxx.in files automatically.
https://bugs.webkit.org/show_bug.cgi?id=33796

  • pcre/dftables: unlink unnecessary temporary file.
12:57 PM Changeset in webkit [53421] by mitz@apple.com
  • 2 edits in trunk/WebCore

Address review comments on the last change

  • rendering/TrailingFloatsRootInlineBox.h:

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):

12:55 PM Changeset in webkit [53420] by mitz@apple.com
  • 7 edits
    5 adds in trunk

<rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
<rdar://problem/7546035> Second right floated image misplacment
https://bugs.webkit.org/show_bug.cgi?id=33245

Reviewed by Darin Adler.

WebCore:

Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html

When the last line of a block contains a line break and there are floats
after the line break, it is incorrect to put those floats in the last line's
floats vector (along with floats from before the break). Instead, create
an additional line box (a TrailingFloatsRootInlineBox) and put those floats
in its floats vector.

  • WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
parameter, which is the highest line to dirty.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
for the floats occurring after the line break on the last line.
(WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
above the first dirty line.

  • rendering/TrailingFloatsRootInlineBox.h: Added.

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
setHasVirtualHeight().
(WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.

LayoutTests:

  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.checksum: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.png: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Added.
11:56 AM Changeset in webkit [53419] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33804
Test that WebSocket is not subject to HTTP connection limit

  • websocket/tests/multiple-connections-expected.txt: Added.
  • websocket/tests/multiple-connections.html: Added.
11:56 AM QtWebKitBackportingFixes edited by Laszlo Gombos
(diff)
11:44 AM Changeset in webkit [53418] by barraclough@apple.com
  • 12 edits in trunk/WebCore

Eeeep! reverting r53416 & r53417, more to be done to fix windows.

Reviewed by NOBODY (build fix).

  • WebCore.base.exp:
  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/sql/chromium/SQLiteFileSystemChromium.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::charactersWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::operator new):
(WebCore::StringImpl::operator delete):
(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::createWithTerminatingNullCharacter):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::hasTerminatingNullCharacter):
(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):
(WebCore::StringImpl::):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

  • storage/OriginUsageRecord.cpp:

(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::markDatabase):

11:40 AM Changeset in webkit [53417] by barraclough@apple.com
  • 2 edits in trunk/WebCore
  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

Reviewed by NOBODY (windows build fix).

11:27 AM Changeset in webkit [53416] by barraclough@apple.com
  • 11 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):

10:48 AM Changeset in webkit [53415] by cmarrin@apple.com
  • 5 edits in trunk

Made root compositing layer scroll rather than scroll parent.
https://bugs.webkit.org/show_bug.cgi?id=32279


There's some general cleanup here so the frames, bounds and
positions of all the associated layers are correct.
I also changed API of setScrollFrame to use an IntRect.

10:36 AM Changeset in webkit [53414] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Adam Roben.

Rename patches-to-commit to patches-in-commit-queue
https://bugs.webkit.org/show_bug.cgi?id=33789

The command really lists the patches in the commit-queue not all the
patches that are pending-commit (as the FIXME commands).

  • Scripts/webkitpy/commands/queries.py:
  • Scripts/webkitpy/commands/queries_unittest.py:
10:31 AM Changeset in webkit [53413] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Timeline panel scrolling speed can be 2 times faster.
https://bugs.webkit.org/show_bug.cgi?id=33794

10:15 AM Changeset in webkit [53412] by eric@webkit.org
  • 6 edits
    2 moves in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
https://bugs.webkit.org/show_bug.cgi?id=33672

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
  • GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
  • bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jni_instance.cpp: Removed.
  • bridge/jni/jni_instance.h: Removed.
  • bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
  • bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
9:46 AM Changeset in webkit [53411] by pkasting@chromium.org
  • 9 edits in trunk/WebCore

Simplify image decoders slightly by using OwnPtr instead of raw pointers
and eliminating a basically-useless wrapper class in the GIF decoder.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::ImageDecoderQt):
(WebCore::ImageDecoderQt::~ImageDecoderQt):
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::internalReadImage):
(WebCore::ImageDecoderQt::failRead):

  • platform/graphics/qt/ImageDecoderQt.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::~GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::~JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::decode):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::~PNGImageDecoder):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::decode):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):

  • platform/image-decoders/png/PNGImageDecoder.h:
9:20 AM Changeset in webkit [53410] by Adam Roben
  • 6 edits in trunk

DataTransfer interface broken on Windows--types member is always undefined, and getData() does not work.

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

Patch by Daniel Cheng <dcheng@google.com> on 2010-01-18
Reviewed by Adam Roben.

WebCore:

  • platform/win/ClipboardWin.cpp:

(WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
(WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
(WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.

LayoutTests:

  • fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt: Updated test expectations.
  • fast/events/drag-and-drop-dataTransfer-types-nocrash.html: Added test cases.
  • platform/win/Skipped: Re-enabled fast/events/drag-and-drop-dataTransfer-types-nocrash.html
8:58 AM Changeset in webkit [53409] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Timothy Hatcher.

Don't show Profiles welcome screen on panel switch,
if a profile view is shown.

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

  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show):
7:11 AM Changeset in webkit [53408] by vestbo@webkit.org
  • 6 edits in trunk

[Qt] Force qmake to generate a single makefile for DerivedSources.pro

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:

WebKitTools:

  • Scripts/webkitdirs.pm:
7:05 AM Changeset in webkit [53407] by Adam Roben
  • 3 edits in trunk/WebKitTools

Clean up use of /useenv when invoking Visual C++

This change reverts things to their pre-r49485 state. That revision
(and, subsequently, r49664 and r51788) started passing /useenv to
Visual C++, even in cases where we don't want to do so (such as when
invoking Visual C++ Express), in the name of making the Chromium build
work. Now that Chromium isn't using buildVisualStudioProject or
pdevenv, we can put things back they way they were.

Fixes <http://webkit.org/b/33797> build-webkit fails with VC++ Express
(due to /useenv flag)

Reviewed by Sam Weinig.

  • Scripts/pdevenv: Always pass /useenv. Chromium doesn't use this

script anymore.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject): Never pass /useenv anymore. pdevenv takes
care of this itself, and we don't want to pass /useenv when not using
pdevenv (e.g., when using VC++ Express, because that will cause it to
ignore the Platform SDK).

6:37 AM Changeset in webkit [53406] by eric@webkit.org
  • 8 edits
    1 copy in trunk

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • WebCore.gypi:
  • bindings/v8/RuntimeEnabledFeatures.cpp:
  • bindings/v8/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
  • bindings/v8/custom/V8NavigatorCustom.cpp: Added. (WebCore::V8Navigator::GeolocationEnabled):
  • page/Navigator.cpp: (WebCore::Navigator::geolocation):
  • page/Navigator.idl:

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • public/WebRuntimeFeatures.h:
  • src/WebRuntimeFeatures.cpp: (WebKit::WebRuntimeFeatures::enableGeolocation): (WebKit::WebRuntimeFeatures::isGeolocationEnabled):
6:20 AM Changeset in webkit [53405] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-01-18 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Improve Resources panel performance for lots of resources

DOM properties are extracted into const's, comparisons are faster.
https://bugs.webkit.org/show_bug.cgi?id=33790

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
  • inspector/front-end/Resource.js: (WebInspector.Resource.CompareByStartTime): (WebInspector.Resource.CompareByResponseReceivedTime): (WebInspector.Resource.CompareByEndTime): (WebInspector.Resource.CompareByDuration): (WebInspector.Resource.CompareByLatency): (WebInspector.Resource.CompareBySize):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
6:05 AM Changeset in webkit [53404] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

webkit-patch land-safely should obsolete old patches
https://bugs.webkit.org/show_bug.cgi?id=33788

When posting a commit-queue+ patch with land-safely, we should
obsolete the old patches on the bug. They're really confusing
because the main use case is to address reviewer feedback on a
previous patch.

  • Scripts/webkitpy/commands/upload.py:
  • Scripts/webkitpy/commands/upload_unittest.py:
5:49 AM Changeset in webkit [53403] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by David Levin.

webkit-patch should authenticate more often
https://bugs.webkit.org/show_bug.cgi?id=33701

This makes it easier to work with security patches.

  • Scripts/webkitpy/bugzilla.py:
5:33 AM Changeset in webkit [53402] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@rim.com>

Reviewed by Eric Seidel.

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

Following up on changes made with respect to bug #33498, we should
fix the the style errors found by the style bot.

Moreover, this fixes all the style errors found by check-webkit-style
except the use of an underline in the variable name _niflags. We should
fix this in a second run through for all the other variables names that
contain an underline because there are many.

No functionality was changed. So, no new tests.

  • rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): (WebCore::SVGRenderStyle::copy): (WebCore::SVGRenderStyle::operator!=): (WebCore::SVGRenderStyle::hasStroke): (WebCore::SVGRenderStyle::hasFill): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::InheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::operator==): (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::): (WebCore::SVGRenderStyle::): (WebCore::SVGRenderStyle::setBitDefaults):
4:54 AM Changeset in webkit [53401] by benm@google.com
  • 2 edits in trunk/WebCore

[Android] DOMWrapperMap::Visitor needs virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=33675

Patch by Andrei Popescu <andreip@google.com> on 2010-01-18
Reviewed by Adam Barth.

Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.

No new tests needed, functionality not changed.

  • bindings/v8/V8DOMMap.h:

(WebCore::DOMWrapperMap::Visitor::~Visitor): Added.

4:14 AM Changeset in webkit [53400] by Csaba Osztrogonác
  • 9 edits in trunk/JavaScriptCore

Rubber-stamped by Gustavo Noronha Silva.

Rolling out r53391 and r53392 because of random crashes on buildbots.
https://bugs.webkit.org/show_bug.cgi?id=33731

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UString.h:
  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

2:13 AM Changeset in webkit [53399] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style checker needs to know about GObject-specific requirements
inside WebCore/bindings/gobject/
https://bugs.webkit.org/show_bug.cgi?id=33606

Add an exception to the underscore rule for certain
GObject-specific names.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
2:13 AM Changeset in webkit [53398] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Shinichiro Hamaji.

[check-webkit-style] does understand ResourceHandleWin.h
https://bugs.webkit.org/show_bug.cgi?id=32975

I'm not 100% convinced this fix is correct, but without more examples,
it's hard to generalize. We can always generalize the fix in the
future.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
1:54 AM Changeset in webkit [53397] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Fix the build with strict gcc and RVCT versions: It's not legal to cast a
pointer to a function to a void* without an intermediate cast to a non-pointer
type. A cast to a ptrdiff_t inbetween fixes it.

Reviewed by Kenneth Rohde Christiansen.

  • runtime/JSString.h:

(JSC::Fiber::JSString):

1:29 AM Changeset in webkit [53396] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Unreviewed "build" fix.

  • Scripts/webkitpy/bugzilla.py:
1:15 AM Changeset in webkit [53395] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Unreviewed. Actually make land-safely mark commit-queue+ as
discussed with Eric.

  • Scripts/webkitpy/bugzilla.py:
  • Scripts/webkitpy/steps/postdiffforcommit.py:
1:02 AM Changeset in webkit [53394] by Simon Hausmann
  • 2 edits in trunk/WebCore

Unreviewed Symbian build fix.

If we don't link with def files, then we have to pass EXPORTUNFROZEN,
so that the build system still creates the .dso files in
release/armv5/lib and we can actually link against the created QtWebKit
dlls.

Thanks Iain for the help!

  • WebCore.pro:

Jan 17, 2010:

11:47 PM Changeset in webkit [53393] by Csaba Osztrogonác
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Eric Seidel.

[Qt] Platform dependent expected file added for r53388. (similar to original one, only styles differ)
https://bugs.webkit.org/show_bug.cgi?id=33784 (need to unify path dumping)

  • platform/qt/svg/custom/transformedMaskFails-expected.txt: Added.
11:36 PM Changeset in webkit [53392] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

11:28 PM Changeset in webkit [53391] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from JIT data stuctures.

Reviewed by Oliver Hunt.

These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
permutation of pointer states in MethodCallLinkInfo to represent the removed bits.

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.h:
9:41 PM Changeset in webkit [53390] by Laszlo Gombos
  • 2 edits in trunk/WebCore

2010-01-17 Srinidhi Shreedhara <srinidhi.shreedhara@nokia.com>

Reviewed by Simon Hausmann.

[Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
https://bugs.webkit.org/show_bug.cgi?id=33573

  • plugins/symbian/PluginViewSymbian.cpp: (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative coordinates for early return.
8:53 PM Changeset in webkit [53389] by eric@webkit.org
  • 3 edits in trunk/WebKit/chromium

2010-01-17 Kent Tamura <tkent@chromium.org>

Reviewed by Shinichiro Hamaji.

[Chromium] Remove an old runFileChooser() method.
https://bugs.webkit.org/show_bug.cgi?id=33778

Chromium code switched to new runFileChooser() introduced by
r53269. The old one is not needed anymore.

  • public/WebViewClient.h:
  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::runOpenPanel):
7:59 PM Changeset in webkit [53388] by oliver@apple.com
  • 3 edits
    3 adds in trunk

2010-01-17 Oliver Hunt <oliver@apple.com>

Reviewed by Dan Bernstein.

REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
https://bugs.webkit.org/show_bug.cgi?id=33782

Testcase for a mask containing transformed elements

  • platform/mac/svg/custom/transformedMaskFails-expected.png: Added.
  • svg/custom/transformedMaskFails-expected.txt: Added.
  • svg/custom/transformedMaskFails.svg: Added.

2010-01-17 Oliver Hunt <oliver@apple.com>

Reviewed by Dan Bernstein.

REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
https://bugs.webkit.org/show_bug.cgi?id=33782

Test: svg/custom/transformedMaskFails.svg

When computing the bounds for elements in a mask, we iterate through
all of our children requesting their repaint bounds using
repaintRectInLocalCoordinates(), but we were not converting that
rect into our own coordinate system, thus leading to an incorrect
repaint rect. This patch simply adds the missing localToParent
transform.

  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent):
7:28 PM Changeset in webkit [53387] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style-queue complains about one-line macros that include multiple statements
https://bugs.webkit.org/show_bug.cgi?id=33173

Add an exception for multiple statements on a line that starts a macro.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
7:11 PM Changeset in webkit [53386] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

[check-webkit-style] qt unit testing false positives
https://bugs.webkit.org/show_bug.cgi?id=32833

Exempt the Qt API and unit tests from the style checker.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
6:58 PM Changeset in webkit [53385] by mitz@apple.com
  • 91 edits in trunk/LayoutTests/platform

Set the svn:mime-type property of recently-added PNG files to image/png.

6:47 PM Changeset in webkit [53384] by mjs@apple.com
  • 2 edits in trunk/WebCore

2010-01-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Dan Bernstein.

Avoid slow access to AX objects on attribute access when AX is off
https://bugs.webkit.org/show_bug.cgi?id=33779

~4% Dromaeo attributes test speedup

  • dom/Element.cpp: (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of AX object cache unless accessibility is on and an AX-related attribute is changed.
6:39 PM Changeset in webkit [53383] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style-check script reports loads of errors on gtk2drawing.c
https://bugs.webkit.org/show_bug.cgi?id=33771

Exempt WebCore/platform/gtk/gtk2drawing.c and
WebCore/platform/gtk/gtk2drawing.h from style checks.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
6:22 PM Changeset in webkit [53382] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-01-17 Chris Jerdonek <Chris Jerdonek>

Reviewed by Shinichiro Hamaji.

Finished eliminating _cpp_style_state global state variable from
check-webkit-style code and eliminating _CppStyleState class.

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

  • Scripts/webkitpy/style/checker.py:
    • Minor updates caused by changes to cpp_style.py.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed _CppStyleState class.
    • Removed verbose_level functions.
    • Added verbosity as a parameter to _FunctionState constructor.
    • Added verbosity as a parameter to process_file().
    • Added verbosity as a parameter to process_file_data().
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Added helper functions to set verbosity while running tests.
6:06 PM Changeset in webkit [53381] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Shinichiro Hamaji.

check-webkit-style underscore check should be disabled for Qt methods starting with qt_
https://bugs.webkit.org/show_bug.cgi?id=33663

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
5:49 PM Changeset in webkit [53380] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

style-queue complains about missing #include of config.h for non-WebCore projects
https://bugs.webkit.org/show_bug.cgi?id=33170

WebKitAPITests are consumers of the WebKit API and therefore do not
need to follow the same include discipline as the rest of WebKit. This
patch exempts them from the include checks.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
5:33 PM Changeset in webkit [53379] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

EWS (Early Warning Systems) should build both debug and release
https://bugs.webkit.org/show_bug.cgi?id=33681

Build both debug and release for chromium-ews.

  • Scripts/webkitpy/commands/early_warning_system.py:
4:36 PM Changeset in webkit [53378] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style-queue should include instructions for how to file bugs against check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=32345

Added some text to the error message asking folks to file bugs against
false positives.

  • Scripts/webkitpy/commands/queues.py:
4:31 PM Changeset in webkit [53377] by mrowe@apple.com
  • 4 edits in tags/Safari-6531.21.11/WebKit

Merge r53195.

4:31 PM Changeset in webkit [53376] by mrowe@apple.com
  • 4 edits in tags/Safari-6531.21.11

Versioning.

4:29 PM Changeset in webkit [53375] by mrowe@apple.com
  • 1 copy in tags/Safari-6531.21.11

New tag.

4:04 PM Changeset in webkit [53374] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-17 Chris Jerdonek <Chris Jerdonek>

Reviewed by Adam Barth.

Eliminated the error_count global variable and related
check-webkit-style refactoring.

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

  • Scripts/check-webkit-style:
    • Updated to use webkit_argument_defaults().
    • Renamed styleChecker to style_checker.
  • Scripts/webkitpy/style/checker.py:
    • Prefixed the three default arguments with WEBKIT_DEFAULT.
    • Added webkit_argument_defaults().
    • Added default filter_rules parameter to CategoryFilter constructor.
    • Added ne() to CategoryFilter class.
    • Added eq() and ne() to ProcessorOptions class.
    • Added error_count and _write_error attributes to StyleChecker class.
    • Made StyleChecker._handle_error() increment the error count.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Improved CategoryFilterTest.test_eq().
    • Added CategoryFilterTest.test_ne().
    • Added test_eq() and test_ne() to ProcessorOptionsTest class.
    • Updated unit tests to use webkit_argument_defaults().
    • Added StyleCheckerTest class.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed references to global error_count.
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Removed CppStyleStateTest class.
3:39 PM Changeset in webkit [53373] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

[wx] On Win and GTK, we need to manually apply the transforms when falling back
to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.

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

9:54 AM Changeset in webkit [53372] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-17 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Gustavo Noronha Silva.

[GTK] GtkWebKit incompatible with rgba colormaps
https://bugs.webkit.org/show_bug.cgi?id=20736

Fix GTK theme rendering onto drawables with RGBA colormaps. Now
each type of colormap has its own collection of GtkWidgets.

This fix does not introduce any functionality changes, so does not
includes new tests.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::RenderThemeGtk): (WebCore::RenderThemeGtk::~RenderThemeGtk): (WebCore::RenderThemeGtk::partsForDrawable): (WebCore::adjustMozillaStyle): (WebCore::setMozillaState): (WebCore::paintMozillaGtkWidget): (WebCore::setToggleSize): (WebCore::RenderThemeGtk::setCheckboxSize): (WebCore::RenderThemeGtk::paintCheckbox): (WebCore::RenderThemeGtk::setRadioSize): (WebCore::RenderThemeGtk::paintRadio): (WebCore::RenderThemeGtk::paintButton): (WebCore::RenderThemeGtk::adjustMenuListStyle): (WebCore::RenderThemeGtk::paintMenuList): (WebCore::RenderThemeGtk::adjustTextFieldStyle): (WebCore::RenderThemeGtk::paintTextField): (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/gtk2drawing.c: (moz_gtk_use_theme_parts): (ensure_window_widget): (setup_widget_prototype): (ensure_button_widget): (ensure_hpaned_widget): (ensure_vpaned_widget): (ensure_toggle_button_widget): (ensure_button_arrow_widget): (ensure_checkbox_widget): (ensure_radiobutton_widget): (ensure_scrollbar_widget): (ensure_spin_widget): (ensure_scale_widget): (ensure_entry_widget): (moz_gtk_get_combo_box_inner_button): (moz_gtk_get_combo_box_button_inner_widgets): (ensure_combo_box_widgets): (moz_gtk_get_combo_box_entry_inner_widgets): (moz_gtk_get_combo_box_entry_arrow): (ensure_combo_box_entry_widgets): (ensure_handlebox_widget): (ensure_toolbar_widget): (ensure_toolbar_separator_widget): (ensure_tooltip_widget): (ensure_tab_widget): (ensure_progress_widget): (ensure_statusbar_widget): (ensure_frame_widget): (ensure_menu_bar_widget): (ensure_menu_bar_item_widget): (ensure_menu_popup_widget): (ensure_menu_item_widget): (ensure_image_menu_item_widget): (ensure_menu_separator_widget): (ensure_check_menu_item_widget): (ensure_tree_view_widget): (ensure_tree_header_cell_widget): (ensure_expander_widget): (ensure_scrolled_window_widget): (moz_gtk_checkbox_get_metrics): (moz_gtk_radio_get_metrics): (moz_gtk_splitter_get_metrics): (moz_gtk_toggle_paint): (moz_gtk_scrollbar_button_paint): (moz_gtk_scrollbar_trough_paint): (moz_gtk_scrollbar_thumb_paint): (moz_gtk_spin_paint): (moz_gtk_spin_updown_paint): (moz_gtk_scale_paint): (moz_gtk_scale_thumb_paint): (moz_gtk_gripper_paint): (moz_gtk_hpaned_paint): (moz_gtk_vpaned_paint): (moz_gtk_caret_paint): (moz_gtk_treeview_paint): (moz_gtk_tree_header_cell_paint): (moz_gtk_tree_header_sort_arrow_paint): (moz_gtk_treeview_expander_paint): (moz_gtk_expander_paint): (moz_gtk_combo_box_paint): (moz_gtk_downarrow_paint): (moz_gtk_combo_box_entry_button_paint): (moz_gtk_container_paint): (moz_gtk_toggle_label_paint): (moz_gtk_toolbar_paint): (moz_gtk_toolbar_separator_paint): (moz_gtk_tooltip_paint): (moz_gtk_resizer_paint): (moz_gtk_frame_paint): (moz_gtk_progressbar_paint): (moz_gtk_progress_chunk_paint): (moz_gtk_get_tab_thickness): (moz_gtk_tab_paint): (moz_gtk_tabpanels_paint): (moz_gtk_tab_scroll_arrow_paint): (moz_gtk_menu_bar_paint): (moz_gtk_menu_popup_paint): (moz_gtk_menu_separator_paint): (moz_gtk_menu_item_paint): (moz_gtk_menu_arrow_paint): (moz_gtk_check_menu_item_paint): (moz_gtk_window_paint): (moz_gtk_get_widget_border): (moz_gtk_get_combo_box_entry_button_size): (moz_gtk_get_tab_scroll_arrow_size): (moz_gtk_get_downarrow_size): (moz_gtk_get_toolbar_separator_width): (moz_gtk_get_expander_size): (moz_gtk_get_treeview_expander_size): (moz_gtk_get_menu_separator_height): (moz_gtk_get_scalethumb_metrics): (moz_gtk_get_scrollbar_metrics): (moz_gtk_images_in_menus): (moz_gtk_widget_paint): (moz_gtk_get_scrollbar_widget): (moz_gtk_shutdown): (moz_gtk_destroy_theme_parts_widgets):
  • platform/gtk/gtkdrawing.h:

Jan 16, 2010:

11:18 PM Changeset in webkit [53371] by mjs@apple.com
  • 12 edits in trunk

2010-01-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>

  • runtime/JSString.h: (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional finalizer callback, for the benefit of weak-referencing caches. (JSC::): (JSC::Fiber::JSString): (JSC::Fiber::~JSString):
  • runtime/JSString.cpp: (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer.
  • runtime/WeakGCMap.h: Include "Collector.h" to make this header includable by itself.

2010-01-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char* is now ambiguous.

2010-01-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>

Added a new cache for JSString values that are created from Strings or AtomicStrings
in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
and it is wasteful to make a new JS-level string value every time.


The string cache is per-world, and thus thread-safe and not a
vector for accidental information exchange.


~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.

  • bindings/js/JSDOMBinding.cpp: (WebCore::jsStringCache): Helper function to get the string cache for the current world. (WebCore::jsString): Some new overloads including the caching version. (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
  • bindings/js/JSDOMBinding.h: (WebCore::jsString): Prototype new overloads (and define a few inline).
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): Ditto.
  • WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
6:31 PM Changeset in webkit [53370] by oliver@apple.com
  • 2 edits in trunk/WebCore

2010-01-16 Oliver Hunt <oliver@apple.com>

Reviewed by Nikolas Zimmermann.

SVG Markers are getting culled incorrectly
https://bugs.webkit.org/show_bug.cgi?id=33767

Use applyTransformToPaintInfo to transform the paintInfo, otherwise
the paint rect is not updated leading to incorrect culling.

  • svg/graphics/SVGResourceMarker.cpp: (WebCore::SVGResourceMarker::draw):
5:42 PM Changeset in webkit [53369] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

MSAA: Screen rect for <option> elements is always the zero rect

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

Reviewed by Oliver Hunt.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::accLocation):
Use elementRect() rather than boundingBoxRect(), which
AccessibilityListBoxOption overrides.

LayoutTests:

  • platform/win/accessibility/option-element-position-and-size-expected.txt: Added.
  • platform/win/accessibility/option-element-position-and-size.html: Added.
5:42 PM Changeset in webkit [53368] by jhoneycutt@apple.com
  • 5 edits
    2 adds in trunk

get_accParent should try to retrieve parent AccessibilityObject, before
calling upon window

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

Reviewed by Darin Adler.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_accParent):
If the object has a parent object, return it. If not, return the
accessible for the WebView window.

WebKitTools:

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::parentElement):
Get the object's parent. Query it for IAccessible, and return it.

LayoutTests:

  • platform/win/accessibility/parent-element-expected.txt: Added.
  • platform/win/accessibility/parent-element.html: Added.
5:03 PM Changeset in webkit [53367] by sullivan@apple.com
  • 3 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
Zip code field is misidentified as street address because id attribute isn't checked.

Reviewed by Darin Adler

No new tests. I believe this code is used only by Safari AutoFill, but in any case
it does not affect page rendering or anything else at the WebCore/WebKit level.

  • page/Frame.cpp:

(WebCore::matchLabelsAgainstString):
New function, split out from matchLabelsAgainstElement.
(WebCore::Frame::matchLabelsAgainstElement):
Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.

  • page/mac/FrameMac.mm:

(WebCore::matchLabelsAgainstString):
Same as above. This is a parallel copy of the function using Mac-specific data structures.
(WebCore::Frame::matchLabelsAgainstElement):
Ditto.

3:30 PM Changeset in webkit [53366] by timothy@apple.com
  • 8 edits in trunk/WebCore

Use String.trim() instead of a regex in the Web Inspector.

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

Reviewed by George Staikos.

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.performSearch): Use .trim().

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.

  • inspector/front-end/ProfileView.js:
  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype): Ditto.

  • inspector/front-end/utilities.js:

(String.prototype.trimLeadingWhitespace): Removed.
(String.prototype.trimTrailingWhitespace): Removed.
(String.prototype.trimWhitespace): Removed.

3:04 PM Changeset in webkit [53365] by oliver@apple.com
  • 15 edits in trunk/WebCore

2010-01-16 Oliver Hunt <oliver@apple.com>

Reviewed by Nikolas Zimmermann.

Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
https://bugs.webkit.org/show_bug.cgi?id=33766

Make localToParentTransform return by reference to avid copy overhead.
This is a little gnarly in places as it means we need to be able to
return temporary values in a few implementations, so we have to add
class fields to hold them, heppily the classes that these effect are

sufficiently uncommon for this to be okay.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::localToParentTransform):
  • rendering/RenderForeignObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::localTransform): (WebCore::RenderObject::localToParentTransform):
  • rendering/RenderObject.h:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::localToParentTransform): (WebCore::RenderPath::nodeAtFloatPoint):
  • rendering/RenderPath.h:
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::localToParentTransform):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::localToParentTransform):
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.h: (WebCore::RenderSVGText::localToParentTransform):
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::localToParentTransform):
  • rendering/RenderSVGTransformableContainer.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::localToParentTransform):
  • rendering/RenderSVGViewportContainer.h:
1:36 PM Changeset in webkit [53364] by Darin Adler
  • 5 edits
    2 adds in trunk

ValidityState can hold a stale pointer to control
https://bugs.webkit.org/show_bug.cgi?id=33729
rdar://problem/7545114

Reviewed by Oliver Hunt and Alexey Proskuryakov.

WebCore:

Test: fast/forms/ValidityState-removed-control.html

  • html/HTMLFormControlElement.h: Use OwnPtr instead of

RefPtr to point to the ValidityState object.

  • html/ValidityState.cpp: Use a constant instead of a

macro for the email validation regular expression.
(WebCore::ValidityState::validationMessage): Use
m_control instead of control function; we don't need
a function for this. Also marked const.
(WebCore::ValidityState::typeMismatch): Ditto.
Fixed some minor style problems.
(WebCore::ValidityState::rangeUnderflow): Ditto.
(WebCore::ValidityState::rangeOverflow): Ditto.
(WebCore::ValidityState::stepMismatch): Ditto.
(WebCore::ValidityState::valid): Ditto.
(WebCore::ValidityState::isValidEmailAddress):
Changed local variable names for clarity. Got rid of
an unneeded global variable.

  • html/ValidityState.h: Removed RefCounted as a base

class, deriving from Noncopyable instead. Changed
creation to use PassOwnPtr instead of PassRefPtr.
Eliminated unneeded control function. Added ref and
deref functions that forward the reference counting
to the control. Moved constructor here and made it
inline.

LayoutTests:

  • fast/forms/ValidityState-removed-control-expected.txt: Added.
  • fast/forms/ValidityState-removed-control.html: Added.
12:53 PM Changeset in webkit [53363] by ap@apple.com
  • 5 edits
    5 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33752
Assertion failure when getting a href attribute with prefix

This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
disabled during introduction of QualifiedName, but never re-enabled.

Tests: fast/dom/bad-href-attribute.html

fast/dom/node-prefix-setter-namespace-exception.html

  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Element.cpp: (WebCore::Element::setPrefix):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox (DOM 3 Core spec says this behavior is implementation defined).
11:29 AM Changeset in webkit [53362] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

<rdar://problem/7529519> DumpRenderTree crashes in makeLargeMallocFailSilently()

Reviewed by Mark Rowe.

  • DumpRenderTree/mac/CheckedMalloc.cpp:

(makeLargeMallocFailSilently): Temporarily allow writing to the default
malloc zone structure while modifying it.

11:18 AM Changeset in webkit [53361] by beidson@apple.com
  • 10 edits in trunk

<rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
History traversals to a new document do not get the popstate event

Reviewed by Darin Adler.

WebCore:

State objects now live-on in their HistoryItem indefinitely.
This means any back/forward navigation might result in a popstate event, not just to
pre-existing documents as was previously the case.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it

on to the Document after the Document is created.

(WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,

set it as the FrameLoad's pending state object.

  • loader/FrameLoader.h:


  • page/Page.cpp:

(WebCore::Page::goToItem): Remove a now-invalid ASSERT.

LayoutTests:

Updated existing tests to match new correct behavior.

  • fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll-expected.txt:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html:
  • fast/loader/stateobjects/document-destroyed-navigate-back.html:
7:20 AM Changeset in webkit [53360] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools

Added back removed properties to iExploder input files

While the update-iexploder-cssproperties script works great to
add new properties, it has the side-effect of removing old
properties that once were parsed.

  • iExploder/htdocs/cssproperties.in: Added back removed

properties into their own section.

  • iExploder/htdocs/htmlattrs.in: Ditto.
6:58 AM Changeset in webkit [53359] by ddkilzer@apple.com
  • 1 edit in trunk/WebKitTools/ChangeLog

Added bug url to ChangeLog for r53358.

6:44 AM Changeset in webkit [53358] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-01-16 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by David Kilzer.

Update iExploder/htdocs/*.in by running update-iexploder-cssproperties

  • iExploder/htdocs/cssproperties.in: New CSS attributes
  • iExploder/htdocs/htmlattrs.in: New HTML attributes
  • iExploder/htdocs/htmltags.in: New HTML tags
12:51 AM QtWebKitMirrorGuide edited by zecke@selfish.org
Mention the manipulate-content.py script for post-processing. (diff)
12:48 AM QtWebKitPerformanceUtilities edited by zecke@selfish.org
Add an example to post-process the db. (diff)
12:40 AM QtWebKitPerformanceToolBackLog: edited by zecke@selfish.org
Add some new commits (diff)
12:35 AM QtWebKitReleases edited by zecke@selfish.org
(diff)

Jan 15, 2010:

11:38 PM QtWebKitReleases edited by zecke@selfish.org
add some ideas on release engineering (diff)
9:07 PM Changeset in webkit [53357] by Simon Fraser
  • 13 edits
    72 adds in trunk

2010-01-15 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein and Adele Peterson.

Support reflections on composited layers
https://bugs.webkit.org/show_bug.cgi?id=31885

Implement reflections (via -webkit-box-reflect:) on compositing layers.

We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
The replica layer is not parented in the tree, but referenced by another layer.
RenderLayerBacking sets this up when it finds RenderLayers for reflections.

GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
and copying their properties, including animations and contents. Deep reflections
are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
the path down the tree to each replica instance.

When GraphicsLayerCA properties are changed, in most cases the clones must also
be updated.

Tests: compositing/masks/direct-image-mask.html

compositing/reflections/animation-inside-reflection.html
compositing/reflections/compositing-change-inside-reflection.html
compositing/reflections/deeply-nested-reflections.html
compositing/reflections/masked-reflection-on-composited.html
compositing/reflections/nested-reflection-anchor-point.html
compositing/reflections/nested-reflection-animated.html
compositing/reflections/nested-reflection-mask-change.html
compositing/reflections/nested-reflection-on-overflow.html
compositing/reflections/nested-reflection-opacity.html
compositing/reflections/nested-reflection-size-change.html
compositing/reflections/nested-reflection-transformed.html
compositing/reflections/nested-reflection-transition.html
compositing/reflections/nested-reflection.html
compositing/reflections/reflection-opacity.html
compositing/reflections/reflection-ordering.html
compositing/reflections/reflection-positioning.html
compositing/reflections/transform-inside-reflection.html

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer. (WebCore::GraphicsLayer::replicatedLayerPosition): (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be special-cased; we cannot just copy the position of the original. (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed, which gives us a chance to update clone layers. (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer. (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating. (WebCore::GraphicsLayer::setReplicatedLayer):
  • platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer): (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer. (WebCore::GraphicsLayer::dumpProperties):
  • platform/graphics/mac/GraphicsLayerCA.h: (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers. (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the root of a replica tree. (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.

(WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
down the tree during recursion, to build cloneID paths.

(WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers. (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too. (WebCore::GraphicsLayerCA::addChild): ditto (WebCore::GraphicsLayerCA::addChildAtIndex): ditto (WebCore::GraphicsLayerCA::addChildBelow): ditto (WebCore::GraphicsLayerCA::addChildAbove): ditto (WebCore::GraphicsLayerCA::replaceChild): ditto (WebCore::GraphicsLayerCA::removeFromParent): ditto (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas() (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed. (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations. (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto. (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged() (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged() (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers. (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be

committed before we recurse on children.

(WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be

committed after we recurse on children, like clones.

(WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
(WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
(WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
(WebCore::GraphicsLayerCA::updateLayerSize): ditto
(WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
(WebCore::GraphicsLayerCA::updateTransform): ditto
(WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
(WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
(WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
(WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
(WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
(WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
flattening, or CATransformLayers for preserve-3d.
(WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
(WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
(WebCore::GraphicsLayerCA::updateContentsImage): ditto
(WebCore::GraphicsLayerCA::updateContentsRect): ditto
(WebCore::GraphicsLayerCA::updateMaskLayer): ditto
(WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
and its children, and attach them as sublayers.
(WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
string serves to identify clones in the hash map.
(WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
and return it.
(WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
(WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
(WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
(WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
(WebCore::GraphicsLayerCA::suspendAnimations): update clones.
(WebCore::GraphicsLayerCA::resumeAnimations): ditto
(WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
(WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
(WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
(WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
since it doesn't just copy those properties from the original.
(WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
(WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
the root of the clone tree.
(WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
(WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
(WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
(WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
(WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.

  • platform/graphics/mac/WebLayer.mm: (-[WebLayer display]): override -display so we know when to update the contents of clone layers
  • platform/graphics/mac/WebTiledLayer.mm: (-[WebTiledLayer display]): ditto.
  • rendering/RenderLayer.h: (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): initialize m_isReflection (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer. (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect). Also hook up updating the reflection layer geometry, and the relica position.

(WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.

  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic. (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected. (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer. (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces a reflection ancestor to composite now. (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything. (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode for masks or reflections any more. (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
  • rendering/RenderObject.h: (WebCore::RenderObject::isReplica):
  • rendering/RenderReplica.h: (WebCore::RenderReplica::isReplica): New method used to determine if a render is a replica.
9:05 PM Changeset in webkit [53356] by eric@webkit.org
  • 4 edits in trunk/LayoutTests

2010-01-15 Doug Muir <dmuir@google.com>

Fix some Layout Test timeouts when run under valgrind.

  • http/tests/history/redirect-js-form-submit-0-seconds.html:
  • http/tests/history/redirect-js-form-submit-2-seconds.html:
  • http/tests/misc/timer-vs-loading.html:
6:14 PM Changeset in webkit [53355] by eric@webkit.org
  • 6 edits
    2 adds in trunk

2010-01-15 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

CSS2.1 Counters not updated when new elements are inserted in the DOM.
https://bugs.webkit.org/show_bug.cgi?id=32884

  • fast/css/counters/adding-nodes-expected.txt: Added.
  • fast/css/counters/adding-nodes.html: Added.

2010-01-15 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

CSS2.1 Counters not updated when new elements are inserted in the DOM.
https://bugs.webkit.org/show_bug.cgi?id=32884

Test: fast/css/counters/adding-nodes.html

  • rendering/CounterNode.cpp: (WebCore::CounterNode::insertAfter): Modified to handle the addition of nodes with children. Needed when formerly root nodes become descendants of a new node.
  • rendering/RenderCounter.cpp: (WebCore::makeCounterNode): Changed to handle the case when root counter nodes lose their root status as a result of a new root counter node creation. (WebCore::destroyCounterNodeWithoutMapRemoval): Refactored more code into destroyCounterNodeChildren and renamed the function according to its new action. (WebCore::RenderCounter::destroyCounterNodes): Simplified to share more code with the new destroyCounterNode. (WebCore::RenderCounter::destroyCounterNode): Added to allow for selective counterNode destruction. (WebCore::RenderCounter::rendererSubtreeAttached): Added to refresh counter values in response to DOM changes. For renderers with no attached counters the execution time of this function cannot be discerned in comparison with the time needed to add a node or change the style of a node. (WebCore::updateCounters): Helper function for rendererSubtreeAttached. Updates the counters attached to a Renderer in response to the renderer or its ancestors being attached to the renderer tree.
  • rendering/RenderCounter.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::addChild): Changed to update counter values if needed.
5:56 PM Changeset in webkit [53354] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix for <rdar://problem/7548432>
Add ALWAYS_INLINE to jsLess for a 1% speedup on llvm-gcc.

Reviewed by Maciej Stachowiak.

  • runtime/Operations.h:

(JSC::jsLess):

5:24 PM Changeset in webkit [53353] by kevino@webkit.org
  • 3 edits in trunk/WebKit/wx

Reviewed by Alexey Proskuryakov.

Move the code adding the child frame to the FrameTree into wxWebFrame constructor
so that it happens before we call init() on the new frame. Fixes asserts checking
frame count consistency.

5:18 PM Changeset in webkit [53352] by darin@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-15 Darin Fisher <darin@chromium.org>

Fix flakey test.

Add a call to clearBackForwardList.

  • fast/history/history-length.html:
5:13 PM Changeset in webkit [53351] by eric@webkit.org
  • 7 edits in trunk

2010-01-15 Alejandro G. Castro <alex@igalia.com>

Reviewed by Xan Lopez.

Original patch by David Ronis <david.ronis@mcgill.ca>

Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=33486

Deprecated symbols replaced for gtk+ versions over 2.18.

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::getVisual): (WebCore::screenRect):

2010-01-15 Alejandro G. Castro <alex@igalia.com>

Reviewed by Xan Lopez.

Original patch by David Ronis <david.ronis@mcgill.ca>

Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=33486

Deprecated symbols replaced for gtk+ versions over 2.18.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::windowRect):
  • webkit/webkitprivate.cpp: (currentToplevelCallback):
  • webkit/webkitwebframe.cpp: (webkit_web_frame_print_full): (webkit_web_frame_print):
  • webkit/webkitwebview.cpp: (webkit_web_view_focus_in_event):
4:58 PM Changeset in webkit [53350] by darin@chromium.org
  • 2 edits
    1 move in trunk/LayoutTests

2010-01-15 Darin Fisher <darin@chromium.org>

Reviewed by Dimitri Glazkov.

Disable page cache and add diagnostic output in the failure case.
https://bugs.webkit.org/show_bug.cgi?id=33749

  • fast/history/history-length-expected.txt:
  • fast/history/history-length.html: Copied from fast/history/history-length.html-disabled.
  • fast/history/history-length.html-disabled: Removed.
4:16 PM Changeset in webkit [53349] by oliver@apple.com
  • 2 edits in trunk/WebCore

2010-01-15 Oliver Hunt <oliver@apple.com>

Reviewed by Sam Weinig.

Bad DOM performance in large SVG files
https://bugs.webkit.org/show_bug.cgi?id=30055

Improve the performance of the early culling check by avoiding save/restore
of graphics state in culled case.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
3:21 PM Changeset in webkit [53348] by darin@chromium.org
  • 1 edit
    1 move in trunk/LayoutTests

2010-01-15 Darin Fisher <darin@chromium.org>

Disable this test temporarily since it is failing on all of the
builders.

  • fast/history/history-length.html: Removed.
  • fast/history/history-length.html-disabled: Copied from fast/history/history-length.html.
2:37 PM Changeset in webkit [53347] by eric@webkit.org
  • 16 edits
    1 delete in trunk

2010-01-15 Eric Seidel <eric@webkit.org>

No review, rolling out r53344.
http://trac.webkit.org/changeset/53344
https://bugs.webkit.org/show_bug.cgi?id=32920

Broke the Chromium Mac builder.

  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/SerializedScriptValue.cpp: Removed.
  • bindings/v8/SerializedScriptValue.h: (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::release): (WebCore::SerializedScriptValue::toString): (WebCore::SerializedScriptValue::SerializedScriptValue):
  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::postMessageCallback):
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  • bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback):
  • bindings/v8/custom/V8MessageEventCustom.cpp: (WebCore::V8MessageEvent::initMessageEventCallback):
  • bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback):
  • bindings/v8/custom/V8PopStateEventCustom.cpp: (WebCore::V8PopStateEvent::initPopStateEventCallback): (WebCore::V8PopStateEvent::stateAccessorGetter):
  • bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback):

2010-01-15 Eric Seidel <eric@webkit.org>

No review, rolling out r53344.
http://trac.webkit.org/changeset/53344
https://bugs.webkit.org/show_bug.cgi?id=32920

Broke the Chromium Mac builder.

  • src/PlatformMessagePortChannel.cpp: (WebCore::PlatformMessagePortChannel::postMessageToRemote): (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
  • src/WebWorkerBase.cpp: (WebKit::WebWorkerBase::postMessageToWorkerObject):
  • src/WebWorkerClientImpl.cpp: (WebKit::WebWorkerClientImpl::postMessageToWorkerContext): (WebKit::WebWorkerClientImpl::postMessageToWorkerObjectTask):
  • src/WebWorkerImpl.cpp: (WebKit::WebWorkerImpl::postMessageToWorkerContextTask):
2:08 PM Changeset in webkit [53346] by darin@chromium.org
  • 5 edits
    2 adds in trunk

2010-01-15 Darin Fisher <darin@chromium.org>

Reviewed by Brady Eidson.

history.length does not return number of elements in history list
https://bugs.webkit.org/show_bug.cgi?id=24472

Test: fast/history/history-length.html

  • page/Page.cpp: (WebCore::Page::getHistoryLength):
1:47 PM Changeset in webkit [53345] by dimich@chromium.org
  • 3 edits in trunk/WebCore

Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
https://bugs.webkit.org/show_bug.cgi?id=31633

Reviewed by Darin Adler.

Don't see a way to add test for it, we don't have a way to reproduce the issue currently.

  • dom/Document.cpp:

(WebCore::DocumentWeakReference::DocumentWeakReference):
(WebCore::DocumentWeakReference::document):
(WebCore::DocumentWeakReference::clear):
(WebCore::Document::Document): Create a weak reference to this Document.
(WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
(WebCore::PerformTaskContext::PerformTaskContext):
(WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
(WebCore::Document::postTask):

  • dom/Document.h:

(WebCore::DocumentWeakReference::create):

1:28 PM Changeset in webkit [53344] by eric@webkit.org
  • 16 edits
    1 add in trunk

2010-01-15 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by David Levin.

[V8] Support SerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=32920
http://crbug.com/30620

Initial implementation of SerializedScriptValue which is used to
to create a serialized representation of JavaScript objects. This
representation is needed for structured clones and worker messages.

  • WebCore.gypi: Added SerializedScriptValue.cpp.
  • bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
  • bindings/v8/SerializedScriptValue.cpp: Added. (WebCore::): (WebCore::ZigZag::encode): (WebCore::ZigZag::decode): (WebCore::Writer::Writer): (WebCore::Writer::writeUndefined): (WebCore::Writer::writeNull): (WebCore::Writer::writeTrue): (WebCore::Writer::writeFalse): (WebCore::Writer::writeString): (WebCore::Writer::writeInt32): (WebCore::Writer::writeNumber): (WebCore::Writer::endComposite): (WebCore::Writer::data): (WebCore::Writer::doWriteUint32): (WebCore::Writer::append): (WebCore::Writer::ensureSpace): (WebCore::Writer::fillHole): (WebCore::Writer::charAt): (WebCore::Serializer::Serializer): (WebCore::Serializer::serialize): (WebCore::Serializer::StateBase::~StateBase): (WebCore::Serializer::StateBase::nextState): (WebCore::Serializer::StateBase::setNextState): (WebCore::Serializer::StateBase::composite): (WebCore::Serializer::StateBase::StateBase): (WebCore::Serializer::State::composite): (WebCore::Serializer::State::tag): (WebCore::Serializer::State::State): (WebCore::Serializer::StackCleaner::StackCleaner): (WebCore::Serializer::StackCleaner::~StackCleaner): (WebCore::Serializer::ArrayState::ArrayState): (WebCore::Serializer::ArrayState::done): (WebCore::Serializer::ArrayState::advance): (WebCore::Serializer::ObjectState::ObjectState): (WebCore::Serializer::ObjectState::done): (WebCore::Serializer::ObjectState::advance): (WebCore::Serializer::ObjectState::nextProperty): (WebCore::Serializer::doSerialize): (WebCore::Serializer::push): (WebCore::Serializer::top): (WebCore::Serializer::pop): (WebCore::Serializer::checkComposite): (WebCore::Reader::Reader): (WebCore::Reader::isEof): (WebCore::Reader::read): (WebCore::Reader::readTag): (WebCore::Reader::readString): (WebCore::Reader::readInt32): (WebCore::Reader::readNumber): (WebCore::Reader::doReadUint32): (WebCore::Deserializer::Deserializer): (WebCore::Deserializer::deserialize): (WebCore::Deserializer::doDeserialize): (WebCore::Deserializer::push): (WebCore::Deserializer::pop): (WebCore::Deserializer::stackDepth): (WebCore::Deserializer::element): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::deserialize):
  • bindings/v8/SerializedScriptValue.h: (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::createFromWire): (WebCore::SerializedScriptValue::release): (WebCore::SerializedScriptValue::toWireString):

Updated uses of SerializedScriptValue:

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::postMessageCallback):
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  • bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback):
  • bindings/v8/custom/V8MessageEventCustom.cpp: (WebCore::V8MessageEvent::initMessageEventCallback):
  • bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback):
  • bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback):

2010-01-15 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by David Levin.

[V8] Support SerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=32920
http://crbug.com/30620

Updated uses of SerializedScriptValue:

  • src/PlatformMessagePortChannel.cpp: (WebCore::PlatformMessagePortChannel::postMessageToRemote): (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
  • src/WebWorkerBase.cpp: (WebKit::WebWorkerBase::postMessageToWorkerObject):
  • src/WebWorkerClientImpl.cpp: (WebKit::WebWorkerClientImpl::postMessageToWorkerContext): (WebKit::WebWorkerClientImpl::postMessageToWorkerObjectTask):
  • src/WebWorkerImpl.cpp: (WebKit::WebWorkerImpl::postMessageToWorkerContextTask):
1:12 PM WebKit Team edited by Chris Jerdonek
Added myself. (diff)
12:54 PM Changeset in webkit [53343] by oliver@apple.com
  • 3 edits in trunk/WebCore

2010-01-15 Oliver Hunt <oliver@apple.com>

Reviewed by Dirk Schulze.

Bad DOM performance in large SVG files
https://bugs.webkit.org/show_bug.cgi?id=30055

Add an early return when we go to paint a RenderPath that
isn't in the current clip.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw):
12:53 PM Changeset in webkit [53342] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-01-15 Steve Block <steveblock@google.com>

Reviewed by Eric Seidel.

Make Geolocation::suspend/resume public.
https://bugs.webkit.org/show_bug.cgi?id=33679

These were made private in Bug 32499, but are required by Android to be public.

No new tests, build fix only.

  • page/Geolocation.cpp: Modified (WebCore::Geolocation::suspend): Added back in (WebCore::Geolocation::resume): Added back in
  • page/Geolocation.h: Modified. Make suspend and resume public
12:48 PM Changeset in webkit [53341] by ggaren@apple.com
  • 5 edits
    2 adds in trunk

2010-01-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESISON: Google maps buttons not working properly
https://bugs.webkit.org/show_bug.cgi?id=31871

REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when
getting directions for a second time
https://bugs.webkit.org/show_bug.cgi?id=33446


SunSpider and v8 report no change.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCacheGetByID): Update our cached offset in case flattening the dictionary changed any of its offsets.
  • jit/JITStubs.cpp: (JSC::JITThunks::tryCacheGetByID): (JSC::DEFINE_STUB_FUNCTION):
  • runtime/Operations.h: (JSC::normalizePrototypeChain): ditto

2010-01-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESISON: Google maps buttons not working properly
https://bugs.webkit.org/show_bug.cgi?id=31871

REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when
getting directions for a second time
https://bugs.webkit.org/show_bug.cgi?id=33446


Added a test for these bugs.

  • fast/js/pic/undictionary-expected.txt: Added.
  • fast/js/pic/undictionary.html: Added.
12:36 PM Changeset in webkit [53340] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-15 Chris Jerdonek <chris.jerdonek@gmail.com>

Reviewed by David Kilzer.

Altered parseDiffHeader() to skip unrecognized lines and
other minor clean-ups.

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

  • Scripts/VCSUtils.pm:
    • Changed parseDiffHeader() as follows:
      • Skips over unrecognized lines.
      • Addressed FIXME to remove substitution for "diff" line.
      • Renamed "version" header hash key to "sourceRevision".
      • Eliminated "copiedFromVersion" header hash key.
      • Included "sourceRevision" also for copied files.
      • Checks that copy revision number matches "sourceRevision".
      • No longer returns $foundHeaderEnding.
      • Dies if header ending not found.
      • Diff header dividing line now always added.
  • Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
    • Made necessary changes in parseDiffHeader() unit tests.
    • Shortened the file paths in some test cases.
12:26 PM Changeset in webkit [53339] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/index.html

2010-01-15 William Siegrist <wsiegrist@apple.com>

Cleanup buildbot main menu

12:20 PM Changeset in webkit [53338] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane

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

  • inspector/front-end/inspector.css:
12:20 PM Changeset in webkit [53337] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

svg/custom/marker-changes.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=33728

removing gratuitous setTimeout.

  • svg/custom/marker-changes.svg:
10:56 AM Changeset in webkit [53336] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

transitions/shorthand-border-transitions.html is still flaky on slower bots
https://bugs.webkit.org/show_bug.cgi?id=33721

Increase the tolerance. The test still tests what it was meant to.

  • transitions/shorthand-border-transitions.html:
10:38 AM Changeset in webkit [53335] by Nate Chapin
  • 6 edits in trunk/WebCore

2010-01-15 Nate Chapin <Nate Chapin>

Reviewed by Dimitri Glazkov.

[V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.

  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/V8Binding.cpp: (WebCore::getToStringName): (WebCore::constructorToString): (WebCore::getToStringTemplate):
  • bindings/v8/V8Binding.h:
  • bindings/v8/V8DOMWindowShell.cpp: (WebCore::V8DOMWindowShell::createNewContext):
  • bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate):
9:46 AM Changeset in webkit [53334] by Dimitri Glazkov
  • 2 edits in trunk/WebCore

2010-01-15 Dimitri Glazkov <Dimitri Glazkov>

No review, rolling out r53331.
http://trac.webkit.org/changeset/53331
https://bugs.webkit.org/show_bug.cgi?id=30055

Broke fast/borders/svg-as-border-image-3.html. Don't give up,
Oliver! You are really, really close.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
9:46 AM Changeset in webkit [53333] by ojan@chromium.org
  • 3 edits in trunk/LayoutTests

2010-01-14 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

animations/combo-transform-translate+scale.html failed on Snow Leopard Debug Bot
https://bugs.webkit.org/show_bug.cgi?id=33461

Make test half as long. Remove a setTimeout and tweak tolerances to
reduce flakiness.

  • animations/combo-transform-translate+scale.html:
9:13 AM BuildingQtOnSymbian edited by Simon Hausmann
(diff)
9:13 AM BuildingQtOnSymbian edited by Simon Hausmann
(diff)
9:04 AM BuildingQtOnSymbian created by Simon Hausmann
8:46 AM Changeset in webkit [53332] by kov@webkit.org
  • 2 edits in trunk

Rubber-stamped by Xan Lopez.

Bump version to 1.1.19.

  • configure.ac:
8:43 AM QtWebKit edited by Simon Hausmann
(diff)
4:25 AM Changeset in webkit [53331] by oliver@apple.com
  • 2 edits in trunk/WebCore

2010-01-15 Oliver Hunt <oliver@apple.com>

Reviewed by Nikolas Zimmermann.

Bad DOM performance in large SVG files
https://bugs.webkit.org/show_bug.cgi?id=30055

Add an early return when we go to paint a RenderPath that
isn't in the current clip.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
3:59 AM Changeset in webkit [53330] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Antti Koivisto.

Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform

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

  • page/NavigatorBase.cpp:
3:54 AM Changeset in webkit [53329] by Philippe Normand
  • 2 edits in trunk/WebCore

2010-01-14 Philippe Normand <pnormand@igalia.com>

Reviewed by Xan Lopez.

[Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
https://bugs.webkit.org/show_bug.cgi?id=33575

Patch from Magnus Boman <captain.magnus@gmail.com>

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache): fix compiler warnings.
3:20 AM Changeset in webkit [53328] by pfeldman@chromium.org
  • 9 edits
    1 add in trunk/WebCore

2010-01-14 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Timothy Hatcher.

Add welcome screen to Profiles pane to provide some instructions for novices.

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

  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/front-end/ProfileView.js: (WebInspector.CPUProfileType.prototype.get welcomeMessage):
  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfileType.prototype.get welcomeMessage): (WebInspector.ProfilesPanel): (WebInspector.ProfilesPanel.prototype.show): (WebInspector.ProfilesPanel.prototype.registerProfileType): (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked): (WebInspector.ProfilesPanel.prototype._addWelcomeMessage): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.closeVisibleView): (WebInspector.ProfilesPanel.prototype._updateInterface):
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/WelcomeView.js: Added. (WebInspector.WelcomeView): (WebInspector.WelcomeView.prototype._windowResized): (WebInspector.WelcomeView.prototype.addMessage):
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.html:
2:00 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
1:54 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
1:45 AM QtWebKitBackportingFixes edited by Girish Ramakrishnan
(diff)
1:43 AM Changeset in webkit [53327] by Girish Ramakrishnan
  • 2 edits in trunk/WebCore

[Qt/Win] Flash in QGraphicsWebView does not process hover correctly.

Reviewed by Simon Hausmann.

Mouse hover does not work as expected with the flash in some sites.

The problem appears to be that Flash queries NPNVnetscapeWindow on every
mouse hover. I do not how flash uses this value but returning 0 when flash
is in windowless mode solves the problem (When using QGraphicsWebView we
inject wmode opaque, thereby putting the plugin in windowless mode).

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

12:30 AM Changeset in webkit [53326] by zoltan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.

Allow custom memory allocation control for Peer class
https://bugs.webkit.org/show_bug.cgi?id=33670

Inherits the following class from Noncopyable because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at: WebCore/'location'
class Peer - websockets/WebSocketChannelClient.h:38

  • websockets/WorkerThreadableWebSocketChannel.h:
12:23 AM Changeset in webkit [53325] by zoltan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Oliver Hunt.

[Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
https://bugs.webkit.org/show_bug.cgi?id=33669

Inherits the following class from Noncopyable because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at: WebCore/'location'
class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254

  • platform/graphics/qt/GraphicsContextQt.cpp:
12:20 AM Changeset in webkit [53324] by darin@chromium.org
  • 4 edits
    2 adds in trunk

2010-01-14 Darin Fisher <darin@chromium.org>

Reviewed by Brady Eidson.

history.pushState should clear the entire forward history
https://bugs.webkit.org/show_bug.cgi?id=33160

Test: fast/loader/stateobjects/pushstate-clears-forward-history.html

  • history/BackForwardList.cpp: (WebCore::BackForwardList::addItem): (WebCore::BackForwardList::pushStateItem):
  • history/BackForwardList.h:

Jan 14, 2010:

11:48 PM Changeset in webkit [53323] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33705
UStringImpl::create() should use internal storage

Reviewed by Oliver Hunt.

When creating a UStringImpl copying of a UChar*, we can use an internal buffer,
by calling UStringImpl::tryCreateUninitialized().

Also, remove duplicate of copyChars from JSString, call UStringImpl's version.

Small (max 0.5%) progression on Sunspidey.

  • runtime/JSString.cpp:

(JSC::JSString::resolveRope):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::create):

11:31 PM Changeset in webkit [53322] by Csaba Osztrogonác
  • 7 edits in trunk/LayoutTests

Rubber-stamped by Kenneth Rohde Christiansen.

REGRESSION: svg/css/circle-in-mask-with-shadow.svg failing pixel tests
https://bugs.webkit.org/show_bug.cgi?id=33498

After http://trac.webkit.org/changeset/53300 Qt expected files should be updated.

  • platform/qt/svg/css/arrow-with-shadow-expected.txt: updated.
  • platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt: updated.
  • platform/qt/svg/css/mask-with-shadow-expected.txt: updated.
  • platform/qt/svg/css/path-with-shadow-expected.txt: updated.
  • platform/qt/svg/css/stars-with-shadow-expected.txt: updated.
  • platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt: updated.
10:55 PM Changeset in webkit [53321] by jorlow@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-01-14 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Oliver Hunt.

[Chromium] Forgot to adopt a ref counted object in StorageNamespaceProxy
https://bugs.webkit.org/show_bug.cgi?id=33704

  • src/StorageNamespaceProxy.cpp: (WebCore::StorageNamespace::localStorageNamespace): (WebCore::StorageNamespace::sessionStorageNamespace):
10:43 PM Changeset in webkit [53320] by barraclough@apple.com
  • 20 edits in trunk

JavaScriptCore: Make naming & behaviour of UString[Impl] methods more consistent.
https://bugs.webkit.org/show_bug.cgi?id=33702

Reviewed by Sam Weinig.

UString::create() creates a copy of the UChar* passed, but UStringImpl::create() assumes
that it should assume ownership of the provided buffer (with UString::createNonCopying()
and UStringImpl::createCopying() providing the alternate behaviours). Unify on create()
taking a copy of the provided buffer. For non-copying cases, use the name 'adopt', and
make this method take a Vector<UChar>&. For cases where non-copying construction was being
used, other than from a Vector<UChar>, change the code to allocate the storage along with
the UStringImpl using UStringImpl::createUninitialized(). (The adopt() method also more
closely matches that of WebCore::StringImpl).

Also, UString::createUninitialized() and UStringImpl::createUninitialized() have incompatible
behaviours, in that the UString form sets the provided UChar* to a null or non-null value to
indicate success or failure, but UStringImpl uses the returned PassRefPtr<UStringImpl> to
indicate when allocation has failed (potentially leaving the output Char* uninitialized).
This is also incompatible with WebCore::StringImpl's behaviour, in that
StringImpl::createUninitialized() will CRASH() if unable to allocate. Some uses of
createUninitialized() in JSC are unsafe, since they do not test the result for null.
UStringImpl's indication is preferable, since we may want a successful call to set the result
buffer to 0 (specifically, StringImpl returns 0 for the buffer where createUninitialized()
returns the empty string, which seems reasonable to catch bugs early). UString's method
cannot support UStringImpl's behaviour directly, since it returns an object rather than a
pointer.

  • remove UString::createUninitialized(), replace with calls to UStringImpl::createUninitialized()
  • create a UStringImpl::tryCreateUninitialized() form UStringImpl::createUninitialized(), with current behaviour, make createUninitialized() crash on failure to allocate.
  • make cases in JSC that do not check the result call createUninitialized(), and cases that do check call tryCreateUninitialized().

Rename computedHash() to existingHash(), to bring this in line wih WebCore::StringImpl.

  • API/JSClassRef.cpp:

(OpaqueJSClassContextData::OpaqueJSClassContextData):

(JSC::arrayProtoFuncToString):

  • runtime/Identifier.cpp:

(JSC::CStringTranslator::translate):
(JSC::UCharBufferTranslator::translate):

  • runtime/JSString.cpp:

(JSC::JSString::resolveRope):

  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):

  • runtime/Lookup.h:

(JSC::HashTable::entry):

  • runtime/StringBuilder.h:

(JSC::StringBuilder::release):

  • runtime/StringConstructor.cpp:

(JSC::stringFromCharCodeSlowCase):

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncLink):

  • runtime/Structure.cpp:

(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
(JSC::Structure::put):
(JSC::Structure::remove):
(JSC::Structure::insertIntoPropertyMapHashTable):
(JSC::Structure::checkConsistency):

  • runtime/Structure.h:

(JSC::Structure::get):

  • runtime/StructureTransitionTable.h:

(JSC::StructureTransitionTableHash::hash):

  • runtime/UString.cpp:

(JSC::createRep):
(JSC::UString::UString):
(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):
(JSC::UString::operator=):

  • runtime/UString.h:

(JSC::UString::adopt):
(JSC::IdentifierRepHash::hash):
(JSC::makeString):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::adopt):
(JSC::UStringImpl::create):
(JSC::UStringImpl::createUninitialized):
(JSC::UStringImpl::tryCreateUninitialized):
(JSC::UStringImpl::existingHash):

WebCore: Rubber stamped by Sam Weinig.

Make naming & behaviour of UString[Impl] methods more consistent.
https://bugs.webkit.org/show_bug.cgi?id=33702

WebCore change reflecting UString method name change computedHash() -> existingHash().

  • platform/text/AtomicString.cpp:

(WebCore::AtomicString::add):
(WebCore::AtomicString::find):

10:14 PM Changeset in webkit [53319] by Csaba Osztrogonác
  • 2 edits in trunk

[Qt] Defective dependencies caused build failing on QtBuildBot.
https://bugs.webkit.org/show_bug.cgi?id=33693

Reviewed by Eric Seidel.

  • WebKit.pri: CONFIG += depend_includepath added.
9:10 PM Changeset in webkit [53318] by mitz@apple.com
  • 5 edits in trunk/WebCore

<rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
https://bugs.webkit.org/show_bug.cgi?id=19650

Reviewed by Simon Fraser.

  • platform/graphics/GeneratedImage.cpp:

(WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
letting the generator substitute the parameters with visually-equivalent values that
are more efficient.

  • platform/graphics/Generator.h:

(WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
that does nothing.

  • platform/graphics/Gradient.cpp:

(WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.

  • platform/graphics/Gradient.h:
8:56 PM Changeset in webkit [53317] by ukai@chromium.org
  • 5 edits in trunk/WebKitTools

2010-01-14 Yuzo Fujishima <yuzo@google.com>

Reviewed by Alexey Proskuryakov.

Update pywebsocket to 0.4.6
https://bugs.webkit.org/show_bug.cgi?id=32299
The newer pywebsocket can handle more simultaneous connections.

  • pywebsocket/mod_pywebsocket/handshake.py:
  • pywebsocket/mod_pywebsocket/standalone.py:
  • pywebsocket/setup.py:
  • pywebsocket/test/test_handshake.py:
8:42 PM Changeset in webkit [53316] by rolandsteiner@chromium.org
  • 49 edits in trunk/LayoutTests

Bug 31865 - Re-do ruby layout tests to use only Latin characters
(https://bugs.webkit.org/show_bug.cgi?id=31865)

Reviewed by David Levin.

New base-lines for the Windows platform.

  • platform/win/fast/ruby/ruby-empty-rt-expected.checksum:
  • platform/win/fast/ruby/ruby-empty-rt-expected.png:
  • platform/win/fast/ruby/ruby-empty-rt-expected.txt:
  • platform/win/fast/ruby/ruby-length-expected.checksum:
  • platform/win/fast/ruby/ruby-length-expected.png:
  • platform/win/fast/ruby/ruby-length-expected.txt:
  • platform/win/fast/ruby/ruby-run-break-expected.checksum:
  • platform/win/fast/ruby/ruby-run-break-expected.png:
  • platform/win/fast/ruby/ruby-run-break-expected.txt:
  • platform/win/fast/ruby/ruby-runs-expected.checksum:
  • platform/win/fast/ruby/ruby-runs-expected.png:
  • platform/win/fast/ruby/ruby-runs-expected.txt:
  • platform/win/fast/ruby/ruby-runs-spans-expected.checksum:
  • platform/win/fast/ruby/ruby-runs-spans-expected.png:
  • platform/win/fast/ruby/ruby-runs-spans-expected.txt:
  • platform/win/fast/ruby/ruby-simple-expected.checksum:
  • platform/win/fast/ruby/ruby-simple-expected.png:
  • platform/win/fast/ruby/ruby-simple-expected.txt:
  • platform/win/fast/ruby/ruby-simple-rp-expected.checksum:
  • platform/win/fast/ruby/ruby-simple-rp-expected.png:
  • platform/win/fast/ruby/ruby-simple-rp-expected.txt:
  • platform/win/fast/ruby/ruby-trailing-expected.checksum:
  • platform/win/fast/ruby/ruby-trailing-expected.png:
  • platform/win/fast/ruby/ruby-trailing-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-rt-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-insert-rt-expected.png:
  • platform/win/fast/ruby/rubyDOM-insert-rt-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-text1-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-insert-text1-expected.png:
  • platform/win/fast/ruby/rubyDOM-insert-text1-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-text2-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-insert-text2-expected.png:
  • platform/win/fast/ruby/rubyDOM-insert-text2-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-text3-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-insert-text3-expected.png:
  • platform/win/fast/ruby/rubyDOM-insert-text3-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-rt1-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-remove-rt1-expected.png:
  • platform/win/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-rt2-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-remove-rt2-expected.png:
  • platform/win/fast/ruby/rubyDOM-remove-rt2-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-text1-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-remove-text1-expected.png:
  • platform/win/fast/ruby/rubyDOM-remove-text1-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-text2-expected.checksum:
  • platform/win/fast/ruby/rubyDOM-remove-text2-expected.png:
  • platform/win/fast/ruby/rubyDOM-remove-text2-expected.txt:
8:20 PM Changeset in webkit [53315] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-14 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Laszlo Gombos.

Platform Symbian specific:
Added time-based optimization (-Otime) and increased optimization level to -O3,
conditionally for RVCT compiler (for ARM), for increasing performance
(primarily affecting JavaScript execution).
Default settings are -Ospace and -O2.

No new tests needed because no new funtionality is introduced,
only potential regression on existing tests needs to be evaluated.

  • WebCore.pro:
8:08 PM QtWebKitBackportingFixes edited by Laszlo Gombos
(diff)
6:44 PM Changeset in webkit [53314] by eric@webkit.org
  • 3 edits in trunk/WebKit/chromium

2010-01-14 Marcus Bulach <bulach@chromium.org>

Reviewed by Dimitri Glazkov.

Adds WebKit::WebSecurityOrigin::createFromDatabaseIdentifier.
https://bugs.webkit.org/show_bug.cgi?id=33648

  • public/WebSecurityOrigin.h:
  • src/WebSecurityOrigin.cpp: (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier):
6:42 PM Changeset in webkit [53313] by jshin@chromium.org
  • 2 edits in trunk/WebCore

2010-01-14 Jungshik Shin <jshin@chromium.org>

Unreviewed, attempted build fix on chromium.

Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)

  • bindings/v8/V8Collection.h: (WebCore::getNamedPropertyOfCollection):
6:35 PM Changeset in webkit [53312] by jshin@chromium.org
  • 2 edits in trunk/WebCore

2010-01-14 Jungshik Shin <jshin@chromium.org>

Unreviewed, attempted build fix on chromium.

Fix a Chromium build failure due to an unused variable in V8 binding.

  • bindings/v8/V8Collection.h: (WebCore::getIndexedPropertyOfCollection):
6:04 PM Changeset in webkit [53311] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

Unreviewed, attempted build fix.

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::haveDecodedRow):

5:52 PM Changeset in webkit [53310] by ojan@chromium.org
  • 3 edits in trunk/LayoutTests

2010-01-14 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

animations/change-keyframes.html failed on Tiger Bot
https://bugs.webkit.org/show_bug.cgi?id=33370

Increase tolerances. They're still testing the stated goal of the test.

  • animations/change-keyframes.html:
  • transitions/cancel-transition.html:
5:45 PM Changeset in webkit [53309] by pkasting@chromium.org
  • 8 edits in trunk/WebCore

Simplify image decoders by making downsampling functions available at
all times, allowing much duplicated logic to be collapsed.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::setData):

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::prepareScaleDataIfNecessary):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::ImageDecoder):
(WebCore::ImageDecoder::scaledSize):
(WebCore::ImageDecoder::setMaxNumPixels):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::sizeNowAvailable):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::setSize):
(WebCore::JPEGImageDecoder::outputScanlines):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):

5:34 PM Changeset in webkit [53308] by jianli@chromium.org
  • 2 edits in trunk/WebCore

[chromium] Remove obsolete CF related files from gyp build.
https://bugs.webkit.org/show_bug.cgi?id=33002

Reviewed by Eric Seidel.

  • WebCore.gypi:
5:34 PM Changeset in webkit [53307] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Skip new test that requires new functionality in
DRT (layoutTestController.setWillSendRequestReturnsNull).

5:31 PM Changeset in webkit [53306] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Skipping test that fails intermitently - fix for the test being
worked on; see https://bugs.webkit.org/show_bug.cgi?id=33671.

5:30 PM Changeset in webkit [53305] by pkasting@chromium.org
  • 3 edits in trunk/WebCore

Decoding images to scaled output buffers resulted in garbage for
no-alpha PNGs and CMYK JPEGs.
https://bugs.webkit.org/show_bug.cgi?id=33624

Reviewed by Adam Barth.

No layout test since I don't have access to a platform that scales the
output buffers.

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::convertCMYKToRGBA):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::rowAvailable):

5:25 PM Changeset in webkit [53304] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

Reviewed by Eric Seidel.

[GTK] Crashes cleaning clipboard contents, with page cache enabled
https://bugs.webkit.org/show_bug.cgi?id=32900

Null-check the focus controller to avoid crashing. Could not find
a way to reproduce this consistently, thus no test.

  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::clearClipboardContentsCallback):
5:24 PM Changeset in webkit [53303] by ojan@chromium.org
  • 4 edits in trunk/LayoutTests

2010-01-13 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

LayoutTests/animations/play-state.html and LayoutTests/animations/3d/transform-origin-vs-functions.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=33626

Speculative fixes.

  • animations/3d/transform-origin-vs-functions.html: Remove timeout for notifyDone and start measurement at webkitAnimationStart instead of body onload.
  • animations/play-state-expected.txt:
  • animations/play-state.html: Reduce test time in half, but keep the same tolerance level.
5:22 PM Changeset in webkit [53302] by ojan@chromium.org
  • 7 edits in trunk/LayoutTests

2010-01-13 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

A few more flaky transitions/animations tests
https://bugs.webkit.org/show_bug.cgi?id=33642

Attempt to deflake a few more tests. Some of these are second
attempts. The first attempt made it less flaky, but not 100%.
Also, for a couple tests, make them shorter. They seemed
unnecessarily long.

  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • transitions/cancel-transition.html:
  • transitions/mask-transitions.html:
  • transitions/shorthand-border-transitions-expected.txt:
  • transitions/shorthand-border-transitions.html:
5:17 PM Changeset in webkit [53301] by bweinstein@apple.com
  • 2 edits in trunk/WebCore

Rubber-stamped by Oliver Hunt.

Fix an assertion that was causing test crashes. Filed a bug
about the weirdness that causes this assertion (inconsistencies
between DragOperationMove and DragOperationGeneric).

  • dom/Clipboard.cpp:

(WebCore::dragOpFromIEOp):
(WebCore::Clipboard::setDestinationOperation):

5:13 PM Changeset in webkit [53300] by Beth Dakin
  • 43 edits in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION:
svg/css/circle-in-mask-with-shadow.svg failing pixel tests
-and corresponding-
<rdar://problem/7544176>

Reviewed by Sam Weinig.

This change makes repaintRectInLocalCoordinates return a rect that
is -webkit-svg-shadow-aware.

  • rendering/RenderPath.cpp:

(WebCore::RenderPath::repaintRectInLocalCoordinates):

  • rendering/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):

  • rendering/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::repaintRectInLocalCoordinates):

  • rendering/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):

  • rendering/RenderSVGText.cpp:

(WebCore::RenderSVGText::repaintRectInLocalCoordinates):

  • rendering/SVGRenderSupport.cpp:

(WebCore::SVGRenderBase::prepareToRenderSVGContent):

  • rendering/style/SVGRenderStyle.cpp:

(WebCore::SVGRenderStyle::inflateForShadow):

  • rendering/style/SVGRenderStyle.h:

LayoutTests: Tests for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION:
svg/css/circle-in-mask-with-shadow.svg failing pixel tests
-and corresponding-
<rdar://problem/7544176>

Reviewed by Sam Weinig.

All of these tests just needed to be updated because of small
rounding differences.

  • platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum:
  • platform/mac/fast/repaint/moving-shadow-on-container-expected.png:
  • platform/mac/fast/repaint/moving-shadow-on-container-expected.txt:
  • platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum:
  • platform/mac/fast/repaint/moving-shadow-on-path-expected.png:
  • platform/mac/fast/repaint/moving-shadow-on-path-expected.txt:
  • platform/mac/svg/css/arrow-with-shadow-expected.png:
  • platform/mac/svg/css/arrow-with-shadow-expected.txt:
  • platform/mac/svg/css/circle-in-mask-with-shadow-expected.checksum:
  • platform/mac/svg/css/circle-in-mask-with-shadow-expected.png:
  • platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
  • platform/mac/svg/css/clippath-with-shadow-expected.png:
  • platform/mac/svg/css/composite-shadow-example-expected.checksum:
  • platform/mac/svg/css/composite-shadow-example-expected.png:
  • platform/mac/svg/css/composite-shadow-example-expected.txt:
  • platform/mac/svg/css/composite-shadow-with-opacity-expected.checksum:
  • platform/mac/svg/css/composite-shadow-with-opacity-expected.png:
  • platform/mac/svg/css/composite-shadow-with-opacity-expected.txt:
  • platform/mac/svg/css/css-box-min-width-expected.checksum:
  • platform/mac/svg/css/css-box-min-width-expected.png:
  • platform/mac/svg/css/group-with-shadow-expected.txt:
  • platform/mac/svg/css/mask-with-shadow-expected.txt:
  • platform/mac/svg/css/path-with-shadow-expected.png:
  • platform/mac/svg/css/path-with-shadow-expected.txt:
  • platform/mac/svg/css/shadow-and-opacity-expected.txt:
  • platform/mac/svg/css/shadow-with-large-radius-expected.txt:
  • platform/mac/svg/css/shadow-with-negative-offset-expected.txt:
  • platform/mac/svg/css/stars-with-shadow-expected.checksum:
  • platform/mac/svg/css/stars-with-shadow-expected.png:
  • platform/mac/svg/css/stars-with-shadow-expected.txt:
  • platform/mac/svg/filters/shadow-on-rect-with-filter-expected.checksum:
  • platform/mac/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
5:09 PM Changeset in webkit [53299] by sfalken@apple.com
  • 4 edits in branches/safari-4-branch

Versioning.

4:50 PM Changeset in webkit [53298] by eric@webkit.org
  • 8 edits in trunk/WebKitTools

2010-01-14 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

REGRESSION(53133): commit-queue no longer rejects patches with invalid committers, instead it hangs
https://bugs.webkit.org/show_bug.cgi?id=33638

  • Scripts/webkitpy/bugzilla.py:
    • Add Bug.id() to match Attachment.id()
    • Give Bug.reviewed_patches and commit_queued_patches the option to return patches with invalid committers/reviewers.
    • Add back a missing variable to _validate_setter_email found by the new unit tests!
  • Scripts/webkitpy/commands/queries.py:
    • Add FIXMEs about the commands being confusingly named.
  • Scripts/webkitpy/commands/queries_unittest.py:
    • Update results to reflect the newly restructured mock bug cache.
  • Scripts/webkitpy/commands/queues.py:
    • Add a new _validate_patches_in_commit_queue method (this is what fixes the regression).
    • Add a FIXME about eventually sorting the patches into some order.
  • Scripts/webkitpy/commands/queues_unittest.py:
    • Update results now that with the newly restructure mock bug cache we're testing cq+'d patches with an invalid committer.
  • Scripts/webkitpy/commands/upload_unittest.py:
    • Update results to match the newly restructured mock bug cache.
  • Scripts/webkitpy/mock_bugzillatool.py:
    • Restructure fetch_ methods to not use a manual list of ids, but rather use Bug and Attachment classes to make real queries from all of the Bugs.
    • Add a few more attachments and bug dictionaries for use by the tests.
4:08 PM Changeset in webkit [53297] by Nikolas Zimmermann
  • 1 edit in trunk/LayoutTests/ChangeLog

Not reviewed. Fix reviewer.

4:06 PM Changeset in webkit [53296] by bweinstein@apple.com
  • 9 edits in trunk

Drag and Drop source/destination code needs cleanup.
<https://bugs.webkit.org/show_bug.cgi?id=33691>.

Reviewed by Adam Roben.

WebCore:

Cleaned up some Drag and Drop code that deals with getting
source and destination operations, and added some ASSERTS to make
sure we don't get in bad states.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::sourceOperation): Make this return the operation itself.
(WebCore::Clipboard::destinationOperation): Ditto.
(WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
(WebCore::Clipboard::setDestinationOperation): Ditto.

  • dom/Clipboard.h:
  • page/DragController.cpp:

(WebCore::DragController::tryDHTMLDrag):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleDrag):

WebKit/chromium:

Update to new way of calling sourceOperation.

  • src/DragClientImpl.cpp:

(WebKit::DragClientImpl::startDrag):

WebKit/qt:

Update to new way of calling sourceOperation.

  • WebCoreSupport/DragClientQt.cpp:

(WebCore::DragClientQt::startDrag):

3:38 PM Changeset in webkit [53295] by timothy@apple.com
  • 4 edits in trunk/WebCore

Make the Web Inspector's JavaScript debugger work with isolated worlds.
Console evaluation is not performed in the correct world yet, tracked
by bug http://webkit.org/b/33692.

http://webkit.org/b/33690

Reviewed by Adam Roben.

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::restore): Attach the debugger to
any window shell, not just for the debugger world.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell): Detach the debugger, and
reattach to all window shells, not just for the debugger world.
(WebCore::ScriptController::initScript): Attach the debugger to
any window shell, not just for the debugger world.
(WebCore::ScriptController::attachDebugger): Changed to loop through
all the window shells and call the new overloaded attachDebugger.
(WebCore::ScriptController::attachDebugger): Added. An overload that
takes a window shell to attach the debugger to. Has most of the
logic from the original attachDebugger.

  • bindings/js/ScriptController.h: Added the new attachDebugger.
3:08 PM Changeset in webkit [53294] by kov@webkit.org
  • 5 edits in trunk/WebKit/gtk

Reviewed by Oliver Hunter.

[GTK] couple fixes for signal emissions, and property notifications
https://bugs.webkit.org/show_bug.cgi?id=33428

Do not emit signals and property notifications for error
pages. The notifications are not really useful for anything, you
can get them back by overriding the error pages, and it avoids a
number of hacks.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient): (WebKit::FrameLoaderClient::dispatchDidFinishLoad): (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): (WebKit::FrameLoaderClient::dispatchDidCommitLoad): (WebKit::FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): (WebKit::FrameLoaderClient::dispatchDidFailLoad):
  • WebCoreSupport/FrameLoaderClientGtk.h:
  • tests/testloading.c: (load_error_status_changed_cb): (test_loading_error):
3:07 PM Changeset in webkit [53293] by Adam Roben
  • 2 edits in trunk

Add missing Radar URLs

3:05 PM Changeset in webkit [53292] by Adam Roben
  • 4 edits
    2 adds in trunk

2010-01-14 Adam Roben <Adam Roben>

Add a test that shows onload still fires if a load of a <script src>
is cancelled by the resource load delegate

Tests for <http://webkit.org/b/33687> window.onload never fires if
page contains a <script src=foo> whose load is cancelled by resource
load delegate returning null from willSendRequest

Reviewed by Dave Hyatt.

  • fast/loader/onload-willSendRequest-null-for-script-expected.txt: Added.
  • fast/loader/onload-willSendRequest-null-for-script.html: Added.
  • platform/qt/Skipped: Added the new test since Qt doesn't have layoutTestController.setWillSendRequestReturnsNull.

2010-01-14 Adam Roben <Adam Roben>

Make Cache::requestResource return 0 if the resource's load fails
immediately

Fixes <http://webkit.org/b/33687> window.onload never fires if page
contains a <script src=foo> whose load is cancelled by resource load
delegate returning null from willSendRequest

Test: fast/loader/onload-willSendRequest-null-for-script.html

Reviewed by Dave Hyatt.

  • loader/Cache.cpp: (WebCore::Cache::requestResource): Moved code to handle immediate load failure out of the "cache is disabled" block so that it will run even when the cache is enabled.
2:35 PM Changeset in webkit [53291] by senorblanco@chromium.org
  • 7 edits
    2 adds in trunk

WebCore: Fix for crash with gradient on table cell. Pass the correct
background object down to
RenderBoxModelObject::paintFillLayerExtended(). This also allowed a
rework of the fix to bug 18445 by passing the correct RenderObject
from RenderBox::paintRootBoxDecorations() down to
RenderBoxModelObject::paintFillLayerExtended().
https://bugs.webkit.org/show_bug.cgi?id=28426

Reviewed by mitz@webkit.org.

Covered by new layout test: LayoutTests/fast/gradients/crash-on-tr.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):
(WebCore::RenderBox::paintFillLayer):

  • rendering/RenderBox.h:

Plumb through the correct background RenderObject.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Use the passed-in background RenderObject (if present) when painting background images. Remove the previous fix for bug 18445.

  • rendering/RenderBoxModelObject.h:

Plumb through the correct background RenderObject.

  • rendering/RenderTableCell.cpp:

Pass in the correct backgroundObject to paintFillLayers().

(WebCore::RenderTableCell::paintBackgroundsBehindCell):

LayoutTests: New layout test added to exercise fix for bug
http://bugs.webkit.org/show_bug.cgi?id=28426

Reviewed by mitz@webkit.org.

  • fast/gradients/crash-on-tr-expected.txt: Added.
  • fast/gradients/crash-on-tr.html: Added.
2:07 PM Changeset in webkit [53290] by Nate Chapin
  • 15 edits in trunk

2010-01-14 Nate Chapin <Nate Chapin>

Reviewed by Dimitri Glazkov.

Standardize the rest of the v8 bindings on toNative() wherever possible.

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

  • bindings/v8/NPV8Object.cpp: (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
  • bindings/v8/NPV8Object.h:
  • bindings/v8/ScriptController.cpp:
  • bindings/v8/V8Collection.cpp:
  • bindings/v8/V8Collection.h: (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
  • bindings/v8/V8DOMWindowShell.cpp:
  • bindings/v8/V8DOMWrapper.cpp:
  • bindings/v8/V8DOMWrapper.h:
  • bindings/v8/V8NPObject.cpp:
  • bindings/v8/V8Proxy.cpp:
  • bindings/v8/V8SVGPODTypeWrapper.h:
  • bindings/v8/WorkerContextExecutionProxy.cpp:
1:21 PM Changeset in webkit [53289] by eric@webkit.org
  • 6 edits
    4 adds in trunk

2010-01-14 Evan Stade <estade@chromium.org>

Reviewed by Eric Seidel.

Chromium Linux: don't stretch checkboxes
https://bugs.webkit.org/show_bug.cgi?id=28631

  • fast/css/non-standard-checkbox-size.html: Added.
  • platform/mac/fast/css/non-standard-checkbox-size-expected.checksum: Added.
  • platform/mac/fast/css/non-standard-checkbox-size-expected.png: Added.
  • platform/mac/fast/css/non-standard-checkbox-size-expected.txt: Added.
  • platform/gtk/Skipped: Skipping this new test so I don't break this bot. Just needs new results.
  • platform/qt/Skipped: ditto
  • platform/win/Skipped: ditto

2010-01-14 Evan Stade <estade@chromium.org>

Reviewed by Eric Seidel.

Chromium Linux: don't stretch checkboxes
https://bugs.webkit.org/show_bug.cgi?id=28631

Make the default size for checkboxes/radio buttons also the maximum
size.

Based on patch by Adam Langley.

Test: fast/css/non-standard-checkbox-size.html

  • rendering/RenderThemeChromiumSkia.cpp: (WebCore::center): (WebCore::RenderThemeChromiumSkia::paintCheckbox): (WebCore::RenderThemeChromiumSkia::setCheckboxSize): (WebCore::RenderThemeChromiumSkia::paintRadio):
1:16 PM Changeset in webkit [53288] by bweinstein@apple.com
  • 2 edits in trunk/WebCore

Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.

Reviewed by Adam Roben.

Now that dropEffect and effectAllowed are guaranteed to not be
null, change null checks into asserts to make sure we are returning
a proper DragOperation value.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::sourceOperation): Change null check to assert.
(WebCore::Clipboard::destinationOperation): Ditto.

12:47 PM Changeset in webkit [53287] by bweinstein@apple.com
  • 10 edits
    4 adds in trunk

[DnD] effectAllowed and dropEffect can be set to bogus values.
Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.

Reviewed by Oliver Hunt.

WebCore:

Test to make aure dropEffect and effectAllowed are being set to valid values
when they are being set (list of valid values given by HTML5 specification).

Also, drive by change to initialize dropEffect to none (as described in spec).

Test: fast/events/bogus-dropEffect-effectAllowed.html

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
(WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
(WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.

LayoutTests:

Added a test to check the handling of setting effectAllowed and
dropEffect to bogus values (that it gets ignored), and updated results
to drag-and-drop because it uses a dummy value.

Also, fixed a few tests that broke when the default dropEffect was set to
none to match the spec.

  • fast/events/bogus-dropEffect-effectAllowed-expected.txt: Added.
  • fast/events/bogus-dropEffect-effectAllowed.html: Added.
  • platform/gtk/fast/events/bogus-dropEffect-effectAllowed-expected.txt: Added.
  • platform/qt/fast/events/bogus-dropEffect-effectAllowed.html: Added.
  • fast/events/drag-and-drop-expected.txt:
  • fast/events/drag-and-drop.html:
  • editing/pasteboard/script-tests/files-during-page-drags.js:
  • editing/pasteboard/get-data-text-plain-drop.html:
  • fast/events/resources/drag-in-frames-right.html:
  • http/tests/local/resources/send-dragged-file.js:
  • http/tests/misc/bubble-drag-events.html:
12:39 PM Changeset in webkit [53286] by Adam Roben
  • 2 edits in trunk/LayoutTests

Add new test from r53277 to the GTK+ Skipped list

  • platform/gtk/Skipped:
12:13 PM Changeset in webkit [53285] by eric@webkit.org
  • 5 edits in trunk

2010-01-14 Kent Hansen <kent.hansen@nokia.com>

Reviewed by Darin Adler.

Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
https://bugs.webkit.org/show_bug.cgi?id=33371

Test that Object.keys works on a plugin object.

  • plugins/netscape-enumerate.html:

2010-01-14 Kent Hansen <kent.hansen@nokia.com>

Reviewed by Darin Adler.

Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
https://bugs.webkit.org/show_bug.cgi?id=33371

RuntimeObjectImp should not reimplement getPropertyNames();
move the implementation to getOwnPropertyNames().

  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::getOwnPropertyNames):
  • bridge/runtime_object.h:
11:57 AM Changeset in webkit [53284] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-14 Kwang Yul Seo <skyul@company100.net>

Reviewed by Alexey Proskuryakov.

Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
https://bugs.webkit.org/show_bug.cgi?id=33665

TransformSource is available only when ENABLE(XSLT) guard is true.

  • dom/TransformSourceLibxslt.cpp:
11:52 AM Changeset in webkit [53283] by Adam Roben
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix ChangeLog order from r53277

11:52 AM Changeset in webkit [53282] by Adam Roben
  • 2 edits in trunk/LayoutTests

Add new tests from r53277 to the Qt Skipped list

  • platform/qt/Skipped:
11:47 AM Changeset in webkit [53281] by tonikitoo@webkit.org
  • 6 edits in trunk

[Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
https://bugs.webkit.org/show_bug.cgi?id=33617

Patch by Diego Gonzalez <diego.gonzalez@openbossa.org> on 2010-01-13
Reviewed by Kenneth Christiansen.

WebKitTools:

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings):

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::setUserStyleSheetLocation):
(LayoutTestController::setUserStyleSheetEnabled):

  • DumpRenderTree/qt/LayoutTestControllerQt.h:

LayoutTests:

  • platform/qt/Skipped:
11:44 AM Changeset in webkit [53280] by sfalken@apple.com
  • 7 edits in tags/Safari-6531.22.1/WebCore

Merge r53273.

11:38 AM Changeset in webkit [53279] by sfalken@apple.com
  • 7 edits in branches/safari-4-branch/WebCore

Merge r53273.

11:32 AM Changeset in webkit [53278] by sfalken@apple.com
  • 1 copy in tags/Safari-6531.22.1

New tag.

11:29 AM Changeset in webkit [53277] by Adam Roben
  • 9 edits
    6 adds in trunk

Treat all synchronous loads equally in FrameLoader::loadSubframe

Only loads of the empty URL or about:blank were being treated as
synchronous loads. But other loads can be synchronous (e.g., when we
receive a null ResourceRequest from requestFromDelegate or when a
policy decision of "ignore" is made). We now treat those loads the
same way we treated empty URLs and about:blank.

Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
window.onload never fires if page contains an <iframe> with a bad
scheme or whose load is cancelled by returning null from resource load
delegate's willSendRequest

Tests: fast/loader/onload-bad-scheme-for-frame.html

fast/loader/onload-policy-ignore-for-frame.html
fast/loader/onload-willSendRequest-null-for-frame.html

Reviewed by Brady Eidson.

WebCore:

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadSubframe):

  • Detect synchronous loads by checking the subframe's loader's state, rather than by checking its URL
  • Removed unnecessary call to completed(), since checkCompleted() will call completed() if needed (the call to completed() was added first and wasn't removed when the call to checkCompleted() was added in r8316)
  • Added more comments about the strange thing this function does with the subframe's loader

WebKitTools:

Add LayoutTestController API to force
-webView:resource:willSendRequest:: to return null

  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController): Initialize new member.
(setWillSendRequestReturnsNullCallback): Call through to
LayoutTestController.
(LayoutTestController::staticFunctions): Added new function.

  • DumpRenderTree/LayoutTestController.h: Added

m_willSendRequestReturnsNull.
(LayoutTestController::willSendRequestReturnsNull):
(LayoutTestController::setWillSendRequestReturnsNull):
Added standard accessors.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

  • DumpRenderTree/win/ResourceLoadDelegate.cpp:

(ResourceLoadDelegate::willSendRequest):
Return null if LayoutTestController says to.

LayoutTests:

Add tests that show that onload still fires in various situations with
subframes

  • fast/loader/onload-bad-scheme-for-frame-expected.txt: Added.
  • fast/loader/onload-bad-scheme-for-frame.html: Added.

Tests that onload still fires when a subframe with an unrecognized
scheme is in the page.

  • fast/loader/onload-policy-ignore-for-frame-expected.txt: Added.
  • fast/loader/onload-policy-ignore-for-frame.html: Added.

Tests that onload still fires when the policy delegate says to ignore
the initial load of a subframe.

  • fast/loader/onload-willSendRequest-null-for-frame-expected.txt: Added.
  • fast/loader/onload-willSendRequest-null-for-frame.html: Added.

Tests that onload still fires when the resource load delegate returns
null from willSendRequest for the initial load of a subframe.

  • http/tests/loading/bad-scheme-subframe-expected.txt: Updated result

to show that we now fire onload for the main frame in this case. (This
is essentially the same as onload-bad-scheme-for-frame.html, but it
still seems useful to have that new, more explicit, test.)

11:20 AM Changeset in webkit [53276] by tonikitoo@webkit.org
  • 2 edits in trunk/WebCore

Missing fileSystemPath() method in Qt KURL implementation https://bugs.webkit.org/show_bug.cgi?id=33614

Patch by Diego Gonzalez <diego.gonzalez@openbossa.org> on 2010-01-14
Reviewed by Kenneth Christiansen.

No new tests.

  • platform/qt/KURLQt.cpp:

(WebCore::KURL::fileSystemPath):

11:10 AM Changeset in webkit [53275] by kevino@webkit.org
  • 4 edits in trunk

wx fixes after XBM removal and recent changes.

11:03 AM Changeset in webkit [53274] by ap@apple.com
  • 8 edits
    2 adds in trunk

Reviewed by Brady Eidson.

https://bugs.webkit.org/show_bug.cgi?id=33652
REGRESSION: Frames stop appearing after browsing for a while

<rdar://problem/7308312> REGRESSION: iBench gets slower after several runs

I do not know how not creating renderers for frames could make iBench slower, but it did.

Test: fast/frames/cached-frame-counter.html

  • history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page, so decrement frame count here. (WebCore::CachedFrame::open): Increase frame count when a frame is restored.
  • history/CachedFrame.h: Remove unneeded forward declarations.
  • history/CachedPage.h: Ditto.
  • history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is zero prior to restoring a page from b/f cache.


  • page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to check that frame count stored in Page matches the number of frames in frame tree.
  • page/Page.h: (WebCore::Page::decrementFrameCount): Assert that frame count is positive. (WebCore::Page::frameCount): Call checkFrameCountConsistency().
10:56 AM Changeset in webkit [53273] by sfalken@apple.com
  • 7 edits in trunk/WebCore

Windows build fixes.
Add forward declarations and additional includes of windows.h.

  • platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
  • platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
  • platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
  • platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.

(WebCore::SharedCursor::~SharedCursor): Moved here.

  • platform/win/EventLoopWin.cpp: Add include of windows.h.
  • platform/win/SystemInfo.cpp: Add include of windows.h.
10:47 AM Changeset in webkit [53272] by bweinstein@apple.com
  • 5 edits
    2 deletes in trunk

Roll out r53270 because it broke 5 layout tests.

10:32 AM Changeset in webkit [53271] by Nate Chapin
  • 57 edits in trunk/WebCore

2010-01-14 Nate Chapin <Nate Chapin>

Reviewed by Dimitri Glazkov.

Switch the custom V8 bindings to use class toNative() functions.

Refactoring, so no new tests.

  • bindings/v8/custom/V8AbstractWorkerCustom.cpp:
  • bindings/v8/custom/V8AttrCustom.cpp:
  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
  • bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
  • bindings/v8/custom/V8ClipboardCustom.cpp:
  • bindings/v8/custom/V8CoordinatesCustom.cpp:
  • bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
  • bindings/v8/custom/V8DOMWindowCustom.cpp:
  • bindings/v8/custom/V8DataGridColumnListCustom.cpp:
  • bindings/v8/custom/V8DatabaseCustom.cpp:
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
  • bindings/v8/custom/V8DocumentCustom.cpp:
  • bindings/v8/custom/V8DocumentLocationCustom.cpp:
  • bindings/v8/custom/V8ElementCustom.cpp:
  • bindings/v8/custom/V8EventCustom.cpp:
  • bindings/v8/custom/V8GeolocationCustom.cpp:
  • bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:
  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:
  • bindings/v8/custom/V8HTMLFormElementCustom.cpp:
  • bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
  • bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
  • bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
  • bindings/v8/custom/V8HTMLInputElementCustom.cpp:
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
  • bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
  • bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
  • bindings/v8/custom/V8HistoryCustom.cpp:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  • bindings/v8/custom/V8LocationCustom.cpp:
  • bindings/v8/custom/V8MessageEventCustom.cpp:
  • bindings/v8/custom/V8MessagePortCustom.cpp:
  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:
  • bindings/v8/custom/V8NodeCustom.cpp:
  • bindings/v8/custom/V8NodeIteratorCustom.cpp:
  • bindings/v8/custom/V8NodeListCustom.cpp:
  • bindings/v8/custom/V8NotificationCenterCustom.cpp:
  • bindings/v8/custom/V8PopStateEventCustom.cpp:
  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
  • bindings/v8/custom/V8SQLTransactionCustom.cpp:
  • bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
  • bindings/v8/custom/V8SVGLengthCustom.cpp:
  • bindings/v8/custom/V8SVGMatrixCustom.cpp:
  • bindings/v8/custom/V8StorageCustom.cpp:
  • bindings/v8/custom/V8StyleSheetListCustom.cpp:
  • bindings/v8/custom/V8TreeWalkerCustom.cpp:
  • bindings/v8/custom/V8WebGLArrayCustom.h:
  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  • bindings/v8/custom/V8WebSocketCustom.cpp:
  • bindings/v8/custom/V8WorkerContextCustom.cpp:
  • bindings/v8/custom/V8WorkerCustom.cpp:
  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
  • bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
  • bindings/v8/custom/V8XSLTProcessorCustom.cpp:
10:23 AM Changeset in webkit [53270] by bweinstein@apple.com
  • 5 edits
    2 adds in trunk

[DnD] effectAllowed and dropEffect can be set to bogus values.
Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.

Reviewed by Oliver Hunt.

WebCore:

Test to make aure dropEffect and effectAllowed are being set to valid values
when they are being set (list of valid values given by HTML5 specification).

Also, drive by change to initialize dropEffect to none (as described in spec).

Test: fast/events/bogus-dropEffect-effectAllowed.html

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
(WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
(WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.

LayoutTests:

Added a test to check the handling of setting effectAllowed and
dropEffect to bogus values (that it gets ignored), and updated results
to drag-and-drop because it uses a dummy value.

  • fast/events/bogus-dropEffect-effectAllowed-expected.txt: Added.
  • fast/events/bogus-dropEffect-effectAllowed.html: Added.
  • fast/events/drag-and-drop-expected.txt:
  • fast/events/drag-and-drop.html:
9:38 AM Changeset in webkit [53269] by eric@webkit.org
  • 4 edits
    1 add in trunk/WebKit/chromium

2010-01-14 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Fisher.

Introduce WebFileChooserParams to convey parameters for
WebViewClient::runFileChooser(), and add new parameters to it.
https://bugs.webkit.org/show_bug.cgi?id=32473

The new parameters are

  • selected file names
  • "accept" attribute value
  • WebKit.gyp: Add WebFileChooserParams.h
  • public/WebFileChooserParams.h: Added.
  • public/WebViewClient.h: (WebKit::WebViewClient::runFileChooser): Add runFileChooser() with WebFileChooserParams, and mark the old one deprecated.
  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::runOpenPanel): Call the new runFileChooser() first, then call the old runFileChooser() if the new one failed.
8:09 AM Changeset in webkit [53268] by Adam Roben
  • 2 edits in trunk/LayoutTests

Fix a typo in editing/selection/inactive-selection.html

Fixes <http://webkit.org/b/33676> Exception when opening
editing/selection/inactive-selection.html in a browser

Reviewed by Dan Bernstein.

  • editing/selection/inactive-selection.html: Remove a semicolon that

was making the if (window.layoutTestController) test ineffective.

7:54 AM Changeset in webkit [53267] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

[Qt] Symbian build fixes.

Reviewed by Tor Arne Vestbø.

  • tests/qwebpage/tst_qwebpage.cpp: Include util.h
  • tests/tests.pri: Don't define TESTS_SOURCE_DIR, it doesn't work.
  • tests/util.h: Define TESTS_SOURCE_DIR here, just like it's done in Qt.
6:52 AM Changeset in webkit [53266] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

Add support for partial building on Symbian.

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-01-14
Reviewed by Simon Hausmann.

The build happens in the source directory as out of source builds are
not supported by qmake for Symbian.

Also the actual build isn't started but it is left to the developer
to choose the architecture/configuration.

  • Scripts/webkitdirs.pm:
6:44 AM Changeset in webkit [53265] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

Add support for "detecting" Symbian environments by either
looking for the EPOCROOT environment variable or via --symbian
being passed on the commandline.

Reviewed by Kenneth Rohde Christiansen.

  • Scripts/webkitdirs.pm:
6:39 AM CommitterTips edited by Adam Roben
Removed unnecessary brackets (diff)
6:21 AM Changeset in webkit [53264] by eric@webkit.org
  • 7 edits
    2 adds in trunk

2010-01-14 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Xan Lopez.

[GTK] Enable DOM clipboard and drag-and-drop access
https://bugs.webkit.org/show_bug.cgi?id=30623

Add DataObjectGtk, a container for pasteboard and drag-and-drop data.

No new tests, because functionality has not changed.

  • GNUmakefile.am:
  • platform/gtk/DataObjectGtk.cpp: Added. (WebCore::DataObjectGtk::text): (WebCore::DataObjectGtk::markup): (WebCore::DataObjectGtk::setText): (WebCore::DataObjectGtk::setMarkup): (WebCore::DataObjectGtk::files): (WebCore::DataObjectGtk::url): (WebCore::DataObjectGtk::urlLabel): (WebCore::DataObjectGtk::hasURL): (WebCore::DataObjectGtk::clear): (WebCore::DataObjectGtk::forClipboard):
  • platform/gtk/DataObjectGtk.h: Added. (WebCore::DataObjectGtk::create): (WebCore::DataObjectGtk::uriList): (WebCore::DataObjectGtk::image): (WebCore::DataObjectGtk::setRange): (WebCore::DataObjectGtk::setURIList): (WebCore::DataObjectGtk::setImage): (WebCore::DataObjectGtk::setDragContext): (WebCore::DataObjectGtk::hasText): (WebCore::DataObjectGtk::hasMarkup): (WebCore::DataObjectGtk::hasURIList): (WebCore::DataObjectGtk::hasImage): (WebCore::DataObjectGtk::dragContext):

2010-01-14 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Xan Lopez.

[GTK] Enable DOM clipboard and drag-and-drop access
https://bugs.webkit.org/show_bug.cgi?id=30623

Use DataObjectGtk when setting and clearing pasteboard data on
the GDK_SELECTION_PRIMARY clipboard.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::respondToChangedSelection): (WebKit::EditorClient::EditorClient):
  • WebCoreSupport/EditorClientGtk.h:
  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::fillSelectionData): (WebKit::targetListForDataObject): (WebKit::getClipboardContentsCallback): (WebKit::clearClipboardContentsCallback): (WebKit::PasteboardHelperGtk::writeClipboardContents):
  • WebCoreSupport/PasteboardHelperGtk.h:
6:07 AM Companies and Organizations that have contributed to WebKit edited by xan@webkit.org
(diff)
6:06 AM Changeset in webkit [53263] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-14 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
https://bugs.webkit.org/show_bug.cgi?id=33666

  • inspector/front-end/inspector.css:
5:27 AM Companies and Organizations that have contributed to WebKit edited by xan@webkit.org
(diff)
5:19 AM Changeset in webkit [53262] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/WebKitTools

[Qt] Use a different Makefile names for sources generation and compilation.
This prevents Makefile overwriting when running build-webkit twice.

Unreviewed.

  • Scripts/webkitdirs.pm:
5:19 AM Changeset in webkit [53261] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/WebCore

[Qt] Unreviewed fix of builds with the --no-svg switch.

  • WebCore.pri:
5:18 AM Changeset in webkit [53260] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/WebCore

[Qt] Unreviewed build fix on Windows.

  • platform/graphics/transforms/TransformationMatrix.h:
4:15 AM Changeset in webkit [53259] by eric@webkit.org
  • 7 edits
    1 add in trunk

2010-01-14 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Enable scrolling optimization for pages with embedded widgets

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

Added a basic manual test for scrolling of embedded QWidgets.

  • manual-tests/qt/qtplugin-scrolling.html: Added.
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::setParent):
  • platform/ScrollView.h:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::invalidateRect):

2010-01-14 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Add an "alien_QLabel" classId for manual testing of alien widgets.

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

  • QtLauncher/main.cpp: (WebPage::createPlugin):
4:11 AM Changeset in webkit [53258] by Philippe Normand
  • 3 edits in trunk/LayoutTests

2010-01-13 Philippe Normand <pnormand@igalia.com>

Reviewed by Xan Lopez.

[GTK] Failing media/video-seek-past-end-playing.html
https://bugs.webkit.org/show_bug.cgi?id=33015

  • media/video-seek-past-end-playing.html: Removed the last timer of this test.
  • platform/gtk/Skipped: Unskip test above.
4:11 AM Changeset in webkit [53257] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

[Qt] Update Symbian .def symbol export files after private API additions.

Reviewed by Kenneth Rohde Christiansen.

  • symbian/bwins/QtWebKitu.def:
  • symbian/eabi/QtWebKitu.def:
3:56 AM Changeset in webkit [53256] by eric@webkit.org
  • 4 edits in trunk/WebKit/gtk

2010-01-14 Alejandro G. Castro <alex@igalia.com>

Reviewed by Xan Lopez.

Review the tooltip implementation
https://bugs.webkit.org/show_bug.cgi?id=32819

Change the GTK tooltip implementation to avoid the workaround that
we are currently using. Now we use a new private API to set the
text and all the tooltip handling is done in the webview widget.

  • WebCoreSupport/ChromeClientGtk.cpp:
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp: (webkit_web_view_set_tooltip_text): Added, new private API. (webkit_web_view_query_tooltip): Added
3:40 AM Changeset in webkit [53255] by Philippe Normand
  • 3 edits in trunk/WebCore

2009-12-09 Philippe Normand <pnormand@igalia.com>

Reviewed by Xan Lopez.

[GStreamer] Check return values of gst_element_set_state()
https://bugs.webkit.org/show_bug.cgi?id=30000

Check for state change failure when going from READY/NULL to
PAUSED or PLAYING. Also refactored the common code of play() and
pause() to a new private method of the player.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::changePipelineState): (WebCore::MediaPlayerPrivate::play): (WebCore::MediaPlayerPrivate::pause):
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3:23 AM Changeset in webkit [53254] by steveblock@google.com
  • 2 edits in trunk

Moves general includes before bindings includes in Android build system.
https://bugs.webkit.org/show_bug.cgi?id=33623

Reviewed by David Levin.

This avoids problems with collisions between WebCore/platform/text/StringBuilder.h
and the new JavaScriptCore/runtime/StringBuilder.h. This change puts
JavaScriptCore/runtime and other bindings includes after the WebCore and other
general includes, so that the WebCore StringBuilder.h is picked up when building
WebCore.

  • Android.mk: Modified.
3:16 AM WikiStart edited by skyul@company100.net
(diff)
2:47 AM Changeset in webkit [53253] by eric@webkit.org
  • 6 edits in trunk

2010-01-14 Eric Seidel <eric@webkit.org>

No review, rolling out r53249.
http://trac.webkit.org/changeset/53249
https://bugs.webkit.org/show_bug.cgi?id=33617

This caused http/tests/security/local-user-CSS-from-
remote.html to fail on the Qt Release Build Bot.

  • platform/qt/Skipped:

2010-01-14 Eric Seidel <eric@webkit.org>

No review, rolling out r53249.
http://trac.webkit.org/changeset/53249
https://bugs.webkit.org/show_bug.cgi?id=33617

This caused http/tests/security/local-user-CSS-from-
remote.html to fail on the Qt Release Build Bot.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::resetSettings):
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::overridePreference):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
2:39 AM Changeset in webkit [53252] by eric@webkit.org
  • 11 edits
    4 deletes in trunk

2010-01-14 Eric Seidel <eric@webkit.org>

No review, rolling out r53248.
http://trac.webkit.org/changeset/53248
https://bugs.webkit.org/show_bug.cgi?id=32641

Caused 2 tests to crash on various bots:
fast/dom/HTMLSelectElement/listbox-select-reset.html and
fast/forms/listbox-typeahead-scroll.html

  • fast/forms/HTMLOptionElement_selected-expected.txt:
  • fast/forms/HTMLOptionElement_selected.html:
  • fast/forms/HTMLOptionElement_selected2-expected.txt: Removed.
  • fast/forms/HTMLOptionElement_selected2.html: Removed.
  • fast/forms/HTMLOptionElement_selected3-expected.txt: Removed.
  • fast/forms/HTMLOptionElement_selected3.html: Removed.
  • fast/forms/add-remove-option-modification-event-expected.txt:

2010-01-14 Eric Seidel <eric@webkit.org>

No review, rolling out r53248.
http://trac.webkit.org/changeset/53248
https://bugs.webkit.org/show_bug.cgi?id=32641

Caused 2 tests to crash on various bots:
fast/dom/HTMLSelectElement/listbox-select-reset.html and
fast/forms/listbox-typeahead-scroll.html

  • dom/SelectElement.cpp: (WebCore::SelectElement::recalcStyle): (WebCore::SelectElement::setRecalcListItems): (WebCore::SelectElement::recalcListItems): (WebCore::SelectElement::restoreFormControlState): (WebCore::SelectElement::reset): (WebCore::SelectElement::typeAheadFind):
  • dom/SelectElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected): (WebCore::HTMLOptionElement::insertedIntoTree):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcStyle):
  • html/HTMLSelectElement.h:
  • wml/WMLSelectElement.cpp: (WebCore::WMLSelectElement::recalcStyle):
2:19 AM Changeset in webkit [53251] by eric@webkit.org
  • 7 edits in trunk/WebKitTools

2010-01-14 Chris Jerdonek <chris.jerdonek@gmail.com>

Reviewed by Shinichiro Hamaji.

Moved error() from cpp_style.py to checker.py.

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

  • Scripts/check-webkit-style:
    • Addressed FIXME to not set global state.
  • Scripts/webkitpy/style/checker.py:
    • Added argument validation to ProcessorOptions constructor.
    • Added should_report_error() to ProcessorOptions class.
    • Removed set_options().
    • Added StyleChecker class.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Added unit test class for ProcessorOptions class.
    • Added unit test to check that parse() strips white space.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed "filter" and "output_format" methods.
    • Removed should_print_error() and error() functions.
    • Removed default parameter value from process_file().
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Removed call to cpp_style._should_print_error().
    • Removed test_filter() and test_filter_appending().
  • Scripts/webkitpy/style/text_style.py:
    • Removed default parameter value from process_file().
2:03 AM Changeset in webkit [53250] by eric@webkit.org
  • 3 edits
    3 adds in trunk

2010-01-14 Ben Murdoch <benm@google.com>

Reviewed by Darin Adler.

[Android] [Qt] The document.createEvent API does not support touch events.
https://bugs.webkit.org/show_bug.cgi?id=33605

  • fast/events/script-tests/create-touch-event.js: Added. Ensures that document.createEvent("TouchEvent") can create a TouchEvent.
  • fast/events/touch/create-touch-event-expected.txt: Added.
  • fast/events/touch/create-touch-event.html: Added.

2010-01-14 Ben Murdoch <benm@google.com>

Reviewed by Darin Adler.

[Android] [Qt] The document.createEvent API does not support touch events.
https://bugs.webkit.org/show_bug.cgi?id=33605

Test: fast/events/touch/create-touch-event.html

  • dom/Document.cpp: (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.
1:47 AM Changeset in webkit [53249] by eric@webkit.org
  • 6 edits in trunk

2010-01-14 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
https://bugs.webkit.org/show_bug.cgi?id=33617

  • platform/qt/Skipped:

2010-01-14 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
https://bugs.webkit.org/show_bug.cgi?id=33617

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::resetSettings):
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::setUserStyleSheetLocation): (LayoutTestController::setUserStyleSheetEnabled):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
1:31 AM Changeset in webkit [53248] by eric@webkit.org
  • 11 edits
    4 adds in trunk

2010-01-14 James Robinson <jamesr@chromium.org>

Reviewed by Alexey Proskuryakov.

Adds tests for the 'selected' attribute of <option>s
https://bugs.webkit.org/show_bug.cgi?id=32641

HTMLOptionElement_selected2 checks that the selected attribute is up to date immediately after the <select>
parsed. HTMLOptionElement_selected3 does the same, but checks immediately prior to the </select>.

Also changes the expectation for add-remove-option-modification-event to reflect that we now pass.

  • fast/forms/HTMLOptionElement_selected-expected.txt:
  • fast/forms/HTMLOptionElement_selected.html:
  • fast/forms/HTMLOptionElement_selected2-expected.txt: Added.
  • fast/forms/HTMLOptionElement_selected2.html: Added.
  • fast/forms/HTMLOptionElement_selected3-expected.txt: Added.
  • fast/forms/HTMLOptionElement_selected3.html: Added.
  • fast/forms/add-remove-option-modification-event-expected.txt:

2010-01-14 James Robinson <jamesr@chromium.org>

Reviewed by Alexey Proskuryakov.

Ensures that the 'selected' attribute of an <option> is correct
https://bugs.webkit.org/show_bug.cgi?id=32641

Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
so the attribute is up to date more often. Also gets rid of most of the recalcStyle() side effects.

Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.

Tests: fast/forms/HTMLOptionElement_selected2.html

fast/forms/HTMLOptionElement_selected3.html

  • dom/SelectElement.cpp: (WebCore::SelectElement::setOptionsChangedOnRenderer): (WebCore::SelectElement::setRecalcListItems): (WebCore::SelectElement::recalcListItems): (WebCore::SelectElement::restoreFormControlState): (WebCore::SelectElement::reset): (WebCore::SelectElement::typeAheadFind):
  • dom/SelectElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected): (WebCore::HTMLOptionElement::insertedIntoTree):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcStyle): (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
  • html/HTMLSelectElement.h:
  • wml/WMLSelectElement.cpp: (WebCore::WMLSelectElement::recalcStyle):
1:01 AM Changeset in webkit [53247] by Csaba Osztrogonác
  • 1 edit
    9 adds in trunk/LayoutTests

Rubber-stamped by Simon Hausmann.

[Qt] Add expected files for passing new tests.
Compared to the mac expected files and png files.

  • platform/qt/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt: Added.
  • platform/qt/fast/css/css3-space-in-nth-and-lang-expected.txt: Added.
  • platform/qt/svg/custom/marker-opacity-expected.txt: Added.
  • platform/qt/svg/custom/relative-sized-content-expected.txt: Added.
  • platform/qt/svg/custom/text-xy-updates-SVGList-expected.txt: Added.
  • platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt: Added.
  • platform/qt/transforms/2d/transform-fixed-container-expected.txt: Added.
12:41 AM Changeset in webkit [53246] by zoltan@webkit.org
  • 2 edits in trunk/WebCore

[Qt] Allow custom memory allocation control for TransparencyLayer class
https://bugs.webkit.org/show_bug.cgi?id=33585

Reviewed by Oliver Hunt.

Inherits the following class from FastAllocBase because it is
instantiated by 'new':

class name - instantiated at: WebCore/'location'
class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906

  • platform/graphics/qt/GraphicsContextQt.cpp:
12:34 AM Changeset in webkit [53245] by zoltan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-14 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Oliver Hunt.

[Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
https://bugs.webkit.org/show_bug.cgi?id=

Inherits the following class from Noncopyable because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at: WebCore/'location'
class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70

  • platform/graphics/qt/FontPlatformData.h:
12:33 AM Changeset in webkit [53244] by Philippe Normand
  • 3 edits in trunk/WebCore

Reviewed by Xan Lopez.

[GTK] un-needed seeks
https://bugs.webkit.org/show_bug.cgi?id=33532

Avoid un-needed seeks. Don't seek at current playback position and
don't update the rate if it is already set to target value.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::seek): (WebCore::MediaPlayerPrivate::setRate):
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
12:21 AM Changeset in webkit [53243] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-14 Eric Seidel <eric@webkit.org>

No review. Tiger build fix after http://trac.webkit.org/changeset/53238.

Need to implement WebGLContextAttributes
https://bugs.webkit.org/show_bug.cgi?id=31169

Fix a build break when ENABLE(3D_CANVAS) is disabled.

  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.
Note: See TracTimeline for information about the timeline view.