⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 21, 2011:

11:58 PM Changeset in webkit [87027] by krit@webkit.org
  • 3 edits
    4 adds in trunk

2011-05-21 Dirk Schulze <krit@webkit.org>

Reviewed by Darin Adler.

REGRESSION(r66731): pointer-events are broken in some cases
https://bugs.webkit.org/show_bug.cgi?id=45467

The SVGSVGElement shouldn't be the target of a mouse event, if its pointer-events attribute is set
to 'none'. This matches the behavior on Firefox where an embedded SVG element is the target of an event,
if none of its childs caught the event. This is the case for all pointer-events other than 'none'.

Tests: svg/custom/pointer-events-on-svg-with-pointer.xhtml

svg/custom/pointer-events-on-svg-without-pointer.xhtml

  • rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::nodeAtPoint):

2011-05-21 Dirk Schulze <krit@webkit.org>

Reviewed by Darin Adler.

REGRESSION(r66731): pointer-events are broken in some cases
https://bugs.webkit.org/show_bug.cgi?id=45467

Check that an embedded SVG element doesn't have a pointer, if pointer-events is set to 'none'.

  • svg/custom/pointer-events-on-svg-with-pointer-expected.txt: Added.
  • svg/custom/pointer-events-on-svg-with-pointer.xhtml: Added.
  • svg/custom/pointer-events-on-svg-without-pointer-expected.txt: Added.
  • svg/custom/pointer-events-on-svg-without-pointer.xhtml: Added.
9:44 PM Changeset in webkit [87026] by mitz@apple.com
  • 3 edits
    3 adds in trunk

<rdar://problem/9479926> REGRESSION (r82144): Icon overlaps text in Twitter message dialog
https://bugs.webkit.org/show_bug.cgi?id=61241

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/block/positioning/start-ignoring-before.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Added a boolean parameter saying
whether to merge the first trailing space with the line break.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): When adding a midpoint behind the current
character, account for trailing positioned objects that occurred after the midpoint by calling
updateMidpointsForTrailingBoxes(), which adds midpoints for them.

LayoutTests:

  • fast/block/positioning/start-ignoring-before-expected.png: Added.
  • fast/block/positioning/start-ignoring-before-expected.txt: Added.
  • fast/block/positioning/start-ignoring-before.html: Added.
8:08 PM Changeset in webkit [87025] by jschuh@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-21 Justin Schuh <jschuh@chromium.org>

Unreviewed.

Chromium expectations exception for:
fast/css/custom-font-xheight.html

  • platform/chromium/test_expectations.txt:
5:43 PM Changeset in webkit [87024] by jschuh@chromium.org
  • 3 edits
    6 adds in trunk/LayoutTests

2011-05-21 Justin Schuh <jschuh@chromium.org>

Unreviewed

Chromium expectations updates.

  • platform/chromium-linux/fast/css/box-shadow-and-border-radius-expected.png: Added.
  • platform/chromium-linux/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png: Added.
  • platform/chromium-linux/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
  • platform/chromium-win/fast/box-shadow/border-radius-big-expected.png:
  • platform/chromium-win/fast/css/box-shadow-and-border-radius-expected.png: Added.
  • platform/chromium-win/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png: Added.
  • platform/chromium-win/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
  • platform/chromium/test_expectations.txt:
3:52 PM Changeset in webkit [87023] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

2011-05-21 Nancy Piedra <nancy.piedra@nokia.com>

Reviewed by Andreas Kling.

[Qt][Symbian] WKStringCopyQString function is not exported
https://bugs.webkit.org/show_bug.cgi?id=59285

A few functions were declared twice but without the export macro.
On Symbian, the linking failed when trying to reference these functions.

  • UIProcess/API/qt/qgraphicswkview.h:
3:30 PM Changeset in webkit [87022] by jer.noble@apple.com
  • 6 edits in trunk

2011-05-21 Jeremy Noble <jer.noble@apple.com>

Reviewed by Eric Carlson.

WebKit2: fix failing fullscreen/full-screen-remove* tests.
https://bugs.webkit.org/show_bug.cgi?id=61027

  • platform/mac-wk2/Skipped: Unskip most fullscreen/ tests.

2011-05-21 Jeremy Noble <jer.noble@apple.com>

Reviewed by Eric Carlson.

WebKit2: fix failing fullscreen/full-screen-remove* tests.
https://bugs.webkit.org/show_bug.cgi?id=61027

  • dom/Document.cpp: (WebCore::Document::fullScreenChangeDelayTimerFired): dispatchEvent can be

synchronous, so make sure to check whether the current element is
in the DOM before dispatching.

2011-05-21 Jeremy Noble <jer.noble@apple.com>

Reviewed by Eric Carlson.

WebKit2: fix failing fullscreen/full-screen-remove* tests.
https://bugs.webkit.org/show_bug.cgi?id=61027

  • WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: (WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement): Call the

exit functions (was calling the enter functions).

1:15 PM Changeset in webkit [87021] by jschuh@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-21 Justin Schuh <jschuh@chromium.org>

Unreviewed.

Chromium SVG expectations update.

  • platform/chromium/test_expectations.txt:
12:24 PM Changeset in webkit [87020] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

2011-05-21 Gavin Peters <gavinp@chromium.org>

Reviewed by Adam Barth.

Add rel type prerender to distinguish prerender from prefetch
https://bugs.webkit.org/show_bug.cgi?id=61079

Chrome right now uses <link rel=prefetch ...> for one of two things,
to warm the cache in the same way as firefox, or to launch a speculative
rendering of a web page, for faster "loading" when the user navigates to it.

This new rel type will let us distinguish the two cases; the rel type prerender
isn't used on the web today, but the Google Web Search example prerendering application
is ready to experiment with it.

  • fast/dom/HTMLLinkElement/prerender-expected.txt: Added.
  • fast/dom/HTMLLinkElement/prerender.html: Added.
  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:

2011-05-21 Gavin Peters <gavinp@chromium.org>

Reviewed by Adam Barth.

Add rel type prerender to distinguish prerender from prefetch
https://bugs.webkit.org/show_bug.cgi?id=61079

Chrome right now uses <link rel=prefetch ...> for one of two things,
to warm the cache in the same way as firefox, or to launch a speculative
rendering of a web page, for faster "loading" when the user navigates to it.

This new rel type will let us distinguish the two cases; the rel type prerender
isn't used on the web today, but the Google Web Search example prerendering application
is ready to experiment with it.

Test: fast/dom/HTMLLinkElement/prerender.html

  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::tokenizeRelAttribute): (WebCore::HTMLLinkElement::process):
  • html/HTMLLinkElement.h: (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
  • loader/cache/CachedResource.cpp: (WebCore::defaultPriorityForResourceType):
  • loader/cache/CachedResource.h: (WebCore::CachedResource::isLinkResource):
  • loader/cache/CachedResourceLoader.cpp: (WebCore::createResource): (WebCore::CachedResourceLoader::requestLinkResource): (WebCore::CachedResourceLoader::canRequest):
  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedResourceRequest.cpp: (WebCore::cachedResourceTypeToTargetType): (WebCore::CachedResourceRequest::load):
  • platform/network/ResourceRequestBase.h:
8:30 AM Changeset in webkit [87019] by eae@chromium.org
  • 5 edits in trunk/Source/WebCore

2011-05-21 Emil A Eklund <eae@chromium.org>

Reviewed by Eric Seidel.

Change RenderLineBoxList::hitTest to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=61156

Change the RenderLineBoxList hit testing to use IntPoint and clean up the rect calculation.

Covered by existing tests.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::hitTestContents):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::nodeAtPoint):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::hitTest):
  • rendering/RenderLineBoxList.h:
6:54 AM Changeset in webkit [87018] by eae@chromium.org
  • 10 edits in trunk/Source/WebCore

2011-05-21 Emil A Eklund <eae@chromium.org>

Reviewed by Eric Seidel.

Change HitTestResult to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=61230

Covered by existing tests.

  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/HitTestResult.cpp: (WebCore::HitTestResult::addNodeToRectBasedTestResult):
  • rendering/HitTestResult.h: (WebCore::HitTestResult::isRectBasedTest):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::nodeAtPoint):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::hitTestColumns):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::nodeAtPoint):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::nodeAtPoint):
  • rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::nodeAtPoint):
5:41 AM Changeset in webkit [87017] by tkent@chromium.org
  • 4 edits in trunk/LayoutTests

2011-05-21 Kent Tamura <tkent@chromium.org>

[GTK] [Chromium] Update test results for r87014.
https://bugs.webkit.org/show_bug.cgi?id=54179

  • platform/chromium-win-vista/fast/forms/validation-message-appearance-expected.txt:
  • platform/gtk/fast/forms/input-text-click-outside-expected.txt:
  • platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
4:23 AM Changeset in webkit [87016] by tkent@chromium.org
  • 4 edits in trunk/LayoutTests

2011-05-21 Kent Tamura <tkent@chromium.org>

[Qt] Update test results for r87014.

  • platform/qt/fast/events/context-no-deselect-expected.txt:
  • platform/qt/fast/forms/input-text-double-click-expected.txt:
  • platform/qt/fast/forms/textfield-outline-expected.txt:
4:04 AM Changeset in webkit [87015] by jochen@chromium.org
  • 6 edits
    1 add in trunk/Source

2011-05-21 Jochen Eisinger <jochen@chromium.org>

Reviewed by Darin Fisher.

[chromium] add extraData field to resource requests
https://bugs.webkit.org/show_bug.cgi?id=61033

  • platform/network/chromium/ResourceRequest.h: (WebCore::ResourceRequest::ExtraData::~ExtraData): (WebCore::ResourceRequest::extraData): (WebCore::ResourceRequest::setExtraData):

2011-05-21 Jochen Eisinger <jochen@chromium.org>

Reviewed by Darin Fisher.

[chromium] add extraData field to resource requests
https://bugs.webkit.org/show_bug.cgi?id=61033

  • WebKit.gypi:
  • public/WebURLRequest.h: (WebKit::WebURLRequest::ExtraData::~ExtraData):
  • src/WebURLRequest.cpp: (WebKit::WebURLRequest::extraData): (WebKit::WebURLRequest::setExtraData):
  • tests/WebURLRequestTest.cpp: Added. (WebKit::TestExtraData::TestExtraData): (WebKit::TestExtraData::~TestExtraData): (WebKit::TEST):
3:47 AM Changeset in webkit [87014] by tkent@chromium.org
  • 206 edits in trunk

2011-05-21 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

Change text-based <input> types to the new shadow DOM model
https://bugs.webkit.org/show_bug.cgi?id=54179

Update test results because the shadow tree structure of <input> and
<textarea> is changed.

  • editing/deleting/delete-all-text-in-text-field-assertion-expected.txt:
  • editing/deleting/delete-ligature-001-expected.txt:
  • editing/pasteboard/copy-in-password-field-expected.txt:
  • editing/selection/select-all-textarea-expected.txt:
  • fast/events/5056619-expected.txt:
  • fast/forms/focus-selection-input-expected.txt:
  • fast/forms/focus-selection-textarea-expected.txt:
  • platform/chromium-linux/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/chromium-linux/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/chromium-linux/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/chromium-linux/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/chromium-linux/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/chromium-linux/fast/forms/input-text-double-click-expected.txt:
  • platform/chromium-linux/fast/forms/textfield-outline-expected.txt:
  • platform/chromium-linux/fast/forms/validation-message-appearance-expected.txt:
  • platform/chromium-win/editing/inserting/4960120-1-expected.txt:
  • platform/chromium-win/editing/pasteboard/drop-text-without-selection-expected.txt:
  • platform/chromium-win/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/chromium-win/editing/selection/4895428-3-expected.txt:
  • platform/chromium-win/editing/selection/4975120-expected.txt:
  • platform/chromium-win/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/chromium-win/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/chromium-win/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/chromium-win/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/chromium-win/fast/events/autoscroll-expected.txt:
  • platform/chromium-win/fast/events/context-no-deselect-expected.txt:
  • platform/chromium-win/fast/forms/input-appearance-focus-expected.txt:
  • platform/chromium-win/fast/forms/input-appearance-readonly-expected.txt:
  • platform/chromium-win/fast/forms/input-appearance-selection-expected.txt:
  • platform/chromium-win/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/chromium-win/fast/forms/input-paste-undo-expected.txt:
  • platform/chromium-win/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/chromium-win/fast/forms/input-placeholder-visibility-2-expected.txt:
  • platform/chromium-win/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/chromium-win/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/chromium-win/fast/forms/input-text-click-inside-expected.txt:
  • platform/chromium-win/fast/forms/input-text-double-click-expected.txt:
  • platform/chromium-win/fast/forms/input-text-drag-down-expected.txt:
  • platform/chromium-win/fast/forms/input-text-option-delete-expected.txt:
  • platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/chromium-win/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/chromium-win/fast/forms/plaintext-mode-2-expected.txt:
  • platform/chromium-win/fast/forms/search-rtl-expected.txt:
  • platform/chromium-win/fast/forms/search-zoomed-expected.txt:
  • platform/chromium-win/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/chromium-win/fast/forms/textarea-placeholder-visibility-1-expected.txt:
  • platform/chromium-win/fast/forms/textarea-placeholder-visibility-2-expected.txt:
  • platform/chromium-win/fast/forms/textarea-scrollbar-expected.txt:
  • platform/chromium-win/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/chromium-win/fast/forms/textfield-focus-ring-expected.txt:
  • platform/chromium-win/fast/forms/textfield-outline-expected.txt:
  • platform/chromium-win/fast/forms/textfield-overflow-expected.txt:
  • platform/chromium-win/fast/forms/validation-message-appearance-expected.txt:
  • platform/chromium-win/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/chromium-win/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
  • platform/chromium-win/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/chromium/test_expectations.txt:
  • platform/gtk/editing/inserting/4960120-1-expected.txt:
  • platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt:
  • platform/gtk/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/gtk/editing/selection/4895428-3-expected.txt:
  • platform/gtk/editing/selection/4975120-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/gtk/fast/events/autoscroll-expected.txt:
  • platform/gtk/fast/events/context-no-deselect-expected.txt:
  • platform/gtk/fast/forms/input-appearance-focus-expected.txt:
  • platform/gtk/fast/forms/input-appearance-readonly-expected.txt:
  • platform/gtk/fast/forms/input-appearance-selection-expected.txt:
  • platform/gtk/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/gtk/fast/forms/input-paste-undo-expected.txt:
  • platform/gtk/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/gtk/fast/forms/input-placeholder-visibility-2-expected.txt:
  • platform/gtk/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/gtk/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/gtk/fast/forms/input-text-click-inside-expected.txt:
  • platform/gtk/fast/forms/input-text-double-click-expected.txt:
  • platform/gtk/fast/forms/input-text-drag-down-expected.txt:
  • platform/gtk/fast/forms/input-text-option-delete-expected.txt:
  • platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/gtk/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/gtk/fast/forms/plaintext-mode-2-expected.txt:
  • platform/gtk/fast/forms/search-rtl-expected.txt:
  • platform/gtk/fast/forms/search-transformed-expected.txt:
  • platform/gtk/fast/forms/search-zoomed-expected.txt:
  • platform/gtk/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/gtk/fast/forms/textarea-placeholder-visibility-1-expected.txt:
  • platform/gtk/fast/forms/textarea-placeholder-visibility-2-expected.txt:
  • platform/gtk/fast/forms/textarea-scrollbar-expected.txt:
  • platform/gtk/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/gtk/fast/forms/textfield-focus-ring-expected.txt:
  • platform/gtk/fast/forms/textfield-outline-expected.txt:
  • platform/gtk/fast/forms/textfield-overflow-expected.txt:
  • platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/gtk/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
  • platform/gtk/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/mac-snowleopard/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/mac-snowleopard/fast/forms/input-placeholder-visibility-2-expected.txt:
  • platform/mac-snowleopard/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/mac-wk2/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/mac-wk2/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/mac/editing/inserting/4960120-1-expected.txt:
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/mac/editing/selection/4895428-3-expected.txt:
  • platform/mac/editing/selection/4975120-expected.txt:
  • platform/mac/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/mac/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/mac/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/mac/fast/events/autoscroll-expected.txt:
  • platform/mac/fast/events/context-no-deselect-expected.txt:
  • platform/mac/fast/forms/input-appearance-focus-expected.txt:
  • platform/mac/fast/forms/input-appearance-readonly-expected.txt:
  • platform/mac/fast/forms/input-appearance-selection-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
  • platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/mac/fast/forms/input-paste-undo-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-2-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/mac/fast/forms/input-text-click-inside-expected.txt:
  • platform/mac/fast/forms/input-text-double-click-expected.txt:
  • platform/mac/fast/forms/input-text-drag-down-expected.txt:
  • platform/mac/fast/forms/input-text-option-delete-expected.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/mac/fast/forms/plaintext-mode-2-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/forms/search-transformed-expected.txt:
  • platform/mac/fast/forms/search-zoomed-expected.txt:
  • platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt:
  • platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/mac/fast/forms/textfield-focus-ring-expected.txt:
  • platform/mac/fast/forms/textfield-outline-expected.txt:
  • platform/mac/fast/forms/textfield-overflow-expected.txt:
  • platform/mac/fast/forms/validation-message-appearance-expected.txt:
  • platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
  • platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/qt/editing/inserting/4960120-1-expected.txt:
  • platform/qt/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/qt/editing/selection/4895428-3-expected.txt:
  • platform/qt/editing/selection/4975120-expected.txt:
  • platform/qt/fast/forms/input-appearance-focus-expected.txt:
  • platform/qt/fast/forms/input-appearance-readonly-expected.txt:
  • platform/qt/fast/forms/input-appearance-selection-expected.txt:
  • platform/qt/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/qt/fast/forms/input-paste-undo-expected.txt:
  • platform/qt/fast/forms/input-text-click-inside-expected.txt:
  • platform/qt/fast/forms/input-text-option-delete-expected.txt:
  • platform/qt/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/qt/fast/forms/plaintext-mode-2-expected.txt:
  • platform/qt/fast/forms/search-rtl-expected.txt:
  • platform/qt/fast/forms/search-transformed-expected.txt:
  • platform/qt/fast/forms/search-zoomed-expected.txt:
  • platform/qt/fast/forms/textfield-overflow-expected.txt:
  • platform/qt/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/qt/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/win/editing/inserting/4960120-1-expected.txt:
  • platform/win/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/win/fast/forms/input-text-drag-down-expected.txt:
  • platform/win/fast/forms/textarea-scrollbar-expected.txt:
  • platform/win/fast/forms/textarea-scrolled-type-expected.txt:

2011-05-21 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

Change text-based <input> types to the new shadow DOM model
https://bugs.webkit.org/show_bug.cgi?id=54179

By this change, text field inputs and textareas have one extra
shadow node at the root of shadow trees.
e.g. Before the change:

<textarea> --(shadow-connection)-- <div> -- ...

After the change:

<textarea> --(shadow-connection)-- {#shadow-root} -- <div> -- ...

The goals of this change are

  • Change to the new shadow DOM model, and
  • Minimize the patch size.

We should use shadowPseudoId() in the new shadow DOM model, but the
shadow elements in this patch don't use it in order to reduce the patch
size.

  • css/html.css: (input::-webkit-inner-spin-button): Add vertical-align in order to avoid the button affect the baseline. (input::-webkit-outer-spin-button): ditto. (input::-webkit-input-speech-button): ditto.
  • dom/Element.cpp: (WebCore::Element::recalcStyle): Calls styleForRenderer() so that a subclass of Element can override it. (WebCore::Element::isSpellCheckingEnabled): Handle ShadowRoot, which is not an Element.
  • dom/Node.cpp: Add utility functions for editing code. (WebCore::Node::nonBoundaryShadowTreeRootNode): (WebCore::Node::nonShadowBoundaryParentNode):
  • dom/Node.h: Declare them.
  • dom/Position.cpp:
    • Add some assertions about ShadowRoot
    • Replace parentNode() with nonShadowBoundaryParentNode()

Because input/textarea shadow structures are changed.
(WebCore::Position::Position):
(WebCore::Position::containerNode):
(WebCore::Position::parentAnchoredEquivalent):
(WebCore::Position::previous):
(WebCore::Position::next):
(WebCore::Position::parentEditingBoundary):
(WebCore::Position::atStartOfTree):
(WebCore::Position::atEndOfTree):

  • dom/Position.h: ditto. (WebCore::positionInParentBeforeNode): (WebCore::positionInParentAfterNode):
  • editing/CompositeEditCommand.cpp: ditto. (WebCore::CompositeEditCommand::insertNodeAfter): (WebCore::CompositeEditCommand::removeNode):
  • editing/Editor.cpp: (WebCore::Editor::findString): ditto.
  • editing/FrameSelection.cpp: (WebCore::FrameSelection::selectAll): Inline shadowTreeRootNode() calls.
  • editing/FrameSelection.h: Remove shadowTreeRootNode(). It is used only by FrameSelection::selectAll().
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Use nonShadowBoundaryParentNode()
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::removeNode): ditto. (WebCore::ReplacementFragment::insertNodeBefore): ditto.
  • editing/VisibleSelection.cpp: Rename shadowTreeRootNode() to nonBoundaryShadowTreeRootNode(), and it reutrns a child node of ShadowRoot. (WebCore::VisibleSelection::isAll): (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): (WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
  • editing/VisibleSelection.h: ditto.
  • editing/htmlediting.cpp: Add assertions. (WebCore::visiblePositionBeforeNode): (WebCore::visiblePositionAfterNode):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::create): Calls createShadowSubtree(). (WebCore::HTMLInputElement::createShadowSubtree): Calls InputType::createShadowSubTree(). (WebCore::HTMLInputElement::innerTextElement): Accessor of a shadow node. This is used by RenderTextControlSingleLine. (WebCore::HTMLInputElement::innerBlockElement): ditto. (WebCore::HTMLInputElement::innerSpinButtonElement): ditto. (WebCore::HTMLInputElement::outerSpinButtonElement): ditto. (WebCore::HTMLInputElement::resultsButtonElement): ditto. (WebCore::HTMLInputElement::cancelButtonElement): ditto. (WebCore::HTMLInputElement::speechButtonElement): ditto. (WebCore::HTMLInputElement::parseMappedAttribute): Rebuild shadow trees because x-webkit-speech attribute affects it.
  • html/HTMLInputElement.h: Add declarations.
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::create): Calls createShadowSubtree().
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::create): Calls createShadowSubtree(). (WebCore::HTMLTextAreaElement::createShadowSubtree): Added.
  • html/HTMLTextAreaElement.h: Declare createShadowSubtree().
  • html/InputType.h: Add default implementations of accessors. (WebCore::InputType::innerBlockElement): (WebCore::InputType::innerTextElement): (WebCore::InputType::innerSpinButtonElement): (WebCore::InputType::outerSpinButtonElement): (WebCore::InputType::resultsButtonElement): (WebCore::InputType::cancelButtonElement): (WebCore::InputType::speechButtonElement):
  • html/SearchInputType.cpp: (WebCore::SearchInputType::SearchInputType): Initializes new data members. (WebCore::SearchInputType::createShadowSubtree): Moved from RenderTextControlSingleLine. (WebCore::SearchInputType::destroyShadowSubtree): Clear element references.
  • html/SearchInputType.h: Add declarations. (WebCore::SearchInputType::innerBlockElement): (WebCore::SearchInputType::resultsButtonElement): (WebCore::SearchInputType::cancelButtonElement):
  • html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::TextFieldInputType): Initializes new data members. (WebCore::TextFieldInputType::createShadowSubtree): Moved from RenderTextControlSingleLine. (WebCore::TextFieldInputType::destroyShadowSubtree): Clear element references.
  • html/TextFieldInputType.h: Add declarations. (WebCore::TextFieldInputType::innerTextElement): (WebCore::TextFieldInputType::innerSpinButtonElement): (WebCore::TextFieldInputType::outerSpinButtonElement): (WebCore::TextFieldInputType::speechButtonElement): (WebCore::TextFieldInputType::setInnerTextElement): (WebCore::TextFieldInputType::setSpeechButtonElement):
  • html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::TextControlInnerElement): Remove shadowParent parameter. It is unnecessary because we switch to new shadow model. (WebCore::TextControlInnerElement::create): Change the parameter type to Document. (WebCore::TextControlInnerElement::styleForRenderer): Override this in order to set style by RenderTextControlSingleLine::createInnerBlockStyle(). (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): Remove shadowParent parameter. Inherit HTMLDivElement, not TextControlInnerElement. (WebCore::TextControlInnerTextElement::create): Remove shadowParent parameter. (WebCore::TextControlInnerTextElement::styleForRenderer): Override this in order to set style by RenderTextControlSingleLine::createInnerTextStyle(). (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement): Inherit HTMLDivElement, not TextControlInnerElement. (WebCore::SearchFieldResultsButtonElement::styleForRenderer): Override this in order to set style by RenderTextControlSingleLine::createResultButtonStyle(). (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): Inherit HTMLDivElement, not TextControlInnerElement. (WebCore::SearchFieldCancelButtonElement::styleForRenderer): Override this in order to set style by RenderTextControlSingleLine::createCancelButtonStyle(). (WebCore::SearchFieldCancelButtonElement::detach): Update for the parent class change. (WebCore::SpinButtonElement::SpinButtonElement):
    • Change the parameter type: shadowParent -> Document
    • Add the inner flag
    • Inherit HTMLDivElement, not TextControlInnerElement.

(WebCore::SpinButtonElement::createInner): Introduce a new factory

method to hide a bool parameter of the constructor.

(WebCore::SpinButtonElement::createOuter): ditto.
(WebCore::SpinButtonElement::styleForRenderer):

Override this in order to set style by
RenderTextControlSingleLine::createInnerSpinButtonStyle() or
createOuterSpinButtonStyle().

(WebCore::SpinButtonElement::detach): Update for the parent class change.
(WebCore::SpinButtonElement::setHovered): ditto.
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):

  • Change the parameter type: shadowParent -> Document
  • Inherit HTMLDivElement, not TextControlInnerElement.
  • Do not register this as a speech input listener here.

(WebCore::InputFieldSpeechButtonElement::create):

Update for the parameter change.

(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

Do not handle click event if listener registration is not done.

(WebCore::InputFieldSpeechButtonElement::attach):

Register this as a speech input listener.

(WebCore::InputFieldSpeechButtonElement::detach):

Update for the parent class change.

(WebCore::InputFieldSpeechButtonElement::styleForRenderer):

Override this in order to set style by
RenderTextControlSingleLine::createSpeechButtonStyle().

  • html/shadow/TextControlInnerElements.h: (WebCore::TextControlInnerTextElement::isMouseFocusable): Add this because the class is not a subclass of TextControllInnerElement. (WebCore::SearchFieldResultsButtonElement::isMouseFocusable): ditto. (WebCore::SearchFieldCancelButtonElement::isMouseFocusable): ditto. (WebCore::SpinButtonElement::isMouseFocusable): ditto. (WebCore::InputFieldSpeechButtonElement::isMouseFocusable): ditto.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::~RenderTextControl): Remove unnecessary code. (WebCore::RenderTextControl::styleDidChange): innerTextElement can have no renderer. Explicitly call setNeedsStyleRecals() for innerTextElement. It is needed for LayoutTests/editing/selection/select-across-readonly-input-*.html. (WebCore::RenderTextControl::textBlockWidth): Member data -> function (WebCore::RenderTextControl::updateFromElement): ditto. (WebCore::RenderTextControl::setInnerTextValue): ditto. (WebCore::RenderTextControl::hasVisibleTextArea): ditto. (WebCore::RenderTextControl::isSelectableElement): ditto. (WebCore::RenderTextControl::selection): ditto. (WebCore::RenderTextControl::visiblePositionForIndex): ditto. (WebCore::RenderTextControl::indexForVisiblePosition): ditto. (WebCore::RenderTextControl::text): ditto. (WebCore::RenderTextControl::textWithHardLineBreaks): ditto. (WebCore::RenderTextControl::computeLogicalHeight): ditto. (WebCore::RenderTextControl::hitInnerTextElement): ditto. (WebCore::RenderTextControl::forwardEvent): ditto. (WebCore::RenderTextControl::computePreferredLogicalWidths): ditto.
  • rendering/RenderTextControl.h:
    • Make m_innerText virtual function.
    • Make createInnerTextStyle() public in order that TextControlInnerElements can call it.
  • rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::innerTextElement): Added. (WebCore::RenderTextControlMultiLine::updateFromElement): Remove unnecessary createSubtreeIfNeeded() call.
  • rendering/RenderTextControlMultiLine.h: Add a declaration.
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): Remove unnecessary code. (WebCore::RenderTextControlSingleLine::innerTextElement): Added. (WebCore::RenderTextControlSingleLine::innerBlockElement): Added. (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): Added. (WebCore::RenderTextControlSingleLine::outerSpinButtonElement): Added. (WebCore::RenderTextControlSingleLine::resultsButtonElement): Added. (WebCore::RenderTextControlSingleLine::cancelButtonElement): Added. (WebCore::RenderTextControlSingleLine::speechButtonElement): Added. (WebCore::RenderTextControlSingleLine::textBaseStyle): Data member -> function (WebCore::RenderTextControlSingleLine::subtreeHasChanged): ditto. (WebCore::RenderTextControlSingleLine::layout): ditto. (WebCore::RenderTextControlSingleLine::nodeAtPoint): ditto. (WebCore::RenderTextControlSingleLine::forwardEvent): ditto. (WebCore::RenderTextControlSingleLine::styleDidChange): ditto. (WebCore::RenderTextControlSingleLine::hasControlClip): ditto. (WebCore::RenderTextControlSingleLine::controlClipRect): ditto. (WebCore::RenderTextControlSingleLine::textBlockWidth): ditto. (WebCore::RenderTextControlSingleLine::decorationWidthRight): ditto. (WebCore::RenderTextControlSingleLine::preferredContentWidth): ditto. (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight): ditto. (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): ditto. (WebCore::RenderTextControlSingleLine::updateFromElement): ditto, and remove unnecessary createSubtreeIfNeeded() call. (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Data member -> function (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): ditto. (WebCore::RenderTextControlSingleLine::clientPaddingLeft): ditto. (WebCore::RenderTextControlSingleLine::clientPaddingRight): ditto. (WebCore::RenderTextControlSingleLine::textBlockInsetTop): ditto.
  • rendering/RenderTextControlSingleLine.h: Add declarations, and remove unnecessary data members.
2:42 AM Changeset in webkit [87013] by crogers@google.com
  • 3 edits in trunk/Source/WebCore

2011-05-21 Chris Rogers <crogers@google.com>

Reviewed by Kenneth Russell.

AudioBufferSourceNode noteOff() method must respect scheduling time
https://bugs.webkit.org/show_bug.cgi?id=61226

No new tests since audio API is not yet implemented.

  • webaudio/AudioBufferSourceNode.cpp: (WebCore::AudioBufferSourceNode::AudioBufferSourceNode): (WebCore::AudioBufferSourceNode::process): (WebCore::AudioBufferSourceNode::provideInput): (WebCore::AudioBufferSourceNode::finish): (WebCore::AudioBufferSourceNode::noteGrainOn): (WebCore::AudioBufferSourceNode::noteOff):
  • webaudio/AudioBufferSourceNode.h:
1:47 AM Changeset in webkit [87012] by tkent@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2011-05-21 Kent Tamura <tkent@chromium.org>

[Mac] Add expectation files for box-shadow-and-border-radius.html.

  • platform/mac/fast/css/box-shadow-and-border-radius-expected.png: Added.
  • platform/mac/fast/css/box-shadow-and-border-radius-expected.txt: Added.

May 20, 2011:

11:44 PM Changeset in webkit [87011] by krit@webkit.org
  • 5 edits in trunk/Source/WebCore

2011-05-20 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

Share more code in PathTraversalState
https://bugs.webkit.org/show_bug.cgi?id=61238

Share more code between SVGPathTraversalStateBuilder and Path in PathTraversalState.

No change in functionality, so no new tests.

  • platform/graphics/Path.cpp: (WebCore::pathLengthApplierFunction):
  • platform/graphics/PathTraversalState.cpp: (WebCore::PathTraversalState::processSegment):
  • platform/graphics/PathTraversalState.h:
  • svg/SVGPathTraversalStateBuilder.cpp: (WebCore::SVGPathTraversalStateBuilder::continueConsuming):
11:15 PM Changeset in webkit [87010] by Nikolas Zimmermann
  • 126 edits in trunk/Source/WebCore

2011-05-21 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Rob Buis.

SVG svgAttributeChanged/synchronizeProperty/parseMappedAttribute should be optimized
https://bugs.webkit.org/show_bug.cgi?id=61183

Example: rect.x.baseVal.value = 100;
What happens: SVGRectElement::svgAttributeChanged(const QualifiedName& attrName) is invoked with "SVGNames::rectAttr" as parameter.

void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName)
{

SVGStyledTransformableElement::svgAttributeChanged(attrName);
Handle my own attribute changes...

}

Currently we always traverse the base class hierarchy, when invoking svgAttributeChanged. Every svgAttributeChanged call from a class
like SVGRectElement has to reach the base class SVGStyledElement::svgAttributeChanged, as it handles invalidation of the instances of
an element. Say that a <rect> is referenced by a <use> and we change the 'x' attribute of the <rect>, then SVGStyledElement::svgAttributeChanged,
calls SVGElementInstance::invalidateAllInstancesOfElement(this), so that the <use> can rebuild its shadow tree...
That's the only reason all svgAttributeChanged implementations call the base class immediately, so SVGStyledElement is always reached.

Switch to a more efficient pattern, by providing a "bool isSupportedAttribute(const QualifiedName&);" function for all SVG*Elements.
It contains all attributes the particular SVG*Element class handles (but not its parent classes attributes). For example SVGRectElement
contains x/y/width/height/rx/ry attributes, and the ones from SVGTests/SVGLangSpace/SVGExternalResourcesRequired (xml:space/lang, etc.),
but not eg. transform as that's handled by the parent class SVGStyledTransformableElement.

void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName)
{

if (!isSupportedAttribute.contains(attrName)) {

SVGStyledTransformableElement::svgAttributeChanged(attrName);
return;

}

When we get here, we know for sure it's one of our attributes that has changed.
Note for eg. SVGNames::transformAttr, the call from SVGRectElement::svgAttributeChanged, would be immediately forwarded to the base class, which handles transformAttr changes)

if (attrName == SVGNames::xAttr) { do_work(); return; }
if (attrName == SVGNames::yAttr) { do_work(); return; }
...
Assure that we handled all properties we claim support for in "isSupportedAttribute()".
ASSERT_NOT_REACHED();

}

Exactly the same pattern can be applied to synchronizeProperty and parseMappedAttribute to speed them up as well.

Add "SVGElementInstance::InvalidationGuard guard(this)" statements in all svgAttributeChanged implementations, that calls invalidateAllInstancesOfElement(this)
upon destruction, after we've reacted to the svg attribute change. This assures we never forget to call the invalidation method anywhere, and don't
need to rely on the base class svgAttributeChanged() call to do it.


It's a slight overal performance progression.

  • svg/SVGAElement.cpp: (WebCore::SVGAElement::isSupportedAttribute): (WebCore::SVGAElement::parseMappedAttribute): (WebCore::SVGAElement::svgAttributeChanged): (WebCore::SVGAElement::synchronizeProperty):
  • svg/SVGAElement.h:
  • svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::isSupportedAttribute): (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
  • svg/SVGAnimateMotionElement.h:
  • svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::isSupportedAttribute): (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
  • svg/SVGAnimateTransformElement.h:
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::isSupportedAttribute): (WebCore::SVGAnimationElement::parseMappedAttribute):
  • svg/SVGAnimationElement.h:
  • svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::isSupportedAttribute): (WebCore::SVGCircleElement::parseMappedAttribute): (WebCore::SVGCircleElement::svgAttributeChanged): (WebCore::SVGCircleElement::synchronizeProperty):
  • svg/SVGCircleElement.h:
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::isSupportedAttribute): (WebCore::SVGClipPathElement::parseMappedAttribute): (WebCore::SVGClipPathElement::svgAttributeChanged): (WebCore::SVGClipPathElement::synchronizeProperty):
  • svg/SVGClipPathElement.h:
  • svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute): (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty):
  • svg/SVGComponentTransferFunctionElement.h:
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::isSupportedAttribute): (WebCore::SVGCursorElement::parseMappedAttribute): (WebCore::SVGCursorElement::svgAttributeChanged): (WebCore::SVGCursorElement::synchronizeProperty):
  • svg/SVGCursorElement.h:
  • svg/SVGElementInstance.h: (WebCore::SVGElementInstance::InvalidationGuard::InvalidationGuard): (WebCore::SVGElementInstance::InvalidationGuard::~InvalidationGuard):
  • svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::isSupportedAttribute): (WebCore::SVGEllipseElement::parseMappedAttribute): (WebCore::SVGEllipseElement::svgAttributeChanged): (WebCore::SVGEllipseElement::synchronizeProperty):
  • svg/SVGEllipseElement.h:
  • svg/SVGExternalResourcesRequired.cpp: (WebCore::SVGExternalResourcesRequired::addSupportedAttributes):
  • svg/SVGExternalResourcesRequired.h:
  • svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::isSupportedAttribute): (WebCore::SVGFEBlendElement::parseMappedAttribute): (WebCore::SVGFEBlendElement::svgAttributeChanged): (WebCore::SVGFEBlendElement::synchronizeProperty):
  • svg/SVGFEBlendElement.h:
  • svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::isSupportedAttribute): (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): (WebCore::SVGFEColorMatrixElement::svgAttributeChanged): (WebCore::SVGFEColorMatrixElement::synchronizeProperty):
  • svg/SVGFEColorMatrixElement.h:
  • svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::isSupportedAttribute): (WebCore::SVGFEComponentTransferElement::parseMappedAttribute): (WebCore::SVGFEComponentTransferElement::synchronizeProperty):
  • svg/SVGFEComponentTransferElement.h:
  • svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::isSupportedAttribute): (WebCore::SVGFECompositeElement::parseMappedAttribute): (WebCore::SVGFECompositeElement::svgAttributeChanged): (WebCore::SVGFECompositeElement::synchronizeProperty):
  • svg/SVGFECompositeElement.h:
  • svg/SVGFEConvolveMatrixElement.cpp: (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute): (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): (WebCore::SVGFEConvolveMatrixElement::synchronizeProperty):
  • svg/SVGFEConvolveMatrixElement.h:
  • svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute): (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty):
  • svg/SVGFEDiffuseLightingElement.h:
  • svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute): (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute): (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): (WebCore::SVGFEDisplacementMapElement::synchronizeProperty):
  • svg/SVGFEDisplacementMapElement.h:
  • svg/SVGFEDropShadowElement.cpp: (WebCore::SVGFEDropShadowElement::isSupportedAttribute): (WebCore::SVGFEDropShadowElement::parseMappedAttribute): (WebCore::SVGFEDropShadowElement::svgAttributeChanged): (WebCore::SVGFEDropShadowElement::synchronizeProperty):
  • svg/SVGFEDropShadowElement.h:
  • svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute): (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute): (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged): (WebCore::SVGFEGaussianBlurElement::synchronizeProperty):
  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::isSupportedAttribute): (WebCore::SVGFEImageElement::parseMappedAttribute): (WebCore::SVGFEImageElement::svgAttributeChanged): (WebCore::SVGFEImageElement::synchronizeProperty):
  • svg/SVGFEImageElement.h:
  • svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::isSupportedAttribute): (WebCore::SVGFELightElement::parseMappedAttribute): (WebCore::SVGFELightElement::svgAttributeChanged): (WebCore::SVGFELightElement::synchronizeProperty):
  • svg/SVGFELightElement.h:
  • svg/SVGFEMergeNodeElement.cpp: (WebCore::SVGFEMergeNodeElement::isSupportedAttribute): (WebCore::SVGFEMergeNodeElement::parseMappedAttribute): (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): (WebCore::SVGFEMergeNodeElement::synchronizeProperty):
  • svg/SVGFEMergeNodeElement.h:
  • svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::isSupportedAttribute): (WebCore::SVGFEMorphologyElement::parseMappedAttribute): (WebCore::SVGFEMorphologyElement::svgAttributeChanged): (WebCore::SVGFEMorphologyElement::synchronizeProperty):
  • svg/SVGFEMorphologyElement.h:
  • svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::isSupportedAttribute): (WebCore::SVGFEOffsetElement::parseMappedAttribute): (WebCore::SVGFEOffsetElement::svgAttributeChanged): (WebCore::SVGFEOffsetElement::synchronizeProperty):
  • svg/SVGFEOffsetElement.h:
  • svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::isSupportedAttribute): (WebCore::SVGFESpecularLightingElement::parseMappedAttribute): (WebCore::SVGFESpecularLightingElement::svgAttributeChanged): (WebCore::SVGFESpecularLightingElement::synchronizeProperty):
  • svg/SVGFESpecularLightingElement.h:
  • svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::isSupportedAttribute): (WebCore::SVGFETileElement::parseMappedAttribute): (WebCore::SVGFETileElement::svgAttributeChanged): (WebCore::SVGFETileElement::synchronizeProperty):
  • svg/SVGFETileElement.h:
  • svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::isSupportedAttribute): (WebCore::SVGFETurbulenceElement::parseMappedAttribute): (WebCore::SVGFETurbulenceElement::svgAttributeChanged): (WebCore::SVGFETurbulenceElement::synchronizeProperty):
  • svg/SVGFETurbulenceElement.h:
  • svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::isSupportedAttribute): (WebCore::SVGFilterElement::parseMappedAttribute): (WebCore::SVGFilterElement::svgAttributeChanged): (WebCore::SVGFilterElement::synchronizeProperty):
  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute): (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute): (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty):
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::parseMappedAttribute): (WebCore::SVGFitToViewBox::synchronizeProperties): (WebCore::SVGFitToViewBox::addSupportedAttributes):
  • svg/SVGFitToViewBox.h:
  • svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::isSupportedAttribute): (WebCore::SVGForeignObjectElement::parseMappedAttribute): (WebCore::SVGForeignObjectElement::svgAttributeChanged): (WebCore::SVGForeignObjectElement::synchronizeProperty):
  • svg/SVGForeignObjectElement.h:
  • svg/SVGGElement.cpp: (WebCore::SVGGElement::isSupportedAttribute): (WebCore::SVGGElement::parseMappedAttribute): (WebCore::SVGGElement::svgAttributeChanged): (WebCore::SVGGElement::synchronizeProperty):
  • svg/SVGGElement.h:
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::isSupportedAttribute): (WebCore::SVGGradientElement::parseMappedAttribute): (WebCore::SVGGradientElement::svgAttributeChanged): (WebCore::SVGGradientElement::synchronizeProperty):
  • svg/SVGGradientElement.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::isSupportedAttribute): (WebCore::SVGImageElement::parseMappedAttribute): (WebCore::SVGImageElement::svgAttributeChanged): (WebCore::SVGImageElement::synchronizeProperty):
  • svg/SVGImageElement.h:
  • svg/SVGLangSpace.cpp: (WebCore::SVGLangSpace::addSupportedAttributes):
  • svg/SVGLangSpace.h:
  • svg/SVGLineElement.cpp: (WebCore::SVGLineElement::isSupportedAttribute): (WebCore::SVGLineElement::parseMappedAttribute): (WebCore::SVGLineElement::svgAttributeChanged): (WebCore::SVGLineElement::synchronizeProperty):
  • svg/SVGLineElement.h:
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::isSupportedAttribute): (WebCore::SVGLinearGradientElement::parseMappedAttribute): (WebCore::SVGLinearGradientElement::svgAttributeChanged): (WebCore::SVGLinearGradientElement::synchronizeProperty):
  • svg/SVGLinearGradientElement.h:
  • svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::isSupportedAttribute): (WebCore::SVGMPathElement::parseMappedAttribute): (WebCore::SVGMPathElement::synchronizeProperty):
  • svg/SVGMPathElement.h:
  • svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::isSupportedAttribute): (WebCore::SVGMarkerElement::parseMappedAttribute): (WebCore::SVGMarkerElement::svgAttributeChanged): (WebCore::SVGMarkerElement::synchronizeProperty):
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::isSupportedAttribute): (WebCore::SVGMaskElement::parseMappedAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): (WebCore::SVGMaskElement::synchronizeProperty):
  • svg/SVGMaskElement.h:
  • svg/SVGPathElement.cpp: (WebCore::SVGPathElement::isSupportedAttribute): (WebCore::SVGPathElement::parseMappedAttribute): (WebCore::SVGPathElement::svgAttributeChanged): (WebCore::SVGPathElement::synchronizeProperty):
  • svg/SVGPathElement.h:
  • svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::isSupportedAttribute): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::svgAttributeChanged): (WebCore::SVGPatternElement::synchronizeProperty):
  • svg/SVGPatternElement.h:
  • svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::isSupportedAttribute): (WebCore::SVGPolyElement::parseMappedAttribute): (WebCore::SVGPolyElement::svgAttributeChanged):
  • svg/SVGPolyElement.h:
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::isSupportedAttribute): (WebCore::SVGRadialGradientElement::parseMappedAttribute): (WebCore::SVGRadialGradientElement::svgAttributeChanged): (WebCore::SVGRadialGradientElement::synchronizeProperty):
  • svg/SVGRadialGradientElement.h:
  • svg/SVGRectElement.cpp: (WebCore::SVGRectElement::isSupportedAttribute): (WebCore::SVGRectElement::parseMappedAttribute): (WebCore::SVGRectElement::svgAttributeChanged): (WebCore::SVGRectElement::synchronizeProperty):
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::svgAttributeChanged): (WebCore::SVGSVGElement::synchronizeProperty):
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::isSupportedAttribute): (WebCore::SVGScriptElement::parseMappedAttribute): (WebCore::SVGScriptElement::svgAttributeChanged): (WebCore::SVGScriptElement::synchronizeProperty):
  • svg/SVGScriptElement.h:
  • svg/SVGStopElement.cpp: (WebCore::SVGStopElement::isSupportedAttribute): (WebCore::SVGStopElement::parseMappedAttribute): (WebCore::SVGStopElement::svgAttributeChanged): (WebCore::SVGStopElement::synchronizeProperty):
  • svg/SVGStopElement.h:
  • svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::isSupportedAttribute): (WebCore::SVGStyleElement::parseMappedAttribute):
  • svg/SVGStyleElement.h:
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::parseMappedAttribute): (WebCore::SVGStyledElement::svgAttributeChanged): (WebCore::SVGStyledElement::synchronizeProperty):
  • svg/SVGStyledTransformableElement.cpp: (WebCore::SVGStyledTransformableElement::isSupportedAttribute): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): (WebCore::SVGStyledTransformableElement::svgAttributeChanged): (WebCore::SVGStyledTransformableElement::synchronizeProperty):
  • svg/SVGStyledTransformableElement.h:
  • svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::isSupportedAttribute): (WebCore::SVGSymbolElement::parseMappedAttribute): (WebCore::SVGSymbolElement::svgAttributeChanged): (WebCore::SVGSymbolElement::synchronizeProperty):
  • svg/SVGSymbolElement.h:
  • svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::isSupportedAttribute): (WebCore::SVGTRefElement::parseMappedAttribute): (WebCore::SVGTRefElement::svgAttributeChanged): (WebCore::SVGTRefElement::synchronizeProperty):
  • svg/SVGTRefElement.h:
  • svg/SVGTests.cpp: (WebCore::SVGTests::addSupportedAttributes):
  • svg/SVGTests.h:
  • svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::isSupportedAttribute): (WebCore::SVGTextContentElement::parseMappedAttribute): (WebCore::SVGTextContentElement::synchronizeProperty): (WebCore::SVGTextContentElement::svgAttributeChanged):
  • svg/SVGTextContentElement.h:
  • svg/SVGTextElement.cpp: (WebCore::SVGTextElement::isSupportedAttribute): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::svgAttributeChanged): (WebCore::SVGTextElement::synchronizeProperty):
  • svg/SVGTextElement.h:
  • svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::isSupportedAttribute): (WebCore::SVGTextPathElement::parseMappedAttribute): (WebCore::SVGTextPathElement::svgAttributeChanged): (WebCore::SVGTextPathElement::synchronizeProperty):
  • svg/SVGTextPathElement.h:
  • svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::isSupportedAttribute): (WebCore::SVGTextPositioningElement::parseMappedAttribute): (WebCore::SVGTextPositioningElement::svgAttributeChanged): (WebCore::SVGTextPositioningElement::synchronizeProperty):
  • svg/SVGTextPositioningElement.h:
  • svg/SVGTransformable.cpp:
  • svg/SVGTransformable.h:
  • svg/SVGURIReference.cpp: (WebCore::SVGURIReference::addSupportedAttributes):
  • svg/SVGURIReference.h:
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::isSupportedAttribute): (WebCore::SVGUseElement::parseMappedAttribute): (WebCore::SVGUseElement::svgAttributeChanged): (WebCore::SVGUseElement::synchronizeProperty):
  • svg/SVGUseElement.h:
  • svg/SVGViewElement.cpp: (WebCore::SVGViewElement::isSupportedAttribute): (WebCore::SVGViewElement::parseMappedAttribute): (WebCore::SVGViewElement::synchronizeProperty):
  • svg/SVGViewElement.h:
  • svg/SVGZoomAndPan.cpp: (WebCore::SVGZoomAndPan::addSupportedAttributes):
  • svg/SVGZoomAndPan.h:
9:20 PM Changeset in webkit [87009] by Simon Fraser
  • 4 edits
    3 adds in trunk

2011-05-20 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Allow ShadowBlur to do tiling when the context is scaled
https://bugs.webkit.org/show_bug.cgi?id=61232

If the GraphicsContext is scaled or rotated by a multiple of 90deg, have ShadowBlur
use the tiling code path, to avoid blurring large areas on pages like cracked.com
when the context is scaled.

  • platform/graphics/ShadowBlur.cpp: (WebCore::ShadowBlur::drawRectShadow): Call preservesAxisAlignment() to decide when to not use tiling. (WebCore::ShadowBlur::drawInsetShadow): Ditto. (WebCore::ShadowBlur::drawLayerPieces): Round to device pixels when drawing tiles to avoid pixel cracks in scaled contexts.
  • platform/graphics/transforms/AffineTransform.h: (WebCore::AffineTransform::preservesAxisAlignment): Return true if there is the matrix contains a transform that results in axis alignment (no rotation or skew, or rotations which are multiples of 90deg).
6:15 PM Changeset in webkit [87008] by ap@apple.com
  • 6 edits
    2 adds in trunk

2011-05-20 Alexey Proskuryakov <ap@apple.com>

Reviewed by Kent Tamura.

Special characters can be inserted in text field having reached maxlength
https://bugs.webkit.org/show_bug.cgi?id=19479
<rdar://problem/7828739>

  • platform/mac/editing/input/maxlength-expected.txt: Added.
  • platform/mac/editing/input/maxlength.html: Added.
  • fast/forms/input-number-commit-valid-only-expected.txt:
  • fast/forms/script-tests/input-number-commit-valid-only.js: The user can make a number field empty by deleting its content, so there is no reason why execCommand shouldn't be able to make it empty.

2011-05-20 Alexey Proskuryakov <ap@apple.com>

Reviewed by Kent Tamura.

Special characters can be inserted in text field having reached maxlength
https://bugs.webkit.org/show_bug.cgi?id=19479
<rdar://problem/7828739>

Test: platform/mac/editing/input/maxlength.html

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertTextIntoNode): (WebCore::CompositeEditCommand::replaceTextInNode): Avoid hitting an assertion below, now that we can get here with empty text.
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): There is still work to do even if beforetextinput removed all text from the event. At the very least, we should delete the current selection.
6:07 PM Changeset in webkit [87007] by aestes@apple.com
  • 5 edits in trunk

2011-05-20 Andy Estes <aestes@apple.com>

Reviewed by Darin Adler.

REGRESSION (r70748): WebKit cannot play videos created by Podcast Producer.
https://bugs.webkit.org/show_bug.cgi?id=61229

Test that an object element with a non-empty classid, a valid MIME
type and no fallback content is allowed to load.

  • fast/replaced/object-with-non-empty-classid-triggers-fallback-expected.txt:
  • fast/replaced/object-with-non-empty-classid-triggers-fallback.html:

2011-05-20 Andy Estes <aestes@apple.com>

Reviewed by Darin Adler.

REGRESSION (r70748): WebKit cannot play videos created by Podcast Producer.
https://bugs.webkit.org/show_bug.cgi?id=61229

Podcast Producer uses an object tag with a classid attribute to embed
QuickTime Player into a page. In r70748, we changed our behavior to
render the object's fallback content when a non-empty classid is
encountered, per HTML5. Since Podcast Producer videos have no fallback
content, this change in behavior causes the video to fail to load.

Since the object tag has a valid type attribute, we would be able to
load it if weren't for the non-empty classid. This patch changes our
policy to allow objects with non-empty classids if there is no fallback
content. We still continue to prefer fallback content if it exists,
however.

  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::hasValidClassId): Treat a non-empty classid as valid if the object has no fallback content.
5:52 PM Changeset in webkit [87006] by jchaffraix@webkit.org
  • 4 edits
    5 adds in trunk

2011-05-20 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>

Reviewed by Simon Fraser.

If both border-radius and box-shadow applied, shadow is not fully visible
https://bugs.webkit.org/show_bug.cgi?id=59577

  • fast/css/box-shadow-and-border-radius.html: Added.
  • platform/qt/fast/css/box-shadow-and-border-radius-expected.png: Added.
  • platform/qt/fast/css/box-shadow-and-border-radius-expected.txt: Added.
  • platform/win/fast/css/box-shadow-and-border-radius-expected.png: Added.
  • platform/win/fast/css/box-shadow-and-border-radius-expected.txt: Added.

2011-05-20 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>

Reviewed by Simon Fraser.

If both border-radius and box-shadow applied, shadow is not fully visible
https://bugs.webkit.org/show_bug.cgi?id=59577

The current implementation of RoundedIntRect::inflateWithRadii() inflates
its rect size and corner radii out of sync. This leads to validation failure in
Path::addRoundedRect() and results in ignoring radii in the path.
When this invalid path is used to clip out the rounded corner box before painting
the box shadow, the entire rectangle is clipped out without the corner radii.

This patch implements RoundedIntRect::inflateWithRadii() properly to inflate
rounded rect radii based on inflate ratios of rect size.

Test: fast/css/box-shadow-and-border-radius.html

  • platform/graphics/RoundedIntRect.cpp: (WebCore::RoundedIntRect::inflateWithRadii):
  • platform/graphics/RoundedIntRect.h:
5:48 PM Changeset in webkit [87005] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

2011-05-20 Jeremy Noble <jer.noble@apple.com>

Reviewed by Mark Rowe.

Crash in WebFullScreenManager::didExitFullScreen when closing a window in Safari.
https://bugs.webkit.org/show_bug.cgi?id=61228

Do not attempt to exit full screen if we aren't in full screen to begin with, as the WebProcess
won't be expecting will/didExitFullScreen notifications.

  • UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController close]):
5:42 PM Changeset in webkit [87004] by kbr@google.com
  • 1 edit
    2 adds in trunk/LayoutTests

2011-05-20 Kenneth Russell <kbr@google.com>

Unreviewed. Manually pulled missing layout test result from Mesa bots.

  • platform/chromium-gpu-mac/compositing/animation/busy-indicator-actual.png: Added.
  • platform/chromium-gpu-win/compositing/animation/busy-indicator-actual.png: Added.
5:29 PM Changeset in webkit [87003] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/mac

2011-05-20 Jeremy Noble <jer.noble@apple.com>

Reviewed by Simon Fraser.

Stack overflow in WebFullScreenController when built on Leopard and run on SnowLeopard.
https://bugs.webkit.org/show_bug.cgi?id=61224

Remove the CATransaction(SnowLeopardConvenience) functions, and replace them with the Leopard
versions of same.

  • WebView/WebFullScreenController.mm: (-[WebFullScreenController windowDidEnterFullscreen:]): (-[WebFullScreenController enterFullscreen:]): (-[WebFullScreenController exitFullscreen]): (-[WebFullscreenWindow setRendererLayer:]):
5:20 PM Changeset in webkit [87002] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Leon Scroggins <scroggo@google.com>

Reviewed by Kenneth Russell.

gpu canvas alpha tests failing on the chromium canaries
https://bugs.webkit.org/show_bug.cgi?id=59768

Remove tests which are now passing from test_expectations.

  • platform/chromium/test_expectations.txt:
4:48 PM Changeset in webkit [87001] by Michael Nordman
  • 9 edits in trunk/Source

2011-05-20 Michael Nordman <Michael Nordman>

Reviewed by Darin Fisher.

[Chromium] Support the new webkit apis so the WebDatabase system participates
in the unified quota management system.
https://bugs.webkit.org/show_bug.cgi?id=60985

No change in functionality, no new tests.

  • platform/chromium/PlatformBridge.h:
  • storage/chromium/QuotaTracker.cpp: (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin): (WebCore::QuotaTracker::updateDatabaseSize): (WebCore::QuotaTracker::updateSpaceAvailableToOrigin): (WebCore::QuotaTracker::resetSpaceAvailableToOrigin):
  • storage/chromium/QuotaTracker.h:

2011-05-20 Michael Nordman <Michael Nordman>

Reviewed by Darin Fisher.

Changes to allow the WebDatabase system to participate in Chrome's unified quota
management system. Now that changes outside of the database system affect the space
available to the database system, we need new ways of getting the limit to renderers.

Split WebDatabase::updateDatabaseSizeAndSpaceAvailable() into three methods.

  • WebDatabase::updateDatababaseSize()
  • WebDatabase::updateSpaceAvailable()
  • WebDatabase::resetSpaceAvailable() The WebDatabase methods are used to 'push' size and space available info into renderers. The space available can change independently of a database having changed size.

Also provide a means for the renderer to 'pull' the space available from the main
process if that value has not been pushed into it.

  • WebCore::PlatformBridge::databaseGetSpaceAvailableForOrigin()
  • WebKit::WebKitClient::databaseGetSpaceAvailableForOrigin()

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

  • public/WebDatabase.h:
  • public/WebKitClient.h: (WebKit::WebKitClient::databaseGetSpaceAvailableForOrigin):
  • src/PlatformBridge.cpp: (WebCore::PlatformBridge::databaseGetSpaceAvailableForOrigin):
  • src/WebDatabase.cpp: (WebKit::WebDatabase::updateDatabaseSize): (WebKit::WebDatabase::updateSpaceAvailable): (WebKit::WebDatabase::resetSpaceAvailable):
4:38 PM Changeset in webkit [87000] by bfulgham@webkit.org
  • 8 edits in trunk/Source/WebKit/win

Implement the ability to add C++ event listeners to html dom
elements and dom window.
https://bugs.webkit.org/show_bug.cgi?id=60269

Patch by Anthony Johnson <anthony.johnson@flexsim.com> on 2011-05-18
Reviewed by Brent Fulgham.

  • DOMCoreClasses.cpp: Add new DOMWindow class and implementations.

(DOMNode::QueryInterface): Report that the DOMNode implements

the IDomEventTarget interface.

(DOMNode::addEventListener): Add implementation of a COM-based

event listener.

(DOMNode::removeEventListener):
(DOMNode::dispatchEvent):
(DOMDocument::createInstance):
(DOMWindow::QueryInterface): New implementation.
(DOMWindow::document): New implementation.
(DOMWindow::getComputedStyle): Stub.
(DOMWindow::getMatchedCSSRules): Stub.
(DOMWindow::devicePixelRatio): Stub.
(DOMWindow::addEventListener): New implementation.
(DOMWindow::removeEventListener): New implementation.
(DOMWindow::dispatchEvent): New implementation.
(DOMWindow::DOMWindow): New implementation.
(DOMWindow::~DOMWindow): New implementation.
(DOMWindow::createInstance): New implementation.

  • DOMCoreClasses.h: Add new DOMWindow class and declarations.

(DOMWindow::AddRef): New declaration.
(DOMWindow::Release): New declaration.
(DOMWindow::throwException): New declaration.
(DOMWindow::callWebScriptMethod): New declaration.
(DOMWindow::evaluateWebScript): New declaration.
(DOMWindow::removeWebScriptKey): New declaration.
(DOMWindow::stringRepresentation): New declaration.
(DOMWindow::webScriptValueAtIndex): New declaration.
(DOMWindow::setWebScriptValueAtIndex): New declaration.
(DOMWindow::setException): New declaration.
(DOMWindow::window): New declaration.

  • DOMEventsClasses.cpp: Add new WebEventListener and implementation.

(DOMEventListener::handleEvent): New implementation.
(WebEventListener::WebEventListener): New implementation.
(WebEventListener::~WebEventListener): New implementation.
(WebEventListener::operator==): New implementation.
(WebEventListener::handleEvent): New implementation.
(WebEventListener::create): New implementation.

  • DOMEventsClasses.h: Add new WebEventListener class declaration.
  • Interfaces/IWebFrame.idl: Add new DOMWindow accessor to the main Web Frame interface.
  • WebFrame.cpp: Add implementation of new DOMWindow creation method.

(WebFrame::DOMWindow):

  • WebFrame.h: Add DOMWindow declaration.
4:20 PM Changeset in webkit [86999] by oliver@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

2011-05-20 Oliver Hunt <oliver@apple.com>

Reviewed by Gavin Barraclough.

Reduce size of inline cache path of get_by_id on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=61221

This reduces the code size of get_by_id by 20 bytes

  • assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::ldrCompact): (JSC::ARMv7Assembler::repatchCompact): (JSC::ARMv7Assembler::setUInt7ForLoad):
  • assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::load32WithCompactAddressOffsetPatch):
  • jit/JIT.h:
4:13 PM Changeset in webkit [86998] by ap@apple.com
  • 2 edits in trunk/Websites/webkit.org

2011-05-20 Alexey Proskuryakov <ap@apple.com>

Reviewed by Dan Bernstein.

Building instructions should not talk about Tiger
https://bugs.webkit.org/show_bug.cgi?id=61210

  • building/tools.html: Removed steps that are only necessary on Tiger, and changed required Xcode version to the latest Leopard one.
3:59 PM Changeset in webkit [86997] by jschuh@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Justin Schuh <jschuh@chromium.org>

Unreviewed.

Chromium expectations exception for:
svg/W3C-SVG-1.1-SE/struct-use-14-f.svg

  • platform/chromium/test_expectations.txt:
3:56 PM Changeset in webkit [86996] by Lucas Forschler
  • 5 edits in branches/safari-534-branch/Source

Versioning.

3:51 PM Changeset in webkit [86995] by aestes@apple.com
  • 9 edits
    1 add in trunk/Source

2011-05-20 Andy Estes <aestes@apple.com>

Reviewed by Darin Adler.

WebView loses firstResponder status when entering full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61153

No test possible via DRT. Add a manual test instead.

  • manual-tests/full-screen-keypress.html: Added.

2011-05-20 Andy Estes <aestes@apple.com>

Reviewed by Darin Adler.

WebView loses firstResponder status when entering full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61153

  • WebKit.xcodeproj/project.pbxproj: Export WebNSWindowExtras.h as a private header so that WebKit2 can include it.

2011-05-20 Andy Estes <aestes@apple.com>

Reviewed by Darin Adler.

WebView loses firstResponder status when entering full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61153

  • Misc/WebNSWindowExtras.h:
  • Misc/WebNSWindowExtras.m: (-[NSWindow makeResponder:firstResponderIfDescendantOfView:]): Add a convenience method to NSWindow that makes the given NSResponder first responder only if it is a descendant of the given view.
  • WebView/WebFullScreenController.mm: (-[WebFullScreenController windowDidEnterFullscreen:]): If the WebView was a descendant of the browser window's first responder when entering full-screen mode, set the full-screen window's first responder to that same NSResponder. (-[WebFullScreenController exitFullscreen]): Do the reverse of what is done in windowDidEnterFullscreen:.

2011-05-20 Andy Estes <aestes@apple.com>

Reviewed by Darin Adler.

WebView loses firstResponder status when entering full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=61153

  • UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): If the WebView was a descendant of the browser window's first responder when entering full-screen mode, set the full-screen window's first responder to that same NSResponder. (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Do the reverse of what is done in finishedEnterFullScreenAnimation:.
3:47 PM Changeset in webkit [86994] by Lucas Forschler
  • 5 edits in branches/safari-534-branch/Source

Versioning.

3:43 PM Changeset in webkit [86993] by Lucas Forschler
  • 1 copy in tags/Safari-534.37

New tag.

3:36 PM Changeset in webkit [86992] by jer.noble@apple.com
  • 10 edits in trunk/Source

2011-05-20 Jeremy Noble <jer.noble@apple.com>

Reviewed by Maciej Stachowiak.

WebKit2: Exit full screen mode if the WebProcess crashes.
https://bugs.webkit.org/show_bug.cgi?id=61151

  • platform/graphics/win/FullScreenController.h:
  • platform/graphics/win/FullScreenController.cpp: (FullScreenController::close): Added. Close the full-screen window without animation

if called.

2011-05-20 Jeremy Noble <jer.noble@apple.com>

Reviewed by Maciej Stachowiak.

WebKit2: Exit full screen mode if the WebProcess crashes.
https://bugs.webkit.org/show_bug.cgi?id=61151

If the WebProcess crashes, exit full-screen mode to avoid getting stuck. Move the
WebFullScreenManagerProxy::invalidate() implementation into the platform-specific
files, and have them close their respective platform's full-screen window.

  • UIProcess/WebFullScreenManagerProxy.cpp:
  • UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: (WebKit::WebFullScreenManagerProxy::invalidate): Added. Copied from main implementation.
  • UIProcess/mac/WKFullScreenWindowController.h:
  • UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController close]): Added.
  • UIProcess/mac/WebFullScreenManagerProxyMac.mm: (WebKit::WebFullScreenManagerProxy::invalidate): Added.
  • UIProcess/win/WebFullScreenManagerProxyWin.cpp: (WebKit::WebFullScreenManagerProxy::invalidate): Added.
3:34 PM Changeset in webkit [86991] by Lucas Forschler
  • 1 move in branches/safari-534-branch

rename branch.

3:31 PM Changeset in webkit [86990] by andersca@apple.com
  • 9 edits
    17 deletes in trunk/Source/WebKit2

2011-05-20 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Remove the chunked update drawing area
https://bugs.webkit.org/show_bug.cgi?id=61216

The chunked update drawing area is no longer used in any port, so remove all traces of it.

Qt still uses UpdateChunks for the tiled drawing area so keep the Shared/qt/UpdateChunk.* classes for now.

  • GNUmakefile.am:
  • Shared/DrawingAreaInfo.h:
  • Shared/gtk/UpdateChunk.cpp: Removed.
  • Shared/gtk/UpdateChunk.h: Removed.
  • Shared/mac/UpdateChunk.cpp: Removed.
  • Shared/mac/UpdateChunk.h: Removed.
  • Shared/win/UpdateChunk.cpp: Removed.
  • Shared/win/UpdateChunk.h: Removed.
  • UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Removed.
  • UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed.
  • UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Removed.
  • UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Removed.
  • UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Removed.
  • UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Removed.
  • UIProcess/win/WebView.cpp: (WebKit::WebView::paint): (WebKit::WebView::createDrawingAreaProxy): (WebKit::WebView::enterAcceleratedCompositingMode): (WebKit::WebView::exitAcceleratedCompositingMode):
  • WebKit2.pro:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Removed.
  • WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Removed.
  • WebProcess/WebPage/DrawingArea.cpp: (WebKit::DrawingArea::create):
  • WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Removed.
  • WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Removed.
  • WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Removed.
  • win/WebKit2.vcproj:
3:29 PM Changeset in webkit [86989] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

2011-05-20 Ryosuke Niwa <rniwa@webkit.org>

Rebaselines after r86983.

  • platform/chromium-win/editing/pasteboard/smart-paste-003-expected.txt:
  • platform/chromium-win/editing/pasteboard/smart-paste-004-expected.txt:
  • platform/gtk/editing/pasteboard/paste-xml-expected.txt:
  • platform/win/editing/pasteboard/paste-xml-expected.txt:
3:26 PM Changeset in webkit [86988] by enrica@apple.com
  • 10 edits in trunk/Source

Add delegate methods about focus and blur to all elements.
https://bugs.webkit.org/show_bug.cgi?id=61218

Reviewed by David Kilzer.

Source/WebCore:

We want to have delegates for these events for all the elements, not only the form elements.
The patch moves the call to the delegate in the Node class and changes the name
of the methods not to be form element specific.

  • dom/Node.cpp:

(WebCore::Node::dispatchFocusEvent): Added call to delegate with the new name.
(WebCore::Node::dispatchBlurEvent): Added call to delegate with the new name.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::dispatchBlurEvent): Removed code that calls the delegate since
it has been moved into Node.

  • html/HTMLFormControlElement.h: Removed dispatchFocusEvent, since we are using the default inplementation in Node.
  • loader/EmptyClients.h:

(WebCore::EmptyChromeClient::elementDidFocus): Name changed.
(WebCore::EmptyChromeClient::elementDidBlur): Name changed.

  • page/ChromeClient.h:

(WebCore::ChromeClient::elementDidFocus): Name changed.
(WebCore::ChromeClient::elementDidBlur): Name changed.

Source/WebKit/mac:

We want to have delegates for these events for all the elements, not only the form elements.
The patch changes the name of the methods in a way that is not form element specific.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::elementDidFocus):
(WebChromeClient::elementDidBlur):

  • WebView/WebUIDelegatePrivate.h:
3:18 PM Changeset in webkit [86987] by jschuh@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Justin Schuh <jschuh@chromium.org>

Unreviewed.

Chromium expectations update.

  • platform/chromium/test_expectations.txt:
3:03 PM Changeset in webkit [86986] by scherkus@chromium.org
  • 1 edit
    5 adds in trunk/LayoutTests

2011-05-20 Andrew Scherkus <scherkus@chromium.org>

Unreviewed, checking in baselines for media/media-document-audio-repaint.html for chromium-{mac,linux,win}.

  • platform/chromium-linux/media/media-document-audio-repaint-expected.png: Added.
  • platform/chromium-mac/media/media-document-audio-repaint-expected.png: Added.
  • platform/chromium-mac/media/media-document-audio-repaint-expected.txt: Added.
  • platform/chromium-win/media/media-document-audio-repaint-expected.png: Added.
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt: Added.
2:40 PM Changeset in webkit [86985] by mdelaney@apple.com
  • 2 edits in trunk/Source/WebKit2

2011-05-20 Matthew Delaney <mdelaney@apple.com>

Reviewed by Steve Falkenburg.

Default min DOM Timer interval is not set soon enough for first page to pick it up in WK2
https://bugs.webkit.org/show_bug.cgi?id=61215

  • WebProcess/WebPage/WebPage.cpp: Simply moving the DOM min timer interval setting to before the first page creation.
2:28 PM Changeset in webkit [86984] by jschuh@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Justin Schuh <jschuh@chromium.org>

Unreviewed.

Chromium expectaions update.

  • platform/chromium/test_expectations.txt:
2:23 PM Changeset in webkit [86983] by rniwa@webkit.org
  • 18 edits in trunk

2011-05-20 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Enrica Casucci.

Wrap copied contents by one style span instead of two
https://bugs.webkit.org/show_bug.cgi?id=60988

Rebaselined tests due to the change in how WebKit preserves style in copy and paste.

  • editing/pasteboard/4930986-2-expected.txt: Whitespace change.
  • editing/pasteboard/5065605-expected.txt: No longer adds redundant inline style declaration.
  • editing/pasteboard/paste-4039777-fix-expected.txt: Progression; Now we hit the list merging logic in ReplaceSelectionCommand: isStyleSpan(refNode.get()) && isListElement(refNode->firstChild()).
  • editing/pasteboard/paste-list-001-expected.txt: Ditto.
  • editing/pasteboard/paste-text-011-expected.txt: An extra style span was added.
  • editing/pasteboard/paste-text-012-expected.txt: Ditto.
  • editing/pasteboard/smart-paste-003-trailing-whitespace-expected.txt: No longer adds redundant style span.
  • platform/chromium-win/editing/pasteboard/paste-text-003-expected.txt: No longer adds empty anonymous nodes.
  • platform/chromium-win/editing/pasteboard/paste-text-011-expected.txt: Ditto.
  • platform/gtk/editing/pasteboard/paste-text-003-expected.txt: Ditto.
  • platform/mac/editing/pasteboard/paste-text-003-expected.txt: Ditto.
  • platform/qt/editing/pasteboard/paste-text-003-expected.txt: Ditto.

2011-05-20 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Enrica Casucci.

Wrap copied contents by one style span instead of two
https://bugs.webkit.org/show_bug.cgi?id=60988

Replaced sourceDocumentStyleSpan and copiedRangeStyleSpan by one wrapping style span. Instead
of wrapping the copied contents by user-applied style and document default style in serialization,
take the difference with the document default's style in paste code.

This will dramatically simplify our copy and paste code and pave a way to fix the bug 60914.

No new tests because copy & paste is tested by existing layout tests.

  • editing/EditingStyle.cpp: (WebCore::EditingStyle::prepareToApplyAt): Remove the color property if RGBA values of color matches that of the computed style at the specified position.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans): Replaced sourceDocumentStyleSpan and copiedRangeStyleSpan by wrappingStyleSpan. When pasting as a quotation, compare style against the document's default style to avoid keeping the document default style (tested by editing/pasteboard/4930986-3.html).
  • editing/ReplaceSelectionCommand.h:
  • editing/markup.cpp: (WebCore::createMarkup): Only use one style span to wrap the serialized contents.
2:12 PM Changeset in webkit [86982] by jschuh@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Justin Schuh <jschuh@chromium.org>

Unreviewed.

Chromium expectaions update.

  • platform/chromium/test_expectations.txt:
2:00 PM Changeset in webkit [86981] by Simon Fraser
  • 19 edits in trunk

2011-05-20 Simon Fraser <Simon Fraser>

Reviewed by Sam Weinig.

numberOfActiveAnimations() can include animations from documents in the page cache
https://bugs.webkit.org/show_bug.cgi?id=53641

Some transition tests using layoutTestController.numberOfActiveAnimations() failed
in WebKit2 because numberOfActiveAnimations() could include those from other documents
in the page cache.

Fix by passing in the document for which we wish to count animations.

  • WebCore.exp.in:
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): (WebCore::AnimationController::numberOfActiveAnimations):
  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
1:58 PM Changeset in webkit [86980] by abarth@webkit.org
  • 4 edits in trunk/Source/WebCore

2011-05-20 Adam Barth <abarth@webkit.org>

Reviewed by Alexey Proskuryakov.

Factor CORS request preparation out of DocumentThreadableLoader
https://bugs.webkit.org/show_bug.cgi?id=61209

DocumentThreadableLoader has two jobs:

1) Proxy loads between threads.
2) Run the CORS state machine.

This patch begins the work of separating those concerns, allowing CORS
to be used elsewhere in the loading pipeline. In particular, this
patch moves knowledge of how to prepare CORS requests out of
DocumentThreadableLoder.

  • loader/CrossOriginAccessControl.cpp: (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): (WebCore::updateRequestForAccessControl): (WebCore::createAccessControlPreflightRequest):
  • loader/CrossOriginAccessControl.h:
  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1:11 PM Changeset in webkit [86979] by krit@webkit.org
  • 2 edits
    1 delete in trunk/LayoutTests

2011-05-20 Dirk Schulze <krit@webkit.org>

Unreviewed rebaseline of Qt. One of the two tests doesn't even need a platform specific result anymore.

SVGPathSegList needs better getTotalLength, getSegmentAtLength path traversal code
https://bugs.webkit.org/show_bug.cgi?id=12047

  • platform/qt/svg/custom/path-getTotalLength-expected.txt: Removed.
  • platform/qt/svg/custom/path-textPath-simulation-expected.txt:
12:53 PM Changeset in webkit [86978] by rwlbuis@webkit.org
  • 4 edits
    3 adds in trunk

2011-05-20 Rob Buis <rbuis@rim.com>

Reviewed by Dirk Schulze.

Use test from ietestcenter fails
https://bugs.webkit.org/show_bug.cgi?id=60844

When an id changes on an in-document element, we need to check whether the id
is part of the pending elements. Since this is the same thing as happens in
insertedIntoDocument, split out the common code into buildPendingResourcesIfNeeded.

Test: svg/W3C-SVG-1.1-SE/struct-use-14-f.svg

  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::svgAttributeChanged): (WebCore::SVGStyledElement::insertedIntoDocument): (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
  • svg/SVGStyledElement.h:

2011-05-20 Rob Buis <rbuis@rim.com>

Reviewed by Dirk Schulze.

Use test from ietestcenter fails
https://bugs.webkit.org/show_bug.cgi?id=60844

  • platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png: Added.
  • platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/struct-use-14-f.svg: Added.
12:43 PM Changeset in webkit [86977] by Simon Fraser
  • 11 edits in trunk

2011-05-20 Simon Fraser <Simon Fraser>

Reviewed by Sam Weinig.

WebKitTestRunner needs layoutTestController.pauseTransitionAtTimeOnElementWithId
https://bugs.webkit.org/show_bug.cgi?id=42550

Implement pauseTransitionAtTimeOnElementWithId in WebKitTestRunner.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: Copy the code for pausing animations, FIXME comments and all. (WTR::LayoutTestController::pauseTransitionAtTimeOnElementWithId):
  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

2011-05-20 Simon Fraser <Simon Fraser>

Reviewed by Sam Weinig.

WebKitTestRunner needs layoutTestController.pauseTransitionAtTimeOnElementWithId
https://bugs.webkit.org/show_bug.cgi?id=42550

Plumb through methods to pause a transition of a given property on an element.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: (WKBundleFramePauseAnimationOnElementWithId): (WKBundleFramePauseTransitionOnElementWithId):
  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  • WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::pauseTransitionOnElementWithId):
  • WebProcess/WebPage/WebFrame.h:
12:36 PM Changeset in webkit [86976] by inferno@chromium.org
  • 5 edits
    2 adds in trunk

2011-05-20 Abhishek Arya <inferno@chromium.org>

Reviewed by Kent Tamura.

Tests that we do not crash when auto-focus triggers a attach.
https://bugs.webkit.org/show_bug.cgi?id=32882

  • fast/forms/input-element-attach-crash-expected.txt: Added.
  • fast/forms/input-element-attach-crash.html: Added.

2011-05-20 Abhishek Arya <inferno@chromium.org>

Reviewed by Kent Tamura.

Make auto-focus a post attach callback in
HTMLFormControlElement::attach().
https://bugs.webkit.org/show_bug.cgi?id=32882

Original patch by Darin Adler. This one uses a part of it.


Test: fast/forms/input-element-attach-crash.html

  • dom/Document.cpp: (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is already false by the time post-attach callbacks are done so that layout triggered inside those callbacks can work properly.
  • html/HTMLFormControlElement.cpp: (WebCore::shouldAutofocus): Helper function that expresses the rule for which form control elements should auto-focus. (WebCore::focusPostAttach): Called post-attach to focus an element if we discover it should be focused during attach. (WebCore::HTMLFormControlElement::attach): Refactored code for which elements need auto-focus into a separate function. Instead of focusing right away, use the focusPostAttach function to focus after attach is done. Also added calls to suspendPostAttachCallbacks and resumePostAttachCallbacks so post-attach callbacks happen late enough. Before, they could run inside the base attach function.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::attach): Added calls to suspendPostAttachCallbacks and resumePostAttachCallbacks so post-attach callbacks happen late enough
12:28 PM Changeset in webkit [86975] by alokp@chromium.org
  • 10 edits in trunk/Source/WebCore

2011-05-20 Alok Priyadarshi <alokp@chromium.org>

Reviewed by James Robinson.

[chromium] Remove LayerRendererChromium::useShader
https://bugs.webkit.org/show_bug.cgi?id=61143

GPU compositor tests should be sufficient.

  • platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::LayerRendererChromium):
  • platform/graphics/chromium/LayerRendererChromium.h:
  • platform/graphics/chromium/LayerTilerChromium.cpp: (WebCore::LayerTilerChromium::draw):
  • platform/graphics/chromium/RenderSurfaceChromium.cpp: (WebCore::RenderSurfaceChromium::drawSurface):
  • platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: (WebCore::CCCanvasLayerImpl::draw):
  • platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: (WebCore::CCHeadsUpDisplay::draw):
  • platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::drawDebugBorder):
  • platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: (WebCore::CCPluginLayerImpl::draw):
  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore::CCVideoLayerImpl::drawYUV): (WebCore::CCVideoLayerImpl::drawRGBA):
12:06 PM Changeset in webkit [86974] by commit-queue@webkit.org
  • 8 edits in trunk/Source/JavaScriptCore

2011-05-20 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>

Reviewed by Oliver Hunt.

Zombies should "live" forever
https://bugs.webkit.org/show_bug.cgi?id=61170

Reusing zombie cells could still hide garbage
collected cell related bugs.

  • JavaScriptCore.pro:
  • heap/MarkedBlock.cpp: (JSC::MarkedBlock::clearMarks):
  • heap/MarkedBlock.h:
  • heap/MarkedSpace.cpp: (JSC::MarkedSpace::destroy):
  • runtime/JSCell.h: (JSC::JSCell::JSValue::isZombie):
  • runtime/JSZombie.h: (JSC::JSZombie::~JSZombie):
  • runtime/WriteBarrier.h: (JSC::WriteBarrierBase::setWithoutWriteBarrier):
12:04 PM Changeset in webkit [86973] by krit@webkit.org
  • 6 edits in trunk/Source/WebCore

2011-05-20 Dirk Schulze <krit@webkit.org>

Reviewed by Darin Adler.

SVGPathSegList needs better getTotalLength, getSegmentAtLength path traversal code
https://bugs.webkit.org/show_bug.cgi?id=12047

Right now SVGPathElement::getTotalLength and SVGPathElement::getPointAtLength use toPathData()
to transform a SVGPathByteStream to a Path. This Path gets traversed to find the searched value.
With this patch both functions use the SVGPathByteStream directly together with the existing
traversing code in SVG. This avoids the intermediate transforming to a platform path and gives
platform independent results.
The traversal code in SVG needed to be extended to support all PathTraversalActions.

No new tests added. The existing tests cover the changes.

  • svg/SVGPathElement.cpp: (WebCore::SVGPathElement::getTotalLength): (WebCore::SVGPathElement::getPointAtLength):
  • svg/SVGPathParserFactory.cpp: (WebCore::SVGPathParserFactory::getTotalLengthOfSVGPathByteStream): (WebCore::SVGPathParserFactory::getPointAtLengthOfSVGPathByteStream):
  • svg/SVGPathParserFactory.h:
  • svg/SVGPathTraversalStateBuilder.cpp: (WebCore::SVGPathTraversalStateBuilder::continueConsuming): (WebCore::SVGPathTraversalStateBuilder::totalLength): (WebCore::SVGPathTraversalStateBuilder::currentPoint):
  • svg/SVGPathTraversalStateBuilder.h:
11:56 AM SVG TODO List - Short notes edited by rwlbuis@webkit.org
Bugs are fixed, removing (diff)
11:53 AM SVG TODO List - Short notes edited by rwlbuis@webkit.org
All bugs in this section are fixed (diff)
11:46 AM Changeset in webkit [86972] by beidson@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

<rdar://problem/9472883> and https://bugs.webkit.org/show_bug.cgi?id=61203
Horrendous bug in callOnMainThreadAndWait

Reviewed by Sam Weinig.

  • wtf/MainThread.cpp:

(WTF::dispatchFunctionsFromMainThread): Before signaling the background thread with the

syncFlag condition, reacquire the mutex first.

11:39 AM Changeset in webkit [86971] by kerz@chromium.org
  • 2 edits in branches/chromium/742/Source/WebCore

Revert 86910 - 2011-05-19 James Robinson <jamesr@chromium.org>

This caused chromium beta builders to fail on all platforms.

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

Add a speculative null check to see if it reduces the crashrate.

http://code.google.com/p/chromium-os/issues/detail?id=15377

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

TBR=jamesr@google.com
Review URL: http://codereview.chromium.org/7054014

11:32 AM WebCoreRendering edited by rwlbuis@webkit.org
Fix typo (diff)
11:30 AM Changeset in webkit [86970] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

2011-05-20 Mark Pilgrim <pilgrim@chromium.org>

Reviewed by Tony Chang.

IndexedDB createObjectStore should throw if name is null
https://bugs.webkit.org/show_bug.cgi?id=58465

  • storage/indexeddb/mozilla/create-objectstore-null-name-expected.txt: Added.
  • storage/indexeddb/mozilla/create-objectstore-null-name.html: Added.

2011-05-20 Mark Pilgrim <pilgrim@chromium.org>

Reviewed by Tony Chang.

IndexedDB createObjectStore should throw if name is null
https://bugs.webkit.org/show_bug.cgi?id=58465

Test: storage/indexeddb/mozilla/create-objectstore-null-name.html

  • storage/IDBDatabase.idl:
  • storage/IDBDatabaseBackendImpl.cpp: (WebCore::IDBDatabaseBackendImpl::createObjectStore):
11:23 AM Changeset in webkit [86969] by alokp@chromium.org
  • 2 edits in trunk/Tools

2011-05-20 Alok Priyadarshi <alokp@chromium.org>

Reviewed by Stephen White.

Adding myself to the committers list.

  • Scripts/webkitpy/common/config/committers.py:
11:20 AM Changeset in webkit [86968] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2011-05-20 Oliver Hunt <oliver@apple.com>

Reviewed by Sam Weinig.

Remove unnecessary double->int conversion at the end of op_div
https://bugs.webkit.org/show_bug.cgi?id=61198

We don't attempt this conversion on 64bit, removing it actually speeds
up sunspider and v8 slightly, and it reduces code size.

  • jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_op_div):
11:18 AM Changeset in webkit [86967] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

2011-05-20 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

WebKit2: Media files cannot be saved in the Application Cache due to a sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=61199

Instead of using a sandbox extension to give permission to the application cache directory,
initialize the sandbox with access to it like we do for other databases.

  • Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode): (WebKit::WebProcessCreationParameters::decode):
  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebContext.cpp: (WebKit::WebContext::ensureWebProcess):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess):
  • WebProcess/com.apple.WebProcess.sb:
  • WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox):
10:45 AM Changeset in webkit [86966] by xji@chromium.org
  • 5 edits in trunk

2011-05-20 Xiaomei Ji <xji@chromium.org>

Reviewed by Ryosuke Niwa.

ctrl-arrow does not work on words separated by multiple spaces.
https://bugs.webkit.org/show_bug.cgi?id=57543.

Add the leftmost boundary of a box in RTL block or the rightmost boundary of a box in LTR
block as word break if its inlineBox is the current box and it is a word break.

  • editing/visible_units.cpp: (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Add the rightmost boundary of a box in LTR block or leftmost boundary of a box in RTL block as visually first word break. (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality): (WebCore::leftWordBoundary): Fix bug change "box" to "adjacentBox". (WebCore::rightWordBoundary): Fix bug change "box" to "adjacentBox".

2011-05-20 Xiaomei Ji <xji@chromium.org>

Reviewed by Ryosuke Niwa.

ctrl-arrow does not work on words separated by multiple spaces.
https://bugs.webkit.org/show_bug.cgi?id=57543.

Add more test cases for mutiplespaces.

  • editing/selection/move-by-word-visually-expected.txt:
  • editing/selection/move-by-word-visually.html:
10:20 AM Changeset in webkit [86965] by evan@chromium.org
  • 9 edits in trunk/Source

2011-05-19 Evan Martin <evan@chromium.org>

Reviewed by Tony Chang.

[chromium] remove <(library) variable
https://bugs.webkit.org/show_bug.cgi?id=61158

This was for a build experiment; we can just use the correct value now.

2011-05-19 Evan Martin <evan@chromium.org>

Reviewed by Tony Chang.

[chromium] remove <(library) variable
https://bugs.webkit.org/show_bug.cgi?id=61158

This was for a build experiment; we can just use the correct value now.

  • glu/glu.gyp:
  • gyp/test/library/src/library.gyp:

2011-05-19 Evan Martin <evan@chromium.org>

Reviewed by Tony Chang.

[chromium] remove <(library) variable
https://bugs.webkit.org/show_bug.cgi?id=61158

This was for a build experiment; we can just use the correct value now.

  • WebCore.gyp/WebCore.gyp:

2011-05-19 Evan Martin <evan@chromium.org>

Reviewed by Tony Chang.

[chromium] remove <(library) variable
https://bugs.webkit.org/show_bug.cgi?id=61158

This was for a build experiment; we can just use the correct value now.

  • WebKit.gyp:
9:36 AM Changeset in webkit [86964] by scherkus@chromium.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Andrew Scherkus <scherkus@chromium.org>

Unreviewed, updating media/event-attributes.html as passing for Chromium.

  • platform/chromium/test_expectations.txt:
9:25 AM Changeset in webkit [86963] by podivilov@chromium.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: breakpoints disappear from ui after navigation.
https://bugs.webkit.org/show_bug.cgi?id=61133

  • inspector/front-end/DebuggerPresentationModel.js: (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled): (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
9:20 AM Changeset in webkit [86962] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Windows] fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html failing since r86936
https://bugs.webkit.org/show_bug.cgi?id=61190

  • platform/win/Skipped: Skip it because the test uses <progress> and Windows doesn't have <progress> support.
9:20 AM Changeset in webkit [86961] by podivilov@chromium.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r86958.
http://trac.webkit.org/changeset/86958
https://bugs.webkit.org/show_bug.cgi?id=61195

broke breakpoints persisting (Requested by podivilov on
#webkit).

  • inspector/front-end/DebuggerPresentationModel.js: (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled): (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
9:19 AM Changeset in webkit [86960] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2011-05-20 Oliver Hunt <oliver@apple.com>

Reviewed by Sam Weinig.

Interpreter uses wrong bytecode offset for determining exception handler
https://bugs.webkit.org/show_bug.cgi?id=61191

The bytecode offset given for the returnPC from the JIT is
actually the offset for the start of the instruction triggering
the call, whereas in the interpreter it is the actual return
VPC. This means if the next instruction following a call was
in an exception region we would incorrectly redirect to its
handler. Long term we want to completely redo how exceptions
are handled anyway so the simplest and lowest risk fix here is
to simply subtract one from the return vPC so that we have an
offset in the triggering instruction.

It turns out this is caught by a couple of tests already.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::unwindCallFrame):
9:15 AM Changeset in webkit [86959] by yurys@chromium.org
  • 14 edits
    7 adds in trunk

2011-05-19 Sergey Vorobyev <sergeyvorobyev@google.com>

Reviewed by Yury Semikhatsky.

Web Inspector: Background network events collection - add GUI to Inspector.
https://bugs.webkit.org/show_bug.cgi?id=58652

Move reopenFrontend() to inspector-test.js
Add first test for background events collection.

  • http/tests/inspector/inspector-test.js: ():
  • http/tests/inspector/network-test.js: Added. (initialize_NetworkTest.InspectorTest.enableBackgroundEventCollection): (initialize_NetworkTest.InspectorTest.disableBackgroundEventCollection):
  • http/tests/inspector/network/network-clear-after-disabled-expected.txt: Added.
  • http/tests/inspector/network/network-clear-after-disabled.html: Added.
  • http/tests/inspector/network/network-close-load-open-expected.txt: Added.
  • http/tests/inspector/network/network-close-load-open.html: Added.
  • http/tests/inspector/network/network-open-load-reopen-expected.txt: Added.
  • http/tests/inspector/network/network-open-load-reopen.html: Added.
  • inspector/debugger/open-close-open-expected.txt:
  • inspector/debugger/open-close-open.html:
  • platform/qt/Skipped:

2011-05-19 Sergey Vorobyev <sergeyvorobyev@google.com>

Reviewed by Yury Semikhatsky.

Web Inspector: Background network events collection - add GUI to Inspector.
https://bugs.webkit.org/show_bug.cgi?id=58652

Now in WebInspector Network panel avalaible new checkbox item in context menu:
"Background events collection". It allows to save all network events when inspector
frontend closed. Events that occur before collection enabling are not preserved after
frontend reopening. Property unique for each page. Disabled by default.

Tests: http/tests/inspector/network/network-clear-after-disabled.html

http/tests/inspector/network/network-close-load-open.html
http/tests/inspector/network/network-open-load-reopen.html

  • inspector/EventsCollector.cpp: (WebCore::EventsCollector::clear):
  • inspector/EventsCollector.h:
  • inspector/Inspector.json:
  • inspector/InspectorFrontendProxy.cpp: (WebCore::InspectorFrontendProxy::inspectorFrontendChannel):
  • inspector/InspectorFrontendProxy.h:
  • inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::setFrontend): (WebCore::InspectorResourceAgent::clearFrontend): (WebCore::InspectorResourceAgent::isBackgroundEventsCollectionEnabled): (WebCore::InspectorResourceAgent::setBackgroundEventsCollectionEnabled): (WebCore::InspectorResourceAgent::initializeBackgroundCollection): (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  • inspector/InspectorResourceAgent.h:
  • inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel): (WebInspector.NetworkPanel.prototype._contextMenu): (WebInspector.NetworkPanel.prototype._toggleBackgroundEventsCollection):
9:11 AM Changeset in webkit [86958] by podivilov@chromium.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: breakpoints disappear from ui after navigation.
https://bugs.webkit.org/show_bug.cgi?id=61133

  • inspector/front-end/DebuggerPresentationModel.js: (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled): (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
8:55 AM Changeset in webkit [86957] by xan@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

2011-05-20 Xan Lopez <xlopez@igalia.com>

Reviewed by Oliver Hunt.

JIT requires VM overcommit (particularly on x86-64), Linux does not by default support this without swap?
https://bugs.webkit.org/show_bug.cgi?id=42756

Use the MAP_NORESERVE flag for mmap on Linux to skip the kernel
check of the available memory. This should give us an
overcommit-like behavior in most systems, which is what we want.

  • wtf/OSAllocatorPosix.cpp: (WTF::OSAllocator::reserveAndCommit): pass MAP_NORSERVE to mmap.
8:50 AM Changeset in webkit [86956] by jer.noble@apple.com
  • 10 edits in trunk/Source

2011-05-20 Jer Noble <jer.noble@apple.com>

Reviewed by Maciej Stachowiak.

Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
https://bugs.webkit.org/show_bug.cgi?id=61108

Instead of repainting the full- and non-full-screen windows in WebCore, delegate that
responsibility to the FullScreenControllerClient. Because the repaint operation may
be asynchronous, add a new method for clients to use to indicate repainting has completed.

  • platform/graphics/win/FullScreenController.cpp: (FullScreenController::Private::Private): Added new ivars. (FullScreenController::enterFullScreen): Split into two functions (pre-and post repaint) (FullScreenController::enterFullScreenRepaintCompleted): Ditto. (FullScreenController::exitFullScreen): Ditto. (FullScreenController::exitFullScreenRepaintCompleted): Ditto. (FullScreenController::repaintCompleted): Call the appropriated repaint completed function.
  • platform/graphics/win/FullScreenController.h:
  • platform/graphics/win/FullScreenControllerClient.h:

2011-05-20 Jer Noble <jer.noble@apple.com>

Reviewed by Maciej Stachowiak.

Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
https://bugs.webkit.org/show_bug.cgi?id=61108

  • WebView.cpp: (WebView::fullScreenClientForceRepaint): Repaint the view and immediately notify the

full screen controller.

  • WebView.h:

2011-05-20 Jer Noble <jer.noble@apple.com>

Reviewed by Maciej Stachowiak.

Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
https://bugs.webkit.org/show_bug.cgi?id=61108

When the fullScreenController asks us to repaint, make an async repaint request, and when the
callback is fired, notify the fullScreenController that repaint has completed.

  • UIProcess/win/WebView.cpp: (WebKit::fullScreenClientForceRepaintCompleted): Added. (WebKit::WebView::fullScreenClientForceRepaint): Added.
  • UIProcess/win/WebView.h:
8:18 AM Changeset in webkit [86955] by yurys@chromium.org
  • 3 edits in trunk/Source/WebCore

2011-05-20 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: use RefPtr instead of OwnPtr to store InspectorBackendDispatcher
https://bugs.webkit.org/show_bug.cgi?id=61188

  • inspector/WorkerInspectorController.cpp: (WebCore::WorkerInspectorController::connectFrontend): (WebCore::WorkerInspectorController::disconnectFrontend):
  • inspector/WorkerInspectorController.h:
8:04 AM Changeset in webkit [86954] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Skip failing tests.

  • platform/qt-arm/Skipped:
7:29 AM Changeset in webkit [86953] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

2011-05-20 Csaba Osztrogonác <Csaba Osztrogonác>

Reviewed by Benjamin Poulain.

[Qt] tst_QWebElement::style() fails because QWebElement::InlineStyle doesn't work as expected
https://bugs.webkit.org/show_bug.cgi?id=60372

  • tests/qwebelement/tst_qwebelement.cpp: Mark failing test case as expected fail. (tst_QWebElement::style):
7:27 AM Changeset in webkit [86952] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

2011-05-20 Csaba Osztrogonác <Csaba Osztrogonác>

Reviewed by Benjamin Poulain.

[Qt] Fix tst_QDeclarativeWebView::basicProperties() and historyNav() autotests
https://bugs.webkit.org/show_bug.cgi?id=61042

  • tests/qdeclarativewebview/tst_qdeclarativewebview.cpp: Mark failing test cases as expected fails. (tst_QDeclarativeWebView::basicProperties): (tst_QDeclarativeWebView::historyNav):
7:19 AM Changeset in webkit [86951] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Fix tst_QWebPage::testOptionalJSObjects() autotest
https://bugs.webkit.org/show_bug.cgi?id=61045

Reviewed by Benjamin Poulain.

  • tests/qwebpage/tst_qwebpage.cpp:

(tst_QWebPage::testOptionalJSObjects): Mark failing test cases as expected fails.

7:03 AM Changeset in webkit [86950] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Tonis Tiigi <tonistiigi@gmail.com>

Reviewed by Pavel Feldman.

Web Inspector: Network panel should only show pointer cursor over valid resources
https://bugs.webkit.org/show_bug.cgi?id=55240

Cursor style removed from filler area.

  • inspector/front-end/networkPanel.css: (.network-sidebar .data-grid tr:not(.filler) td.name-column):
6:57 AM Changeset in webkit [86949] by pvarga@webkit.org
  • 20 edits in trunk/Source

2011-05-20 Peter Varga <pvarga@webkit.org>

Reviewed by Simon Hausmann.

[Qt][V8] Use qtscript-staging's shipped version of V8 when building with --v8
https://bugs.webkit.org/show_bug.cgi?id=56649

Use the provided V8 and functionality of
http://qt.gitorious.org/+qt-developers/qt/qtscript-staging to build QtWebKit+V8.
Based on the original patch of Andras Becsi <abecsi@webkit.org>.

No new tests needed.

  • CodeGenerators.pri: Add generating of DebuggerScriptSource.h
  • WebCore.pri: Fix the options for V8 build.
  • WebCore.pro: Ditto.
  • bindings/v8/NPV8Object.cpp: (WebCore::npObjectTypeInfo): Add missing initializer.
  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::disableEval): Temporarily disable unsupported feature on Qt.
  • bindings/v8/ScriptControllerQt.cpp: (WebCore::ScriptController::qtScriptEngine): use the QtScriptEngine constructor of qtscript-staging.
  • bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Add missing initializer.
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Ditto.
  • bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Ditto.
  • loader/appcache/ApplicationCacheGroup.cpp: Add missing header.
  • loader/cache/CachedResourceRequest.cpp: Ditto.
  • page/PageSerializer.cpp: Ditto.
  • page/qt/FrameQt.cpp: Ditto.
  • storage/StorageEventDispatcher.cpp: Ditto.

2011-05-20 Peter Varga <pvarga@webkit.org>

Reviewed by Simon Hausmann.

[Qt][V8] Use qtscript-staging's shipped version of V8 when building with --v8
https://bugs.webkit.org/show_bug.cgi?id=56649

Use the provided V8 and functionality of
http://qt.gitorious.org/+qt-developers/qt/qtscript-staging to build QtWebKit+V8.
Based on the original patch of Andras Becsi <abecsi@webkit.org>.

  • Api/qwebframe.cpp: (QWebFrame::addToJavaScriptWindowObject): Fix QString deprecated warning.
  • QtWebKit.pro: Adding the V8 library should happen in the final build step.
  • WebCoreSupport/ChromeClientQt.cpp: Add missing head.
  • WebCoreSupport/DumpRenderTreeSupportQt.cpp: Ditto.
6:49 AM Changeset in webkit [86948] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

2011-05-20 Tonis Tiigi <tonistiigi@gmail.com>

Reviewed by Pavel Feldman.

Web Inspector: console.log(XMLDocument) should be case preserving
https://bugs.webkit.org/show_bug.cgi?id=60765

Changes the XML document checking from base documents MIME type
to xmlVersion parameter.

  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForNode):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
6:46 AM Changeset in webkit [86947] by mnaganov@chromium.org
  • 7 edits in trunk/Source/WebCore

2011-05-20 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: [Chromium] Use bottom-up CPU profile tree built in VM,
instead of building it on Inspector's side.
https://bugs.webkit.org/show_bug.cgi?id=61185

  • bindings/js/ScriptProfile.cpp: (WebCore::ScriptProfile::bottomUpHead): (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
  • bindings/js/ScriptProfile.h:
  • bindings/v8/ScriptProfile.cpp: (WebCore::ScriptProfile::bottomUpHead): (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
  • bindings/v8/ScriptProfile.h:
  • inspector/InspectorProfilerAgent.cpp: (WebCore::InspectorProfilerAgent::getProfile):
  • inspector/front-end/ProfileView.js: (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
6:32 AM Changeset in webkit [86946] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

2011-05-20 Csaba Osztrogonác <Csaba Osztrogonác>

Reviewed by Benjamin Poulain.

[Qt]Fix tst_QWebFrame::setUrlToInvalid() autotest after r84762
https://bugs.webkit.org/show_bug.cgi?id=59345

  • tests/qwebframe/tst_qwebframe.cpp: (tst_QWebFrame::setUrlToInvalid): Mark failing test cases as expected fails.
6:24 AM Changeset in webkit [86945] by Adam Roben
  • 7 edits
    2 adds in trunk

Don't try to process DownloadProxy messages twice (and robustify code that runs if we do)

Fixes <http://webkit.org/b/61142> <rdar://problem/9471680> REGRESSION (r86812): Crash
(preceded by assertion) in fastMalloc when downloading a file

Reviewed by Darin Adler.

Source/WebKit2:

  • Platform/CoreIPC/ArgumentDecoder.cpp:

(CoreIPC::alignedBufferIsLargeEnoughToContain): Added. This helper function checks that the
given buffer is large enough to hold |size| bytes (and correctly handles the case where
we're already at the end or beyond the end of the buffer).

(CoreIPC::ArgumentDecoder::alignBufferPosition):
(CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
Replaced old code that was vulnerable to underflow with the new helper function.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didReceiveSyncMessage): Added back an early return that was
mistakenly removed in r86812 so that we don't mistakenly pass DownloadProxy messages on to
a WebPageProxy after we've already handled them.

Tools:

Test that the WebKit2 UI process doesn't crash when starting a download

  • TestWebKitAPI/Tests/WebKit2/18-characters.html: Added.
  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp: Added.

(TestWebKitAPI::decidePolicyForNavigationAction): Start a download.
(TestWebKitAPI::decideDestinationWithSuggestedFilename): Record that the download was
started, cancel the download, and return a bogus string.

(TestWebKitAPI::setContextDownloadClient):
(TestWebKitAPI::setPagePolicyClient):
Simple helper functions.

(TestWebKitAPI::TEST): Load 18-characters.html, which should trigger a download thanks to
our policy client, and run until we know that the download was started. If we haven't
crashed, we win!

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/win/TestWebKitAPI.vcproj:
  • TestWebKitAPI/win/copy-resources.cmd:

Added new files.

5:52 AM Changeset in webkit [86944] by Adam Roben
  • 2 edits in trunk/Source/WebCore

Mac build fix after r86936

  • WebCore.xcodeproj/project.pbxproj: Added preprocessor.pm like the

other .pm files.

5:44 AM Changeset in webkit [86943] by vitalyr@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

2011-05-20 Vitaly Repeshko <vitalyr@chromium.org>

Unreviewed.

[chromium] Updating chromium DEPS.

  • DEPS:
5:43 AM Changeset in webkit [86942] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][Mac] Skip one more plugins test after r86938.

  • platform/qt-mac/Skipped:
5:26 AM Changeset in webkit [86941] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Kent Tamura <tkent@chromium.org>

Try to fix Windows CE build.
Touch html.css to kick UA style sheet generation.

  • css/html.css:
5:18 AM Changeset in webkit [86940] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Kent Tamura <tkent@chromium.org>

Try to fix Windows CE build.

  • CMakeLists.txt: Add --preprocessor flag.
4:45 AM Changeset in webkit [86939] by robert@webkit.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Robert Hogan <robert@webkit.org>

Rubber-stamped by Csaba Osztrogonác.

[Qt-mac] Skip two plugins test

Unskipped in platform/qt/ so need to skip in qt-mac as the build
does not support plugins (?)

  • platform/qt-mac/Skipped: plugins/get-url-with-javascript-url.html

plugins/windowless_plugin_paint_test.html

4:35 AM Changeset in webkit [86938] by robert@webkit.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Robert Hogan <robert@webkit.org>

Rubber-stamped by Csaba Osztrogonác.

[Qt] plugins/keyboard-events.html fails after r72717

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

keyboard-events.html now passes thanks to the buildbot
upgrades. It was blocked by a bug in Xvfb on xorg-server
1.4.2.

  • platform/qt/Skipped:
4:29 AM Changeset in webkit [86937] by Csaba Osztrogonác
  • 1 edit
    32 deletes in trunk/LayoutTests

[Qt] Unreviewed. Remove unnecessary Qt specific expected files.

  • platform/qt/editing/execCommand/5062376-expected.txt: Removed.
  • platform/qt/editing/execCommand/insert-list-with-id-expected.txt: Removed.
  • platform/qt/editing/inserting/insert-before-link-1-expected.txt: Removed.
  • platform/qt/editing/pasteboard/4840662-expected.txt: Removed.
  • platform/qt/editing/pasteboard/5245519-expected.txt: Removed.
  • platform/qt/editing/pasteboard/copy-in-password-field-expected.txt: Removed.
  • platform/qt/editing/pasteboard/page-zoom-expected.txt: Removed.
  • platform/qt/editing/undo/redo-style-expected.txt: Removed.
  • platform/qt/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
  • platform/qt/fast/dom/frame-loading-via-document-write-expected.txt: Removed.
  • platform/qt/fast/dom/wrapper-classes-expected.txt: Removed.
  • platform/qt/fast/dynamic/dirty-float-in-clean-line-expected.txt: Removed.
  • platform/qt/fast/dynamic/float-at-line-break-expected.txt: Removed.
  • platform/qt/fast/dynamic/unicode-bidi-expected.txt: Removed.
  • platform/qt/fast/encoding/preload-encoding-expected.txt: Removed.
  • platform/qt/fast/lists/alpha-list-wrap-expected.txt: Removed.
  • platform/qt/fast/lists/decimal-leading-zero-expected.txt: Removed.
  • platform/qt/fast/lists/li-values-expected.txt: Removed.
  • platform/qt/fast/lists/list-style-type-dynamic-change-expected.txt: Removed.
  • platform/qt/fast/repaint/svg-layout-root-style-attr-update-expected.txt: Removed.
  • platform/qt/fast/text/bidi-embedding-pop-and-push-same-2-expected.txt: Removed.
  • platform/qt/fast/text/justify-nbsp-expected.txt: Removed.
  • platform/qt/fast/text/setData-dirty-lines-expected.txt: Removed.
  • platform/qt/fast/text/splitText-dirty-lines-expected.txt: Removed.
  • platform/qt/http/tests/security/cross-frame-access-call-expected.txt: Removed.
  • platform/qt/http/tests/security/cross-frame-access-get-expected.txt: Removed.
  • platform/qt/plugins/document-open-expected.txt: Removed.
  • platform/qt/plugins/resize-from-plugin-expected.txt: Removed.
  • platform/qt/svg/custom/animation-currentColor-expected.txt: Removed.
  • platform/qt/svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt: Removed.
  • platform/qt/svg/custom/text-zoom-expected.txt: Removed.
  • platform/qt/svg/custom/transformedMaskFails-expected.txt: Removed.
3:47 AM Changeset in webkit [86936] by tkent@chromium.org
  • 11 edits
    1 add in trunk/Source/WebCore

2011-05-20 Kent Tamura <tkent@chromium.org>

Reviewed by Hajime Morita.

Apply feature flags to user-agent style sheets
https://bugs.webkit.org/show_bug.cgi?id=52612

A user-agent style sheet should not have style definitions for disabled
features because such definitions makes feature detection harder and
causes incorrect behavior (See Bug 52214).

We have handled such feature-dependent style definitions by providing
separated CSS files and selecting them in build files. Adding such style
definition was hard because we need to update each of build files. This
change simplifies the process to add such style definitions by applying
preprocessor to the CSS files.

Implementation:
make-css-file-arrays.pl invokes a preprocessor if it has --defines
option. Otherwise, it just remove lines beginning with #.
In this change, we pass --defines on Mac, Windows, Chromium, GTK, and
CMake platforms. Qt and Android have no behavior change.

  • CMakeLists.txt:
    • IDL handling depends on preprocessor.pm.
    • Pass --defines option to make-css-file-arrays.pl
    • Add WebCore/bindings/scripts to @INC for make-css-file-arrays.pl
  • CodeGenerators.pri: IDL handling depends on preprocessor.pm.
  • DerivedSources.make: ditto.
  • GNUmakefile.am: ditto.
  • WebCore.gyp/WebCore.gyp: ditto.
  • WebCore.gyp/scripts/action_useragentstylesheets.py: Change parameter order to support perl modules and options. Many code is taken from rule_bindings.py.
  • WebCore.vcproj/MigrateScripts: Handles preprocessor.pm.
  • bindings/scripts/IDLParser.pm: Move the preprocessor code to preprocessor.pm.
  • bindings/scripts/preprocessor.pm: Added. The code was moved from IDLParser.pm
  • css/html.css: Enclose some style definitions with #if-#endif.
  • css/make-css-file-arrays.pl:
    • Add --defines and --preprocessor options.
    • Invoke a preprocessor if --defines is specified.
3:16 AM Changeset in webkit [86935] by krit@webkit.org
  • 2 edits in trunk/Source/WebCore

2011-05-20 Dirk Schulze <krit@webkit.org>

Rubber-stamped by Nikolas Zimmermann.

Remove unnecessary class Path inlcude from PathTraversalState.

  • platform/graphics/PathTraversalState.h:
2:56 AM Changeset in webkit [86934] by sergio@webkit.org
  • 1 edit
    12 adds in trunk/LayoutTests

2011-05-20 Sergio Villar Senin <svillar@igalia.com>

Unreviewed, new GTK+ test results.

  • platform/gtk/fast/html/details-add-details-child-1-expected.png: Added.
  • platform/gtk/fast/html/details-add-details-child-1-expected.txt: Added.
  • platform/gtk/fast/html/details-nested-1-expected.png: Added.
  • platform/gtk/fast/html/details-nested-1-expected.txt: Added.
  • platform/gtk/fast/html/details-nested-2-expected.png: Added.
  • platform/gtk/fast/html/details-nested-2-expected.txt: Added.
  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.png: Added.
  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt: Added.
  • platform/gtk/svg/custom/painting-marker-07-f-inherit-expected.png: Added.
  • platform/gtk/svg/custom/painting-marker-07-f-inherit-expected.txt: Added.
  • platform/gtk/svg/custom/small-rect-scale-expected.png: Added.
  • platform/gtk/svg/custom/small-rect-scale-expected.txt: Added.
2:33 AM Changeset in webkit [86933] by sergio@webkit.org
  • 2 edits in trunk/LayoutTests

2011-05-20 Sergio Villar Senin <svillar@igalia.com>

Unreviewed, new GTK+ test expectations after r86920.

  • platform/gtk/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
2:32 AM Changeset in webkit [86932] by podivilov@chromium.org
  • 3 edits in trunk/Source/WebCore

2011-05-19 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: ctrl+s should not switch source frame to read only mode.
https://bugs.webkit.org/show_bug.cgi?id=61125

  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.commitEditing.didEditContent): (WebInspector.SourceFrame.prototype.commitEditing):
  • inspector/front-end/inspector.js: (WebInspector.documentKeyDown):
1:53 AM Changeset in webkit [86931] by loki@webkit.org
  • 3 edits in trunk/Source/WebCore

2011-05-20 Piroska András <Piroska.Andras@stud.u-szeged.hu>

Reviewed by Nikolas Zimmermann.

Apply the ParallelJobs support to FEConvolveMatrix
https://bugs.webkit.org/show_bug.cgi?id=61171

The FEConvolveMatrix filter of SVG can consume lots of resources if it is
applied to a large area. The computation can be distributed to multiple
cores if the architecture supports.
The average performance progression is 20-30% on dual-core machines.

Developed in cooperation with Gabor Loki.

  • platform/graphics/filters/FEConvolveMatrix.cpp: (WebCore::FEConvolveMatrix::fastSetInteriorPixels): (WebCore::FEConvolveMatrix::setInteriorPixels): (WebCore::FEConvolveMatrix::setInteriorPixelsWorker): (WebCore::FEConvolveMatrix::apply):
  • platform/graphics/filters/FEConvolveMatrix.h:
1:48 AM Changeset in webkit [86930] by tkent@chromium.org
  • 32 edits in trunk/Tools

2011-05-20 Kent Tamura <tkent@chromium.org>

Reviewed by Ryosuke Niwa.

Fix style errors in DumpRenderTree/chromium/.
https://bugs.webkit.org/show_bug.cgi?id=61172

  • DumpRenderTree/chromium/CppBoundClass.cpp: (CppBoundClass::getAsCppVariant): (CppBoundClass::bindToJavascript):
  • DumpRenderTree/chromium/CppBoundClass.h: (CppBoundClass::GetterCallback::~GetterCallback): (CppBoundClass::CppBoundClass): (CppBoundClass::Callback::~Callback): (CppBoundClass::MemberCallback::MemberCallback): (CppBoundClass::MemberCallback::~MemberCallback): (CppBoundClass::MemberGetterCallback::MemberGetterCallback): (CppBoundClass::MemberGetterCallback::~MemberGetterCallback):
  • DumpRenderTree/chromium/CppVariant.h:
  • DumpRenderTree/chromium/DRTDevToolsAgent.h: (DRTDevToolsAgent::~DRTDevToolsAgent):
  • DumpRenderTree/chromium/DRTDevToolsClient.cpp: (DRTDevToolsClient::sendFrontendLoaded):
  • DumpRenderTree/chromium/DRTDevToolsClient.h:
  • DumpRenderTree/chromium/DumpRenderTree.cpp: (main):
  • DumpRenderTree/chromium/EventSender.cpp: (SavedEvent::SavedEvent): (EventSender::EventSender): (EventSender::keyDown):
  • DumpRenderTree/chromium/EventSender.h:
  • DumpRenderTree/chromium/ImageDiff.cpp: (Image::Image):
  • DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::WorkQueue::reset): (WorkItemBackForward::WorkItemBackForward): (WorkItemLoadingScript::WorkItemLoadingScript): (WorkItemNonLoadingScript::WorkItemNonLoadingScript): (WorkItemLoad::WorkItemLoad): (WorkItemLoadHTMLString::WorkItemLoadHTMLString): (LayoutTestController::pathToLocalResource):
  • DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController::WorkItem::~WorkItem): (LayoutTestController::WorkQueue::WorkQueue):
  • DumpRenderTree/chromium/MockSpellCheck.cpp: (MockSpellCheck::MockSpellCheck): (MockSpellCheck::~MockSpellCheck):
  • DumpRenderTree/chromium/MockSpellCheck.h:
  • DumpRenderTree/chromium/NotificationPresenter.h: (NotificationPresenter::NotificationPresenter):
  • DumpRenderTree/chromium/Task.cpp: (WebTask::WebTask):
  • DumpRenderTree/chromium/Task.h: (TaskList::TaskList):
  • DumpRenderTree/chromium/TestEventPrinter.cpp: (DRTPrinter::DRTPrinter): (TestShellPrinter::TestShellPrinter):
  • DumpRenderTree/chromium/TestNavigationController.cpp: (TestNavigationEntry::TestNavigationEntry): (TestNavigationEntry::~TestNavigationEntry): (TestNavigationController::TestNavigationController): (TestNavigationController::reload): (TestNavigationController::loadEntry): (TestNavigationController::didNavigateToEntry):
  • DumpRenderTree/chromium/TestNavigationController.h: (TestShellExtraData::TestShellExtraData):
  • DumpRenderTree/chromium/TestShell.cpp: (dumpHistoryItem):
  • DumpRenderTree/chromium/TestShell.h: (TestParams::TestParams):
  • DumpRenderTree/chromium/TestShellWin.cpp: (TestShell::waitTestFinished):
  • DumpRenderTree/chromium/TestWebWorker.h: (TestWebWorker::startWorkerContext): (TestWebWorker::terminateWorkerContext): (TestWebWorker::postMessageToWorkerContext): (TestWebWorker::clientDestroyed): (TestWebWorker::postMessageToWorkerObject): (TestWebWorker::postExceptionToWorkerObject): (TestWebWorker::postConsoleMessageToWorkerObject): (TestWebWorker::confirmMessageFromWorkerObject): (TestWebWorker::reportPendingActivity): (TestWebWorker::workerContextClosed): (TestWebWorker::~TestWebWorker):
  • DumpRenderTree/chromium/TextInputController.cpp:
  • DumpRenderTree/chromium/WebThemeControlDRTWin.h:
  • DumpRenderTree/chromium/WebThemeEngineDRTMac.h:
  • DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp: (WebThemeEngineDRTWin::paintButton): (WebThemeEngineDRTWin::paintMenuList): (WebThemeEngineDRTWin::paintTrackbar):
  • DumpRenderTree/chromium/WebThemeEngineDRTWin.h: (WebThemeEngineDRTWin::WebThemeEngineDRTWin):
  • DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::navigate): (WebViewHost::updateSessionHistory): (WebViewHost::paintInvalidatedRegion):
  • DumpRenderTree/chromium/WebViewHost.h:
1:14 AM Changeset in webkit [86929] by commit-queue@webkit.org
  • 31 edits
    7 deletes in trunk

2011-05-20 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r86920.
http://trac.webkit.org/changeset/86920
https://bugs.webkit.org/show_bug.cgi?id=61173

It cause compile error on some buildbot in chromium. e.g.
http://build.chromium.org/p/chromium.memory/builders/Chromium%20Mac%20Builder%20%28valgrind%29/builds/12336/steps/compile/logs/stdio#error1
(Requested by ukai_ on #webkit).

  • css3/images/optimize-contrast-canvas-expected.png: Removed.
  • css3/images/optimize-contrast-canvas-expected.txt: Removed.
  • css3/images/optimize-contrast-canvas.html: Removed.
  • css3/images/optimize-contrast-image-expected.png: Removed.
  • css3/images/optimize-contrast-image-expected.txt: Removed.
  • css3/images/optimize-contrast-image.html: Removed.
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:

2011-05-20 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r86920.
http://trac.webkit.org/changeset/86920
https://bugs.webkit.org/show_bug.cgi?id=61173

It cause compile error on some buildbot in chromium. e.g.
http://build.chromium.org/p/chromium.memory/builders/Chromium%20Mac%20Builder%20%28valgrind%29/builds/12336/steps/compile/logs/stdio#error1
(Requested by ukai_ on #webkit).

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue):
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EImageRendering):
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • css/CSSValueKeywords.in:
  • css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
  • css/SVGCSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty):
  • css/SVGCSSValueKeywords.in:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::paint):
  • html/HTMLCanvasElement.h:
  • platform/graphics/ImageRenderingMode.h: Removed.
  • rendering/RenderBoxModelObject.cpp: (WebCore::ImageQualityController::shouldPaintAtLowQuality):
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paintReplaced):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff):
  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::diff):
  • rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialImageRendering): (WebCore::SVGRenderStyle::setImageRendering): (WebCore::SVGRenderStyle::imageRendering): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults):
  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator==):
  • rendering/style/StyleRareInheritedData.h:
  • rendering/svg/SVGRenderTreeAsText.cpp: (WebCore::writeStyle):
1:01 AM Changeset in webkit [86928] by krit@webkit.org
  • 4 edits
    2 adds in trunk

2011-05-20 Dirk Schulze <krit@webkit.org>

Reviewed by Eric Seidel.

SVG Large curve path segment OOM crash
https://bugs.webkit.org/show_bug.cgi?id=42079

Limit the depth of repeatedly splitting a segment on length calculation to 20. The limitation
is necessary for very big segments that would be splitter into millions of parts otherwise.
The limitation just cause a less accurate approximation.
At the moment the limit is fixed to 20. This is comparable with splitting the segment into
~1 million parts as a worst case. We might want to be more flexible later.

Test: svg/custom/path-getTotalLength-on-big-segment-crash.svg

  • platform/graphics/PathTraversalState.cpp: (WebCore::midPoint): (WebCore::curveLength): (WebCore::PathTraversalState::PathTraversalState): (WebCore::PathTraversalState::moveTo): (WebCore::PathTraversalState::quadraticBezierTo): (WebCore::PathTraversalState::cubicBezierTo):
  • platform/graphics/PathTraversalState.h:

2011-05-20 Dirk Schulze <krit@webkit.org>

Reviewed by Eric Seidel.

SVG Large curve path segment OOM crash
https://bugs.webkit.org/show_bug.cgi?id=42079

Added a test to verify, that the browser does not crash on calculating the total length on big segments.
It makes no sense to add the result of getTotalLength(), since they differ a lot bewteen platforms.
This is caused by the platform graphic libraries. See comment #9 on the bug.

  • svg/custom/path-getTotalLength-on-big-segment-crash-expected.txt: Added.
  • svg/custom/path-getTotalLength-on-big-segment-crash.svg: Added.
12:56 AM Changeset in webkit [86927] by leo.yang@torchmobile.com.cn
  • 3 edits in trunk/Source/WebCore

2011-05-20 Leo Yang <leo.yang@torchmobile.com.cn>

Reviewed by Nikolas Zimmermann.

SVGRootInlineBox triggers calculateBoundaries twice in layout
https://bugs.webkit.org/show_bug.cgi?id=60979

SVGRootInlineBox was calculating boundaries for children twice
in computePerCharacterLayoutInformation(). The first time of
calculation was in layoutChildBoxes() which is called by
computePerCharacterLayoutInformation(), and the second time of
calculation was in layoutRootBox() following layoutChildBoxes().

This patch calculates rectangle of children in layoutChildBoxes()
and then uses the rectange in layoutRootBox() to reduce a pass
of calculating child boundaries.

No functionality change, no new tests.

  • rendering/svg/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): (WebCore::SVGRootInlineBox::layoutChildBoxes): (WebCore::SVGRootInlineBox::layoutRootBox):
  • rendering/svg/SVGRootInlineBox.h:
Note: See TracTimeline for information about the timeline view.