Timeline


and

02/18/10:

23:49 Changeset [55004] by mjs@apple.com
  • 10 edits in branches/safari-532-branch

mark-radar-fixed
<rdar://problem/7540469> Disable ruby support for the branch

JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

WebCore:

  • Configurations/FeatureDefines.xcconfig:

WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:

WebKitTools:

  • Scripts/build-webkit:
23:32 Changeset [55003] by ossy@webkit.org
  • 6 edits in trunk/LayoutTests

Rubber-stamped by Simon Hausmann.

[Qt] Update platform specific expected files after r54991.

  • 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/custom/empty-mask-expected.txt: updated.
  • platform/qt/svg/custom/mask-with-default-value-expected.txt: updated.
  • platform/qt/svg/custom/transformedMaskFails-expected.txt: updated.
22:23 Changeset [55002] by oliver@apple.com
  • 9 edits in trunk/JavaScriptCore

2010-02-18 Oliver Hunt <oliver@apple.com>

Reviewed by Gavin Barraclough.

Improve interpreter getter performance
https://bugs.webkit.org/show_bug.cgi?id=35138

Improve the performance of getter dispatch by making it possible
for the interpreter to cache the GetterSetter object lookup.

To do this we simply need to make PropertySlot aware of getters
as a potentially cacheable property, and record the base and this
objects for a getter access. This allows us to use more-or-less
identical code to that used by the normal get_by_id caching, with
the dispatch being the only actual difference.

I'm holding off of implementing this in the JIT until I do some
cleanup to try and making coding in the JIT not be as horrible
as it is currently.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::resolveGlobal): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::privateExecute):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITStubs.cpp: (JSC::JITThunks::tryCacheGetByID): (JSC::DEFINE_STUB_FUNCTION):
  • runtime/JSObject.cpp: (JSC::JSObject::fillGetterPropertySlot):
  • runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter):
  • runtime/PropertySlot.h: (JSC::PropertySlot::isGetter): (JSC::PropertySlot::isCacheable): (JSC::PropertySlot::isCacheableValue): (JSC::PropertySlot::setValueSlot): (JSC::PropertySlot::setGetterSlot): (JSC::PropertySlot::setCacheableGetterSlot): (JSC::PropertySlot::clearOffset): (JSC::PropertySlot::thisValue):
21:17 Changeset [55001] by eric@webkit.org
  • 5 edits
    2 adds in trunk/WebKitTools

2010-02-18 Chris Jerdonek <cjerdonek@webkit.org>

Reviewed by Shinichiro Hamaji.

Moved parsing-related code to a separate file. Also increased
the unit test coverage in some affected areas.

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

This revision contains no new functionality.

  • Scripts/check-webkit-style:
    • Adjusted to call check_webkit_style_parser().
  • Scripts/webkitpy/style/checker.py:
    • Added check_webkit_style_parser() to pass checker.py configuration settings to optparser.py.
    • Moved _create_usage() and the CommandOptionValues, DefaultCommandOptionValues, ArgumentPrinter, and ArgumentParser classes to optparser.py.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Moved the ProcessorOptionsTest, ArgumentPrinterTest, and ArgumentParserTest classes to optparser.py.
    • Added the CheckWebKitStyleFunctionTest class to check the check_webkit_style_configuration() and check_webkit_style_parser() code paths.
  • Scripts/webkitpy/style/optparser.py: Added.
    • From checker.py, added _create_usage() and the CommandOptionValues, DefaultCommandOptionValues, ArgumentPrinter, and ArgumentParser classes.
    • In the ArgumentParser constructor--
      • Added all_categories as a required parameter.
      • Removed the default value from the default_options parameter.
  • Scripts/webkitpy/style/optparser_unittest.py: Added.
    • From checker_unittest.py, added the ProcessorOptionsTest, ArgumentPrinterTest, and ArgumentParserTest classes.
    • Added the CreateUsageTest class to test _create_usage().
  • Scripts/webkitpy/style/unittests.py:
    • Added optparser_unittest import.
21:14 Changeset [55000] by mjs@apple.com
  • 2 edits in branches/safari-532-branch/WebKitLibraries
  • Add change I missed in the last commit.


  • win/tools/vsprops/FeatureDefines.vsprops:
21:00 Changeset [54999] by eric@webkit.org
  • 14 edits
    3 adds in trunk

2010-02-18 Yaar Schnitman <yaar@chromium.org>

Reviewed by Darin Adler.

Normalize custom ctors for Image, Option, Audio
https://bugs.webkit.org/show_bug.cgi?id=34782

  • fast/js/custom-constructors-expected.txt: Added.
  • fast/js/custom-constructors.html: Added.
  • fast/js/script-tests/custom-constructors.js: Added.

2010-02-18 Yaar Schnitman <yaar@chromium.org>

Reviewed by Darin Adler.

Normalize custom ctors for Image, Option, Audio
https://bugs.webkit.org/show_bug.cgi?id=34782

Test: fast/js/custom-constructors.html

  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): (WebCore::constructAudio):
  • bindings/js/JSImageConstructor.cpp: (WebCore::constructImage):
  • bindings/js/JSOptionConstructor.cpp: (WebCore::constructHTMLOptionElement):
  • bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: (WebCore::v8HTMLAudioElementConstructorCallback):
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp: (WebCore::v8HTMLImageElementConstructorCallback):
  • bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: (WebCore::v8HTMLOptionElementConstructorCallback):
  • html/HTMLAudioElement.cpp: (WebCore::HTMLAudioElement::HTMLAudioElement): (WebCore::HTMLAudioElement::createForJSConstructor):
  • html/HTMLAudioElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createForJSConstructor): (WebCore::HTMLImageElement::mapToEntry): (WebCore::HTMLImageElement::createRenderer): (WebCore::HTMLImageElement::attach): (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::naturalHeight):
  • html/HTMLImageElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::HTMLOptionElement): (WebCore::HTMLOptionElement::createForJSConstructor): (WebCore::HTMLOptionElement::ownerSelectElement): (WebCore::HTMLOptionElement::nonRendererRenderStyle): (WebCore::HTMLOptionElement::disabled): (WebCore::HTMLOptionElement::insertedIntoTree):
  • html/HTMLOptionElement.h:
20:29 Changeset [54998] by tkent@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-02-12 Kent Tamura <tkent@chromium.org>

Unreviewed. Fix Chromium build.

  • DEPS: Bump Google URL revision to 123.
18:06 Changeset [54997] by brettw@chromium.org
  • 3 edits in trunk/WebCore

2010-02-12 Brett Wilson <brettw@chromium.org>

Reviewed by Adam Barth.

Update the Google-URL version of KURL and the V8 bindings to the new
behavior of KURL.IsStandard.

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

This is covered by fast/dom/Window/invalid-protocol.html

  • bindings/v8/custom/V8LocationCustom.cpp: (WebCore::V8Location::protocolAccessorSetter):
  • platform/KURLGoogle.cpp: (WebCore::KURL::setProtocol): (WebCore::KURL::isHierarchical):
17:21 Changeset [54996] by ap@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=35134
<rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)

  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (testSetStatus): (pluginInvoke): Added a setStatus() method.
16:47 Changeset [54995] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2010-02-18 Simon Fraser <simon.fraser@apple.com>

No Review.

Remove a couple of extraneous spaces that got added to the project file
by hand-ending.

  • WebCore.xcodeproj/project.pbxproj:
16:44 Changeset [54994] by simon.fraser@apple.com
  • 8 edits in trunk

2010-02-18 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

<rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article

Add logic to determine when painting via the software rendering path will give an equivalent
result to the accelerated compositing presentation. This tests for the presence of 3D transforms
via the existing RenderLayerCompositor::has3DContent() method.

  • WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
  • page/FrameView.h:
  • page/FrameView.cpp: (WebCore::FrameView::isSoftwareRenderable): New method. (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
16:37 Changeset [54993] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=35134
<rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)

Test: plugins/set-status.html

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::status): (WebKit::NetscapePluginInstanceProxy::loadURL): Added null checks for CFStringCreateWithCString arguments.
16:19 Changeset [54992] by mitz@apple.com
  • 5 edits
    2 adds in trunk

<rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
when there are pending style sheets

Reviewed by John Sullivan.

WebCore:

Test: fast/css/getComputedStyle/pending-stylesheet.html

When querying a property of a computed style declaration for a non-rendered element,
CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
the document causing it to recalculate style. On the next computed style property access,
style would be recalculated for the document, but then the flag would get set again if the
element did not have a renderer.

  • dom/Document.cpp:

(WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().

LayoutTests:

  • fast/css/getComputedStyle/pending-stylesheet-expected.txt: Added.
  • fast/css/getComputedStyle/pending-stylesheet.html: Added.
15:12 Changeset [54991] by krit@webkit.org
  • 52 edits
    3 adds
    2 deletes in trunk

2010-02-18 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

Move SVGResources to Renderers, starting with Masker
https://bugs.webkit.org/show_bug.cgi?id=35020

We have rendering specific code in WebCore/svg/graphics. The goal is to move
this code into suitable Renderers. This helps us to clean up the code and makes
maintenance easier. It also makes it possible to remove rendering specific code
from SVG*Elements into this renderers. So the Renderer contains everything that
is needed to use the resource.
RenderSVGResource will be the base class for all new resource render classes like
RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.

This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
Another benefit is the much more useful result in DRT on using masker.

  • Android.mk:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
  • rendering/RenderObject.h: (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
  • rendering/RenderPath.cpp:
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
  • rendering/RenderSVGImage.h: Some code clean up according to the webkit style. (WebCore::RenderSVGImage::toSVGRenderBase): (WebCore::RenderSVGImage::renderName): (WebCore::RenderSVGImage::isSVGImage): (WebCore::RenderSVGImage::localToParentTransform): (WebCore::RenderSVGImage::strokeBoundingBox): (WebCore::RenderSVGImage::requiresLayer): (WebCore::RenderSVGImage::localTransform):
  • rendering/RenderSVGInlineText.h: (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGResource.h: Added. (WebCore::): Base class for all Resource renderers like masker, clipper and others. (WebCore::RenderSVGResource::RenderSVGResource): (WebCore::RenderSVGResource::cast): (WebCore::RenderSVGResource::toRenderSVGResource): (WebCore::RenderSVGResource::isSVGResource): (WebCore::RenderSVGResource::drawsContents): (WebCore::getRenderSVGResourceById):
  • rendering/RenderSVGResourceMasker.cpp: Added. (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients. (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client. (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object. (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object. (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
  • rendering/RenderSVGResourceMasker.h: Added. (WebCore::MaskerData::MaskerData): (WebCore::RenderSVGResourceMasker::renderName): (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT. (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT. (WebCore::RenderSVGResourceMasker::resourceType):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::destroy): dito.
  • rendering/RenderSVGText.h:
  • rendering/RenderTreeAsText.cpp: (WebCore::write):
  • rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::prepareToRenderSVGContent): (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer): (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
  • rendering/SVGRenderSupport.h: (WebCore::SVGRenderBase::toSVGRenderBase): (WebCore::SVGRenderBase::strokeBoundingBox): (WebCore::SVGRenderBase::markerBoundingBox):
  • rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly. (WebCore::operator<<): (WebCore::writeSVGResource): (WebCore::writeSVGContainer): (WebCore::writeSVGText): (WebCore::writeSVGInlineText): (WebCore::writeSVGImage): (WebCore::write): (WebCore::writeResourcesToObject):
  • rendering/SVGRenderTreeAsText.h:
  • svg/SVGMaskElement.cpp: Update Masker to use the new renderer. (WebCore::SVGMaskElement::svgAttributeChanged): (WebCore::SVGMaskElement::childrenChanged): (WebCore::SVGMaskElement::maskBoundingBox): (WebCore::SVGMaskElement::createRenderer):
  • svg/SVGMaskElement.h:
  • svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed. (WebCore::SVGStyledElement::invalidateResources): (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
  • svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType. (WebCore::toUnitType):
  • svg/graphics/SVGResource.h: (WebCore::): (WebCore::SVGResource::isMarker):
  • svg/graphics/SVGResourceMasker.cpp: Removed.
  • svg/graphics/SVGResourceMasker.h: Removed.

2010-02-18 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

Move SVGResources to Renderers, starting with Masker
https://bugs.webkit.org/show_bug.cgi?id=35020

With the move from SVGResourceMasker to RenderSVGResourceMasker, I changed
the way DRT dumps resources. DRT is now able to dump multi-access
of resources.
Also the size of a Mask resource (depending of the object) and the access of
the resource (togeter with the resource name) is pointed out as an insertion
under the object.

  • platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/batik/masking/maskRegions-expected.txt:
  • platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
  • platform/mac/svg/css/mask-with-shadow-expected.txt:
  • platform/mac/svg/custom/empty-mask-expected.txt:
  • platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
  • platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-mask-creation-expected.txt:
  • platform/mac/svg/custom/mask-changes-expected.txt:
  • platform/mac/svg/custom/mask-child-changes-expected.txt:
  • platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
  • platform/mac/svg/custom/mask-inside-defs-expected.txt:
  • platform/mac/svg/custom/mask-invalidation-expected.txt:
  • platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
  • platform/mac/svg/custom/mask-with-all-units-expected.txt:
  • platform/mac/svg/custom/mask-with-default-value-expected.txt:
  • platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
  • platform/mac/svg/custom/visibility-override-mask-expected.txt:
  • platform/mac/svg/filters/filter-clip-expected.txt:
  • svg/custom/transformedMaskFails-expected.txt:
14:51 Changeset [54990] by dumi@chromium.org
  • 2 edits in trunk/WebCore

Allow creating/dropping virtual tables when the module is FTS2.

Reviewed by Dimitri Glazkov.

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

  • storage/DatabaseAuthorizer.cpp:

(WebCore::DatabaseAuthorizer::createVTable):
(WebCore::DatabaseAuthorizer::dropVTable):

14:40 Changeset [54989] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

Not reviewed, Chromium build fix.

r54963 had a typo in the WebCore.gypi change.
https://bugs.webkit.org/show_bug.cgi?id=35003

  • WebCore.gypi:
14:15 Changeset [54988] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Fixed a portion of:
<rdar://problem/7165917> | https://bugs.webkit.org/show_bug.cgi?id=28676
Safari 4 does not release memory back to the operating system fast enough (28676)

Reviewed by Oliver Hunt.

This patch fixes a surprisingly common edge case in which the page heap
would have only one free span, but that span would be larger than the
minimum free size, so we would decide not to free it, even though it
could be as large as 100MB or more!

SunSpider reports no change on Mac or Windows.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::scavenge): Call shouldContinueScavenging() instead
of doing the math ourselves. Don't keep a local value for pagesDecommitted
because that lets free_committed_pages_ be wrong temporarily. Instead,
update free_committed_pages_ as we go. ASSERT that we aren't releasing
a span that has already been released, because we think this is impossible.
Finally, don't be afraid to release all free memory in the page heap when
scavenging. We only scavenge after 5 seconds of the application's working
set not growing, and we keep both thread caches and a central cache on
top of the page heap, so the extra free pages in the page heap were just
overkill.

14:08 Changeset [54987] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-02-18 Vangelis Kokkevis <vangelis@chromium.org>

Reviewed by Simon Fraser.

Changing forward declaration of TimingFunction in GraphicsLayer.h from
class to struct to match its actual definition in TimingFunction.h

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

  • platform/graphics/GraphicsLayer.h:

Change forward declaration from: class TimingFunction to:
struct TimingFunction

13:50 Changeset [54986] by eric@webkit.org
  • 4 edits in trunk

2010-02-18 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Minor improvement to hybrid QPixmap
https://bugs.webkit.org/show_bug.cgi?id=34507
Instead of having toHTMLImageElement which creates a new element,
assignToHTMLImageElement would set an existing HTML <img/> element to
contain the native QPixmap/QImge.
Also made some style fixes.

Additions to existing tests: see WebKit/qt/tests

  • bridge/qt/qt_pixmapruntime.cpp: (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1 (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style (JSC::Bindings::QtPixmapToStringMethod::invoke): style (JSC::Bindings::QtPixmapInstance::invokeMethod): style (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto (JSC::Bindings::QtPixmapInstance::defaultValue): style (JSC::Bindings::QtPixmapInstance::valueOf): style (JSC::Bindings::QtPixmapInstance::toPixmap): style (JSC::Bindings::QtPixmapInstance::variantFromObject): style

2010-02-18 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Minor improvement to hybrid QPixmap
https://bugs.webkit.org/show_bug.cgi?id=34507

  • tests/hybridPixmap/test.html: use assignToHTMLImageElement on an existing element instead of toHTMLImageElement which creates a new one
13:15 Changeset [54985] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-18 Gustavo Noronha Silva <gns@gnome.org>

[Qt][GTK] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
https://bugs.webkit.org/show_bug.cgi?id=35086

Skip both new tests that fail. It may be a DRT problem, and the
file path that is reported in the error message also seems to
require tweaking.

  • platform/gtk/Skipped:
13:07 Changeset [54984] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

Not reviewed, bustage fix.

An extraneous line in r54839 broke GIF animation.

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

(GIFImageReader::read):

13:03 Changeset [54983] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-18 Gustavo Noronha Silva <gns@gnome.org>

[GTK] Fails fast/multicol/client-rects.html
https://bugs.webkit.org/show_bug.cgi?id=35127

Skip test that fails in GTK+ - trying to get bot green again.

  • platform/gtk/Skipped:
12:55 Changeset [54982] by mitz@apple.com
  • 3 edits
    1 copy
    3 adds in trunk

<rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
https://bugs.webkit.org/show_bug.cgi?id=34946

Reviewed by Simon Fraser.

WebCore:

Test: fast/repaint/selection-gap-overflow-scroll-2.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for
overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes
non-scrolled coordinates, so account for that.

LayoutTests:

  • fast/repaint/selection-gap-overflow-scroll-2.html: Copied from LayoutTests/fast/repaint/selection-gap-overflow-scroll.html.
  • platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.checksum: Added.
  • platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
  • platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.txt: Added.
12:52 Changeset [54981] by dumi@chromium.org
  • 10 edits in trunk

WebCore: Change the V8 and JSC SQLStatementErrorCallback to interpret
'undefined' return values as 'true', as required by the spec.

Reviewed by Darin Adler.

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

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSCustomSQLStatementErrorCallback::handleEvent):

  • bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:

(WebCore::V8CustomSQLStatementErrorCallback::handleEvent):

  • bindings/v8/custom/V8CustomVoidCallback.cpp:

(WebCore::invokeCallbackHelper):
(WebCore::invokeCallback):
(WebCore::invokeCallbackTreatUndefinedAsTrue):

  • bindings/v8/custom/V8CustomVoidCallback.h:

LayoutTests: 'undefined' return values from statement error callbacks are not
treated as 'true'. Fix the tests that did not use this
assumption.

Reviewed by NOBODY Darin Adler.

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

  • storage/database-lock-after-reload.html:
  • storage/private-browsing-readonly.html:
  • storage/statement-error-callback.html:
  • storage/statement-error-callback-expected.txt:
11:38 Changeset [54980] by ojan@chromium.org
  • 12 edits
    4 adds in trunk

2010-02-17 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

keyboard selection sometimes moves the wrong end of the selection for Win/Linux
https://bugs.webkit.org/show_bug.cgi?id=35066

The changes to js-test-selection-shared.js are just to make the selection editing tests
easier to debug in the future.

The mac results for extend-after-mouse-selection.html contain a "FAIL" line. This is
a case where WebKit doesn't match TextEdit.

  • editing/editing.js: (execMoveSelectionForwardByLineBoundaryCommand): (moveSelectionForwardByLineBoundaryCommand): (execExtendSelectionForwardByLineBoundaryCommand): (extendSelectionForwardByLineBoundaryCommand): (execExtendSelectionBackwardByLineBoundaryCommand): (extendSelectionBackwardByLineBoundaryCommand): (execMoveSelectionBackwardByLineBoundaryCommand): (moveSelectionBackwardByLineBoundaryCommand):
  • editing/selection/extend-after-mouse-selection.html: Added.
  • editing/selection/move-begin-end-expected.txt:
  • editing/selection/move-begin-end.html:
  • editing/selection/resources/js-test-selection-shared.js: (objectAsString): (assertSelectionAt):
  • platform/mac/editing/selection/click-in-margins-inside-editable-div-expected.txt:
  • platform/mac/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt:
  • platform/mac/editing/selection/extend-after-mouse-selection-expected.txt: Added.
  • platform/win/editing/selection/click-in-margins-inside-editable-div-expected.txt:
  • platform/win/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt:
  • platform/win/editing/selection/extend-after-mouse-selection-expected.txt: Added.
  • platform/win/editing/selection/extend-selection-expected.txt: Added.

2010-02-17 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

keyboard selection sometimes moves the wrong end of the selection for Win/Linux
https://bugs.webkit.org/show_bug.cgi?id=35066

On Windows/Linux keyboard based selections should always move the same
end of the seleciton. On Mac, lineboundary and documentboundary changes
move different ends of the selection depending on which direction your
extending.

Test: editing/selection/extend-after-mouse-selection.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::positionForPlatform): (WebCore::SelectionController::startForPlatform): (WebCore::SelectionController::endForPlatform): (WebCore::SelectionController::modifyExtendingRight): (WebCore::SelectionController::modifyExtendingForward): (WebCore::SelectionController::modifyMovingForward): (WebCore::SelectionController::modifyExtendingBackward): (WebCore::SelectionController::modifyMovingBackward):
  • editing/SelectionController.h:
11:36 Changeset [54979] by timothy@apple.com
  • 3 edits in trunk/WebCore

Add "with" to the list of keywords to syntax highlight.

http://webkit.org/b/35123

Reviewed by Pavel Feldman.

  • inspector/front-end/SourceJavaScriptTokenizer.js:

(WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.

  • inspector/front-end/SourceJavaScriptTokenizer.re2js:

(WebInspector.SourceJavaScriptTokenizer): Ditto.

11:35 Changeset [54978] by pkasting@chromium.org
  • 7 edits in trunk/WebCore

Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO
decoder, making the logic less crazy and more like the other decoders.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::RGBA32Buffer::operator=):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::RGBA32Buffer::RGBA32Buffer):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::frameBufferAtIndex):
(WebCore::ICOImageDecoder::decodeAtIndex):

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/qt/RGBA32BufferQt.cpp:

(WebCore::RGBA32Buffer::operator=):

  • platform/image-decoders/skia/ImageDecoderSkia.cpp:

(WebCore::RGBA32Buffer::operator=):

11:19 CommitQueue edited by eric@webkit.org
(diff)
11:19 CommitQueue edited by eric@webkit.org
(diff)
11:14 CommitQueue edited by eric@webkit.org
(diff)
11:13 CommitQueue edited by eric@webkit.org
(diff)
11:11 CommitQueue edited by eric@webkit.org
(diff)
11:10 CommitQueue edited by eric@webkit.org
(diff)
11:08 Changeset [54977] by japhet@chromium.org
  • 3 edits in trunk/LayoutTests

2010-02-18 Nate Chapin <japhet@chromium.org>

Unreviewed, build fix.

Provide good expected results for fast/dom/Window/window-event-override-no-crash.html.

11:05 Changeset [54976] by sfalken@apple.com
  • 1 edit in trunk/WebKitLibraries/win/lib/WebKitSystemInterface_debug.lib

Windows build fix.

10:59 Changeset [54975] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-18 Gustavo Noronha Silva <gns@gnome.org>

[GTK][Qt] Fails glyph reordering test fast/text/glyph-reordering.html
https://bugs.webkit.org/show_bug.cgi?id=34918

Unskipping that now passes, after r54912.

  • platform/gtk/Skipped:
10:53 Changeset [54974] by pfeldman@chromium.org
  • 4 edits in trunk/WebCore

2010-02-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: multiple popovers on screen at the same time.

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

  • inspector/front-end/Popover.js: (WebInspector.Popover.prototype.show): (WebInspector.Popover.prototype.hide):
  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._showPopup):
10:45 Changeset [54973] by pfeldman@chromium.org
  • 6 edits in trunk/WebCore

2010-02-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: Expand Object.proto properly.

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

  • inspector/front-end/EventListenersSidebarPane.js:
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor):
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/inspector.js: (WebInspector.log.logMessage): (WebInspector.log):
10:40 Changeset [54972] by japhet@chromium.org
  • 4 edits in trunk/WebCore

2010-02-18 Nate Chapin <japhet@chromium.org>

Reviewed by Adam Barth.

[V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
and use a faster method of disambiguating between the types of contexts.

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

  • bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to

handle the WorkerContext case.

  • bindings/v8/V8DOMWrapper.cpp: (WebCore::globalObjectPrototypeIsDOMWindow): (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths.
  • bindings/v8/V8DOMWrapper.h:
10:25 Changeset [54971] by xan@webkit.org
  • 3 edits in trunk/WebCore

2010-02-18 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Remove some duplication between PluginView and Widget methods, and
move the setSelfVisible calls to the parent class.

  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::show): (WebCore::Widget::hide):
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide):
09:51 Changeset [54970] by simon.fraser@apple.com
  • 3 edits in trunk/WebCore

2010-02-18 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler.

<rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks

Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
used for Core Graphics gradient drawing.

  • platform/graphics/Gradient.h:
  • platform/graphics/cg/GradientCG.cpp: (WebCore::Gradient::platformDestroy): (WebCore::Gradient::paint):
09:36 Changeset [54969] by pfeldman@chromium.org
  • 2 edits in trunk/WebCore

2010-02-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: on-hover evaluation renders nodes and arrays as strings.

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

  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
09:32 Changeset [54968] by yurys@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-02-18 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Don't truncate long lines when evaluating expressions on a breakpoint.

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

  • src/js/DebuggerAgent.js:
09:31 Changeset [54967] by kov@webkit.org
  • 1 edit
    1 add in trunk/WebKit/gtk/po

2010-02-18 A S Alam <amanpreet.alam@gmail.com>

Punjabi translation.

  • pa.po: Added.
09:13 Changeset [54966] by beidson@apple.com
  • 13 edits
    2 adds in trunk

Particularly constructed WebFrames can try to access a null HistoryItem
<rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063

Reviewed by Sam Weinig.

WebCore:

Test: fast/loader/api-test-new-window-data-load-base-url.html

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll

might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem
to m_previousItem then create a new m_currentItem... or it will do nothing. So we either have both an m_currentItem
and m_previousItem, or we have neither. In the case where we have no m_previousItem, return early.

WebKitTools:

Add the specific ability to test this API pattern.

For now only on Mac, perhaps on the main Windows port later, probably not relevant for other ports.

  • DumpRenderTree/LayoutTestController.cpp:

(apiTestNewWindowDataLoadBaseURLCallback):
(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(-[APITestDelegate initWithCompletionCondition:]):
(-[APITestDelegate webView:didFailLoadWithError:forFrame:]):
(-[APITestDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
(-[APITestDelegate webView:didFinishLoadForFrame:]):
(LayoutTestController::apiTestNewWindowDataLoadBaseURL): Create a WebView, do a loadData: in its

mainFrame, and synchronously wait for main load completion.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::apiTestNewWindowDataLoadBaseURL):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::apiTestNewWindowDataLoadBaseURL):

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::apiTestNewWindowDataLoadBaseURL):

LayoutTests:

  • fast/loader/api-test-new-window-data-load-base-url-expected.txt: Added.
  • fast/loader/api-test-new-window-data-load-base-url.html: Added.
  • platform/gtk/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
09:08 Changeset [54965] by japhet@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2010-02-18 Nate Chapin <japhet@chromium.org>

Reviewed by Eric Seidel.

Actually submitting test for https://bugs.webkit.org/show_bug.cgi?id=34899 this time.

  • fast/dom/Window/window-event-override-no-crash-expected.txt: Added.
  • fast/dom/Window/window-event-override-no-crash.html: Added.
09:04 Changeset [54964] by japhet@chromium.org
  • 5 edits in trunk

2010-02-18 Nate Chapin <japhet@chromium.org>

Reviewed by Eric Seidel.

[V8] Correctly handle the case where the event field on the
global object is a v8::Object, but not a DOM wrapper.

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

Test: fast/dom/Window/window-event-override-no-crash.html

  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture):
  • bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::isValidDOMObject): (WebCore::V8DOMWrapper::isWrapperOfType):
  • bindings/v8/V8DOMWrapper.h:
08:56 Changeset [54963] by pfeldman@chromium.org
  • 2 edits in trunk/WebCore

2010-02-18 Pavel Feldman <pfeldman@chromium.org>

Not reviewed, Qt build fix.

  • inspector/front-end/WebKit.qrc:
08:12 Changeset [54962] by pfeldman@chromium.org
  • 11 edits
    13 adds
    1 delete in trunk/WebCore

2010-02-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: Implement evaluate-on-hover for scripts panel.

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


  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/front-end/Images/gearButtonGlyph.png: Added.
  • inspector/front-end/Images/popoverArrows.png: Added.
  • inspector/front-end/Images/popoverBackground.png: Added.
  • inspector/front-end/Images/thumbActiveHoriz.png: Added.
  • inspector/front-end/Images/thumbActiveVert.png: Added.
  • inspector/front-end/Images/thumbHoriz.png: Added.
  • inspector/front-end/Images/thumbHoverHoriz.png: Added.
  • inspector/front-end/Images/thumbHoverVert.png: Added.
  • inspector/front-end/Images/thumbVert.png: Added.
  • inspector/front-end/Images/trackHoriz.png: Added.
  • inspector/front-end/Images/trackVert.png: Added.
  • inspector/front-end/Popup.js: (WebInspector.Popup): (WebInspector.Popup.prototype.show): (WebInspector.Popup.prototype.hide): (WebInspector.Popup.prototype._positionElement):
  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._createViewerIfNeeded): (WebInspector.SourceFrame.prototype._scroll): (WebInspector.SourceFrame.prototype._mouseDown): (WebInspector.SourceFrame.prototype._mouseUp): (WebInspector.SourceFrame.prototype._mouseMove): (WebInspector.SourceFrame.prototype._mouseOut): (WebInspector.SourceFrame.prototype._resetHoverTimer): (WebInspector.SourceFrame.prototype._hidePopup): (WebInspector.SourceFrame.prototype._mouseHover): (WebInspector.SourceFrame.prototype._showPopup.showTextPopup): (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback): (WebInspector.SourceFrame.prototype._showPopup): (WebInspector.HoverPropertiesSection): (WebInspector.HoverPropertiesSection.prototype.update):
  • inspector/front-end/TextEditorHighlighter.js: (WebInspector.TextEditorHighlighter): (WebInspector.TextEditorHighlighter.prototype._lex):
  • inspector/front-end/TextViewer.js: (WebInspector.TextViewer.prototype._paintLine):
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspectorSyntaxHighlight.css:
  • inspector/front-end/popover.css: Added.
08:03 Changeset [54961] by abecsi@webkit.org
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Kenneth Rohde Christiansen.

[Qt] Skip the following tests because of missing eventSender.textZoomIn():

svg/zoom/text/absolute-sized-document-no-scrollbars.svg
svg/zoom/text/absolute-sized-document-scrollbars.svg
svg/zoom/text/relative-sized-document-scrollbars.svg
svg/zoom/text/zoom-foreignObject.svg
svg/zoom/text/zoom-hixie-mixed-008.xml
svg/zoom/text/zoom-hixie-mixed-009.xml
svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
svg/zoom/text/zoom-svg-float-border-padding.xml

  • platform/qt/Skipped:
07:55 UsingGitWithWebKit edited by vestbo@webkit.org
(diff)
07:54 UsingGitWithWebKit edited by vestbo@webkit.org
(diff)
07:51 Changeset [54960] by vestbo@webkit.org
  • 4 edits in trunk

Teach resolve-ChangeLogs to act as a merge-driver for Git

Reviewed by Eric Seidel.

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

To enable automatic merging of ChangeLog files, use the following command:

git config merge.changelog.driver "resolve-ChangeLogs --merge-driver %O %A %B"

The driver always works in "downstream" merge mode, meaning
it will always put the user's changelog entries on top.

  • Scripts/resolve-ChangeLogs:
  • .gitattributes: Add instruction to use merge-driver for ChangeLogs
06:27 Changeset [54959] by eric@webkit.org
  • 4 edits in trunk/WebKit/gtk

2010-02-18 Diego Escalante Urrelo <descalante@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GTK] WebKitDownload documentation is incomplete
https://bugs.webkit.org/show_bug.cgi?id=35018

Concretely the error signal was undocumented. Also two relevant enums
were not included.

  • docs/webkitgtk-sections.txt:
  • docs/webkitgtk.types:
  • webkit/webkitdownload.cpp: (webkit_download_class_init):
06:22 Changeset [54958] by benm@google.com
  • 2 edits in trunk/WebCore

2010-02-18 Ben Murdoch <benm@google.com>

Reviewed by Jeremy Orlow.

[v8] Complete upstreaming of V8 Touch Event bindings
https://bugs.webkit.org/show_bug.cgi?id=35094

No new tests required.

  • bindings/v8/V8Index.cpp: Add generated touch event headers.
06:12 Changeset [54957] by steveblock@google.com
  • 3 edits in trunk/WebCore

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

Reviewed by Jeremy Orlow.

Updates Android V8 build to use DerivedSourcesAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=35083

No new tests, build fix only.

  • Android.derived.v8bindings.mk:
  • Android.v8bindings.mk:
05:32 Changeset [54956] by kov@webkit.org
  • 2 edits
    1 add in trunk/WebKitTools

2009-12-05 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Eric Seidel.

Enable running of GTK+ API tests.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:
  • Scripts/run-gtk-tests: Added.
05:27 Changeset [54955] by kov@webkit.org
  • 4 edits in trunk

2010-02-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

fast/frames/iframe-reparenting.html crashing on GTK Debug bots
https://bugs.webkit.org/show_bug.cgi?id=35081

Check that the client is alive after every call to it, since any
of them could cause the load to be cancelled, and the client to go
away.

This is much better than protecting a specific subclass of
ResourceHandleClient (ResourceLoader), which makes us fail when
any other client is used.

Test: fast/frames/iframe-reparenting.html

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::parseDataUrl):
04:00 Changeset [54954] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
https://bugs.webkit.org/show_bug.cgi?id=35086

fast/xmlhttprequest/xmlhttprequest-no-file-access.html cause
this fail indirectly, but both of them pass in separated DRT.

  • platform/qt/Skipped: fast/xmlhttprequest/xmlhttprequest-no-file-access.html

skipped until fix to make buildbot happy.

03:46 Changeset [54953] by philn@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2010-02-18 Philippe Normand <pnormand@igalia.com>

Not reviewed, adding a GTK layout test result for a new test
added in r54926.

  • platform/gtk/fast/css/first-letter-first-line-hover-expected.txt: Added.
03:37 Changeset [54952] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-18 Philippe Normand <pnormand@igalia.com>

Rubber-stamped by Xan Lopez.

plugins/iframe-shims.html crashing on GTK Debug bots
https://bugs.webkit.org/show_bug.cgi?id=35085

  • platform/gtk/Skipped: Skip crashing tests.
02:29 Changeset [54951] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-18 Philippe Normand <pnormand@igalia.com>

Rubber-stamped by Xan Lopez.

fast/frames/iframe-reparenting.html crashing on GTK Debug bots
https://bugs.webkit.org/show_bug.cgi?id=35081

  • platform/gtk/Skipped: Skip crashing test.
02:21 Changeset [54950] by benm@google.com
  • 9 edits in trunk/WebCore

[v8] [Android] V8 bindings for touch events are missing.
https://bugs.webkit.org/show_bug.cgi?id=33795

Reviewed by Nate Chapin.

No new tests as this just enables touch events in V8. Existing touch tests suffice.

  • WebCore.gypi: Add Touch idl files.
  • bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map.
  • bindings/v8/DOMObjectsInclude.h: Add touch headers.
  • bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings.
  • bindings/v8/V8Index.h: Add touch DOM object types.
  • bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event.
  • Android.derived.jscbindings.mk: Add the touch derived sources to the makefile.
  • Android.derived.v8bindings.mk: Add the touch derived sources to the makefile.
02:07 Changeset [54949] by philn@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-18 Philippe Normand <pnormand@igalia.com>

Rubber-stamped by Xan Lopez.

fast/css/font-face-opentype.html crashing on GTK bots
https://bugs.webkit.org/show_bug.cgi?id=35080

  • platform/gtk/Skipped: Skip crashing test.
01:27 Changeset [54948] by eric@webkit.org
  • 3 edits in trunk/WebKit/chromium

2010-02-18 Jay Campan <jcampan@google.com>

Reviewed by Adam Barth.

Exposing the title in WebDocument.

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

  • public/WebDocument.h:
  • src/WebDocument.cpp: (WebKit::WebDocument::title):
01:17 Changeset [54947] by hamaji@chromium.org
  • 2 edits in trunk/WebKitTools

2010-02-18 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Adam Barth.

debug-safari doesn't pass --debug option to gdb-safari on MacOSX
https://bugs.webkit.org/show_bug.cgi?id=34411

  • Scripts/webkitdirs.pm:
01:10 Changeset [54946] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-02-18 William Chan <willchan@chromium.org>

Reviewed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=35071
Disable loader limiting of requests per host for the chromium port.

No tests because we're only changing a constant.

  • platform/network/chromium/ResourceRequest.cpp: (WebCore::initializeMaximumHTTPConnectionCountPerHost):
00:54 Changeset [54945] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-02-18 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

run-chromium-webkit-tests --platform=mac-leopard needs to run build-dumprendertree
https://bugs.webkit.org/show_bug.cgi?id=35053

  • Scripts/webkitpy/layout_tests/port/base.py: Add script_path() function for finding scripts.
  • Scripts/webkitpy/layout_tests/port/chromium.py: Remove unused argument.
  • Scripts/webkitpy/layout_tests/port/mac.py:
    • Make sure that calling webkit-build-directory works even if Scripts/ is not in the user's path.
    • Call build-dumprendertree (and make sure it succeeds) before running the tests.
00:38 Changeset [54944] by eric@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2010-02-18 Chris Evans <cevans@chromium.org>

Reviewed by Adam Barth.

Add the promised test for the unique file:// origins support.
See https://bugs.webkit.org/show_bug.cgi?id=34778 for more details.

  • fast/xmlhttprequest/xmlhttprequest-no-file-access.html: Added.
  • fast/xmlhttprequest/resources/xmlhttprequest-no-file-access-real.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt: Added.
00:36 Changeset [54943] by sfalken@apple.com
  • 9 edits in trunk

WebKit on Windows needs a mechanism to listen for WM_SETTINGCHANGED messages
https://bugs.webkit.org/show_bug.cgi?id=35076

Reviewed by Dan Bernstein.

WebKit/win:

  • WebKit.vcproj/WebKit.def: Added WebKitSystemParameterChanged.
  • WebKit.vcproj/WebKit_debug.def: Added WebKitSystemParameterChanged.
  • WebKitGraphics.cpp:

(WebKitSystemParameterChanged): Call through to wkSystemFontSmoothingChanged for font smoothing changes.

  • WebKitGraphics.h: Added WebKitSystemParameterChanged.

WebKitLibraries:

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib: Updated to add wkSystemFontSmoothingChanged.
  • win/lib/WebKitSystemInterface_debug.lib: Updated to add wkSystemFontSmoothingChanged.
00:17 Changeset [54942] by hamaji@chromium.org
  • 6 edits in trunk/WebKitTools

2010-02-16 Chris Jerdonek <cjerdonek@webkit.org>

Reviewed by Shinichiro Hamaji.

Refactored check-webkit-style's ProcessorOptions class into two
classes. This revision contains no new functionality.

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

Divided the ProcessorOptions class into a CommandOptionValues
class (the result of parsing the command-line options) and
a StyleCheckerConfiguration class (which configures the main
StyleChecker).

  • Scripts/check-webkit-style:
    • Updated main() to convert the parsed command option values to a StyleCheckConfiguration instance prior to constructing a StyleChecker.
  • Scripts/webkitpy/style/checker.py:
    • Added check_webkit_style_configuration() to convert a CommandOptionValues instance into a StyleCheckerConfiguration instance.
    • Renamed the ProcessorOptions class to CommandOptionValues.
    • In the CommandOptionValues class--
      • Replaced the filter_configuration attribute with the simpler filter_rules attribute.
      • Removed the max_reports_per_error attribute.
      • Moved the is_reportable() method to the new StyleCheckerConfiguration class.
    • Removed the base_filter_rules attribute from the DefaultCommandOptionValues class.
    • In the ArgumentParser class--
      • Added base_filter_rules to the constructor.
      • Changed the parse() method to return a CommandOptionValues instance instead of a ProcessorOptions instance.
    • Created a StyleCheckerConfiguration class.
      • Added the data attributes max_reports_per_category, stderr_write, and verbosity.
      • Added is_reportable() (moved from the ProcessorOptions class) and write_style_error() (moved from the DefaultStyleErrorHandler class).
    • In the StyleChecker class--
      • Replaced the ProcessorOptions options attribute with the StyleCheckerConfiguration _configuration attribute.
      • Removed the _stderr_write attribute.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Updated the existing unit test classes as necessary.
    • Added a StyleCheckerConfigurationTest class.
  • Scripts/webkitpy/style/error_handlers.py:
    • Updated the DefaultStyleErrorHandler class to accept a StyleCheckerConfiguration instance instead of a ProcessorOptions instance and an stderr_write method.
  • Scripts/webkitpy/style/error_handlers_unittest.py:
    • Updated the unit test classes as necessary.
  • Scripts/webkitpy/style/filter.py:
    • Addressed the FIXME in the FilterConfiguration class to change the user_rules attribute to _user_rules (since it is now accessed only internally).
  • Scripts/webkitpy/style/filter_unittest.py:
    • Updated to reflect the change from user_rules to _user_rules.
00:17 Changeset [54941] by tony@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

2010-02-18 Tony Chang <tony@chromium.org>

Not reviewed, adding a QT layout test result for a new test
added in r54932.

  • platform/qt/editing/pasteboard/page-zoom-expected.txt: Copied from LayoutTests/platform/gtk/editing/pasteboard/page-zoom-expected.txt.
00:06 Changeset [54940] by xan@webkit.org
  • 8 edits in trunk/WebCore

2010-02-18 Xan Lopez <xlopez@igalia.com>

Reviewed by Eric Seidel.

[Linux] Webkit incompatible with Java plugins
https://bugs.webkit.org/show_bug.cgi?id=24912

The NP Version supported by WebKit is at the moment hardcoded in
PluginPackage.cpp (to 24), but not all backends actually implement
the methods needed to claim this. Introduce a new method to be
implemented by each backend where the maximum supported version
can be specified, and set the GTK+ port NPVersion to 19. This
fixes an instantaneous crasher in the Sun Java NPAPI plugin.

  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::initializeBrowserFuncs):
  • plugins/PluginPackage.h:
  • plugins/gtk/PluginPackageGtk.cpp: (WebCore::PluginPackage::NPVersion):
  • plugins/mac/PluginPackageMac.cpp: (WebCore::PluginPackage::NPVersion):
  • plugins/qt/PluginPackageQt.cpp: (WebCore::PluginPackage::NPVersion):
  • plugins/symbian/PluginPackageSymbian.cpp: (WebCore::PluginPackage::NPVersion):
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::NPVersion):
00:04 Changeset [54939] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] editing/pasteboard/page-zoom.html fails
https://bugs.webkit.org/show_bug.cgi?id=35077

  • platform/qt/Skipped: editing/pasteboard/page-zoom.html skipped until fix.

02/17/10:

23:55 Changeset [54938] by dimich@chromium.org
  • 34 edits
    7 adds in trunk

When a live iframe element is moved between pages, it still depends on the old page.
https://bugs.webkit.org/show_bug.cgi?id=34382

Reviewed by David Levin, Darin Fisher, Simon Hausmann.

WebCore:

Test: fast/frames/iframe-reparenting-new-page.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::setName):
Move the code setting the frame name into a separate function.

(WebCore::HTMLFrameElementBase::setNameAndOpenURL):
(WebCore::HTMLFrameElementBase::updateOnReparenting):
Called on the frame that was just re-parented and inserted into another Document.
Simply invoke Frame::transferChildFrameToNewDocument(...);

(WebCore::HTMLFrameElementBase::insertedIntoDocument):

  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameOwnerElement.h:

(WebCore::HTMLFrameOwnerElement::setName):
Make this a virtual function, to be able to reach it via Frame::m_ownerElement.

  • loader/EmptyClients.h:

(WebCore::EmptyFrameLoaderClient::adoptFrame):

  • loader/FrameLoaderClient.h:

Add a new method, didTransferChildFrameToNewDocument().
It compliments createFrame() in that a frame which was re-parented
in DOM and potentially changes Page, should notify the WebKit
implementation about potential ownership change.
Many embedders assume that Page owns all the Frames, or at least
all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame
can be transferred to another Page, the embedders should be notified.

  • page/Frame.cpp:

(WebCore::Frame::transferChildFrameToNewDocument):
Added, makes actual adjustments for Frame - resets the Page,
updates the frame tree and frame name, calls to FrameLoaderClient
to update external objects and recurses into children.
Can only be used on child frames.

  • page/Frame.h:

WebKit/chromium:

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::detachedFromParent3):
(WebKit::FrameLoaderClientImpl::didTransferChildFrameToNewDocument):
Since Chromium's WebFrameClient is destroyed once a window is closed,
if Frame moves between Pages, the client of corresponding WebFrame
should be replaced as well.

  • src/FrameLoaderClientImpl.h:
  • src/WebFrameImpl.h:

(WebKit::WebFrameImpl::setClient):

WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::didTransferChildFrameToNewDocument):
Added empty implementation of a new virtual method.

  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/haiku:

  • WebCoreSupport/FrameLoaderClientHaiku.cpp:

(WebCore::FrameLoaderClientHaiku::didTransferChildFrameToNewDocument):
Added empty implementation of a new virtual method.

  • WebCoreSupport/FrameLoaderClientHaiku.h:

WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Added empty implementation of a new virtual method.

(WebFrameLoaderClient::didTransferChildFrameToNewDocument):

WebKit/qt:

  • Api/qwebframe_p.h:

(QWebFramePrivate::setPage): Added.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::didTransferChildFrameToNewDocument):
The QWebFrame caches a QWebPage which should be replaced when Frame is re-parented.
Also, the QWebFrame is a child (in QT terms) of QWebPage - so update that relationship as well.
Emit a signal that QWebFrame moved to a different QWebPage.

  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::didTransferChildFrameToNewDocument):
Added empty implementation of a new virtual method.

  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

  • WebKitSupport/FrameLoaderClientWx.cpp:

(WebCore::FrameLoaderClientWx::didTransferChildFrameToNewDocument):
Added empty implementation of a new virtual method.

  • WebKitSupport/FrameLoaderClientWx.h:

LayoutTests:

  • fast/frames/iframe-reparenting-new-page-expected.txt: Added.
  • fast/frames/iframe-reparenting-new-page.html: Added.
  • fast/frames/resources/iframe-reparenting-new-page-1.html: Added.
  • fast/frames/resources/iframe-reparenting-new-page-2.html: Added.
  • fast/frames/resources/iframe-reparenting-new-page-iframe.html: Added.
  • fast/frames/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/canvas/script-tests/TEMPLATE.html.
  • fast/frames/script-tests/iframe-reparenting-new-page.js: Added.
23:49 Changeset [54937] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] DRT: Get total number of pages to be printed
https://bugs.webkit.org/show_bug.cgi?id=34955

Fix landed in r54902, so we can unskip the test.

  • platform/qt/Skipped: printing/numberOfPages.html unskipped.
23:41 Changeset [54936] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] Fails glyph reordering test fast/text/glyph-reordering.html
https://bugs.webkit.org/show_bug.cgi?id=34918

Fix landed in r54912, so we can unskip the test.

  • platform/qt/Skipped: fast/text/glyph-reordering.html unskipped.
23:30 Changeset [54935] by tony@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

2010-02-17 Tony Chang <tony@chromium.org>

Not reviewed, adding a GTK+ layout test result for a new test
added in r54932.

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

  • platform/gtk/editing/pasteboard/page-zoom-expected.txt: Added.
23:29 Changeset [54934] by cjerdonek@webkit.org
  • 8 edits in trunk/WebKitTools

Refactored check-webkit-style's ProcessorOptions class into two
classes. This revision contains no new functionality.

Reviewed by Shinichiro Hamaji.

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

Divided the ProcessorOptions class into a CommandOptionValues
class (the result of parsing the command-line options) and
a StyleCheckerConfiguration class (which configures the main
StyleChecker).

  • Scripts/check-webkit-style:
    • Updated main() to convert the parsed command option values to a StyleCheckConfiguration instance prior to constructing a StyleChecker.
  • Scripts/webkitpy/style/checker.py:
    • Added check_webkit_style_configuration() to convert a CommandOptionValues instance into a StyleCheckerConfiguration instance.
    • Renamed the ProcessorOptions class to CommandOptionValues.
    • In the CommandOptionValues class--
      • Replaced the filter_configuration attribute with the simpler filter_rules attribute.
      • Removed the max_reports_per_error attribute.
      • Moved the is_reportable() method to the new StyleCheckerConfiguration class.
    • Removed the base_filter_rules attribute from the DefaultCommandOptionValues class.
    • In the ArgumentParser class--
      • Added base_filter_rules to the constructor.
      • Changed the parse() method to return a CommandOptionValues instance instead of a ProcessorOptions instance.
    • Created a StyleCheckerConfiguration class.
      • Added the data attributes max_reports_per_category, stderr_write, and verbosity.
      • Added is_reportable() (moved from the ProcessorOptions class) and write_style_error() (moved from the DefaultStyleErrorHandler class).
    • In the StyleChecker class--
      • Replaced the ProcessorOptions options attribute with the StyleCheckerConfiguration _configuration attribute.
      • Removed the _stderr_write attribute.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Updated the existing unit test classes as necessary.
    • Added a StyleCheckerConfigurationTest class.
  • Scripts/webkitpy/style/error_handlers.py:
    • Updated the DefaultStyleErrorHandler class to accept a StyleCheckerConfiguration instance instead of a ProcessorOptions instance and an stderr_write method.
  • Scripts/webkitpy/style/error_handlers_unittest.py:
    • Updated the unit test classes as necessary.
  • Scripts/webkitpy/style/filter.py:
    • Addressed the FIXME in the FilterConfiguration class to change the user_rules attribute to _user_rules (since it is now accessed only internally).
  • Scripts/webkitpy/style/filter_unittest.py:
    • Updated to reflect the change from user_rules to _user_rules.
23:12 Changeset [54933] by tony@chromium.org
  • 10 edits in trunk

2010-02-17 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=26937
No longer allow span styles to surround block elements like
divs when pasting (see paste-text-012 and 5065605 which had divs in
spans). This also causes a few cases of empty spans to be removed
(see 19089 and 5245519).

  • editing/execCommand/19089-expected.txt:
  • editing/pasteboard/5245519-expected.txt:
  • editing/pasteboard/5245519.html:
  • platform/mac/editing/pasteboard/5065605-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-011-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-012-expected.txt:

2010-02-17 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s
https://bugs.webkit.org/show_bug.cgi?id=26937

This happens because of a span added when we copy that is used to
preserve styles. To avoid this, when we paste, make sure to apply
the styles to the span's children and then remove the style span.

This change is covered by existing layout tests.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans): (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
  • editing/ReplaceSelectionCommand.h:
22:44 Changeset [54932] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-02-17 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=34914
When pasting absolute font sizes into a content editable area with
page zoom, adjust the font sizes to be the same after page zoom is
applied.

  • editing/pasteboard/page-zoom-expected.txt: Added.
  • editing/pasteboard/page-zoom.html: Added.

2010-02-17 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=34914
When pasting absolute font sizes into a content editable area with
page zoom, adjust the font sizes to be the same after page zoom is
applied.

Test: editing/pasteboard/page-zoom.html

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
22:28 Changeset [54931] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-02-17 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=34737
Test to verify that pasting styled list items works
the same as pasting unstyle list items.

  • editing/pasteboard/paste-list-003-expected.txt: Added.
  • editing/pasteboard/paste-list-003.html: Added.

2010-02-17 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=34737
Copying styled list items then pasting into a list
should work the same as copying unstyle list items:
it shouldn't indent an extra level, but styles should
be copied.

Small cleanups to insertAsListItems to make variable names
more descriptive.

Test: editing/pasteboard/paste-list-003.html

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): (WebCore::ReplaceSelectionCommand::insertAsListItems):
22:12 Changeset [54930] by eric@webkit.org
  • 2 edits
    1 add in trunk/WebCore

2010-02-17 Kwang Yul Seo <skyul@company100.net>

Reviewed by Eric Seidel.

[BREWMP] Port PlatformKeyboardEvent
https://bugs.webkit.org/show_bug.cgi?id=34794

Retrieve the type, key code, text and modifiers from BREW's keyboard event.

  • platform/PlatformKeyboardEvent.h:
  • platform/brew/PlatformKeyboardEventBrew.cpp: Added. (WebCore::keyIdentifierForBrewKeyCode): (WebCore::windowsKeyCodeForKeyEvent): (WebCore::singleCharacterString): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): (WebCore::PlatformKeyboardEvent::currentCapsLockState):
21:55 Changeset [54929] by eric@webkit.org
  • 3 edits
    3 adds in trunk

2010-02-17 Hayato Ito <hayato@chromium.org>

Reviewed by Eric Seidel.

Support CSS page-break-inside with a value of 'avoid'.

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

  • printing/page-break-inside-expected.txt: Added.
  • printing/page-break-inside.html: Added.
  • printing/script-tests/page-break-inside.js: Added. (createParagraph): (pageNumber):

2010-02-17 Hayato Ito <hayato@chromium.org>

Reviewed by Eric Seidel.

Support CSS page-break-inside with a value of 'avoid'.

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

Test: printing/page-break-inside.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintChildren):
21:38 Changeset [54928] by eric@webkit.org
  • 4 edits in trunk/WebKit/chromium

2010-02-17 Evan Martin <evan@chromium.org>

Reviewed by Eric Seidel.

[chromium] expose cache-bypass flag in reload() API
https://bugs.webkit.org/show_bug.cgi?id=34969

This flag is used to force a reload to ignore caches.
(Aka "shift-reload".)

  • public/WebFrame.h:
  • src/WebFrameImpl.cpp: (WebKit::WebFrameImpl::reload):
  • src/WebFrameImpl.h:
21:32 Changeset [54927] by ukai@chromium.org
  • 10 edits
    3 adds in trunk

2010-02-17 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Alexey Proskuryakov.

WebSocket bufferedAmount should not be 0 when send after close.
https://bugs.webkit.org/show_bug.cgi?id=34633

  • websocket/tests/bufferedAmount-after-close-expected.txt: Added.
  • websocket/tests/bufferedAmount-after-close.html: Added.
  • websocket/tests/script-tests/bufferedAmount-after-close.js: Added.

2010-02-17 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Alexey Proskuryakov.

WebSocket bufferedAmount should not be 0 when send after close.
https://bugs.webkit.org/show_bug.cgi?id=34633

Fixed bug in webkit r54694. check m_client after it calls user
callback, because user callback may call close(), which would
call onclose event handler.

Test: websocket/tests/bufferedAmount-after-close.html

  • websockets/ThreadableWebSocketChannelClientWrapper.h: (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
  • websockets/WebSocket.cpp: (WebCore::WebSocket::WebSocket): (WebCore::WebSocket::send): (WebCore::WebSocket::close): (WebCore::WebSocket::bufferedAmount): (WebCore::WebSocket::didConnect): (WebCore::WebSocket::didClose):
  • websockets/WebSocket.h:
  • websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::WebSocketChannel): (WebCore::WebSocketChannel::send): (WebCore::WebSocketChannel::bufferedAmount): (WebCore::WebSocketChannel::didClose): (WebCore::WebSocketChannel::didReceiveData):
  • websockets/WebSocketChannel.h:
  • websockets/WebSocketChannelClient.h: (WebCore::WebSocketChannelClient::didClose):
  • websockets/WorkerThreadableWebSocketChannel.cpp: (WebCore::workerContextDidClose): (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
  • websockets/WorkerThreadableWebSocketChannel.h:
21:14 Changeset [54926] by eric@webkit.org
  • 6 edits
    4 adds in trunk

2010-02-17 Yuzo Fujishima <yuzo@google.com>

Reviewed by Eric Seidel.

In diffing render styles, consider all pseudo style changes.
Without this patch, only :before and :after are considered. This is the cause of the following bug.
https://bugs.webkit.org/show_bug.cgi?id=32187

  • fast/css/first-letter-first-line-hover.html: Added.
  • platform/mac/fast/css/first-letter-first-line-hover-expected.checksum: Added.
  • platform/mac/fast/css/first-letter-first-line-hover-expected.png: Added.
  • platform/mac/fast/css/first-letter-first-line-hover-expected.txt: Added.

2010-02-17 Yuzo Fujishima <yuzo@google.com>

Reviewed by Eric Seidel.

In diffing render styles, consider all pseudo style changes.
Without this patch, only :before and :after are considered. This is the cause of the following bug.
https://bugs.webkit.org/show_bug.cgi?id=32187

Test: fast/css/first-letter-first-line-hover.html

  • dom/Node.cpp: (WebCore::Node::diff):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h: (WebCore::):
21:07 Changeset [54925] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=35070
Addition of 2 strings of length 231 may result in a string of length 0.

Reviewed by Oliver Hunt.

Check for overflow when creating a new JSString as a result of an addition
or concatenation, throw an out of memory exception.

  • runtime/JSString.h:

(JSC::):

  • runtime/Operations.h:

(JSC::jsString):

20:55 Changeset [54924] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

2010-02-17 Kwang Yul Seo <skyul@company100.net>

Reviewed by Eric Seidel.

[BREWMP] Add WebCore::prefetchDNS
https://bugs.webkit.org/show_bug.cgi?id=34873

DNS prefetching is not implemented because the maximum number
of UDP sockets is quite small in most BREW devices.

  • platform/network/brew/DNSBrew.cpp: Added. (WebCore::prefetchDNS):
20:36 Changeset [54923] by tkent@chromium.org
  • 35 edits in trunk

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

It's hard for Chromium port to load an icon inside
Icon::createIconForFiles() because of sanbox and multi-process
architecture. So this change adds a method to request an icon to
Chrome class, and makes FileChooser receives an Icon instance
asynchronously. Synchronous loading also works with the new interface.

Because all ports don't have implementations of Chrome::iconForFiles()
yet, FileChooser tries to load an Icon synchronously with
Icon::createIconForFiles(), then tries to load an Icon asynchronously
with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0.

The existing Icon::createIconForFiles() implementations should be
moved to Chrome::iconForFiles(). We're going to remove
Icon::createIconForFiles().

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
  • page/Chrome.cpp: (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
  • page/Chrome.h:
  • page/ChromeClient.h: (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method.
  • platform/FileChooser.cpp: (WebCore::FileChooser::FileChooser): Use loadIcon(). (WebCore::FileChooser::chooseFiles): ditto. (WebCore::FileChooser::loadIcon): Added. (WebCore::FileChooser::iconLoaded): Added.
  • platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles().
  • platform/graphics/Icon.h: Add a FIXME comment.
  • platform/graphics/gtk/IconGtk.cpp: ditto.
  • platform/graphics/mac/IconMac.mm: ditto.
  • platform/graphics/qt/IconQt.cpp: ditto.
  • platform/graphics/win/IconWin.cpp: ditto.
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles(). (WebCore::RenderFileUploadControl::click): Use chrome(). (WebCore::RenderFileUploadControl::chrome):
  • rendering/RenderFileUploadControl.h: (WebCore::RenderFileUploadControl::repaint):

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::iconForFiles):
  • src/ChromeClientImpl.h:

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::iconForFiles):
  • WebCoreSupport/ChromeClientGtk.h:

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • WebCoreSupport/ChromeClientHaiku.cpp: (WebCore::ChromeClientHaiku::iconForFiles):
  • WebCoreSupport/ChromeClientHaiku.h:

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::iconForFiles):

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::iconForFiles):
  • WebCoreSupport/ChromeClientQt.h:

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::iconForFiles):
  • WebCoreSupport/WebChromeClient.h:

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

Reviewed by Eric Seidel.

Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054

Add an empty implementation of ChromeClient::iconForFiles().

  • WebKitSupport/ChromeClientWx.cpp: (WebCore::ChromeClientWx::iconForFiles):
  • WebKitSupport/ChromeClientWx.h:
20:19 Changeset [54922] by hamaji@chromium.org
  • 2 edits in trunk/WebKit/win

2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>

Unreviewed. Touch WebKit.idl to fix the build.

[Win] Implement test functions for printing
https://bugs.webkit.org/show_bug.cgi?id=34570

  • Interfaces/WebKit.idl:
18:42 Changeset [54921] by hamaji@chromium.org
  • 8 edits in trunk

2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

[Win] Implement layoutTestController.pageNumberForElementById
https://bugs.webkit.org/show_bug.cgi?id=34570

  • platform/win/Skipped:

2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

[Win] Implement test functions for printing
https://bugs.webkit.org/show_bug.cgi?id=34570

  • Interfaces/IWebFramePrivate.idl:
  • WebFrame.cpp: (WebFrame::pageNumberForElementById): (WebFrame::numberOfPages):
  • WebFrame.h:

2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

[Win] Implement test functions for printing
https://bugs.webkit.org/show_bug.cgi?id=34570

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pageNumberForElementById): (LayoutTestController::numberOfPages):
18:19 Changeset [54920] by ukai@chromium.org
  • 2 edits in trunk/WebKitTools

2010-02-17 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Eric Seidel.

websocket/tests/cookies/httponly-cookie.pl fails every time under run-chromium-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=35001

  • Scripts/webkitpy/layout_tests/port/websocket_server.py: add -x flag to run pywebsocket.
18:19 Changeset [54919] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Bug 35065: Delay between page loading and animated GIF playing
<http://webkit.org/b/35065> / <rdar://problem/7109548>

Reviewed by Darin Adler.

BitmapImage::startAnimation was adding the current frame duration to the desired start time
of the frame for every time it was called. If the function then bailed out due to not having
sufficient data to render the frame, this would lead to the desired start time of the frame
being pushed out multiple times. On an animated GIF that took mulitple seconds to load this
could happen many times for a single frame, resulting in the start time of the second frame
of the animation being pushed out by as much as five seconds.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the
desired start time is only updated after determining that we have sufficient data to handle
the next frame.

18:13 Changeset [54918] by hamaji@chromium.org
  • 3 edits in trunk/WebKitTools

2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

check-webkit-style: Misses variables that contain underscores.
https://bugs.webkit.org/show_bug.cgi?id=33724

  • Check identifiers whose types are unsigned.
  • Check bitfields properly.
  • Scripts/webkitpy/style/processors/cpp.py:
  • Scripts/webkitpy/style/processors/cpp_unittest.py:
18:00 Changeset [54917] by hamaji@chromium.org
  • 4 edits in trunk/WebKitTools

2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

check-webkit-style should report the number of files checked
https://bugs.webkit.org/show_bug.cgi?id=34971

  • Scripts/check-webkit-style:
  • Scripts/webkitpy/style/checker.py:
  • Scripts/webkitpy/style/checker_unittest.py:
17:35 Changeset [54916] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-02-17 Stephan Aßmus <superstippi@gmx.de>

Reviewed by Eric Seidel.

Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
https://bugs.webkit.org/show_bug.cgi?id=34687

Covered by existing tests.

  • platform/haiku/FileSystemHaiku.cpp: (WebCore::homeDirectoryPath): Implemented (WebCore::listDirectory): Implemented
17:19 Changeset [54915] by eric@webkit.org
  • 1 edit
    1 add in trunk/WebCore

2010-02-17 Kwang Yul Seo <skyul@company100.net>

Reviewed by Eric Seidel.

[BREWMP] Port userIdleTime
https://bugs.webkit.org/show_bug.cgi?id=34259

Return an arbitrarily high userIdleTime so that releasing pages from the page
cache isn't postponed.

  • platform/brew/SystemTimeBrew.cpp: Added. (WebCore::userIdleTime):
16:51 Changeset [54914] by bweinstein@apple.com
  • 1 edit in trunk/LayoutTests/platform/win/Skipped

Actually land the changes to the Skipped list

16:50 Changeset [54913] by bweinstein@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Rubber-stamped by Dan Bernstein.

Unskip glyph-reordering, because now it passes on Windows.

  • platform/win/Skipped:
16:28 Changeset [54912] by mitz@apple.com
  • 3 edits in trunk/LayoutTests

[GTK][Qt] Fails glyph reordering test fast/text/glyph-reordering.html
https://bugs.webkit.org/show_bug.cgi?id=34918

Reviewed by Eric Seidel.

Made the test less dependent on the complex text implementation.

  • fast/text/glyph-reordering-expected.txt:
  • fast/text/glyph-reordering.html:
15:10 Changeset [54911] by krit@webkit.org
  • 51 edits
    2 copies
    3 deletes in trunk

2010-02-17 Dirk Schulze <krit@webkit.org>

Rolling out r54909. Breaks SL and Win.

14:29 Changeset [54910] by dumi@chromium.org
  • 3 edits
    2 adds in trunk

WebCore: Fix Chromium's bindings for Database.transaction(): a 'null'
callback should be treated as no callback.

Reviewed by Dimitri Glazkov.

Test: storage/null-callbacks.html

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

  • bindings/v8/custom/V8DatabaseCustom.cpp:

(WebCore::createTransaction):

LayoutTests: Add a test that verifies that null transaction callbacks are
accepted and treated as no callbacks.

Reviewed by Dimitri Glazkov.

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

  • storage/null-callbacks-expected.txt: Added.
  • storage/null-callbacks.html: Added.
14:12 Changeset [54909] by krit@webkit.org
  • 52 edits
    3 adds
    2 deletes in trunk

2010-02-17 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

Move SVGResources to Renderers, starting with Masker
https://bugs.webkit.org/show_bug.cgi?id=35020

We have rendering specific code in WebCore/svg/graphics. The goal is to move
this code into suitable Renderers. This helps us to clean up the code and makes
maintenance easier. It also makes it possible to remove rendering specific code
from SVG*Elements into this renderers. So the Renderer contains everything that
is needed to use the resource.
RenderSVGResource will be the base class for all new resource render classes like
RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.

This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
Another benefit is the much more useful result in DRT on using masker.

  • Android.mk:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
  • rendering/RenderObject.h: (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
  • rendering/RenderPath.cpp:
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
  • rendering/RenderSVGImage.h: Some code clean up according to the webkit style. (WebCore::RenderSVGImage::toSVGRenderBase): (WebCore::RenderSVGImage::renderName): (WebCore::RenderSVGImage::isSVGImage): (WebCore::RenderSVGImage::localToParentTransform): (WebCore::RenderSVGImage::strokeBoundingBox): (WebCore::RenderSVGImage::requiresLayer): (WebCore::RenderSVGImage::localTransform):
  • rendering/RenderSVGInlineText.h: (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGResource.h: Added. (WebCore::): Base class for all Resource renderers like masker, clipper and others. (WebCore::RenderSVGResource::RenderSVGResource): (WebCore::RenderSVGResource::cast): (WebCore::RenderSVGResource::toRenderSVGResource): (WebCore::RenderSVGResource::isSVGResource): (WebCore::RenderSVGResource::drawsContents): (WebCore::getRenderSVGResourceById):
  • rendering/RenderSVGResourceMasker.cpp: Added. (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients. (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client. (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object. (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object. (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
  • rendering/RenderSVGResourceMasker.h: Added. (WebCore::MaskerData::MaskerData): (WebCore::RenderSVGResourceMasker::renderName): (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT. (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT. (WebCore::RenderSVGResourceMasker::resourceType):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::destroy): dito.
  • rendering/RenderSVGText.h:
  • rendering/RenderTreeAsText.cpp: (WebCore::write):
  • rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::prepareToRenderSVGContent): (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer): (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
  • rendering/SVGRenderSupport.h: (WebCore::SVGRenderBase::toSVGRenderBase): (WebCore::SVGRenderBase::strokeBoundingBox): (WebCore::SVGRenderBase::markerBoundingBox):
  • rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly. (WebCore::operator<<): (WebCore::writeSVGResource): (WebCore::writeSVGContainer): (WebCore::writeSVGText): (WebCore::writeSVGInlineText): (WebCore::writeSVGImage): (WebCore::write): (WebCore::writeResourcesToObject):
  • rendering/SVGRenderTreeAsText.h:
  • svg/SVGMaskElement.cpp: Update Masker to use the new renderer. (WebCore::SVGMaskElement::svgAttributeChanged): (WebCore::SVGMaskElement::childrenChanged): (WebCore::SVGMaskElement::maskBoundingBox): (WebCore::SVGMaskElement::createRenderer):
  • svg/SVGMaskElement.h:
  • svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed. (WebCore::SVGStyledElement::invalidateResources): (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
  • svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType. (WebCore::toUnitType):
  • svg/graphics/SVGResource.h: (WebCore::): (WebCore::SVGResource::isMarker):
  • svg/graphics/SVGResourceMasker.cpp: Removed.
  • svg/graphics/SVGResourceMasker.h: Removed.

2010-02-17 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

Move SVGResources to Renderers, starting with Masker
https://bugs.webkit.org/show_bug.cgi?id=35020

With the move from SVGResourceMasker to RenderSVGResourceMasker, I changed
the way DRT dumps resources. DRT is now able to dump multi-access
of resources.
Also the size of a Mask resource (depending of the object) and the access of
the resource (togeter with the resource name) is pointed out as an insertion
under the object.

  • platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/batik/masking/maskRegions-expected.txt:
  • platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
  • platform/mac/svg/css/mask-with-shadow-expected.txt:
  • platform/mac/svg/custom/empty-mask-expected.txt:
  • platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
  • platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-mask-creation-expected.txt:
  • platform/mac/svg/custom/mask-changes-expected.txt:
  • platform/mac/svg/custom/mask-child-changes-expected.txt:
  • platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
  • platform/mac/svg/custom/mask-inside-defs-expected.txt:
  • platform/mac/svg/custom/mask-invalidation-expected.txt:
  • platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
  • platform/mac/svg/custom/mask-with-all-units-expected.txt:
  • platform/mac/svg/custom/mask-with-default-value-expected.txt:
  • platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
  • platform/mac/svg/custom/visibility-override-mask-expected.txt:
  • platform/mac/svg/filters/filter-clip-expected.txt:
  • svg/custom/transformedMaskFails-expected.txt:
13:45 Changeset [54908] by timothy@apple.com
  • 9 edits in trunk/WebKit/mac

Add a way for WebView and its dependancies to be selectively included
in WebKitStatistics leak tracking. By default WebView is not included and
you need to subclass WebView and implement +isIncludedInWebKitStatistics
to be included.

rdar://problem/7567677&7572900
https://webkit.org/b/35045

Reviewed by Adam Roben.

  • WebView/WebDataSource.mm:

(-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
(-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
(-[WebDataSource finalize]): Ditto.

  • WebView/WebFrame.mm:

(-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
(-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
(-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
(-[WebFrame finalize]): Ditto.

  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:

(-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
(-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
know what WebFrame we belong to yet.
(-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
(-[WebFrameView finalize]): Ditto.

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
know what WebFrame we belong to yet.
(-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
(-[WebHTMLRepresentation finalize]): Ditto.
(-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
included in statistics.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView dealloc]):
(+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
Subclasses that care can return YES to be included.

  • WebView/WebViewInternal.h:
13:05 Changeset [54907] by eric@webkit.org
  • 9 edits
    6 adds in trunk

2010-02-17 Kenneth Russell <kbr@google.com>

Reviewed by Oliver Hunt.

Refactor texImage2D and texSubImage2D taking Image to use common code
https://bugs.webkit.org/show_bug.cgi?id=34458

Merged the Safari and Chromium code which extracts the data from
Image objects into common entry points on GraphicsContext3D. This
immediately fixes the following three problems:

  • Chromium not implementing texSubImage2D taking Image.
  • Safari not obeying the flipY parameter to texImage2D or texSubImage2D taking Image.
  • Safari not obeying the premultipyAlpha parameter to texImage2D or texSubImage2D taking Image.

Added new test verifying the behavior of texImage2D and
texSubImage2D and the flipY parameter. The premultiplyAlpha
parameter can not be tested yet as the implementation is not yet
spec compliant. This will be fixed in a follow-on bug.

Ran all WebGL demos in demo repository on Safari and Chromium;
textures are now the right way up in both browsers, and
transparent textures in Particles demo now look correct in Safari.

  • fast/canvas/webgl/resources/red-green.png: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html: Added.

2010-02-17 Kenneth Russell <kbr@google.com>

Reviewed by Oliver Hunt.

Refactor texImage2D and texSubImage2D taking Image to use common code
https://bugs.webkit.org/show_bug.cgi?id=34458

Merged the Safari and Chromium code which extracts the data from
Image objects into common entry points on GraphicsContext3D. This
immediately fixes the following three problems:

  • Chromium not implementing texSubImage2D taking Image.
  • Safari not obeying the flipY parameter to texImage2D or texSubImage2D taking Image.
  • Safari not obeying the premultipyAlpha parameter to texImage2D or texSubImage2D taking Image.

Added new test verifying the behavior of texImage2D and
texSubImage2D and the flipY parameter. The premultiplyAlpha
parameter can not be tested yet as the implementation is not yet
spec compliant. This will be fixed in a follow-on bug.

Ran all WebGL demos in demo repository on Safari and Chromium;
textures are now the right way up in both browsers, and
transparent textures in Particles demo now look correct in Safari.

Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContext3D.cpp: Added. (WebCore::GraphicsContext3D::extractImageData): (WebCore::GraphicsContext3D::processImageData): (WebCore::GraphicsContext3D::premultiplyAlpha): (WebCore::GraphicsContext3D::unmultiplyAlpha):
  • platform/graphics/GraphicsContext3D.h: (WebCore::GraphicsContext3D::):
  • platform/graphics/cg/GraphicsContext3DCG.cpp: Added. (WebCore::GraphicsContext3D::getImageData):
  • platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::texImage2D): (WebCore::GraphicsContext3D::texSubImage2D):
  • platform/graphics/skia/GraphicsContext3DSkia.cpp: Added. (WebCore::GraphicsContext3D::getImageData):

2010-02-17 Kenneth Russell <kbr@google.com>

Reviewed by Oliver Hunt.

Refactor texImage2D and texSubImage2D taking Image to use common code
https://bugs.webkit.org/show_bug.cgi?id=34458

Merged the Safari and Chromium code which extracts the data from
Image objects into common entry points on GraphicsContext3D. This
immediately fixes the following three problems:

  • Chromium not implementing texSubImage2D taking Image.
  • Safari not obeying the flipY parameter to texImage2D or texSubImage2D taking Image.
  • Safari not obeying the premultipyAlpha parameter to texImage2D or texSubImage2D taking Image.

Added new test verifying the behavior of texImage2D and
texSubImage2D and the flipY parameter. The premultiplyAlpha
parameter can not be tested yet as the implementation is not yet
spec compliant. This will be fixed in a follow-on bug.

Ran all WebGL demos in demo repository on Safari and Chromium;
textures are now the right way up in both browsers, and
transparent textures in Particles demo now look correct in Safari.

  • src/GraphicsContext3D.cpp: (WebCore::GraphicsContext3D::texImage2D): (WebCore::GraphicsContext3D::texSubImage2D):
12:08 Changeset [54906] by eric@webkit.org
  • 4 edits in trunk

2010-02-17 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Ariya Hidayat.

[Qt] GraphicsLayer: support perspective and 3D transforms
https://bugs.webkit.org/show_bug.cgi?id=34960

  • WebKit.pri: added appropriate define: ENABLED_3D_RENDERING

2010-02-17 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Ariya Hidayat.

[Qt] GraphicsLayer: support perspective and 3D transforms
https://bugs.webkit.org/show_bug.cgi?id=34960

New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html

  • platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::GraphicsLayerQtImpl::updateTransform): (WebCore::GraphicsLayerQtImpl::setBaseTransform): (WebCore::GraphicsLayerQtImpl::computeTransform): (WebCore::GraphicsLayerQtImpl::flushChanges): (WebCore::TransformAnimationQt::~TransformAnimationQt):
11:51 Changeset [54905] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

Unreviewed, build fix.

Fix crashes due to an omitted line in r54839.

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

(WebCore::decodingFailed):

11:28 Changeset [54904] by eric@webkit.org
  • 4 edits in trunk

2010-02-17 Alok Priyadarshi <alokp@chromium.org>

Reviewed by Ariya Hidayat.

Bug 34900: Implement accelerated compositing for chromium.
https://bugs.webkit.org/show_bug.cgi?id=34900

Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files.
These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag.

  • WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp, and RenderLayerCompositor.cpp from excluded list.

2010-02-17 Alok Priyadarshi <alokp@chromium.org>

Reviewed by Ariya Hidayat.

Bug 34900: Implement accelerated compositing for chromium.
https://bugs.webkit.org/show_bug.cgi?id=34900

  • features.gypi: Added WTF_USE_ACCELERATED_COMPOSITING flag.
11:08 Changeset [54903] by jianli@chromium.org
  • 7 edits in trunk

[chromium] Remove the obsolete chromium interface for handling DownloadURL.
https://bugs.webkit.org/show_bug.cgi?id=34982

Reviewed by Darin Fisher.

WebCore:

  • platform/chromium/ChromiumDataObject.cpp:

(WebCore::ChromiumDataObject::clear):
(WebCore::ChromiumDataObject::hasData):
(WebCore::ChromiumDataObject::ChromiumDataObject):

  • platform/chromium/ChromiumDataObject.h:
  • platform/chromium/ClipboardChromium.cpp:

(WebCore::ClipboardChromium::setData):

WebKit/chromium:

  • public/WebDragData.h:
  • src/WebDragData.cpp:
11:06 Changeset [54902] by eric@webkit.org
  • 5 edits in trunk

2010-02-17 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Ariya Hidayat.

Make possible Qt DRT to get total number of pages to be printed

LayoutTests:

printing/numberOfPages.html

[Qt] DRT: Get total number of pages to be printed
https://bugs.webkit.org/show_bug.cgi?id=34955

  • Api/qwebframe.cpp: (qt_drt_numberOfPages): (qt_drt_evaluateScriptInIsolatedWorld):

2010-02-17 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Ariya Hidayat.

Make possible Qt DRT to get total number of pages to be printed

LayoutTests:

printing/numberOfPages.html

[Qt] DRT: Get total number of pages to be printed
https://bugs.webkit.org/show_bug.cgi?id=34955

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::numberOfPages):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
11:02 Changeset [54901] by mitz@apple.com
  • 2 edits
    1 add in trunk/WebCore

<rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns

Reviewed by Darin Adler.

  • manual-tests/match-marker-rects.html: Added.
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather
than its ancestor block for the local-to-absolute transformation.
(WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.

10:33 Changeset [54900] by xan@webkit.org
  • 5 edits in trunk

WebKit/gtk:

2010-02-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Rename 'enable-java' setting to 'enable-java-applet', since it
only controls whether <applet> is supported or not instead of
whether all Java content is supported or not.

  • webkit/webkitwebsettings.cpp: (webkit_web_settings_class_init): (webkit_web_settings_set_property): (webkit_web_settings_get_property): (webkit_web_settings_copy):
  • webkit/webkitwebview.cpp: (DNDContentsRequest::webkit_web_view_update_settings): (DNDContentsRequest::webkit_web_view_settings_notify):

WebKitTools:

2010-02-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Update to use new property name.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues):
09:49 Changeset [54899] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-02-17 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ariya Hidayat.

Remove some warnings seen when building Qt
https://bugs.webkit.org/show_bug.cgi?id=35017

Using a machine without the needed tools to build WebKit leads to
several errors and warnings.

  • Scripts/webkitdirs.pm: Refactored the code testing the command's presence into a commandExists routine. While doing so removed, stderr output as it usually does not give anything more than our message. Also added a Qt check for qmake that was missing.
07:47 Changeset [54898] by zimmermann@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-17 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Try to turn windows slaves again, by skipping two websocket tests that fail reliable.

  • platform/win/Skipped:
07:17 Changeset [54897] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Typo in test name

07:14 Changeset [54896] by ossy@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Rubber-stamped by Tor Arne Vestbø.

[Qt] Add platform specific expected files for new tests pass in fast/css.

Rendertree results compared to Mac expected files with --ignore-metrics,
pixel results compared to Mac png files.

fast/css/font-face-opentype.html introduced in r54855.
fast/css/inline-element-line-break.html introduced in r54544.
fast/css/pseudo-element-line-break.html introduced in r54544.

  • platform/qt/fast/css/font-face-opentype-expected.txt: Added.
  • platform/qt/fast/css/inline-element-line-break-expected.txt: Added.
  • platform/qt/fast/css/pseudo-element-line-break-expected.txt: Added.
07:09 Changeset [54895] by zimmermann@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-17 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Try to turn SnowLeopard slave green again. Skipping media/video-load-networkState.html - already filed a bug last year.

  • platform/mac-snowleopard/Skipped:
07:05 Changeset [54894] by zimmermann@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-17 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Try to turn Tiger slave green again. Skipping media/video-display-aspect-ratio.html - already skipped on the other mac variants & win.

  • platform/mac-tiger/Skipped:
06:48 Changeset [54893] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Skipping new test that does not pass on Qt.

06:30 Changeset [54892] by kov@webkit.org
  • 5 edits
    3 adds in trunk

2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Does not send an Accept header for subresources, causing some sites to break
https://bugs.webkit.org/show_bug.cgi?id=33242

Set */* as the Accept header when downloading resources
that did not set an Accept header. This behaviour is similar to
the one adopted by Chromium.

Test: http/tests/misc/image-checks-for-accept.html

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::startHttp):
06:24 Changeset [54891] by jorlow@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

Fix a mistake I just committed to the change log.

Note that the last svn commit message should have read like this:

2010-02-17 Marcus Bulach <bulach@chromium.org>

Reviewed by Jeremy Orlow.

Fixes initialization order of members for GeolocationServiceChromium.
https://bugs.webkit.org/show_bug.cgi?id=35034

  • platform/chromium/GeolocationServiceChromium.cpp:
06:20 Changeset [54890] by jorlow@chromium.org
  • 2 edits in trunk/WebCore

2

06:08 Changeset [54889] by xan@webkit.org
  • 2 edits in trunk/WebKitTools

2010-02-17 Xan Lopez <xlopez@igalia.com>

Rubber-stamped by Gustavo Noronha.

Disable Java by default in DRT.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues):
05:46 Changeset [54888] by xan@webkit.org
  • 2 edits in trunk/WebKit/gtk

2010-02-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[Linux] Webkit incompatible with Java plugins
https://bugs.webkit.org/show_bug.cgi?id=24912

Implement FrameLoaderClient::createJavaAppletWidget.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createJavaAppletWidget):
05:46 Changeset [54887] by xan@webkit.org
  • 5 edits in trunk

WebCore:

2010-02-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[Linux] Webkit incompatible with Java plugins
https://bugs.webkit.org/show_bug.cgi?id=24912

Resolve symlinks before trying to load plugins as modules, since
GModule won't do it.

Based on original work by Gustavo Noronha.

  • plugins/gtk/PluginPackageGtk.cpp: (WebCore::PluginPackage::load):

JavaScriptCore:

2010-02-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[Linux] Webkit incompatible with Java plugins
https://bugs.webkit.org/show_bug.cgi?id=24912

Add support for GFile to GOwnPtr.

Based on original work by Gustavo Noronha.

  • wtf/gtk/GOwnPtr.cpp: (WTF::GFile):
  • wtf/gtk/GOwnPtr.h:
05:41 Changeset [54886] by xan@webkit.org
  • 3 edits in trunk/WebKit/gtk

2010-02-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[Linux] Webkit incompatible with Java plugins
https://bugs.webkit.org/show_bug.cgi?id=24912

Add a WebKitWebSetting to enable/disable the Java plugin support.

  • webkit/webkitwebsettings.cpp: (webkit_web_settings_class_init): (webkit_web_settings_set_property): (webkit_web_settings_get_property): (webkit_web_settings_copy):
  • webkit/webkitwebview.cpp: (webkit_web_view_update_settings): (webkit_web_view_settings_notify):
05:39 Changeset [54885] by kov@webkit.org
  • 4 edits in trunk

2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by NOBODY (OOPS!).

Protect the resource loader object from disappearing during
parseDataUrl.

Tested by testdownload API test.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::parseDataUrl):
05:12 Changeset [54884] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Skip a number of new tests

04:00 Changeset [54883] by eric@webkit.org
  • 12 edits
    3 adds in trunk

2010-02-17 Marcus Bulach <bulach@chromium.org>

Reviewed by Jeremy Orlow.

Implements GeolocationServices for Chromium.
https://bugs.webkit.org/show_bug.cgi?id=32068

This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.

  • WebCore.gypi:
  • page/Geolocation.h:
  • platform/GeolocationService.h:
02:49 Changeset [54882] by philn@webkit.org
  • 2 edits in trunk/WebKit/gtk

2010-02-17 Philippe Normand <pnormand@igalia.com>

Reviewed by Xan Lopez.

Missing property warning after r54873
https://bugs.webkit.org/show_bug.cgi?id=35023

Add a new WebKitWebSettings setting, 'enable-file-access-from-file-uris', set to
FALSE by default, that when enabled will assign each file:// URI
their own security domain.

  • webkit/webkitwebsettings.cpp: (webkit_web_settings_class_init): (webkit_web_settings_set_property): (webkit_web_settings_get_property): (webkit_web_settings_copy):
02:21 Changeset [54881] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-02-17 Steve Block <steveblock@google.com>

Reviewed by Ariya Hidayat.

Adds missing platform and feature guards to V8 bindings
https://bugs.webkit.org/show_bug.cgi?id=34987

No new tests, build fix only.

  • bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
  • bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
  • bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards
02:04 Changeset [54880] by eric@webkit.org
  • 7 edits in trunk/WebCore

2010-02-17 Steve Block <steveblock@google.com>

Reviewed by Ariya Hidayat.

Include WebCore's npruntime.h for Android in V8 bindings
https://bugs.webkit.org/show_bug.cgi?id=35002

Currently, the V8 bindings include bindings/npruntime.h, which is a
Chromium-specific file outside of the WebKit tree.

No new tests, build fix only.

  • bindings/v8/NPV8Object.cpp:
  • bindings/v8/NPV8Object.h:
  • bindings/v8/V8NPObject.h:
  • bindings/v8/V8NPUtils.h:
  • bindings/v8/npruntime_impl.h:
  • bindings/v8/npruntime_priv.h:
00:38 Changeset [54879] by mjs@apple.com
  • 1 edit
    7 adds in trunk/WebKitSite

Not reviewed - demo.

Made some examples of using <details> for table descriptions.

  • demos/hover-summary: Added.
  • demos/hover-summary/details.css: Added.
  • demos/hover-summary/details.js: Added.

(summaryClickListener):
():
(window.onload):

  • demos/hover-summary/example1.html: Added.
  • demos/hover-summary/example2.html: Added.
  • demos/hover-summary/horizontal-triangle.png: Added.
  • demos/hover-summary/vertical-triangle.png: Added.
00:37 Changeset [54878] by philn@webkit.org
  • 13 edits in trunk

2010-02-15 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GStreamer] Should handle BUFFERING messages
https://bugs.webkit.org/show_bug.cgi?id=30004

  • configure.ac: Bump gstreamer -core/-plugins-base requirements to 0.10.25 which is the minimum required version for on-disk buffering.

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

Reviewed by Gustavo Noronha Silva.

[GStreamer] Should handle BUFFERING messages
https://bugs.webkit.org/show_bug.cgi?id=30004

Draw the buffering status in the media controls. The timebar is
now 2 pixels shorter so dragging it at same absolute position than
before produces a seek at a new position in the media, this
explains the rebaselining of the controls-drag-timebar test.

  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-drag-timebar-expected.txt:
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.txt: Re-baselined due to 1px left/right border added in controls timeline.

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

Reviewed by Gustavo Noronha Silva.

[GStreamer] Should handle BUFFERING messages
https://bugs.webkit.org/show_bug.cgi?id=30004

Initial support for on-disk buffering of videos. This works only
for Quicktime and flv though.

  • css/mediaControlsGtk.css:
  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the buffering status in the media controls.
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering messages handling to processBufferingStats(). (WebCore::bufferingTimeoutCallback): Closure called periodically during the on-disk buffering process. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance variables and create playbin2 here instead of doing it in load(). (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance variables. (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2 instead of creating the pipeline and setting uri all together. (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new timeout source if the player is starting on-disk buffering. (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called 200ms during on-disk buffering to update the maxTimeLoaded and few other private variables. (WebCore::MediaPlayerPrivate::maxTimeSeekable): (WebCore::MediaPlayerPrivate::maxTimeLoaded): (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations regarding buffering. (WebCore::MediaPlayerPrivate::totalBytes): Improved logging. (WebCore::MediaPlayerPrivate::updateStates): Start playback if it was internally paused at beginning of on-disk buffering and set ready/network states depending on the state of the on-disk buffering process. (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged. (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags property depending on autoBuffer value. (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri there, it is now done in load().
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods and instance variables.
00:17 Changeset [54877] by bweinstein@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp

Build fix by adding a return statement.

00:04 Changeset [54876] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-17 Xan Lopez <xlopez@igalia.com>

Skip tests requiring new results.

  • platform/gtk/Skipped:

02/16/10:

23:56 Changeset [54875] by bweinstein@apple.com
  • 1 edit in trunk/WebKit/win/Interfaces/WebKit.idl

Touch WebKit.idl to fix the build

23:38 Changeset [54874] by cjerdonek@webkit.org
  • 8 edits in trunk/WebKitTools

Some minor check-webkit-style code clean-ups. This revision
contains no new functionality.

Reviewed by Shinichiro Hamaji.

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

  • Scripts/check-webkit-style:
    • Replaced the call to webkit_argument_defaults() with a default parameter in the ArgumentParser constructor.
  • Scripts/webkitpy/style/checker.py:
    • Removed the WEBKIT prefix from the default global variables.
    • Prefixed several of the global variables with an underscore to reflect that they are used internally.
    • Renamed _DEFAULT_FILTER_RULES to _BASE_FILTER_RULES.
    • Addressed a FIXME by changing the _PATH_RULES_SPECIFIER configuration from list-tuple pairs to list-list pairs.
    • Renamed style_categories() to _all_categories().
    • Renamed webkit_argument_defaults() to _check_webkit_style_defaults().
    • Renamed the ArgumentDefaults class to DefaultCommandOptionValues.
    • In the ArgumentParser class--
      • Renamed the doc_print attribute to stderr_write.
      • Other minor updates.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Updated the import statements and unit test classes as necessary.
    • Added assertions to test _PATH_RULES_SPECIFIER more fully.
  • Scripts/webkitpy/style/error_handlers_unittest.py:
    • Updated the unit test classes as necessary.
    • Changed StyleErrorHandlerTestBase to store a list of error messages rather than just the last one.
  • Scripts/webkitpy/style/filter.py:
    • Altered FilterConfiguration._path_rules_from_path() to convert the path_rules list to a tuple.
  • Scripts/webkitpy/style/filter_unittest.py:
    • Updated the unit tests to reflect the change from tuples to lists in the _PATH_RULES_SPECIFIER configuration variable.
23:32 Changeset [54873] by eric@webkit.org
  • 32 edits in trunk

2010-02-16 Chris Evans <cevans@chromium.org>

Reviewed by Adam Barth.

Add a new setting which gives the option of assigning every file:///
to its own unique domain.

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

Test: Pending in forthcoming separate change due to non-trivial
dependencies.

  • dom/Document.cpp: (WebCore::Document::initSecurityContext): Place file:/// URI documents into their own unique domains if the new setting requires it.
  • page/Settings.h:
  • page/Settings.cpp: (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
  • page/SecurityOrigin.h:
  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an origin to be considered unique.
23:12 Changeset [54872] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-02-16 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: drosera/demo.js not syntax highlighted correctly.

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

  • inspector/front-end/SourceTokenizer.js: (WebInspector.SourceTokenizer.Registry): (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
22:56 Changeset [54871] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-02-16 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: prefer smooth scrolling to instant highlight.

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

21:57 Changeset [54870] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix a handful of other leaks seen on the buildbot.

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-02-16
Reviewed by Mark Rowe.

  • runtime/UStringImpl.h:

(JSC::UStringOrRopeImpl::deref): Delegate through to the subclass version of deref to ensure that
the correct cleanup takes place. This function previously featured some code that attempted to
skip deletion of static UStringImpl's. Closer inspection revealed that it was in fact equivalent
to "if (false)", meaning that UStringImpl's which had their final deref performed via this function
were leaked.

21:26 Changeset [54869] by bweinstein@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp

Forgot a .get() because this is an OwnPtr

20:55 Changeset [54868] by bweinstein@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp

Try using m_qtVideoLayer instead of platformLayer() to fix the build

20:21 Changeset [54867] by bweinstein@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp

Build fix when Accelerated Compositing is on

20:06 Changeset [54866] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix a handful of leaks seen on the buildbot.

Reviewed by Gavin Barraclough.

  • runtime/UStringImpl.h:

(JSC::UStringOrRopeImpl::deref): Call URopeImpl::destructNonRecursive rather than delete
to ensure that the rope's fibers are also destroyed.

19:54 Changeset [54865] by eric@webkit.org
  • 3 edits
    6 adds in trunk

2010-02-16 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Nikolas Zimmermann.

SVG not rendered as background-image from data URI
https://bugs.webkit.org/show_bug.cgi?id=33630

  • platform/mac/svg/css/background-image-svg-expected.checksum: Added.
  • platform/mac/svg/css/background-image-svg-expected.png: Added.
  • platform/qt/svg/css/background-image-svg-expected.checksum: Added.
  • platform/qt/svg/css/background-image-svg-expected.png: Added.
  • svg/css/background-image-svg.html: Added.
  • svg/css/background-image-svg-expected.txt: Added.

2010-02-16 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Nikolas Zimmermann.

SVG not rendered as background-image from data URI
https://bugs.webkit.org/show_bug.cgi?id=33630

When the background image is an SVG image, and it is smaller than the area
it is supposed to fill, we were using renderSubTreeToImage to draw it.
That call was not going through all the drawing phases, and so the SVG itself
would not be drawn.

Test: svg/css/background-image-svg.html

  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImageForCurrentFrame):
19:37 Changeset [54864] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-02-16 Bryan Yeung <bryeung@chromium.org>

Reviewed by Nikolas Zimmermann.

Remove the bounds on stroke width and miter for the skia platform.
https://bugs.webkit.org/show_bug.cgi?id=34954

Test: svg/custom/stroke-width-large.svg

  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::setupPaintForStroking):
19:27 Changeset [54863] by zimmermann@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Correct typo in test name in Skipped list. Should turn SL slave green again.

  • platform/mac-snowleopard/Skipped:
19:25 Changeset [54862] by bweinstein@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp

Add a missing semicolon

19:21 Changeset [54861] by eric@webkit.org
  • 5 edits in trunk/WebKit/chromium

2010-02-16 James Hawkins <jhawkins@chromium.org>

Reviewed by Eric Seidel.

[Chromium] Remove calls to releaseRef when passing PassRefPtrs to base
classes. releaseRef releases the original pointer without decreasing
the reference count, and the base class constructor increases the
reference count, leading to a leak.

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

  • src/WebDocument.cpp: (WebKit::WebDocument::WebDocument):
  • src/WebElement.cpp: (WebKit::WebElement::WebElement):
  • src/WebFormElement.cpp: (WebKit::WebFormElement::WebFormElement):
  • src/WebInputElement.cpp: (WebKit::WebInputElement::WebInputElement):
19:10 Changeset [54860] by zimmermann@webkit.org
  • 3 edits in trunk/LayoutTests

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Attempt to fix win slave. Skip same tests failing on SL, add bug references to skipped list.

  • platform/mac-snowleopard/Skipped:
  • platform/win/Skipped:
19:05 Changeset [54859] by eric@webkit.org
  • 3 edits
    4 adds in trunk

2010-02-16 Bryan Yeung <bryeung@chromium.org>

Reviewed by Nikolas Zimmermann.

Add a new layout test for large stroke widths in SVG.
This regression tests a bug in the Skia platform where the width was
limited to 512.

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

  • platform/mac/svg/custom/stroke-width-large-expected.checksum: Added.
  • platform/mac/svg/custom/stroke-width-large-expected.png: Added.
  • platform/mac/svg/custom/stroke-width-large-expected.txt: Added.
  • svg/custom/stroke-width-large.svg: Added.

2010-02-16 Bryan Yeung <bryeung@chromium.org>

Reviewed by Nikolas Zimmermann.

Remove the bounds on stroke width and miter for the skia platform.
https://bugs.webkit.org/show_bug.cgi?id=34954

Test: svg/custom/stroke-width-large.svg

  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::setupPaintForStroking):
18:49 Changeset [54858] by eric@webkit.org
  • 3 edits
    8 adds in trunk

2010-02-16 MORITA Hajime <morrita@gmail.com>

Reviewed by Nikolas Zimmermann.

REGRESSION: SVG text disappaears after double click
https://bugs.webkit.org/show_bug.cgi?id=34880

  • platform/mac/svg/text/selection-doubleclick-expected.checksum: Added.
  • platform/mac/svg/text/selection-doubleclick-expected.png: Added.
  • platform/mac/svg/text/selection-doubleclick-expected.txt: Added.
  • platform/mac/svg/text/selection-tripleclick-expected.checksum: Added.
  • platform/mac/svg/text/selection-tripleclick-expected.png: Added.
  • platform/mac/svg/text/selection-tripleclick-expected.txt: Added.
  • svg/text/selection-doubleclick.svg: Added.
  • svg/text/selection-tripleclick.svg: Added.

2010-02-16 MORITA Hajime <morrita@gmail.com>

Reviewed by Nikolas Zimmermann.

REGRESSION: SVG text disappaears after double click
https://bugs.webkit.org/show_bug.cgi?id=34880

Tests: svg/text/selection-doubleclick.svg

svg/text/selection-tripleclick.svg

  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection): Use InlineTextBox::selectionStartEnd() instead of RenderObject::selectionStartEnd() because latter may span multiple comparing startPos and endPos is irrelevant in some cases. former selectionStartEnd() is for single line and comparing startPos and endPos will make sense.
18:29 Changeset [54857] by ariya@webkit.org
  • 4 edits in trunk/WebKit/qt

2010-02-16 Ariya Hidayat <ariya.hidayat@gmail.com>

Reviewed by Simon Hausmann.

[Qt] Allow scrolling to an anchor programmatically.
https://bugs.webkit.org/show_bug.cgi?id=29856

  • Api/qwebframe.cpp: (QWebFrame::scrollToAnchor): New API function.
  • Api/qwebframe.h:
  • tests/qwebframe/tst_qwebframe.cpp: New tests for scrollToAnchor().
18:25 Changeset [54856] by jberlin@webkit.org
  • 3 edits in trunk/WebCore

Inspector should display Array lengths in the property lists.
https://bugs.webkit.org/show_bug.cgi?id=20695

Reviewed by Timothy Hatcher.

  • inspector/front-end/InjectedScript.js:

(injectedScriptConstructor):
For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object.

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.update):
For properties that have propertyLength defined, append it to the displayed description.

18:16 Changeset [54855] by eric@webkit.org
  • 3 edits
    5 adds in trunk

2010-02-16 Yusuke Sato <yusukes@chromium.org>

Reviewed by Dimitri Glazkov.

[Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
https://bugs.webkit.org/show_bug.cgi?id=34735

  • fast/css/font-face-opentype.html: Added.
  • fast/css/resources/Ahem.otf: Added. Ahem font which has CFF glyphs, converted from Ahem.ttf by FontForge (http://fontforge.sourceforge.net/).
  • platform/mac/fast/css/font-face-opentype-expected.checksum: Added.
  • platform/mac/fast/css/font-face-opentype-expected.png: Added.
  • platform/mac/fast/css/font-face-opentype-expected.txt: Added.

2010-02-16 Yusuke Sato <yusukes@chromium.org>

Reviewed by Dimitri Glazkov.

[Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
https://bugs.webkit.org/show_bug.cgi?id=34735

Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.

Test: fast/css/font-face-opentype.html

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: (WebCore::fillBMPGlyphs):
18:11 Changeset [54854] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2010-02-16 Ariya Hidayat <ariya.hidayat@gmail.com>

Reviewed by Laszlo Gombos.

Fix building with Qt < 4.6.
https://bugs.webkit.org/show_bug.cgi?id=34885

  • Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
17:51 Changeset [54853] by dumi@chromium.org
  • 2 edits in trunk/LayoutTests

Change quota-tracking.html to open databases only as they're
needed. Otherwise, open databases end up using more space from
this origin than the test expects.

Reviewed by Simon Fraser.

  • storage/quota-tracking.html:
17:42 Changeset [54852] by simon.fraser@apple.com
  • 2 edits in trunk/LayoutTests

2010-02-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Nikolas Zimmermann.

Make this test more robust to slow-loading media.

  • media/video-load-networkState.html:
17:33 Changeset [54851] by darin@apple.com
  • 2 edits in trunk/WebCore
  • page/MediaCanStartListener.h: Fixed license.
17:26 Changeset [54850] by zimmermann@webkit.org
  • 2 edits in trunk/LayoutTests

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Rubber-stamped by Simon Fraser.

Skip svg/zoom/(page|text)/zoom-coords-viewattr-01-b.svg on SnowLeopard.
svg/W3C-SVG-1.1/coords-viewattr* fail on SL and are already Skipped, seems related to entity parsing, not SVG.

  • platform/mac-snowleopard/Skipped:
17:23 Changeset [54849] by darin@apple.com
  • 15 edits
    1 add in trunk

2010-02-16 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Generalize delayed plug-in start for background tabs for use for other media
https://bugs.webkit.org/show_bug.cgi?id=34981

  • WebView.cpp: (WebView::setCanStartPlugins): Change to call setCanStartMedia. In a later patch we can change the of the public function in the IDL file too, but for now this should be enough.

2010-02-16 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Generalize delayed plug-in start for background tabs for use for other media
https://bugs.webkit.org/show_bug.cgi?id=34981

  • WebView/WebHTMLView.mm: (-[WebHTMLView viewWillMoveToWindow:]): Added comment. (-[WebHTMLView viewDidMoveToWindow]): Ditto.
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Call setCanStartMedia right away so that if this view is not in a window, it will not start any media. (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving to a window of nil. (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to a window that is non-nil.

2010-02-16 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Generalize delayed plug-in start for background tabs for use for other media
https://bugs.webkit.org/show_bug.cgi?id=34981

Also did some simple cleanup of HTMLMediaElement to get ready to make it
a client of the same mechanism.

  • WebCore.base.exp: Added Page::setCanStartMedia and resorted.
  • WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
  • html/HTMLAudioElement.h: Added an implementation of isVideo since that is now a pure virtual function in HTMLMediaElement. Also made tagPriority private.
  • html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an abstract base class by making its constructor protected and making the isVideo function a pure virtual function.
  • page/Page.cpp: (WebCore::Page::Page): Updated for name change from m_canStartPlugins to m_canStartMedia. (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion. (WebCore::Page::removeUnstartedMedia): Ditto. (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved the code here from PageWin.cpp. The main change from the one in PageWin.cpp is that this function calls mediaCanStart rather than explicitly calling a combination of start and dispatchDidFailToStartPlugin on a PluginView.
  • page/Page.h: Re-sorted forward class declarations. Renamed the plugin starting functions to media starting names and changed types from PluginView to MediaCanStartListener.
  • page/MediaCanStartListener.h: Added.
  • page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent Page.cpp file so it can be used for more than just Windows plug-ins.
  • plugins/PluginView.cpp: Sorted includes. (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener. (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that media can start. Contains the code that used to be in Page::setCanStartPlugins. (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use removeMediaCanStartListener.
  • plugins/PluginView.h: Adopted MediaCanStartListener.
16:50 Changeset [54848] by simon.fraser@apple.com
  • 3 edits
    4 adds in trunk

2010-02-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=34999
Compositing layers inside overflow:scroll divs are not always updated on scrolling

When RenderLayer::scrollToOffset() updates compositing layer positions, it needs
to start updating at its stacking context rather than just its compositing ancestor.
The stacking context is guaranteed to contain all descendants of the overflow
layer, including those that are not direct descendants of the overflow layer in stacking
(and therefore compositing) order.

Test: compositing/overflow/scroll-ancestor-update.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset):
16:25 Changeset [54847] by barraclough@apple.com
  • 2 edits in trunk/WebKitLibraries

Disable warnings preventing use of anonymous structs/onions -
don't take all my fun toys away, these are useful & awesome!

Reviewed by NOBODY (Build fix).

  • win/tools/vsprops/common.vsprops:
16:09 Changeset [54846] by zimmermann@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Rubber-stamped by Dirk Schulze.

Add missing .checksum file in platform/mac/svg/zoom/page. All parts of the original patch for bug 14004 have been landed.

  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.
16:08 Changeset [54845] by mitz@apple.com
  • 2 edits in trunk/WebCore

Allow FloatRect::center() to return fractional coordinates. It was
mistakenly converting to integers.

Reviewed by Simon Fraser.

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::center):

16:05 Changeset [54844] by zimmermann@webkit.org
  • 1 edit
    74 adds in trunk/LayoutTests

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by David Hyatt.

SVG units don't stay consistently sized on zoom
https://bugs.webkit.org/show_bug.cgi?id=14004

  • platform/mac/svg/zoom: Added.
  • platform/mac/svg/zoom/page: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Added.
  • platform/mac/svg/zoom/text: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
  • svg/zoom: Added.
  • svg/zoom/NOTE: Added.
  • svg/zoom/page: Added.
  • svg/zoom/page/absolute-sized-document-no-scrollbars.svg: Added.
  • svg/zoom/page/absolute-sized-document-scrollbars.svg: Added.
  • svg/zoom/page/relative-sized-document-scrollbars.svg: Added.
  • svg/zoom/page/zoom-coords-viewattr-01-b.svg: Added.
  • svg/zoom/page/zoom-foreignObject.svg: Added.
  • svg/zoom/page/zoom-hixie-mixed-008.xml: Added.
  • svg/zoom/page/zoom-hixie-mixed-009.xml: Added.
  • svg/zoom/page/zoom-hixie-rendering-model-004.xhtml: Added.
  • svg/zoom/page/zoom-svg-float-border-padding.xml: Added.
  • svg/zoom/resources: Added.
  • svg/zoom/resources/testPageZoom.js: Added.
  • svg/zoom/resources/testTextZoom.js: Added.
  • svg/zoom/text: Added.
  • svg/zoom/text/absolute-sized-document-no-scrollbars.svg: Added.
  • svg/zoom/text/absolute-sized-document-scrollbars.svg: Added.
  • svg/zoom/text/relative-sized-document-scrollbars.svg: Added.
  • svg/zoom/text/zoom-coords-viewattr-01-b.svg: Added.
  • svg/zoom/text/zoom-foreignObject.svg: Added.
  • svg/zoom/text/zoom-hixie-mixed-008.xml: Added.
  • svg/zoom/text/zoom-hixie-mixed-009.xml: Added.
  • svg/zoom/text/zoom-hixie-rendering-model-004.xhtml: Added.
  • svg/zoom/text/zoom-svg-float-border-padding.xml: Added.
16:01 Changeset [54843] by barraclough@apple.com
  • 16 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=34964
Leaks tool reports false memory leaks due to Rope implementation.

Reviewed by Oliver Hunt.

JavaScriptCore:

A rope is a recursive data structure where each node in the rope holds a set of
pointers, each of which may reference either a string (in UStringImpl form) or
another rope node. A low bit in each pointer is used to distinguish between
rope & string elements, in a fashion similar to the recently-removed
PtrAndFlags class (see https://bugs.webkit.org/show_bug.cgi?id=33731 ). Again,
this causes a problem for Leaks – refactor to remove the magic pointer
mangling.

Move Rope out from JSString.h and rename to URopeImpl, to match UStringImpl.
Give UStringImpl and URopeImpl a common parent class, UStringOrRopeImpl.
Repurpose an otherwise invalid permutation to flags (static & should report
memory cost) to identify ropes.

This allows us to change the rope's fibers to interrogate the object rather
than storing a bool within the low bits of the pointer (or in some cases the
use of a common parent class removes the need to determine the type at all -
there is a common interface to ref or get the length of either ropes or strings).

  • API/JSClassRef.cpp:

(OpaqueJSClass::OpaqueJSClass):
(OpaqueJSClassContextData::OpaqueJSClassContextData):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::keyForCharacterSwitch):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):

  • runtime/Identifier.cpp:

(JSC::Identifier::equal):
(JSC::Identifier::addSlowCase):

  • runtime/JSString.cpp:

(JSC::JSString::resolveRope):

  • runtime/JSString.h:

(JSC::):
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::~JSString):
(JSC::RopeBuilder::appendStringInConstruct):
(JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
(JSC::RopeBuilder::JSStringFinalizerStruct::JSStringFinalizerStruct):
(JSC::RopeBuilder::JSStringFinalizerStruct::):

  • runtime/UString.cpp:

(JSC::UString::toStrictUInt32):
(JSC::equal):

  • runtime/UString.h:

(JSC::UString::isEmpty):
(JSC::UString::size):

  • runtime/UStringImpl.cpp:

(JSC::URopeImpl::derefFibersNonRecursive):
(JSC::URopeImpl::destructNonRecursive):

  • runtime/UStringImpl.h:

(JSC::UStringOrRopeImpl::isRope):
(JSC::UStringOrRopeImpl::length):
(JSC::UStringOrRopeImpl::ref):
(JSC::UStringOrRopeImpl::):
(JSC::UStringOrRopeImpl::operator new):
(JSC::UStringOrRopeImpl::UStringOrRopeImpl):
(JSC::UStringImpl::adopt):
(JSC::UStringImpl::createUninitialized):
(JSC::UStringImpl::tryCreateUninitialized):
(JSC::UStringImpl::data):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::):
(JSC::URopeImpl::tryCreateUninitialized):
(JSC::URopeImpl::initializeFiber):
(JSC::URopeImpl::fiberCount):
(JSC::URopeImpl::fibers):
(JSC::URopeImpl::deref):
(JSC::URopeImpl::URopeImpl):
(JSC::URopeImpl::hasOneRef):
(JSC::UStringOrRopeImpl::deref):

WebCore:

Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
(matches WebCore::StringImpl).

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaStringImpl::length):

  • platform/text/AtomicString.cpp:

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

15:55 Changeset [54842] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] REGRESSION(r54811) fast/canvas/drawImage-with-negative-source-destination.html fails
https://bugs.webkit.org/show_bug.cgi?id=35005

  • platform/qt/Skipped:
    • fast/canvas/drawImage-with-negative-source-destination.html skipped until fix.
    • inspector/timeline-paint.html skipped because it is flakey.
15:49 Changeset [54841] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/7288853> Message about missing plugin does not specify
the type or download link for download

Reviewed by Mark Rowe.

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::findPlugin):
Only update the mimeType out param if we find a plug-in for the file
extension.

15:41 Changeset [54840] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2010-02-16 Simon Fraser <simon.fraser@apple.com>

Build fix for Tiger.

Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::setUpVideoRendering):
15:03 Changeset [54839] by ossy@webkit.org
  • 2 edits in trunk/WebCore

Buildfix for r54826.

Reviewed by Eric Carlson.

HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block,
it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too.

  • rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.

(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

15:02 Changeset [54838] by mrowe@apple.com
  • 6 edits
    75 deletes in trunk

Roll out the rest of r54833 as it includes more unrelated changes.

15:00 Changeset [54837] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Let's not check garbage in to common build scripts and hose the world now eh guys?

  • Scripts/webkitdirs.pm:
14:56 Changeset [54836] by jparent@chromium.org
  • 2 edits in trunk/WebCore

Unreviewed: Chromium build fix.

http://trac.webkit.org/changeset/54823 introduced an unused variable. Remove it.

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::create):

14:53 Changeset [54835] by mrowe@apple.com
  • 9 edits in trunk/WebCore

Bug 34974: Leak of ScheduledAction during layout tests
<https://bugs.webkit.org/show_bug.cgi?id=34974>

Reviewed by Alexey Proskuryakov.

ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
If any of the code paths in between hit an error case and returned early the raw pointer would be leaked. We
can avoid this by passing it as a PassOwnPtr. This will ensure that the ScheduledAction is cleaned up should
an error case be hit.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
as the function argument.
(WebCore::JSDOMWindow::setInterval): Ditto.

  • bindings/js/JSWorkerContextCustom.cpp:

(WebCore::JSWorkerContext::setTimeout): Ditto.
(WebCore::JSWorkerContext::setInterval): Ditto.

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create): Return a PassOwnPtr.

  • bindings/js/ScheduledAction.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer): Update argument type.
(WebCore::DOMTimer::install): Ditto.

  • page/DOMTimer.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::setTimeout): Ditto.
(WebCore::DOMWindow::setInterval): Ditto.

  • page/DOMWindow.h:
14:51 Changeset [54834] by zimmermann@webkit.org
  • 9 edits in trunk/WebCore

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by David Hyatt.

SVG units don't stay consistently sized on zoom
https://bugs.webkit.org/show_bug.cgi?id=14004

Large step towards making WebKit an usable SVG viewer.

Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.

Some new rules regarding zooming:

  • "Zoom text only" should never affect SVG documents, neither text nor content should zoom. This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it. In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
  • "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)

Cover all mentioned cases above by a new set of layout tests.

Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg

svg/zoom/page/absolute-sized-document-scrollbars.svg
svg/zoom/page/relative-sized-document-scrollbars.svg
svg/zoom/page/zoom-coords-viewattr-01-b.svg
svg/zoom/page/zoom-foreignObject.svg
svg/zoom/page/zoom-hixie-mixed-008.xml
svg/zoom/page/zoom-hixie-mixed-009.xml
svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
svg/zoom/page/zoom-svg-float-border-padding.xml
svg/zoom/text/absolute-sized-document-no-scrollbars.svg
svg/zoom/text/absolute-sized-document-scrollbars.svg
svg/zoom/text/relative-sized-document-scrollbars.svg
svg/zoom/text/zoom-coords-viewattr-01-b.svg
svg/zoom/text/zoom-foreignObject.svg
svg/zoom/text/zoom-hixie-mixed-008.xml
svg/zoom/text/zoom-hixie-mixed-009.xml
svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
svg/zoom/text/zoom-svg-float-border-padding.xml

  • css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements. (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes. (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing). (WebCore::CSSStyleSelector::setFontSize): Ditto. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
  • css/CSSStyleSelector.h:
  • css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor. (WebCore::CSSStyleSelector::applySVGProperty):
  • page/Frame.cpp: (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases. (WebCore::Frame::shouldApplyPageZoom): Ditto. (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements. (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight. (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here. (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code. (WebCore::RenderSVGRoot::calcViewport): Simplify code. (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
  • rendering/RenderSVGRoot.h:
  • svg/SVGLength.cpp: (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom. (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
14:46 Changeset [54833] by zimmermann@webkit.org
  • 7 edits
    82 adds in trunk

2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by David Hyatt.

SVG units don't stay consistently sized on zoom
https://bugs.webkit.org/show_bug.cgi?id=14004

  • platform/mac/svg/zoom: Added.
  • platform/mac/svg/zoom/page: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.checksum: Added.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.png: Added.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Added.
  • platform/mac/svg/zoom/text: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.checksum: Added.
  • platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png: Added.
  • platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Added.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.checksum: Added.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.png: Added.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
  • svg/zoom: Added.
  • svg/zoom/NOTE: Added.
  • svg/zoom/page: Added.
  • svg/zoom/page/absolute-sized-document-no-scrollbars.svg: Added.
  • svg/zoom/page/absolute-sized-document-scrollbars.svg: Added.
  • svg/zoom/page/relative-sized-document-scrollbars.svg: Added.
  • svg/zoom/page/zoom-coords-viewattr-01-b.svg: Added.
  • svg/zoom/page/zoom-foreignObject.svg: Added.
  • svg/zoom/page/zoom-hixie-mixed-008.xml: Added.
  • svg/zoom/page/zoom-hixie-mixed-009.xml: Added.
  • svg/zoom/page/zoom-hixie-rendering-model-004.xhtml: Added.
  • svg/zoom/page/zoom-svg-float-border-padding.xml: Added.
  • svg/zoom/resources: Added.
  • svg/zoom/resources/testPageZoom.js: Added.
  • svg/zoom/resources/testTextZoom.js: Added.
  • svg/zoom/text: Added.
  • svg/zoom/text/absolute-sized-document-no-scrollbars.svg: Added.
  • svg/zoom/text/absolute-sized-document-scrollbars.svg: Added.
  • svg/zoom/text/relative-sized-document-scrollbars.svg: Added.
  • svg/zoom/text/zoom-coords-viewattr-01-b.svg: Added.
  • svg/zoom/text/zoom-foreignObject.svg: Added.
  • svg/zoom/text/zoom-hixie-mixed-008.xml: Added.
  • svg/zoom/text/zoom-hixie-mixed-009.xml: Added.
  • svg/zoom/text/zoom-hixie-rendering-model-004.xhtml: Added.
  • svg/zoom/text/zoom-svg-float-border-padding.xml: Added.
14:44 Changeset [54832] by eric.carlson@apple.com
  • 2 edits in trunk/WebKit/mac

2010-02-16 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=34988
WebHTMLView.mm has two -willRemoveSubview: methods

  • WebView/WebHTMLView.mm: (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.
14:30 Changeset [54831] by jparent@chromium.org
  • 2 edits in trunk/WebCore

Unreviewed: Chromium build fix.

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

Move include of JavaScriptProfile.h behind if (USE_JSC).

  • inspector/InspectorController.cpp:
14:21 Changeset [54830] by eric@webkit.org
  • 3 edits
    2 adds in trunk/WebKitTools

2010-02-16 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

re-factor Skipped list parsing code into multiple functions and unit test it
https://bugs.webkit.org/show_bug.cgi?id=34986

  • Scripts/test-webkitpy: Add new unit test.
  • Scripts/webkitpy/layout_tests/init.py: Copied from WebKitTools/QueueStatusServer/filters/init.py.
  • Scripts/webkitpy/layout_tests/port/mac.py: Split parsing function into multiple functions for testing.
  • Scripts/webkitpy/layout_tests/port/mac_unittest.py: Added.
14:16 Changeset [54829] by ap@apple.com
  • 9 edits in trunk

Reviewed by Geoffrey Garen and Kevin Decker.

https://bugs.webkit.org/show_bug.cgi?id=34989
<rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content

This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
in the former case, and adjustCursor in the latter).

  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView handleMouseEntered:]): (-[WebHostedNetscapePluginView handleMouseExited:]):
  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView handleMouseEntered:]): (-[WebBaseNetscapePluginView handleMouseExited:]):
  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView handleMouseEntered:]): (-[WebNetscapePluginView handleMouseExited:]): AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to notify plug-in views of mouse entered/exited as part of DOM event dispatch.
  • WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event handler. Other mouse events are passed down by EventHandler.
14:04 Changeset [54828] by simon.fraser@apple.com
  • 4 edits
    2 adds in trunk/WebCore

2010-02-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Eric Carlson.

With hardware acceleration turned off, video frames never display if poster
image is specified
https://bugs.webkit.org/show_bug.cgi?id=34965

HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
the movie supplied its first video frame, so the poster would continue to show.

Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
each time a new frame is available. updatePosterImage() is cheap.

Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
ugly casts.

Test: manual-tests/media-elements/video-replaces-poster.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check. (WebCore::HTMLMediaElement::setNetworkState): Ditto. (WebCore::HTMLMediaElement::setReadyState): Ditto. (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual method on the base class.
  • html/HTMLVideoElement.h: Override updatePosterImage().
13:55 Changeset [54827] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2010-02-16 Simon Fraser <simon.fraser@apple.com>

Build fix for platforms without ACCELERATED_COMPOSITING defined.

mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::setUpVideoRendering):
13:46 Changeset [54826] by simon.fraser@apple.com
  • 14 edits
    4 adds in trunk

2010-02-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Eric Carlson.

Autoplaying video with poster doesn't reliably show up
https://bugs.webkit.org/show_bug.cgi?id=34966

A timing issue with compositing updates when replacing the poster image
with the video could cause the video to not display.

Fix by making video layer hook up more similar to WebGL etc, by having the
video kick off a recalcStyle() via a SyntheticStyleChange. This requires
vending a PlaformLayer* from the media player, up through the element.

Test: media/video-replaces-poster.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc() to kick off a compositing update.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
  • platform/graphics/MediaPlayer.cpp: (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer. (WebCore::MediaPlayer::platformLayer):
  • platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback to indicate that the rendering mode changed. The element uses this to kick off a recalcStyle.
  • platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly via setContentsToMedia(). (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto. (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the rendering mode changed. (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia() here.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer. (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged() (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
  • rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
  • rendering/RenderVideo.cpp: Ditto.
13:06 Changeset [54825] by kov@webkit.org
  • 15 edits in trunk/WebKit/gtk/po

2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Refreshed all localization-related files, so that they are
up-to-date with the code.

  • de.po: Updated.
  • en_GB.po: Updated.
  • es.po: Updated.
  • it.po: Updated.
  • lt.po: Updated.
  • nl.po: Updated.
  • pt_BR.po: Updated.
  • ru.po: Updated.
  • sr.po: Updated.
  • sr@latin.po: Updated.
  • sv.po: Updated.
  • vi.po: Updated.
  • webkit.pot: Updated.
  • zh_CN.po: Updated.
13:06 Changeset [54824] by kov@webkit.org
  • 1 edit
    1 add in trunk/WebKit/gtk/po

2010-02-16 Gil Osher <gilosher@gmail.com>

Reviewed by Gustavo Noronha.

Localization of WebKitGTK+ in Hebrew.

  • he.po: Added.
12:50 Changeset [54823] by pkasting@chromium.org
  • 19 edits in trunk/WebCore

Code cleanup in ImageDecoders; no functional change.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • Make code mostly comply with the style guide (switch indenting, use of "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
  • Eliminate m_allDataReceived in ICO/BMP decoders since it's in the base ImageDecoder class
  • Remove some useless or wrong comments, add others
  • Wrap comments at 80 columns (most already were) for consistency/readability
  • Avoid casts by using correct variable types
  • Consistent naming of decode() function/args
  • Shorter code in some places
  • Make declaration and definition order match
  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::frameCount):
(WebCore::ImageDecoderQt::frameBufferAtIndex):
(WebCore::ImageDecoderQt::forceLoadEverything):

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::create):
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::setSize):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::RGBA32Buffer::):
(WebCore::ImageDecoder::ImageDecoder):

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::isSizeAvailable):
(WebCore::BMPImageDecoder::frameBufferAtIndex):
(WebCore::BMPImageDecoder::decode):
(WebCore::BMPImageDecoder::decodeHelper):
(WebCore::BMPImageDecoder::processFileHeader):

  • platform/image-decoders/bmp/BMPImageDecoder.h:

(WebCore::BMPImageDecoder::readUint32):

  • platform/image-decoders/bmp/BMPImageReader.cpp:

(WebCore::BMPImageReader::BMPImageReader):
(WebCore::BMPImageReader::decodeBMP):
(WebCore::BMPImageReader::readInfoHeaderSize):
(WebCore::BMPImageReader::processInfoHeader):
(WebCore::BMPImageReader::readInfoHeader):
(WebCore::BMPImageReader::isInfoHeaderValid):
(WebCore::BMPImageReader::processBitmasks):
(WebCore::BMPImageReader::processColorTable):
(WebCore::BMPImageReader::processRLEData):
(WebCore::BMPImageReader::processNonRLEData):

  • platform/image-decoders/bmp/BMPImageReader.h:

(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::pastEndOfImage):
(WebCore::BMPImageReader::readCurrentPixel):
(WebCore::BMPImageReader::getComponent):
(WebCore::BMPImageReader::getAlpha):
(WebCore::BMPImageReader::setI):
(WebCore::BMPImageReader::setRGBA):

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

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::isSizeAvailable):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::frameBufferAtIndex):
(WebCore::GIFImageDecoder::clearFrameBufferCache):
(WebCore::GIFImageDecoder::sizeNowAvailable):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):

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

(WebCore::GIFImageDecoder::):
(WebCore::GIFImageDecoder::filenameExtension):

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

(GIFImageReader::do_lzw):
(GIFImageReader::read):

  • platform/image-decoders/gif/GIFImageReader.h:

(GIFImageReader::~GIFImageReader):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::~ICOImageDecoder):
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::isSizeAvailable):
(WebCore::ICOImageDecoder::frameSizeAtIndex):
(WebCore::ICOImageDecoder::frameCount):
(WebCore::ICOImageDecoder::frameBufferAtIndex):
(WebCore::ICOImageDecoder::compareEntries):
(WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
(WebCore::ICOImageDecoder::decode):
(WebCore::ICOImageDecoder::decodeDirectory):
(WebCore::ICOImageDecoder::decodeAtIndex):
(WebCore::ICOImageDecoder::processDirectoryEntries):
(WebCore::ICOImageDecoder::readDirectoryEntry):

  • platform/image-decoders/ico/ICOImageDecoder.h:

(WebCore::ICOImageDecoder::readUint16):
(WebCore::ICOImageDecoder::readUint32):

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

(WebCore::):
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::skipBytes):
(WebCore::JPEGImageReader::decode):
(WebCore::error_exit):
(WebCore::fill_input_buffer):
(WebCore::term_source):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::setSize):
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
(WebCore::JPEGImageDecoder::jpegComplete):
(WebCore::JPEGImageDecoder::decode):

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

(WebCore::JPEGImageDecoder::filenameExtension):

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

(WebCore::decodingFailed):
(WebCore::decodingWarning):
(WebCore::headerAvailable):
(WebCore::rowAvailable):
(WebCore::pngComplete):
(WebCore::PNGImageReader::PNGImageReader):
(WebCore::PNGImageReader::close):
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageReader::createInterlaceBuffer):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::decode):

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

(WebCore::PNGImageDecoder::filenameExtension):

  • platform/image-decoders/qt/RGBA32BufferQt.cpp:

(WebCore::RGBA32Buffer::setDecodedImage):

06:44 Changeset [54822] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Check if the handle has a SoupMessage before trying to use
it. This will be the case in non-HTTP(S) URLs.

  • webkit/webkitdownload.cpp: (webkit_download_new_with_handle): (webkit_download_start):
05:32 Changeset [54821] by ossy@webkit.org
  • 2 edits in trunk/WebCore

[Qt] Unreviewed buildfix.

  • WebCore.pro: Missing backslash added.
05:17 Changeset [54820] by mnaganov@chromium.org
  • 6 edits
    4 moves in trunk/WebCore

2010-02-16 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Pavel Feldman.

Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.

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

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JavaScriptProfile.cpp: Added. (WebCore::profileCache): (WebCore::getTitleCallback): (WebCore::getHeadCallback): (WebCore::getUniqueIdCallback): (WebCore::focus): (WebCore::exclude): (WebCore::restoreAll): (WebCore::finalize): (WebCore::ProfileClass): (WebCore::toJS):
  • bindings/js/JavaScriptProfile.h: Added.
  • bindings/js/JavaScriptProfileNode.cpp: Added. (WebCore::profileNodeCache): (WebCore::getFunctionName): (WebCore::getURL): (WebCore::getLineNumber): (WebCore::getTotalTime): (WebCore::getSelfTime): (WebCore::getNumberOfCalls): (WebCore::getChildren): (WebCore::getVisible): (WebCore::getCallUID): (WebCore::finalize): (WebCore::ProfileNodeClass): (WebCore::toJS):
  • bindings/js/JavaScriptProfileNode.h: Added.
  • inspector/JavaScriptProfile.cpp: Removed.
  • inspector/JavaScriptProfile.h: Removed.
  • inspector/JavaScriptProfileNode.cpp: Removed.
  • inspector/JavaScriptProfileNode.h: Removed.
05:11 Changeset [54819] by apavlov@chromium.org
  • 7 edits
    2 adds in trunk

2010-02-16 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: Elements Panel: Limit the number of initially loaded element children
https://bugs.webkit.org/show_bug.cgi?id=34421

Test: inspector/elements-panel-limited-children.html

WebCore:

  • English.lproj/localizedStrings.js:
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode.prototype._insertChild):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor): (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): (WebInspector.ElementsTreeElement): (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit): (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit): (WebInspector.ElementsTreeElement.prototype.get expandedChildCount): (WebInspector.ElementsTreeElement.prototype.showChild): (WebInspector.ElementsTreeElement.prototype.insertChildElement): (WebInspector.ElementsTreeElement.prototype.moveChild): (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): (WebInspector.ElementsTreeElement.prototype._updateChildren): (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren): ():
  • inspector/front-end/inspector.css:

LayoutTests:

  • inspector/elements-panel-limited-children-expected.txt: Added.
  • inspector/elements-panel-limited-children.html: Added.
04:54 Changeset [54818] by xan@webkit.org
  • 7 edits in trunk

2010-02-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Bump version to 1.1.22 so we can depend on it in applications.

  • configure.ac:

WebKit/gtk:

2010-02-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Add a new WebKitWebSettings setting, 'auto-resize-window', set to
FALSE by default, that when enabled will apply any resizes or
moves done by a page through various DOM methods (moveTo,
resizeTo, moveBy, resizeBy).

  • WebCoreSupport/ChromeClientGtk.cpp:
  • webkit/webkitwebsettings.cpp: (webkit_web_settings_class_init): (webkit_web_settings_set_property): (webkit_web_settings_get_property): (webkit_web_settings_copy):

WebKitTools:

2010-02-16 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Enable 'auto-resize-window' in our DRT.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues):
03:18 Changeset [54817] by benm@google.com
  • 1 edit
    3 copies
    3 moves in trunk/LayoutTests

Refactor and split up basic-touch-events test
https://bugs.webkit.org/show_bug.cgi?id=34476

Reviewed by Simon Hausmann.

Split the basic-touch-events test into two separate tests, one for single and another for multi touch. Also refactor the tests to run in an asynchronous manner.

  • fast/events/touch/basic-multi-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same multi touch tests cases from the old basic-touch-events test.
  • fast/events/touch/basic-multi-touch-events-expected.txt: Added.
  • fast/events/touch/script-tests/basic-multi-touch-events.js: Added.
  • fast/events/touch/basic-single-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same single touch tests cases from the old basic-touch-events test.
  • fast/events/touch/script-tests/basic-single-touch-events.js: Added.
  • fast/events/touch/basic-single-touch-events-expected.txt: Added.
  • fast/events/touch/basic-touch-events.html: Removed.
  • fast/events/touch/script-tests/basic-touch-events.js: Removed.
  • fast/events/touch/basic-touch-events-expected.txt: Removed.
03:14 Changeset [54816] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

Unreviewed Symbian build fix.

Updated the def file with two new exports used by QtLauncher.

  • symbian/eabi/QtWebKitu.def:
03:10 Changeset [54815] by eric@webkit.org
  • 4 edits in trunk

2010-02-16 Ismail Donmez <ismail@namtrac.org>

Reviewed by Pavel Feldman.

Fix compilation with inspector disabled.
https://bugs.webkit.org/show_bug.cgi?id=32724

  • rendering/RenderLayerBacking.cpp: (WebCore::inspectorTimelineAgent):

2010-02-16 Ismail Donmez <ismail@namtrac.org>

Reviewed by Pavel Feldman.

Fix compilation with inspector disabled.
https://bugs.webkit.org/show_bug.cgi?id=32724

  • Api/qwebpage.cpp: (qt_drt_webinspector_executeScript): (qt_drt_webinspector_close): (qt_drt_webinspector_show): (qt_drt_setTimelineProfilingEnabled):
02:27 Changeset [54814] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

[Qt] Fix include paths for forwarding headers in standalone builds.

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-02-16
Reviewed by Simon Hausman.

  • Api/DerivedSources.pro: Use relative paths for package builds and added some

documentation.

02:25 Changeset [54813] by pfeldman@chromium.org
  • 4 edits in trunk/WebCore

2010-02-16 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: turn off line wrapping in source view.

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

  • inspector/front-end/TextViewer.js: (WebInspector.TextViewer.prototype.markAndRevealRange): (WebInspector.TextViewer.prototype._paintLine):
  • inspector/front-end/textViewer.css:
  • inspector/front-end/utilities.js:
02:08 Changeset [54812] by pfeldman@chromium.org
  • 4 edits in trunk/WebCore

2010-02-16 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: let search iterate over views in Resources
and keep the view in Scripts.

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

  • inspector/front-end/Panel.js: (WebInspector.Panel.prototype.jumpToNextSearchResult): (WebInspector.Panel.prototype.jumpToPreviousSearchResult): (WebInspector.Panel.prototype.showSourceLineForURL): (WebInspector.Panel.prototype.searchIteratesOverViews):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.get _resources): (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.showingLastSearchResult):
  • inspector/front-end/inspector.js: (WebInspector.documentKeyDown): (WebInspector.focusSearchField):
01:17 Changeset [54811] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-02-16 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Ariya Hidayat.

[Qt] canvas clipping is buggy
https://bugs.webkit.org/show_bug.cgi?id=32405

Apparently the bug was in GraphicsContext::roundToDevicePixels, we
didn't take unto accounts rotation, so the device pixels were rounded
incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
it should be rather safe

Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right

  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from GraphicsContextCG
00:48 Changeset [54810] by yurys@chromium.org
  • 2 edits in trunk/WebCore

2010-02-16 Yury Semikhatsky <yurys@chromium.org>

Not Reviewed, build fix.

  • platform/graphics/FloatRect.h: (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler doesn't complain about that.

02/15/10:

23:42 Changeset [54809] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-02-15 Gabor Loki <loki@webkit.org>

Reviewed by Gavin Barraclough.

Fix the SP at ctiOpThrowNotCaught on Thumb2 (JSVALUE32)
https://bugs.webkit.org/show_bug.cgi?id=34939

  • jit/JITStubs.cpp:
22:17 Changeset [54808] by mrobinson@webkit.org
  • 3 edits in trunk/WebKitTools

2010-02-15 Martin Robinson <mrobinson@webkit.org>

Reviewed by Darin Adler.

check-webkit-style should not complain about NULL sentinel in calls to g_strconcat and g_strjoin
https://bugs.webkit.org/show_bug.cgi?id=34834

  • Scripts/webkitpy/style/processors/cpp.py:
  • Scripts/webkitpy/style/processors/cpp_unittest.py:
20:19 Changeset [54807] by mitz@apple.com
  • 8 edits in trunk

WebCore: <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout

Reviewed by Simon Fraser.

Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
a quad’s bounding box, rather than its top left, as the reference point passed to
offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
one column, but most of it is on another column, the single rect we return will be for the
second column.

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::center): Added.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.

LayoutTests: Add test case for <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout

Reviewed by Simon Fraser.

  • fast/multicol/client-rects-expected.checksum:
  • fast/multicol/client-rects-expected.png:
  • fast/multicol/client-rects-expected.txt:
  • fast/multicol/client-rects.html:
18:36 Changeset [54806] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-02-15 MORITA Hajime <morrita@gmail.com>

Reviewed by Nikolas Zimmermann.

SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker

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

No new tests, no change of functionality.

  • rendering/SVGCharacterLayoutInfo.h: (WebCore::SVGTextChunkWalker::SVGTextChunkWalker): Removed setupBackground(), setupFill(), setupFillSelection(), setupStroke(), setupStrokeSelection(), setupForeground() and associated member variables.
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::setupBackground): renamed from chunkSetupBackgroundCallback. (WebCore::SVGRootInlineBoxPaintWalker::setupFill): renamed from chunkSetupFillCallback. (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection): renamed from chunkSetupFillSelectionCallback. (WebCore::SVGRootInlineBoxPaintWalker::setupStroke): renamed from chunkSetupStrokeCallback. (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection): renamed from chunkSetupStrokeSelectionCallback. (WebCore::SVGRootInlineBoxPaintWalker::setupForeground): renamed from chunkSetupForegroundCallback. (WebCore::SVGRootInlineBoxPaintWalker::paintChunk): renamed from chunkPortionCallback. (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): extracted from walkTextChunks. (WebCore::SVGRootInlineBox::paint): follow SVGTextChunkWalker change. (WebCore::SVGRootInlineBox::walkTextChunks): moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().
17:54 Changeset [54805] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by NOBODY (Build Fix!).

17:32 Changeset [54804] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

Some general Rope related refactoring.

Reviewed by Oliver Hunt.

Rename Rope::m_ropeLength to m_fiberCount, to be more descriptive.
Rename Rope::m_stringLength to simply m_length (since this is the
more conventional name for the length of a string). Move append
behaviour out into a new RopeBuilder class, so that Rope no longer
needs any knowledge of the JSString or UString implementation.

Make Rope no longer be nested within JSString.
(Rope now no-longer need reside within JSString.h, but leaving
the change of moving this out to a different header as a separate
change from these renames).

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • runtime/JSString.cpp:

(JSC::Rope::destructNonRecursive):
(JSC::Rope::~Rope):
(JSC::JSString::resolveRope):
(JSC::JSString::toBoolean):
(JSC::JSString::getStringPropertyDescriptor):

  • runtime/JSString.h:

(JSC::Rope::Fiber::Fiber):
(JSC::Rope::Fiber::deref):
(JSC::Rope::Fiber::ref):
(JSC::Rope::Fiber::refAndGetLength):
(JSC::Rope::Fiber::isRope):
(JSC::Rope::Fiber::rope):
(JSC::Rope::Fiber::isString):
(JSC::Rope::Fiber::string):
(JSC::Rope::Fiber::nonFiber):
(JSC::Rope::tryCreateUninitialized):
(JSC::Rope::append):
(JSC::Rope::fiberCount):
(JSC::Rope::length):
(JSC::Rope::fibers):
(JSC::Rope::Rope):
(JSC::Rope::operator new):
(JSC::):
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::~JSString):
(JSC::RopeBuilder::length):
(JSC::RopeBuilder::canGetIndex):
(JSC::RopeBuilder::appendStringInConstruct):
(JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
(JSC::RopeBuilder::isRope):
(JSC::RopeBuilder::fiberCount):
(JSC::JSString::getStringPropertySlot):

  • runtime/Operations.h:

(JSC::jsString):

16:25 Changeset [54803] by jorlow@chromium.org
  • 2 edits in trunk/WebKit/chromium

[Chromium] Fix StorageNamespaceProxy::copy() for test shell
https://bugs.webkit.org/show_bug.cgi?id=34949

Reviewed by Darin Fisher.

Chromium passes back NULL when you call WebStorageNamespace::proxy()
but TestShell returns a valid object. Both need to work via
the WebStorageNamespace.

  • src/StorageNamespaceProxy.cpp:

(WebCore::StorageNamespaceProxy::copy):

16:19 Changeset [54802] by mitz@apple.com
  • 2 edits in trunk/WebCore

Try to fix the Chromium build.

  • rendering/RenderThemeChromiumMac.mm:

(WebCore::RenderThemeChromiumMac::convertToPaintingRect):

15:44 Changeset [54801] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Add missing cast for !YARR (PPC) builds.

Reviewed by NOBODY (Build fix).

  • runtime/RegExp.cpp:

(JSC::RegExp::match):

14:58 Changeset [54800] by bweinstein@apple.com
  • 1 edit in trunk/LayoutTests/platform/win/Skipped

Add newline to end of Windows skipped list

14:57 Changeset [54799] by bweinstein@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Dan Bernstein.

Skipped glyph-reordering on Windows since it has failed since it was landed. Left a comment
in <https://bugs.webkit.org/show_bug.cgi?id=34865> to track the failure.

  • platform/win/Skipped:
14:37 Changeset [54798] by barraclough@apple.com
  • 7 edits
    2 deletes in trunk

https://bugs.webkit.org/show_bug.cgi?id=33731
Many false leaks in release builds due to PtrAndFlags

Reviewed by Darin Adler.

JavaScriptCore:

StructureTransitionTable was effectively a smart pointer type,
one machine word in size and wholly contained as a member of
of Structure. It either pointed to an actual table, or could
be used to describe a single transtion entry without use of a
table.

This, however, worked by using a PtrAndFlags, which is not
compatible with the leaks tool. Since there is no clear way to
obtain another bit for 'free' here, and since there are bits
available up in Structure, merge this functionality back up into
Structure. Having this in a separate class was quite clean
from an enacapsulation perspective, but this solution doesn't
seem to bad - all table access is now intermediated through the
Structure::structureTransitionTableFoo methods, keeping the
optimization fairly well contained.

This was the last use of PtrAndFlags, so removing the file too.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.h:
  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::~Structure):
(JSC::Structure::addPropertyTransitionToExistingStructure):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::hasTransition):

  • runtime/Structure.h:

(JSC::Structure::):
(JSC::Structure::structureTransitionTableContains):
(JSC::Structure::structureTransitionTableGet):
(JSC::Structure::structureTransitionTableHasTransition):
(JSC::Structure::structureTransitionTableRemove):
(JSC::Structure::structureTransitionTableAdd):
(JSC::Structure::structureTransitionTable):
(JSC::Structure::setStructureTransitionTable):
(JSC::Structure::singleTransition):
(JSC::Structure::setSingleTransition):

  • runtime/StructureTransitionTable.h:
  • wtf/PtrAndFlags.h: Removed.

WebCore:

PtrAndFlags has now been removed; remove forwarding header.

  • ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
14:21 Changeset [54797] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip more plugin tests on Snow Leopard buildbot, as they need updated closed source components.

  • platform/mac-snowleopard/Skipped: Skip netscape-dom-access.html and netscape-browser-object-identity.html.
13:48 Changeset [54796] by aroben@apple.com
  • 5 edits in trunk/WebKit/win

Add IWebFramePrivate::visibleContentRect

Fixes <http://webkit.org/b/34956> Add API to get a WebFrame's visible
content rect

Reviewed by Jon Honeycutt.

  • Interfaces/IWebFramePrivate.idl: Added visibleContentRect.
  • Interfaces/WebKit.idl: Touched to force a build.
  • WebFrame.cpp:

(WebFrame::visibleContentRect):

  • WebFrame.h:

Added. Calls through to FrameView::visibleContentRect.

13:43 Changeset [54795] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Rubber Stamped by Geoff Garen.

Bug 34948 - tryMakeString should fail on error in length calculation

Ooops! - "bool overflow" argument should have been "bool& overflow".

  • runtime/UString.h:

(JSC::sumWithOverflow):
(JSC::tryMakeString):

13:41 Changeset [54794] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Some symbol names have changed, remove, will readd if required.

Reviewed by NOBODY (Build Fix (pt 2!)).

13:37 Changeset [54793] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] fast/multicol/client-rects.html fails in QtLauncher
https://bugs.webkit.org/show_bug.cgi?id=34959

  • platform/qt/Skipped: fast/multicol/client-rects.html skipped until fix.
13:24 Changeset [54792] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Some symbol names have changed, remove, will readd if required.

Reviewed by NOBODY (Build Fix (pt 1?)).

13:18 Changeset [54791] by ap@apple.com
  • 3 edits in trunk/WebKit/mac

More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
headers that aren't included in 64-bit).

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains): (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Move inline functions to .cpp; also made the class Noncopyable.
13:09 Changeset [54790] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Removed some mistaken code added in http://trac.webkit.org/changeset/53860.

Reviewed by Oliver Hunt.

  • API/APIShims.h:

(JSC::APICallbackShim::APICallbackShim):
(JSC::APICallbackShim::~APICallbackShim): No need to start/stop the
timeout checker when calling out from the API to the client; we want to
monitor the VM for timeouts, not the client. This mistake was harmless /
undetectable, since it's totally redundant with the APIEntryShim, which
also starts / stops the timeout checker.

13:03 Changeset [54789] by barraclough@apple.com
  • 18 edits in trunk

Bug 34952 - String lengths in UString should be unsigned.
This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.

Reviewed by Geoff Garen.

JavaScriptCore:

  • JavaScriptCore.exp:
  • bytecode/EvalCodeCache.h:
  • runtime/Identifier.cpp:

(JSC::Identifier::equal):

  • runtime/Identifier.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEscape):

  • runtime/JSONObject.cpp:

(JSC::gap):
(JSC::Stringifier::indent):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):

  • runtime/RegExp.cpp:

(JSC::RegExp::match):

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncSplit):
(JSC::trimString):

  • runtime/UString.cpp:

(JSC::UString::UString):
(JSC::UString::from):
(JSC::UString::getCString):
(JSC::UString::ascii):
(JSC::UString::operator[]):
(JSC::UString::toStrictUInt32):
(JSC::UString::find):
(JSC::UString::rfind):
(JSC::UString::substr):
(JSC::operator<):
(JSC::operator>):
(JSC::compare):
(JSC::equal):
(JSC::UString::UTF8String):

  • runtime/UString.h:

(JSC::UString::size):
(JSC::operator==):

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::create):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::create):
(JSC::UStringImpl::size):
(JSC::UStringImpl::computeHash):
(JSC::UStringImpl::UStringImpl):

WebCore:

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::atob):
(WebCore::JSDOMWindow::btoa):

12:59 Changeset [54788] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Bug 34948 - tryMakeString should fail on error in length calculation

Reviewed by Geoff Garen.

The sum of the length of substrings could overflow.

  • runtime/UString.h:

(JSC::sumWithOverflow):
(JSC::tryMakeString):

12:42 Changeset [54787] by ap@apple.com
  • 3 edits in trunk/WebKit/mac

Mac release build fix attempt.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap): Implement destructor in .cpp file, where necessary headers are already included.
12:35 Changeset [54786] by kov@webkit.org
  • 3 edits
    3 adds in trunk

2010-02-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

[GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
https://bugs.webkit.org/show_bug.cgi?id=34944

Set the URL in the newly created response, when parsing data:
URIs.

Test: fast/harness/page-cache-crash-on-data-urls.html

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::parseDataUrl):
12:32 Changeset [54785] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Fixed <rdar://problem/7628524> Crash beneath JSGlobalContextRelease when
typing in Google search field with GuardMalloc/full page heap enabled

Reviewed by Oliver Hunt.

  • API/JSContextRef.cpp: Don't use APIEntryShim, since that requires

a JSGlobalData, which this function destroys. Do use setCurrentIdentifierTable
and JSLock instead, since those are the two features of APIEntryShim we
require.

11:48 Changeset [54784] by mitz@apple.com
  • 15 edits
    4 adds in trunk

<rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
https://bugs.webkit.org/show_bug.cgi?id=34923

Reviewed by Simon Fraser.

WebCore:

Test: fast/multicol/client-rects.html

In column layout, a different transform applies to different points in
the block and its descendants, depending on their y coordinate within the
block. offsetFromContainer() used to return the offset that applied to
the origin. With this change, it returns the offset that applies to a
given reference point. When mapping a quad from local to absolute
coordinates, the top left of the quad’s bounding box is used as that
reference point.

  • editing/SelectionController.cpp:

(WebCore::SelectionController::layout): Pass the caret’s origin as the
reference point to offsetFromContainer().

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustForColumns): Adds the offset between the
given point and its image under the column paint-time transform to the
given offset. Used by offsetFromContainer() where it had previously used
adjustRectForColumns(), which takes a rect and operates less efficiently.

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

(WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
the reference point to offsetFromContainer().
(WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
offsetFromContainer().
(WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
of adjustRectForColumns(), and use the reference point to get the right
adjustment for the point of interest, instead of the origin, in case this
box spans multiple columns.

  • rendering/RenderBox.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
column offset to the computation, which previously this function didn’t
do.
(WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
as the reference point to offsetFromContainer().
(WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
offsetFromContainer().

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
based on the reference point, to the transform if needed.
(WebCore::RenderObject::localToContainerQuad): Initialize the
TransformState with the top left corner of the quad’s bounding box. It
is later used as the reference point when deciding on which column to
base the calculations.
(WebCore::RenderObject::offsetFromContainer): Adjust for columns.
(WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
as the reference point to offsetFromContainer().

  • rendering/RenderObject.h:

(WebCore::RenderObject::adjustForColumns): Added.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::offsetFromContainer): Pass the reference
point through.

  • rendering/RenderTableCell.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
rect to absolute coordinates individually.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
offsetFromContainer().

LayoutTests:

  • fast/multicol/client-rects-expected.checksum: Added.
  • fast/multicol/client-rects-expected.png: Added.
  • fast/multicol/client-rects-expected.txt: Added.
  • fast/multicol/client-rects.html: Added.
11:16 Changeset [54783] by ap@apple.com
  • 13 edits
    3 adds in trunk

Reviewed by Kevin Decker.

<rdar://problem/7130641> Browser objects identity is not preserved by Safari

Test: plugins/netscape-browser-object-identity.html

  • bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback): RootObject can now call out during invalidation, making it possible for other code to know when this happens.
  • bridge/runtime_root.cpp: (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor, in cpp file since it's virtual. (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.
  • bridge/NP_jsobject.cpp: (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map separately, due to supporting per-instance granularity (as opposed to per-RootObject here). (jsDeallocate): Remove the corresponding map entry. (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.
10:35 Changeset [54782] by philn@webkit.org
  • 2 edits in trunk/WebCore

2010-02-15 Philippe Normand <pnormand@igalia.com>

Rubber-stamped by Gustavo Noronha Silva.

Removed redefine of LOG_VERBOSE. This should not have commited in
the first place.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
10:04 Changeset [54781] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

2010-02-15 Patrick Gansterer <paroga@paroga.com>

Reviewed by Laszlo Gombos.

Added additional parameter to create_rvct_stubs
for setting the offset of thunkReturnAddress.
https://bugs.webkit.org/show_bug.cgi?id=34657

  • create_rvct_stubs:
  • jit/JITStubs.cpp:
09:48 Changeset [54780] by pfeldman@chromium.org
  • 4 edits
    2 adds in trunk

2010-02-15 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: incorrect syntax highlighting as HTML in a script tag.
We were preserving initial lexer state upon entering other tags while in <script>
but were not doing it for <script tag itself. As a result, nested script
tags were failing to highlight.

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

  • inspector/front-end/SourceHTMLTokenizer.js: (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
  • inspector/front-end/SourceHTMLTokenizer.re2js:
09:46 Changeset [54779] by eric@webkit.org
  • 3 edits in trunk/WebKit/gtk

2010-02-15 Emilio Pozuelo Monfort <pochu27@gmail.com>

Reviewed by Gustavo Noronha Silva.

[GTK] Fails to build on GNU/Hurd because of PATH_MAX usage
https://bugs.webkit.org/show_bug.cgi?id=34920

Use dynamic allocation instead of fixed PATH_MAX size buffers to
fix the build on GNU/Hurd, where PATH_MAX is undefined.

  • tests/testmimehandling.c: (main):
  • tests/testwebview.c: (main):
09:31 Changeset [54778] by beidson@apple.com
  • 4 edits in trunk/WebCore

Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
messages over to WebCore-style.

Reviewed by Dan Bernstein.

No new tests. (Logging changes only)

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressCompleted):
(WebCore::ProgressTracker::finalProgressComplete):
(WebCore::ProgressTracker::incrementProgress):

  • platform/Logging.cpp:

(WebCore::):
(WebCore::getChannelFromName):

  • platform/Logging.h:
09:10 Changeset [54777] by mnaganov@chromium.org
  • 7 edits
    4 moves in trunk/WebCore

Revert 54776

Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
https://bugs.webkit.org/show_bug.cgi?id=34848

08:59 Changeset [54776] by mnaganov@chromium.org
  • 7 edits
    4 moves in trunk/WebCore

2010-02-15 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Pavel Feldman.

Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.

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

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JavaScriptProfile.cpp: Added. (WebCore::profileCache): (WebCore::getTitleCallback): (WebCore::getHeadCallback): (WebCore::getUniqueIdCallback): (WebCore::focus): (WebCore::exclude): (WebCore::restoreAll): (WebCore::finalize): (WebCore::ProfileClass): (WebCore::toJS):
  • bindings/js/JavaScriptProfile.h: Added.
  • bindings/js/JavaScriptProfileNode.cpp: Added. (WebCore::profileNodeCache): (WebCore::getFunctionName): (WebCore::getURL): (WebCore::getLineNumber): (WebCore::getTotalTime): (WebCore::getSelfTime): (WebCore::getNumberOfCalls): (WebCore::getChildren): (WebCore::getVisible): (WebCore::getCallUID): (WebCore::finalize): (WebCore::ProfileNodeClass): (WebCore::toJS):
  • bindings/js/JavaScriptProfileNode.h: Added.
  • inspector/JavaScriptProfile.cpp: Removed.
  • inspector/JavaScriptProfile.h: Removed.
  • inspector/JavaScriptProfileNode.cpp: Removed.
  • inspector/JavaScriptProfileNode.h: Removed.
07:36 Changeset [54775] by eric@webkit.org
  • 5 edits in trunk

2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Simon Hausmann.

[Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
https://bugs.webkit.org/show_bug.cgi?id=34901

When a signal/slot/property is of type QWebElement, it can seamlessly
connect with JS objects that hold a WebCore element.

New tests, see WebKit/qt/ChangeLog

  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement constructor (JSC::Bindings::QtWebElementRuntime::get): A proxy to QWebElement::element (JSC::Bindings::convertValueToQVariant): handle QWebElement (JSC::Bindings::convertQVariantToValue): handle QWebElement

2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>

Reviewed by Simon Hausmann.

[Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
Add Q_DECLARE_METATYPE to QWebElement, add relevant tests to
tst_qwebframe
https://bugs.webkit.org/show_bug.cgi?id=34901

  • Api/qwebelement.h: declare metatype
  • tests/qwebframe/tst_qwebframe.cpp: (MyQObject::webElementProperty): new test for QWebElement (MyQObject::setWebElementProperty): new test for QWebElement (MyQObject::myOverloadedSlot): new test for QWebElement
05:56 Changeset [54774] by pfeldman@chromium.org
  • 2 edits in trunk/WebCore

2010-02-15 Pavel Feldman <pfeldman@chromium.org>

Not reviewed, Chromium tests fix (force conversion of property names to
strings in Web Inspector's injected script).

  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor):
04:52 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
04:46 HackingGtk edited by joel@jms.id.au
(diff)
04:08 Changeset [54773] by eric@webkit.org
  • 4 edits in trunk/JavaScriptCore

2010-02-15 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

Fix QScriptValue::toIntXX methods.

More ECMA Script compliance.

[Qt] QScriptValue::toIntXX returns incorrect values
https://bugs.webkit.org/show_bug.cgi?id=34847

  • qt/api/qscriptvalue_p.h: (QScriptValuePrivate::toInteger): (QScriptValuePrivate::toInt32): (QScriptValuePrivate::toUInt32): (QScriptValuePrivate::toUInt16):
  • qt/tests/qscriptvalue/tst_qscriptvalue.h:
  • qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: (tst_QScriptValue::toInteger_initData): (tst_QScriptValue::toInteger_makeData): (tst_QScriptValue::toInteger_test): (tst_QScriptValue::toInt32_initData): (tst_QScriptValue::toInt32_makeData): (tst_QScriptValue::toInt32_test): (tst_QScriptValue::toUInt32_initData): (tst_QScriptValue::toUInt32_makeData): (tst_QScriptValue::toUInt32_test): (tst_QScriptValue::toUInt16_initData): (tst_QScriptValue::toUInt16_makeData): (tst_QScriptValue::toUInt16_test):
03:11 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
02:56 Changeset [54772] by eric@webkit.org
  • 10 edits in trunk

2010-02-15 Robert Hogan <robert@roberthogan.net>

Reviewed by Simon Hausmann.

[Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

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

This allows the following tests to pass:

inspector/console-format-collections.html
inspector/styles-iframe.html
inspector/syntax-highlight-css.html
inspector/syntax-highlight-javascript.html
inspector/timeline-enum-stability.html
inspector/timeline-layout.html
inspector/timeline-mark-timeline.html
inspector/timeline-paint.html
inspector/timeline-parse-html.html
inspector/timeline-recalculate-styles.html
inspector/timeline-script-tag-1.html
inspector/timeline-script-tag-2.html
inspector/timeline-trivial.html
inspector/cookie-resource-match.html
inspector/elements-img-tooltip.html
inspector/elements-panel-selection-on-refresh.html
inspector/inspected-objects-not-overriden.html
inspector/timeline-event-dispatch.html
inspector/timeline-network-resource.html
inspector/elements-panel-rewrite-href.html
inspector/console-dir.html
inspector/console-dirxml.html
inspector/console-format.html
inspector/console-tests.html
inspector/elements-panel-structure.html
inspector/evaluate-in-frontend.html
inspector/console-clear.html

  • platform/qt/Skipped:

2010-02-15 Robert Hogan <robert@roberthogan.net>, Jocelyn Turcotte <jocelyn.turcotte@nokia.com>

Reviewed by Simon Hausmann.

[Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

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

This allows the following tests to pass:

inspector/console-format-collections.html
inspector/styles-iframe.html
inspector/syntax-highlight-css.html
inspector/syntax-highlight-javascript.html
inspector/timeline-enum-stability.html
inspector/timeline-layout.html
inspector/timeline-mark-timeline.html
inspector/timeline-paint.html
inspector/timeline-parse-html.html
inspector/timeline-recalculate-styles.html
inspector/timeline-script-tag-1.html
inspector/timeline-script-tag-2.html
inspector/timeline-trivial.html
inspector/cookie-resource-match.html
inspector/elements-img-tooltip.html
inspector/elements-panel-selection-on-refresh.html
inspector/inspected-objects-not-overriden.html
inspector/timeline-event-dispatch.html
inspector/timeline-network-resource.html
inspector/elements-panel-rewrite-href.html
inspector/console-dir.html
inspector/console-dirxml.html
inspector/console-format.html
inspector/console-tests.html
inspector/elements-panel-structure.html
inspector/evaluate-in-frontend.html
inspector/console-clear.html

  • Api/qwebpage.cpp: (qt_drt_webinspector_executeScript): (qt_drt_webinspector_close): (qt_drt_webinspector_show): (qt_drt_setTimelineProfilingEnabled):
  • WebCoreSupport/InspectorClientQt.cpp: (InspectorClientQt::createPage)

2010-02-15 Robert Hogan <robert@roberthogan.net>

Reviewed by Simon Hausmann.

[Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

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

This allows the following tests to pass:

inspector/console-format-collections.html
inspector/styles-iframe.html
inspector/syntax-highlight-css.html
inspector/syntax-highlight-javascript.html
inspector/timeline-enum-stability.html
inspector/timeline-layout.html
inspector/timeline-mark-timeline.html
inspector/timeline-paint.html
inspector/timeline-parse-html.html
inspector/timeline-recalculate-styles.html
inspector/timeline-script-tag-1.html
inspector/timeline-script-tag-2.html
inspector/timeline-trivial.html
inspector/cookie-resource-match.html
inspector/elements-img-tooltip.html
inspector/elements-panel-selection-on-refresh.html
inspector/inspected-objects-not-overriden.html
inspector/timeline-event-dispatch.html
inspector/timeline-network-resource.html
inspector/elements-panel-rewrite-href.html
inspector/console-dir.html
inspector/console-dirxml.html
inspector/console-format.html
inspector/console-tests.html
inspector/elements-panel-structure.html
inspector/evaluate-in-frontend.html
inspector/console-clear.html

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): (WebCore::isWebInspectorTest): (WebCore::DumpRenderTree::open):
  • DumpRenderTree/qt/DumpRenderTreeQt.h: (WebCore::DumpRenderTree::display):
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::closeWebInspector): (LayoutTestController::showWebInspector): (LayoutTestController::evaluateInWebInspector): (LayoutTestController::setTimelineProfilingEnabled): (LayoutTestController::display):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
02:51 Changeset [54771] by pfeldman@chromium.org
  • 2 edits in trunk/WebCore

2010-02-15 Pavel Feldman <pfeldman@chromium.org>

Not reviewed: touch InspectorController in order to kick win bot tests
with new injected script contents.

  • inspector/InspectorController.cpp:
02:44 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
02:34 Changeset [54770] by pfeldman@chromium.org
  • 8 edits in trunk/WebCore

2010-02-14 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: highlight actual search match in elements panel.

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

  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch): (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult): (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
  • inspector/front-end/InjectedScript.js:
  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.findSearchMatches):
  • inspector/front-end/TextViewer.js: (WebInspector.TextViewer.prototype._paintLine):
  • inspector/front-end/textViewer.css:
  • inspector/front-end/utilities.js:
02:22 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
02:20 Changeset [54769] by pfeldman@chromium.org
  • 8 edits in trunk

2010-02-14 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: XPathResult objects are not expanded in console.

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

  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor):
  • inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection.prototype.updateProperties): (WebInspector.ObjectPropertiesSection.CompareProperties): (WebInspector.ObjectPropertyTreeElement.prototype.update):
  • inspector/front-end/Section.js: (WebInspector.Section):
  • inspector/front-end/inspector.css:

Tests:

  • inspector/console-dir-expected.txt:
  • inspector/console-dir.html:
02:20 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
02:14 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
02:07 QtWebKitTableOfFeatures46 edited by henry.haverinen@nokia.com
(diff)
01:51 Changeset [54768] by philn@webkit.org
  • 4 edits in trunk/LayoutTests

2010-02-15 Philippe Normand <pnormand@igalia.com>

media/video-display-aspect-ratio.html fails
https://bugs.webkit.org/show_bug.cgi?id=34933

Skipped the new test that fails.

  • platform/mac-leopard/Skipped:
  • platform/mac-snowleopard/Skipped:
  • platform/win/Skipped:
01:28 Changeset [54767] by antti@apple.com
  • 4 edits in trunk/WebKit/qt

2010-02-12 Antti Koivisto <koivisto@iki.fi>

Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.


https://bugs.webkit.org/show_bug.cgi?id=34885
Add a QGraphicsWebView mode that makes it automatically resize itself to the size of the content.

This is useful for cases where the client wants to implement page panning and zooming by manipulating
the graphics item.


Add a option to QGVLauncher to test this mode.

  • Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate): (QGraphicsWebViewPrivate::updateResizesToContentsForPage): (QGraphicsWebViewPrivate::_q_contentsSizeChanged): (QGraphicsWebView::setPage): (QGraphicsWebView::setResizesToContents): (QGraphicsWebView::resizesToContents):
  • Api/qgraphicswebview.h:
  • QGVLauncher/main.cpp: (WebView::WebView): (MainView::MainView): (MainView::setMainWidget): (MainView::resizeEvent): (main):
00:48 Changeset [54766] by philn@webkit.org
  • 3 edits
    3 adds in trunk

2010-02-10 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha Silva.

[Gtk] wrong video aspect ratio
https://bugs.webkit.org/show_bug.cgi?id=34790

Fixed natural size calculation regarding pixel aspect ratio and
display aspect ratio.

Test: media/video-display-aspect-ratio.html

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::greatestCommonDivisor): (WebCore::MediaPlayerPrivate::naturalSize):

2010-02-12 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha Silva.

[Gtk] wrong video aspect ratio
https://bugs.webkit.org/show_bug.cgi?id=34790

Test checking the size of a 4:3 video with a 16:9 pixel aspect
ratio.

  • media/content/test-par-16-9.mp4: Added.
  • media/video-display-aspect-ratio-expected.txt: Added.
  • media/video-display-aspect-ratio.html: Added.

02/14/10:

22:31 Changeset [54765] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-02-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Adam Barth.

Implement NEVER_INLINE and NO_RETURN for RVCT
https://bugs.webkit.org/show_bug.cgi?id=34740

  • wtf/AlwaysInline.h:
22:05 Changeset [54764] by eric@webkit.org
  • 3 edits
    4 adds in trunk

2010-02-14 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
https://bugs.webkit.org/show_bug.cgi?id=33277

Add a test that _top is covered by @sandbox.

  • http/tests/security/resources/fail.html: Added.
  • http/tests/security/resources/sandboxed-iframe-form-top.html: Added.
  • http/tests/security/sandboxed-iframe-form-top-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-form-top.html: Added.

2010-02-14 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
https://bugs.webkit.org/show_bug.cgi?id=33277

submitForm wasn't respecting shouldAllowNavigation. Instead of calling
the wrapper function, we need to call shouldAllowNavigation because we
need to handle the "frame not found" case differently than the
"navigation denied" case.

Test: http/tests/security/sandboxed-iframe-form-top.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::submitForm):
21:47 Changeset [54763] by eric@webkit.org
  • 4 edits in trunk/WebKit/chromium

2010-02-14 Vangelis Kokkevis <vangelis@chromium.org>

Reviewed by Darin Fisher.

[Chromium] Add support for the showDebugBorders setting to Chromium.

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

  • public/WebSettings.h: Add declaration for setShowDebugBorders
  • src/WebSettingsImpl.cpp: (WebKit::WebSettingsImpl::setShowDebugBorders): Add method implementation
  • src/WebSettingsImpl.h: Added declaration for setShowDebugBorders
21:31 Changeset [54762] by eric@webkit.org
  • 2 edits in trunk/WebKit/gtk

2010-02-14 Diego Escalante Urrelo <descalante@igalia.com>

Reviewed by Gustavo Noronha Silva.

[gtk] WebKitDownload's currentSize property is guint, should be guint64
https://bugs.webkit.org/show_bug.cgi?id=34829

Actually use a guint64 for current-size property in WebKitDownload, we
were using a guint which is likely the cause for wrong sizes for files
over 4 Gb.

  • webkit/webkitdownload.cpp:
21:14 Changeset [54761] by eric@webkit.org
  • 3 edits in trunk/LayoutTests

2010-02-14 Shu Chang <Chang.Shu@nokia.com>

Reviewed by Adam Barth.

[Qt] The original test case failed on Qt because its real output
"A B C DE F" did not match the expected "A B C D E F". The input
field between D and E failed to generate the space in the dumped
text as it normally would if it was broken into a new line.
This DRT issue can be addressed in a seperate bug if necessary
but shrinking the size of font so as to fit all fields into one
line is an immediate fix to pass the test case.
https://bugs.webkit.org/show_bug.cgi?id=33093

  • fast/html/text-field-input-types.html:
  • platform/qt/Skipped:
20:58 Changeset [54760] by eric@webkit.org
  • 10 edits in trunk/WebKitTools

2010-02-14 Dirk Pranke <dpranke@chromium.org>

Reviewed by Eric Seidel.

Update rebaseline-chromium-webkit-tests to work with the new code
structure (port objects instead of path_utils and platform_utils).

Added a path_to_test_expectations_file() to the Port interface.

Fixed a bug in the chromium_* platform implementations where the
'target' option was assumed to be set.

  • Scripts/rebaseline-chromium-webkit-tests:
  • Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
  • Scripts/webkitpy/layout_tests/port/base.py:
  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:
  • Scripts/webkitpy/layout_tests/port/chromium_mac.py:
  • Scripts/webkitpy/layout_tests/port/chromium_win.py:
  • Scripts/webkitpy/layout_tests/port/test.py:
  • Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
20:42 Changeset [54759] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

webkit-build-directory misuses terms
https://bugs.webkit.org/show_bug.cgi?id=34822

  • Scripts/webkit-build-directory:
    • Add --top-level and --configuration options and make using one of them required.
  • Scripts/webkitpy/layout_tests/port/mac.py:
    • Use --top-level instead of --base.
20:08 Changeset [54758] by tkent@chromium.org
  • 5 edits in trunk/WebCore

2010-02-14 Kent Tamura <tkent@chromium.org>

No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.

  • rendering/RenderRuby.cpp: Add a comment for #endf.
  • rendering/RenderRubyBase.cpp: Add a comment for #endf.
  • rendering/RenderRubyRun.cpp: Add a comment for #endf.
  • rendering/RenderRubyText.cpp: Add a comment for #endf.
08:22 Changeset [54757] by laszlo.1.gombos@nokia.com
  • 4 edits in trunk

2010-02-14 Chang Shu <Chang.Shu@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Enable appcache feature.
https://bugs.webkit.org/show_bug.cgi?id=34713

Re-land r54543 without the change in DumpRenderTree/qt/main.cpp.
Persistent storage for AppCache is already initialized in
DumpRenderTreeQt.cpp.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::WebPage):

2010-02-14 Chang Shu <Chang.Shu@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Enable http/tests/appcache but skip the failed cases.
https://bugs.webkit.org/show_bug.cgi?id=34713

  • platform/qt/Skipped:
01:17 Changeset [54756] by pfeldman@chromium.org
  • 3 edits in trunk/WebCore

2010-02-13 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: cache created row, span and text elements
in TextView to improve scroller performance on debug build.

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

Note: See TracTimeline for information about the timeline view.