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

Timeline



Jul 13, 2011:

11:27 PM Changeset in webkit [90982] by Csaba Osztrogonác
  • 1 edit
    2 adds in trunk/LayoutTests

[Qt] Add platform specific expected result for a new test.

  • platform/qt/fast/forms/textarea-placeholder-wrapping-expected.png: Added.
  • platform/qt/fast/forms/textarea-placeholder-wrapping-expected.txt: Added.
11:23 PM Changeset in webkit [90981] by morrita@google.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed attempt at a build fix.

  • win/WebKit2CFLite.def:
10:54 PM Changeset in webkit [90980] by loislo@chromium.org
  • 5 edits in trunk

Web Inspector: if you rename an element into the INPUT element the browser will crash.
https://bugs.webkit.org/show_bug.cgi?id=64292

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setNodeName):
Unnecessary function call copyNonAttributeProperties was removed.

LayoutTests:

  • inspector/elements/edit-dom-actions-expected.txt:
  • inspector/elements/edit-dom-actions.html:
10:32 PM Changeset in webkit [90979] by yutak@chromium.org
  • 15 edits
    9 adds in trunk

WebSocket: Implement hybi handshake
https://bugs.webkit.org/show_bug.cgi?id=64344

Reviewed by Kent Tamura.

Source/WebCore:

Implement WebSocket handshake which is described at
<http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.

Notable differences from hixie-76 protocol are:

  • Challenge-response scheme has been changed dramatically.
  • Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
  • The value of "Upgrade" header has been changed to "websocket" (lower-case only).
  • "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".

New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html

http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html

Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
yet, because pywebsocket does not accept requests from half-baked client implementation
(i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
in WebCore.

  • websockets/WebSocketHandshake.cpp:

Functions and members only used for hixie-76 handshake are renamed so that they are not confused
with hybi-10's ones.
(WebCore::generateHixie76SecWebSocketKey):
(WebCore::generateHixie76Key3):
(WebCore::generateHixie76ExpectedChallengeResponse):
(WebCore::generateSecWebSocketKey):
Generates a value for Sec-WebSocket-Key as stated in hybi-10.
(WebCore::getExpectedWebSocketAccept):
Calculates the expected value of Sec-WebSocket-Accept.
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::clientHandshakeMessage):
(WebCore::WebSocketHandshake::clientHandshakeRequest):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::serverWebSocketAccept):
(WebCore::WebSocketHandshake::serverWebSocketExtensions):
(WebCore::WebSocketHandshake::checkResponseHeaders):

  • websockets/WebSocketHandshake.h:

LayoutTests:

Fix existing tests so they match the new handshake format, and add tests for new header fields.

There are several changes in the format of handshake response, such as:

  • Reason string in HTTP status line has been changed to "Switching Protocols".
  • The value of "Upgrade" header has been changed to "websocket" (lower-case only).
  • Sec-WebSocket-Location and Sec-WebSocket-Origin are gone.
  • "Challenge response" value (16-byte data after the response header fields) is removed, and Sec-WebSocket-Accept header is added instead.

The value of Sec-WebSocket-Accept header is computed using compute_accept() function
located in mod_pywebsocket.handshake.hybi06 module. Although the module name contains
"hybi06", this function can be used to calculate the value of Sec-WebSocket-Accept header
for hybi-10 (calculation method has not been changed since hybi-06).

Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
yet, because pywebsocket does not accept requests from half-baked client implementation
(i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
in WebCore.

  • http/tests/websocket/tests/handler_map.txt:

There must be only one handler that can handle requests to "/". hybi/echo-location_wsh.py
is modified to accept requests of both protocol versions.

  • http/tests/websocket/tests/hybi/bad-handshake-crash_wsh.py:
  • http/tests/websocket/tests/hybi/echo-challenge_wsh.py:
  • http/tests/websocket/tests/hybi/echo-location_wsh.py:
  • http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header_wsh.py: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-maxlength_wsh.py:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header-expected.txt: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header_wsh.py: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header_wsh.py:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-cr_wsh.py:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header_wsh.py:
  • http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null_wsh.py:
  • http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header-expected.txt: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header_wsh.py: Added.
  • http/tests/websocket/tests/hybi/long-invalid-header_wsh.py:
  • http/tests/websocket/tests/hybi/workers/resources/echo-challenge_wsh.py:
10:05 PM Changeset in webkit [90978] by commit-queue@webkit.org
  • 14 edits in trunk/Tools

Move webkitpy off of loose mocks
https://bugs.webkit.org/show_bug.cgi?id=64508

Reviewed by Adam Barth.

Using Mock has caused us more pain than help.
It's possible that there was a cleaner way to use it
(maybe Mock(class) instead of inheriting from it?).
But for now, I've removed all uses of Mock from mocktool.py.

I also moved run_command into the only 3 files which call it
instead of leaving the deprecated method in executive.py.

I changed various direct calls to os.* to use filesystem instead.

  • Scripts/webkitpy/common/checkout/checkout.py:
  • Scripts/webkitpy/common/checkout/checkout_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/git.py:
  • Scripts/webkitpy/common/checkout/scm/scm.py:
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/svn.py:
  • Scripts/webkitpy/common/system/executive.py:
  • Scripts/webkitpy/common/system/executive_unittest.py:
  • Scripts/webkitpy/tool/mocktool.py:
  • Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py:
  • Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
9:13 PM Changeset in webkit [90977] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

NRWT doesn't store the svn revision in full_results.json on chromium-win
https://bugs.webkit.org/show_bug.cgi?id=64492

Reviewed by Adam Barth.

Add a warning message in the revision= case to help us diagnose
what's going wrong on the bot.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:
8:39 PM Changeset in webkit [90976] by morrita@google.com
  • 22 edits
    2 adds in trunk

.: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

Added GTK symbols for new window.internals methods.

  • Source/autotools/symbols.filter:

Source/WebCore: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

  • Introduced ShadowInclusionSet to manage included nodes to its includer content element. ShadowInclusionSet instance is owned by ShadowRoot.
  • Updated the set on inclusion list changes.
  • Used the set to retrieve the content element of NodeRenderingContext.

There are also related refactoring and cleanup:

  • Renamed NodeRenderingContext::m_contentElement to m_includer
  • ShadowContentSelector::m_activeElement is no longer used, thus removed.

Test: fast/dom/shadow/content-element-includer.html

  • WebCore.exp.in:
  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):

  • dom/NodeRenderingContext.h:

(WebCore::NodeRenderingContext::includer):

  • dom/ShadowContentElement.cpp:

(WebCore::removeFromSet): Added
(WebCore::addToSet): Added
(WebCore::ShadowContentElement::attach):
(WebCore::ShadowContentElement::detach):

  • dom/ShadowContentElement.h:

(WebCore::ShadowInclusionSet::add):
(WebCore::ShadowInclusionSet::remove):
(WebCore::ShadowInclusionSet::isEmpty):
(WebCore::ShadowInclusionSet::Translator::hash):
(WebCore::ShadowInclusionSet::Translator::equal):
(WebCore::ShadowInclusionSet::Hash::hash):
(WebCore::ShadowInclusionSet::Hash::equal):
(WebCore::ShadowInclusionSet::find):

  • dom/ShadowContentSelector.cpp:

(WebCore::ShadowContentSelector::ShadowContentSelector):
(WebCore::ShadowContentSelector::selectInclusion):

  • dom/ShadowContentSelector.h:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::includerFor): Replaced activeElement()
(WebCore::ShadowRoot::inclusions): Added
(WebCore::ShadowRoot::ensureInclusions): Added

  • dom/ShadowRoot.h:

(WebCore::toShadowRoot):

  • testing/Internals.cpp:

(WebCore::Internals::includerFor):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit2: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

Exported additional symbols for window.internals object.

  • win/WebKit2.def:

LayoutTests: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

  • Added a new test.
  • Updated expectations. This change make ShadowContentElement availability on NodeRenderingContext more strict. that makes some redundant node disappeared.
  • fast/dom/shadow/content-element-includer-expected.txt: Added.
  • fast/dom/shadow/content-element-includer.html: Added.
  • platform/chromium-win/fast/html/details-nested-2-expected.txt:
  • platform/gtk/fast/html/details-nested-2-expected.txt:
  • platform/mac/fast/html/details-nested-2-expected.txt:
  • platform/qt/fast/html/details-nested-2-expected.txt:
7:48 PM Changeset in webkit [90975] by scheib@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Update chromium test expectations.

  • platform/chromium/test_expectations.txt:
7:40 PM Changeset in webkit [90974] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Qt] Remove duplicated entries.

  • platform/qt/test_expectations.txt:
7:32 PM Changeset in webkit [90973] by dpranke@chromium.org
  • 3 edits in trunk/Tools

new-run-webkit-tests: print baseline search path as part of config output
https://bugs.webkit.org/show_bug.cgi?id=64499

Reviewed by Eric Seidel.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:
  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
7:25 PM Changeset in webkit [90972] by dominicc@chromium.org
  • 12 edits
    2 adds in trunk

Raise if dispatchEvent dispatches an event that is being dispatched
https://bugs.webkit.org/show_bug.cgi?id=64150

Reviewed by Dimitri Glazkov.

Source/WebCore:

Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent

Test: fast/events/dispatch-event-being-dispatched.html

  • dom/Event.h:

(WebCore::Event::isBeingDispatched): Added.

  • dom/EventException.h:
  • dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
  • dom/EventTarget.cpp:

(WebCore::EventTarget::dispatchEvent): Raise if being dispatched.

  • dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.

LayoutTests:

  • fast/dom/Window/window-properties-expected.txt: Added DISPATCH_REQUEST_ERR.
  • fast/events/dispatch-event-being-dispatched-expected.txt: Added.
  • fast/events/dispatch-event-being-dispatched.html: Added.
  • fast/workers/resources/worker-event-listener.js:

(onmessage): Redispatching the MessageEvent throws an exception now.

  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
  • platform/qt/fast/dom/Window/window-properties-expected.txt:
7:16 PM Changeset in webkit [90971] by tkent@chromium.org
  • 47 edits
    3 adds in trunk

Implement text field placeholders using shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=64253

Reviewed by Dimitri Glazkov.

Source/WebCore:

Represents a placeholder text as a shadow element, and its
visibility is controlled by 'visibility' CSS property.

This patch removes all of existing code about placeholder from
RenderTextControl*. RenderTextControl* have only small code about
placeholder layout.

Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
the placeholder style uses Element::shadowPseudoId().

This fixes the following regressions:

Test: fast/forms/textarea-placeholder-wrapping.html

  • css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.

(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):

  • css/CSSSelector.h: ditto.
  • css/html.css:

(::-webkit-input-placeholder): Added. This contains properties
common in <input> and <textarea>. Some properties have !important
so that a stylesheet specified by a page author won't break
WebKit's assumption.
(input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):

Added the default style for <input> placeholders.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
(WebCore::HTMLInputElement::updatePlaceholderText): ditto.

  • html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::createRenderer):
Remove the 'placeholderVisible' argument.
(WebCore::HTMLTextAreaElement::placeholderElement): Added.
(WebCore::HTMLTextAreaElement::updatePlaceholderText):

Added. This creates, deletes, or updates the placeholder element.

  • html/HTMLTextAreaElement.h:
  • Declare placeholderElement() and updatePlaceholderText().
  • Add m_placeholder.
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
Update the placeholder element and 'visibility' CSS property,
instead of delegating the job to a renderer.

  • html/HTMLTextFormControlElement.h:

Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().

  • html/InputType.cpp:

(WebCore::InputType::placeholderElement): Add an empty implementation.
(WebCore::InputType::updatePlaceholderText): Add an empty implementation.

  • html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createRenderer):
Remove the 'placeholderVisible' argument.
(WebCore::TextFieldInputType::placeholderElement): Added.
(WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
(WebCore::TextFieldInputType::updatePlaceholderText):

Added. This creates, deletes, or updates the placeholder element.

  • html/TextFieldInputType.h:
  • Declare placeholderElement() and updatePlaceholderText().
  • Add m_placeholder.
  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::RenderTextControl):
Remove the 'placeholderVisible' argument.
(WebCore::RenderTextControl::layoutSpecialExcludedChild):
Excludes the placeholder renderer in order to avoid to secure a box for
the placeholder.

  • rendering/RenderTextControl.h:
  • Remove declarations of removed functions.
  • Update the RenderTextControl signature.
  • Add layoutSpecialExcludedChild().
  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
Remove the 'placeholderVisible' argument.
(WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
Laying out the placeholder box so that it has correct width and location.

  • rendering/RenderTextControlMultiLine.h:
  • Remove declarations of removed functions.
  • Update the RenderTextControlMultiLine signature.
  • Add layoutSpecialExcludedChild().
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
Remove the 'placeholderVisible' argument.
(WebCore::RenderTextControlSingleLine::layout):
Laying out the placeholder box so that it has correct width and location.

  • rendering/RenderTextControlSingleLine.h:
  • Remove declarations of removed functions.
  • Update the RenderTextControlSingleLine signature.
  • rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.

LayoutTests:

Add some test cases, and update expectations because placeholders
have their renderers.

  • fast/forms/input-placeholder-text-indent.html: Remove an obsolete comment. A placeholder respects a percentage indent.
  • fast/forms/placeholder-position.html: Add tests for line-height and text-align.
  • fast/forms/textarea-placeholder-wrapping.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/fast/css/pseudo-cache-stale-expected.txt:
  • platform/mac/fast/forms/input-placeholder-text-indent-expected.png:
  • platform/mac/fast/forms/input-placeholder-text-indent-expected.txt:
  • platform/mac/fast/forms/isindex-placeholder-expected.png:
  • platform/mac/fast/forms/isindex-placeholder-expected.txt:
  • platform/mac/fast/forms/password-placeholder-expected.txt:
  • platform/mac/fast/forms/password-placeholder-text-security-expected.png:
  • platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.png:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.png:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
  • platform/mac/fast/forms/placeholder-stripped-expected.txt:
  • platform/mac/fast/forms/search-placeholder-value-changed-expected.txt:
  • platform/mac/fast/forms/search-styled-expected.png:
  • platform/mac/fast/forms/search-styled-expected.txt:
  • platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/textarea-placeholder-set-attribute-expected.txt:
  • platform/mac/fast/forms/textarea-placeholder-wrapping-expected.png: Added.
  • platform/mac/fast/forms/textarea-placeholder-wrapping-expected.txt: Added.
  • platform/qt/test_expectations.txt:
7:05 PM Changeset in webkit [90970] by simonjam@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove hack that forcefully prevents scripts from running in shadow SVG
https://bugs.webkit.org/show_bug.cgi?id=64419

This hack was put in to prevent scripts from running in shadow SVG. This should never have
happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
r88584, so the hack is no longer needed.

No new tests since there is no change in functionality.

Reviewed by Tony Gentilcore.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::prepareScript):

6:46 PM Changeset in webkit [90969] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Clean undeeded WebCore:: namespace prefixing from WebBindings.
https://bugs.webkit.org/show_bug.cgi?id=64361

Patch by Noel Gordon <noel.gordon@gmail.com> on 2011-07-13
Reviewed by Kent Tamura.

  • src/WebBindings.cpp:

(WebKit::makeIntArrayImpl):
(WebKit::makeStringArrayImpl):

6:39 PM Changeset in webkit [90968] by abarth@webkit.org
  • 8 edits in trunk/Tools

gardening server should have an API for parsing changelogs
https://bugs.webkit.org/show_bug.cgi?id=64495

Reviewed by Eric Seidel.

This patch exposes much of the same information from CommitInfo in a
dictionary form, which is easier to send over-the-wire as JSON to the
frontend.

  • Scripts/webkitpy/common/checkout/checkout.py:
  • Scripts/webkitpy/common/checkout/checkout_unittest.py:
  • Scripts/webkitpy/tool/mocktool.py:
  • Scripts/webkitpy/tool/servers/gardeningserver.py:
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
  • Scripts/webkitpy/tool/servers/reflectionhandler.py:
6:03 PM Changeset in webkit [90967] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

REGRESSION: GitTestWithMock.test_create_patch fails
https://bugs.webkit.org/show_bug.cgi?id=62945

Reviewed by Daniel Bates.

I was not able to reproduce the exact failure seen in the bug,
however this test was failing on my machine for other reasons.

I went through and did an audit of our run_command usage, it's
entirely in scm classes after this change. (Not surprising given
that scm.py was the second file ever created in webkit.py.)

The real bug I'm fixing here is that we were setting executive.should_log
when the value had changed to executive._should_log. Now we set the right one
and the test works again.

  • Scripts/webkitpy/common/checkout/checkout.py:
  • Scripts/webkitpy/common/checkout/scm/git.py:
  • Scripts/webkitpy/common/checkout/scm/scm.py:
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/svn.py:
5:29 PM Changeset in webkit [90966] by commit-queue@webkit.org
  • 10 edits
    3 adds in trunk

[CSSRegions] Parse -webkit-content-order property
https://bugs.webkit.org/show_bug.cgi?id=63897

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-13
Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/webkit-content-order-parsing.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::regionIndex):
(WebCore::InheritedFlags::setRegionIndex):
(WebCore::InheritedFlags::initialRegionIndex):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

  • fast/regions/script-tests/webkit-content-order-parsing.js: Added.
  • fast/regions/webkit-content-order-parsing-expected.txt: Added.
  • fast/regions/webkit-content-order-parsing.html: Added.
4:45 PM Changeset in webkit [90965] by isherman@chromium.org
  • 3 edits in trunk/Tools

Fix WTF header guard style check
https://bugs.webkit.org/show_bug.cgi?id=64488

Reviewed by David Levin.

  • Scripts/webkitpy/style/checkers/cpp.py:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Verify that we don't *always* suggest "WTF_" as a prefix
4:31 PM Changeset in webkit [90964] by ojan@chromium.org
  • 3 edits in trunk/Tools

bring flakiness_dashboard.html closer to webkit style
https://bugs.webkit.org/show_bug.cgi?id=64477

Reviewed by Adam Barth.

  • TestResultServer/static-dashboards/dashboard_base.js:

Fix bad variable name that would hit only when running the tests.

  • TestResultServer/static-dashboards/flakiness_dashboard.html:

No code/logic changes. All moving/removing brackets, indents and moving things
to one line.

4:14 PM Changeset in webkit [90963] by commit-queue@webkit.org
  • 14 edits
    4 adds in trunk/Source/WebCore

Patch by James Robinson <jamesr@chromium.org> on 2011-07-13
Reviewed by Kenneth Russell.

[chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
https://bugs.webkit.org/show_bug.cgi?id=58833

Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
the drawing responsibilities for tiled layers.

TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
tiling transform and layer properties and draws the layer. Longer term it'd be better of the CCTiledLayerImpl
owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
way tile eviction works.

  • WebCore.gypi:
  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::ContentLayerChromium):
(WebCore::ContentLayerChromium::paintContentsIfDirty):
(WebCore::ContentLayerChromium::drawsContent):

  • platform/graphics/chromium/ContentLayerChromium.h:

(WebCore::ContentLayerChromium::textureUpdater):

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::cleanupResources):
(WebCore::ImageLayerChromium::paintContentsIfDirty):
(WebCore::ImageLayerChromium::textureUpdater):
(WebCore::ImageLayerChromium::contentBounds):
(WebCore::ImageLayerChromium::drawsContent):
(WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):

  • platform/graphics/chromium/ImageLayerChromium.h:
  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::pushPropertiesTo):
(WebCore::LayerChromium::ccLayerImpl):

  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawRootLayer):

  • platform/graphics/chromium/LayerTilerChromium.cpp:

(WebCore::LayerTilerChromium::updateRect):
(WebCore::LayerTilerChromium::draw):
(WebCore::LayerTilerChromium::drawTiles):

  • platform/graphics/chromium/LayerTilerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp: Added.

(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::~TiledLayerChromium):
(WebCore::TiledLayerChromium::createCCLayerImpl):
(WebCore::TiledLayerChromium::cleanupResources):
(WebCore::TiledLayerChromium::setLayerRenderer):
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::createTilerIfNeeded):
(WebCore::TiledLayerChromium::updateCompositorResources):
(WebCore::TiledLayerChromium::setTilingOption):
(WebCore::TiledLayerChromium::setIsMask):
(WebCore::TiledLayerChromium::tilingTransform):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::writeIndent):
(WebCore::TiledLayerChromium::dumpLayerProperties):

  • platform/graphics/chromium/TiledLayerChromium.h: Added.
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::draw):

  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore::CCLayerImpl::setDrawsContent):
(WebCore::CCLayerImpl::drawsContent):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.

(WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
(WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
(WebCore::CCTiledLayerImpl::draw):
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::dumpLayerProperties):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.

(WebCore::CCTiledLayerImpl::create):
(WebCore::CCTiledLayerImpl::setTilingTransform):
(WebCore::CCTiledLayerImpl::setTiler):

4:05 PM Changeset in webkit [90962] by msaboff@apple.com
  • 7 edits
    3 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=64202
Enh: Improve handling of RegExp in the form of /.*blah.*/

Reviewed by Gavin Barraclough.

../../../../Volumes/Data/src/webkit/LayoutTests:

New tests to support /.*<expression>.*/ enhancement.

  • fast/regex/dotstar-expected.txt: Added.
  • fast/regex/dotstar.html: Added.
  • fast/regex/script-tests/dotstar.js: Added.

../../../../Volumes/Data/src/webkit/Source/JavaScriptCore:

Added code to both the Yarr interpreter and JIT to handle
these expressions a little differently. First off, the terms
in between the leading and trailing .*'s cannot capture and
also this enhancement is limited to single alternative expressions.
If an expression is of the right form with the aforementioned
restrictions, we process the inner terms and then look for the
beginning of the string and end of the string. There is handling
for multiline expressions to allow the beginning and end to be
right after and right before newlines.

This enhancement speeds up expressions of this type 12x on
a MacBookPro.

Cleaned up 'case' statement indentation.

A new set of tests was added as LayoutTests/fast/regex/dotstar.html

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::InputStream::end):
(JSC::Yarr::Interpreter::matchDotStarEnclosure):
(JSC::Yarr::Interpreter::matchDisjunction):
(JSC::Yarr::ByteCompiler::assertionDotStarEnclosure):
(JSC::Yarr::ByteCompiler::emitDisjunction):

  • yarr/YarrInterpreter.h:

(JSC::Yarr::ByteTerm::DotStarEnclosure):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generateDotStarEnclosure):
(JSC::Yarr::YarrGenerator::backtrackDotStarEnclosure):
(JSC::Yarr::YarrGenerator::generateTerm):
(JSC::Yarr::YarrGenerator::backtrackTerm):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::setupAlternativeOffsets):
(JSC::Yarr::YarrPatternConstructor::containsCapturingTerms):
(JSC::Yarr::YarrPatternConstructor::optimizeDotStarWrappedExpressions):
(JSC::Yarr::YarrPattern::compile):

  • yarr/YarrPattern.h:

(JSC::Yarr::PatternTerm::PatternTerm):

4:00 PM Changeset in webkit [90961] by jchaffraix@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove an unused bit in RenderObject
https://bugs.webkit.org/show_bug.cgi?id=64485

Reviewed by Darin Adler.

No change in behavior so no new test.

  • rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.

However it was not used in RenderObject and RenderTableCell already packed this bit.
We were lying in the number of used bits in RenderObject which was 33. This change
brings us back to what was advertised.

3:57 PM Changeset in webkit [90960] by scheib@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Update chromium test expectations.

  • platform/chromium/test_expectations.txt:
3:56 PM Changeset in webkit [90959] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

2011-07-13 Simon Fraser <Simon Fraser>

Fix non-debug builds.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer):
3:50 PM Changeset in webkit [90958] by scheib@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r90957.
http://trac.webkit.org/changeset/90957

Fixing incorrect test expectations

  • platform/chromium/test_expectations.txt:
3:46 PM Changeset in webkit [90957] by scheib@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Update chromium test expectations.

  • platform/chromium/test_expectations.txt:
3:27 PM Changeset in webkit [90956] by vitalyr@chromium.org
  • 3 edits in trunk/Source/WebCore

2011-07-13 Vitaly Repeshko <vitalyr@chromium.org>

[chromium] Fix mac build after r90949.

  • bindings/v8/V8HiddenPropertyName.cpp: (WebCore::V8HiddenPropertyName::hiddenReferenceName):
  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::toV8Object):
3:24 PM Changeset in webkit [90955] by eae@chromium.org
  • 13 edits in trunk/Source/WebCore

Switch table rendering to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=64478

Reviewed by Eric Seidel.

No new tests, no new functionality.

  • rendering/AutoTableLayout.cpp:
  • rendering/AutoTableLayout.h:
  • rendering/HitTestResult.cpp:
  • rendering/HitTestResult.h:
  • rendering/LayoutTypes.h:
  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderObject.h:
  • rendering/RenderTable.cpp:
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp:
  • rendering/RenderTableCell.h:
2:57 PM Changeset in webkit [90954] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

2011-07-13 Simon Fraser <Simon Fraser>

Factor some GraphicsLayer creation code in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=64487

Reviewed by Sam Weinig.

Move the GraphicsLayer::create() calls into once place so that we
don't have lots of #ifndef NDEBUG in various places, and can share
more code in future.

No behavior change, so no new tests.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::~RenderLayerBacking): (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): (WebCore::RenderLayerBacking::destroyGraphicsLayers): (WebCore::RenderLayerBacking::updateLayerTransform): (WebCore::RenderLayerBacking::updateClippingLayers): (WebCore::RenderLayerBacking::updateOverflowControlsLayers): (WebCore::RenderLayerBacking::updateForegroundLayer): (WebCore::RenderLayerBacking::updateMaskLayer):
  • rendering/RenderLayerBacking.h:
2:55 PM Changeset in webkit [90953] by xan@webkit.org
  • 6 edits in trunk

Tools:

2011-07-13 Xan Lopez <xlopez@igalia.com>

[GTK] Fix distcheck

Reviewed by Martin Robinson.

  • WebKitTestRunner/GNUmakefile.am: mark built sources as nodist.

WebCore:

2011-07-13 Xan Lopez <xlopez@igalia.com>

[GTK] Fix distcheck.

Reviewed by Martin Robinson.

  • GNUmakefile.list.am: add missing files.

JavaScriptCore:

2011-07-13 Xan Lopez <xlopez@igalia.com>

[GTK] Fix distcheck

Reviewed by Martin Robinson.

  • GNUmakefile.list.am: add missing files.
2:51 PM Changeset in webkit [90952] by jamesr@google.com
  • 6 edits in trunk/Source

[chromium] No implementation defined for WTF::monotonicallyIncreasingTime
https://bugs.webkit.org/show_bug.cgi?id=64420

Reviewed by Tony Gentilcore.

Source/WebCore:

Removes some redundant time related code.

  • platform/chromium/PlatformBridge.h:
  • platform/chromium/SystemTimeChromium.cpp:

(WebCore::userIdleTime):

Source/WebKit/chromium:

Provides an implementation of WTF::monotonicallyIncreasingTime() alongside the implementation of
WTF::currentTime().

  • src/ChromiumCurrentTime.cpp:

(WTF::monotonicallyIncreasingTime):

  • src/PlatformBridge.cpp:
2:45 PM Changeset in webkit [90951] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Unreviewed fix. Add a "\n" to a printf that somehow got lost.

2011-07-13 Joseph Pecoraro <Joseph Pecoraro>

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::dumpApplicationCacheQuota):
2:44 PM Changeset in webkit [90950] by commit-queue@webkit.org
  • 8 edits in trunk/Source/JavaScriptCore

DFG JIT does not implement prototype chain or list caching for get_by_id.
https://bugs.webkit.org/show_bug.cgi?id=64147

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-13
Reviewed by Gavin Barraclough.

This implements unified support for prototype caching, prototype chain
caching, and polymorphic (i.e. list) prototype and prototype chain
caching. This is done by creating common code for emitting prototype
or chain access stubs, and having it factored out into
generateProtoChainAccessStub(). This function is called by
tryCacheGetByID once the latter determines that some form of prototype
access caching is necessary (i.e. the slot being accessed is not on the
base value but on some other object).

Direct prototype list, and prototype chain list, caching is implemented by
linking the slow path to operationGetByIdProtoBuildList(), which uses the
same helper function (generateProtoChainAccessStub()) as tryCacheGetByID.

This change required ensuring that the value in the scratchGPR field in
StructureStubInfo is preserved even after the stub info is in the
chain, or proto_list, states. Hence scratchGPR was moved out of the union
and into the top-level of StructureStubInfo.

  • bytecode/StructureStubInfo.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGRepatch.cpp:

(JSC::DFG::emitRestoreScratch):
(JSC::DFG::linkRestoreScratch):
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDProtoList):
(JSC::DFG::dfgBuildGetByIDProtoList):
(JSC::DFG::tryCachePutByID):

  • dfg/DFGRepatch.h:
2:44 PM Changeset in webkit [90949] by vitalyr@chromium.org
  • 16 edits in trunk/Source/WebCore

2011-07-13 Vitaly Repeshko <vitalyr@chromium.org>

[V8] Avoid memory leaks with hidden references.
https://bugs.webkit.org/show_bug.cgi?id=64467

Reviewed by Adam Barth.

We used to have growing arrays of hidden references associated
with objects. The entries in this array had no keys and were never
removed. This patch changes the interface to require a reference
name. This way it's harder to leak an unbounded number of
objects. Also it makes our wrapper objects one machine word
smaller.

2:40 PM Changeset in webkit [90948] by Joseph Pecoraro
  • 10 edits in trunk/Source

Improve names of some ApplicationCacheStorage accessor methods
https://bugs.webkit.org/show_bug.cgi?id=64433

Reviewed by Alexey Proskuryakov.

2011-07-13 Joseph Pecoraro <Joseph Pecoraro>

Some methods returned a bool for success/failure and
actually returned a value as an out parameter so their
name was confusing. Rename these methods to make them
more clear.

(WebCore::ApplicationCache::diskUsageForOrigin):

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin): (WebCore::ApplicationCacheStorage::calculateUsageForOrigin): (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache): (WebCore::ApplicationCacheStorage::checkOriginQuota):
  • loader/appcache/ApplicationCacheStorage.h:
  • loader/appcache/ApplicationCache.cpp: Rename the methods.
  • WebCore.exp.in: Replaced old versions. Also, calculateRemaining wasn't needed outside WebCore, so no longer export it.
2:40 PM Changeset in webkit [90947] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebCore

Some ApplicationCache Origin Cleanup
https://bugs.webkit.org/show_bug.cgi?id=64431

Reviewed by Alexey Proskuryakov.

2011-07-13 Joseph Pecoraro <Joseph Pecoraro>

  • m_loadedSize is inaccurate. This just replaces it with calls to ApplicationCache::estimatedSizeInStorage.
  • m_availableSpaceInQuota can get out of date, so we just recalculate it at the start of appcache downloads.
  • loader/appcache/ApplicationCacheGroup.h:
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::didReceiveData): Remove references to m_loadedSize.

(WebCore::ApplicationCacheGroup::didFinishLoading):
Replace m_loadedSize with estimatedSizeInStorage after we
add the new cached resource to the cache. The calculation
already happened so this check is fast.

(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
When we start the Downloading phase, recalculate the quota
so that we have an up to date quota value so that we can
break early if needed.

2:40 PM Changeset in webkit [90946] by Joseph Pecoraro
  • 10 edits in trunk

ApplicationCache Quota Output is Flakey
https://bugs.webkit.org/show_bug.cgi?id=64410

Reviewed by Alexey Proskuryakov.

2011-07-13 Joseph Pecoraro <Joseph Pecoraro>

Have the tests truncate the number of bytes needed in
the delegate callback to get an approximation of how
much space was needed.

  • http/tests/appcache/origin-quota-continued-download-expected.txt:
  • http/tests/appcache/origin-quota-continued-download-multiple-manifests-expected.txt:
  • http/tests/appcache/origin-quota-continued-download-multiple-manifests.html:
  • http/tests/appcache/origin-quota-expected.txt: Update the output and clarify what the multiple-manifests test is looking for in the space needed output.
  • platform/mac/Skipped:
  • platform/qt/Skipped: Unskip the tests.

2011-07-13 Joseph Pecoraro <Joseph Pecoraro>

Unify the delegate logging for reaching application cache
quotas. Truncate the space needed to the nearest 10000
for less flakey test output. This also better supports
printing NSUInteger on non-64 bit systems by casting to
an unsigned long.

  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:totalSpaceNeeded:]):
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::dumpApplicationCacheQuota):
1:55 PM Changeset in webkit [90945] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Update chromium gpu expectations.

  • platform/chromium/test_expectations.txt:
12:52 PM Changeset in webkit [90944] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Prettify spacing in test_expectations.txt

  • platform/chromium/test_expectations.txt: Ran through the new parser/serializer code.
12:41 PM Changeset in webkit [90943] by Dimitri Glazkov
  • 2 edits in trunk/Tools

Remove unused TestExpectations._overrides.
https://bugs.webkit.org/show_bug.cgi?id=64470

Reviewed by Adam Barth.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py: Removed unused member.
12:40 PM Changeset in webkit [90942] by Dimitri Glazkov
  • 3 edits in trunk/Tools

Introduce TestExpectationSerializer.list_to_string.
https://bugs.webkit.org/show_bug.cgi?id=64462

Reviewed by Adam Barth.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py: Added list_to_string and change the relevant callsite to use it.
  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Added tests for it.
12:36 PM Changeset in webkit [90941] by Dimitri Glazkov
  • 2 edits in trunk/Tools

Consolidate expectations parsing code.
https://bugs.webkit.org/show_bug.cgi?id=64460

Reviewed by Adam Barth.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py: Folded TestExpectationParser._split_expectation_string into TestExpectationParser.parse.
12:31 PM Changeset in webkit [90940] by bfulgham@webkit.org
  • 14 edits in trunk

Standardize WinCairo conditionalized code under PLATFORM macro.
https://bugs.webkit.org/show_bug.cgi?id=64377

Reviewed by Maciej Stachowiak.

Source/JavaScriptCore:

  • wtf/Platform.h: Update to use PLATFORM(WIN_CAIRO) for tests.

Source/WebCore:

Update compile-time conditions that had previously used #ifdef
of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).

  • WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration of WIN_CAIRO.
  • WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use the existing WinCairo.vsprops file.
  • WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
  • config.h: Update to use PLATFORM(WIN_CAIRO).

Tools:

Update compile-time conditions that had previously used #ifdef
of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).

  • DumpRenderTree/config.h: Switch to PLATFORM(WIN_CAIRO)
  • DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Remove redundant define of WIN_CAIRO=1.
  • DumpRenderTree/win/DumpRenderTreeDebugCairoCFLite.vsprops: Add WinCairo.vsprops to set (to match Release build).

WebKitLibraries:

  • win/tools/vsprops/WinCairo.vsprops: Update to comply with PLATFORM macro definition (WTF_PLATFORM_WIN_CAIRO)
12:19 PM Changeset in webkit [90939] by levin@chromium.org
  • 4 edits in trunk/Source

Possible race condition in ThreadIdentifierData::initializeKeyOnce and shouldCallRealDebugger.
https://bugs.webkit.org/show_bug.cgi?id=64465

Reviewed by Dmitry Titov.

There isn't a good way to test this as it is very highly unlikely to occur.

Source/JavaScriptCore:

  • wtf/ThreadIdentifierDataPthreads.cpp:

(WTF::ThreadIdentifierData::initializeKeyOnce): Since scoped static initialization
isn't thread-safe, change the initialization to be global.

Source/WebKit2:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::shouldCallRealDebugger): :Since scoped static initialization
isn't thread-safe, change the initialization to be global.

11:59 AM Changeset in webkit [90938] by barraclough@apple.com
  • 7 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=64424
Our direct eval behaviour deviates slightly from the spec.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

The ES5 spec defines a concept of 'Direct Call to Eval' (see section 15.1.2.1.1), where
behaviour will differ from that of an indirect call (e.g. " { eval: window.eval }.eval();"
or "var a = eval; a();" are indirect calls), particularly in non-strict scopes variables
may be introduced into the caller's environment.

ES5 direct calls are any call where the callee function is provided by a reference, a base
of that Reference is an EnvironmentRecord (this corresponds to all productions
"PrimaryExpression: Identifier", see 10.2.2.1 GetIdentifierReference), and where the name
of the reference is "eval". This means any expression of the form "eval(...)", and that
calls the standard built in eval method from on the Global Object, is considered to be
direct.

In JavaScriptCore we are currently overly restrictive. We also check that the
EnvironmentRecord that is the base of the reference is the Declaractive Environment Record
at the root of the scope chain, corresponding to the Global Object - an "eval(..)" statement
that hits a var eval in a nested scope is not considered to be direct. This behaviour does
not emanate from the spec, and is incorrect.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • Fixed direct eval check in op_call_eval.
  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • Fixed direct eval check in op_call_eval.
  • runtime/Executable.h:

(JSC::isHostFunction):

  • Added check for host function with specific NativeFunction.

LayoutTests:

Correct expected results.

  • fast/js/eval-keyword-vs-function-expected.txt:
  • fast/js/eval-keyword-vs-function.html:
11:56 AM Changeset in webkit [90937] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
https://bugs.webkit.org/show_bug.cgi?id=64464

Patch by Alexandru Chiculita <Alexandru Chiculita> on 2011-07-13
Reviewed by Tony Chang.

No new tests needed.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
(WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
(WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.

  • css/CSSPrimitiveValue.cpp:
  • css/CSSWrapShapes.h:

(WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
(WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.

  • rendering/style/RenderStyle.cpp:
  • rendering/style/StyleRareNonInheritedData.h:
11:51 AM Changeset in webkit [90936] by inferno@chromium.org
  • 4 edits
    1 copy
    1 add in trunk

Source/WebCore: Patch by Abhishek Arya <inferno@chromium.org> on 2011-07-13
Reviewed by Adam Barth.

Issue with Frame lifetime due to deletion in beforeload event.
https://bugs.webkit.org/show_bug.cgi?id=64457

Copy the Frame protector higher in the stack from loadWithDocumentLoader
to loadFrameRequest since any of loadPostRequest or loadURL can call
loadWithDocumentLoader, thereby dispatching the beforeload event and
blowing away the frame. This deleted frame will be later accessed in
the loadFrameRequest function causing a crash.

Test: fast/events/form-iframe-target-before-load-crash2.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadWithDocumentLoader):

LayoutTests: Tests that we do not crash when frame is blown away in a beforeload
event.
https://bugs.webkit.org/show_bug.cgi?id=64457

Reviewed by Adam Barth.

  • fast/events/form-iframe-target-before-load-crash.html:
  • fast/events/form-iframe-target-before-load-crash2-expected.txt: Added.
  • fast/events/form-iframe-target-before-load-crash2.html: Added.
11:49 AM Changeset in webkit [90935] by commit-queue@webkit.org
  • 5 edits in trunk

[CSSRegions]content:-webkit-from-flow not applied correctly
https://bugs.webkit.org/show_bug.cgi?id=64438

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-13
Reviewed by Tony Chang.

Source/WebCore:

Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).

Test: fast/regions/content-webkit-from-flow-parsing.html (existing).

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::getStringValue):

LayoutTests:

Correct the layout test for content:-webkit-from-flow parsing. Testing getComputedStyle values for content property
was not done properly, as "flow-name" was passed instead of "-webkit-from-flow:'flow-name'".

  • fast/regions/content-webkit-from-flow-parsing-expected.txt:
  • fast/regions/script-tests/content-webkit-from-flow-parsing.js:
11:40 AM Changeset in webkit [90934] by Dimitri Glazkov
  • 3 edits in trunk/Tools

Eliminate TestExpectationsFile.
https://bugs.webkit.org/show_bug.cgi?id=64458

Turns out, we can just use a Python list.

Reviewed by Adam Barth.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py: Folded TestExpectationsFile.append into TestExpectationParser.parse_list,

removed TestExpectationsFile.

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Moved tests to better reflect new names, removed iterator test,

since there's no more custom iterator machinery.

10:55 AM Changeset in webkit [90933] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Don't reuse the last InsertTextCommand
https://bugs.webkit.org/show_bug.cgi?id=64416

Reviewed by Justin Garcia.

This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
its constructor and executes the command in doApply like other edit commands.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::applyCommandToComposite): Added.

  • editing/CompositeEditCommand.h:
  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
(WebCore::InsertTextCommand::doApply): Renamed from input.

  • editing/InsertTextCommand.h:

(WebCore::InsertTextCommand::create): Takes arguments input used to take.

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.

10:50 AM Changeset in webkit [90932] by Philippe Normand
  • 2 edits in trunk/Tools

2011-07-13 Philippe Normand <pnormand@igalia.com>

Unreviewed, added my other email addresses.

  • Scripts/webkitpy/common/config/committers.py:
10:49 AM Changeset in webkit [90931] by dslomov@google.com
  • 12 edits in trunk/Source/WebCore

2011-07-12 Dmitry Lomov <dslomov@google.com>

https://bugs.webkit.org/show_bug.cgi?id=63041
[Chromium][V8] Make DOMDataStore per-isolate
This patch:

  • makes DOMData class an utility class with static members only
  • adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.

Dromaeo benchmarks are not affected.

Reviewed by Adam Barth.

10:36 AM Changeset in webkit [90930] by abarth@webkit.org
  • 2 edits in trunk/Tools

Folks should only be listed once.

  • Scripts/webkitpy/common/config/committers.py:
10:10 AM Changeset in webkit [90929] by Philippe Normand
  • 2 edits in trunk/Tools

2011-07-13 Philippe Normand <pnormand@igalia.com>

Unreviewed, adding myself as Reviewer.

  • Scripts/webkitpy/common/config/committers.py:
10:09 AM Changeset in webkit [90928] by abarth@webkit.org
  • 2 edits in trunk/Tools

Fix flickering bug introduced by my previous patch. I forgot to change
the name of the class everywhere.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
10:04 AM Changeset in webkit [90927] by Philippe Normand
  • 4 edits in trunk

[GTK] media/media-blocked-by-willsendrequest.html fails
https://bugs.webkit.org/show_bug.cgi?id=63699

Reviewed by Martin Robinson.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (willSendRequestCallback): Abort the request if explicitely asked by the LayoutTestController's willSendRequestReturnsNull() function.

LayoutTests:

[GTK] media/media-blocked-by-willsendrequest.html fails
https://bugs.webkit.org/show_bug.cgi?id=63699

Reviewed by Martin Robinson.

  • platform/gtk/Skipped: Unskip fixed test.
10:02 AM Changeset in webkit [90926] by abarth@webkit.org
  • 3 edits in trunk/Tools

Remove "Dismiss" button from garden-o-matic butterbar
https://bugs.webkit.org/show_bug.cgi?id=64443

Reviewed by Dimitri Glazkov.

We don't have any persistent butter bar messages yet, so the dismiss
button is premature (and fairly heavy, visually).

  • Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
10:02 AM Changeset in webkit [90925] by Simon Fraser
  • 9 edits in trunk/Source/WebCore

2011-07-12 Simon Fraser <Simon Fraser>

Rename compositing-related updateContentsScale() methods
https://bugs.webkit.org/show_bug.cgi?id=64430

Reviewed by Joseph Pecoraro.

Rename updateContentsScale() to something less presumptuous; layers may choose
to do something other than update their contents scale when the page scale factor
changes. pageScaleFactorChanged() is a better name.

  • page/Frame.cpp: (WebCore::Frame::pageScaleFactorChanged): (WebCore::Frame::scalePage):
  • page/Frame.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::pageScaleFactorChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::pageScaleFactorChanged):
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
  • rendering/RenderLayerCompositor.h:
10:01 AM Changeset in webkit [90924] by abarth@webkit.org
  • 8 edits in trunk/Tools

Refine garden-o-matic status pane
https://bugs.webkit.org/show_bug.cgi?id=64442

Reviewed by Dimitri Glazkov.

This patch makes two improvements to the status pane:

1) We only query the server for failure types that we're expecting.

This dramatically reduces the number of HTTP requests, making
loading the status pane faster.

2) The status pane now displays which test and which builder it is

showing results for.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
9:57 AM Changeset in webkit [90923] by abarth@webkit.org
  • 10 edits in trunk/Tools

garden-o-matic should show test results
https://bugs.webkit.org/show_bug.cgi?id=64440

Reviewed by Adam Roben.

This patch introduces the results detail pane, which appears at the
bottom of the window and contains test results from the bots.
Currently, you can activate the pane by mousing over one of the builder
names associated with a failing test.

This is just a first iteration of the UI. There's no way to resize or
zoom in on elements of the details pane, and images likely aren't sized
correctly, but it's a place to start.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
    • Add constants for our data attributes so we don't typo them!
  • Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
    • Add DOM structure for the details pane.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
    • Bind events for showing and hiding the details pane.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
    • Reduce the number of result types that we query for to avoid overfilling the details pane. We'll probably need another solution here in the long-term. For example, we could use tabs to pack more results into the pane.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html:
    • Now that we're using the config package during testing, we need to include it in the testing HTML.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
    • Change the DOM structure of the results detail to make it fit nicely in the details pane (rather than flowing freely in the body, as it did before).
9:30 AM Changeset in webkit [90922] by Adam Roben
  • 6 edits
    1 add in trunk/Tools

Make TestFailures show every time a possibly-flaky test failed, but hide it by default

It's useful to be able to see every time a flaky test failed to see whether it failed the
same way every time. But doing so takes a lot of space, so the list of failures is now
collapsed by default and can be revealed using a disclosure triangle.

Fixes <http://webkit.org/b/64455> TestFailures page doesn't show as much information for
flaky tests as I would like, even though the page is already so long

Reviewed by Dimitri Glazkov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector.js:

(FlakyLayoutTestDetector.prototype.allFailures): Replaced flakinessExamples with this
function. Now returns all failures for the given test.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector_unittests.js:

Added. This just contains some simple tests of the FlakyLayoutTestDetector class. We'll add
more over time.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestHistoryAnalyzer.js:

(LayoutTestHistoryAnalyzer.prototype.start): Updated the documentation comment to reflect
that we no longer return passing builds for possibly-flaky tests.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:

(.existing-bugs-list, .suspect-revisions-list, .flakiness-examples-list): Make the list of
flakiness examples small, too, since it can get quite long.

(.disclosure-triangle):
(.expanded > .disclosure-triangle):
Simple styles for the disclosure triangle.

(.flakiness-examples-list): Collapse the list by default.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:

(ViewController.prototype._displayBuilder): Pass the total number of builds analyzed to
_domForPossiblyFlakyTests.
(ViewController.prototype._domForPossiblyFlakyTests): Put a disclosure triangle to the left
of each test name, and the number of failures to the right. When the disclosure triangle is
clicked for the first time, we build up the list of failures and expand the element. After
that we just collapse or expand the element on subsequent clicks.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:

Pulled in new tests.

9:06 AM Changeset in webkit [90921] by Adam Roben
  • 3 edits in trunk/Tools

Teach TestFailures to understand NRWT's output when it exits early due to too many failures

Fixes <http://webkit.org/b/64456> TestFailures page reports way too many failures when NRWT
exits early

Reviewed by Dimitri Glazkov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:

(Builder.prototype.getNumberOfFailingTests): Relaxed the "Exiting early" test not to require
it to be at the beginning of the line, since NRWT prints a bunch of junk earlier in the
line. Tightened up the regex that's used to parse the number of failing tests to require the
leading number to be followed by whitespace so that we won't parse the "2011" in
"2011-07-13" as a number of failures.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:

Added a test for the above.

8:49 AM Changeset in webkit [90920] by Dimitri Glazkov
  • 4 edits in trunk/Tools

Extract model-like TestExpectationLine and TestExpectationFile from TestExpectations.
https://bugs.webkit.org/show_bug.cgi?id=64386

This is the first step in converting TestExpectations to a real model.

  • TestExpectationsLine represents a line in the test_expectations.txt file, and
  • TestExpectationsFile represents the file, which is a collection of lines.

Reviewed by Adam Barth.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:
  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
8:43 AM Changeset in webkit [90919] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix compile for QRawFont.

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

Patch by Pierre Rossi <pierre.rossi@gmail.com> on 2011-07-13
Reviewed by Andreas Kling.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/qt/FontQt.cpp:

(WebCore::Font::drawGlyphs):

8:21 AM WebKit Team edited by andreas.kling@nokia.com
(diff)
7:52 AM Changeset in webkit [90918] by xan@webkit.org
  • 2 edits in trunk/Tools

2011-07-13 Xan Lopez <xlopez@igalia.com>

[GTK] Do not grab focus too early in DRT.

Reviewed by Gustavo Noronha.

It causes a layout to happen and a progress signal to be emitted
since r90900, but at this point we don't have a
LayoutTestController object and we'll eventually crash. Since we
already grab focus at the beginning of runTest() this is
redundant, so get rid of it to fix the crash.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (main): remove call to grab_focus
7:31 AM Changeset in webkit [90917] by loki@webkit.org
  • 2 edits in trunk/LayoutTests

2011-07-13 Gabor Loki <loki@webkit.org>

[Qt] Flakey test: xmlhttprequest-50ms-download-dispatch.html on ARM
https://bugs.webkit.org/show_bug.cgi?id=64452

Rubber-stamped by Csaba Osztrogonác

  • platform/qt-arm/Skipped:
7:25 AM Changeset in webkit [90916] by Ademar Reis
  • 4 edits in trunk/Source/JavaScriptCore

Reviewed by Andreas Kling.

Broken build on QNX
https://bugs.webkit.org/show_bug.cgi?id=63717

QNX doesn't support pthread's SA_RESTART (required by
JSC_MULTIPLE_THREADS), JIT is broken at runtime and there a
few minor compilation errors here and there.

Original patch by Ritt Konstantin <ritt.ks@gmail.com>, also
tested by him on QNX v6.5 (x86)

  • wtf/DateMath.cpp: fix usage of abs/labs
  • wtf/Platform.h: Disable JIT and JSC_MULTIPLE_THREADS
  • wtf/StackBounds.cpp: Add a couple of missing includes (and sort them)
7:11 AM Changeset in webkit [90915] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

If a compiler has nullptr support, include <cstddef> to get the nullptr_t definition
https://bugs.webkit.org/show_bug.cgi?id=64429

Include the cstddef which has the nullptr_t typedef according to the C++0x standard.

  • wtf/NullPtr.h:
7:11 AM Changeset in webkit [90914] by jknotten@chromium.org
  • 4 edits
    4 adds in trunk

Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
https://bugs.webkit.org/show_bug.cgi?id=64363

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html

  • page/Geolocation.cpp:

(WebCore::Geolocation::setIsAllowed):

  • page/Geolocation.h:

LayoutTests:

  • fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html: Added.
  • fast/dom/Geolocation/resources/remove-remote-context-in-error-callback-crash-inner.html: Added.
  • fast/dom/Geolocation/script-tests/remove-remote-context-in-error-callback-crash.js: Added.
  • fast/dom/Geolocation/remove-remote-context-in-error-callback-crash-expected.txt: Added.

(gc):
(onIframeReady):

7:02 AM Changeset in webkit [90913] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Network panel search needs each resource to have unique identifier.
https://bugs.webkit.org/show_bug.cgi?id=64287

Reviewed by Pavel Feldman.

  • inspector/front-end/NetworkManager.js:

(WebInspector.NetworkManager.prototype.requestContent):
(WebInspector.NetworkDispatcher):
(WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
(WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
(WebInspector.NetworkDispatcher.prototype._appendRedirect):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkPanel.prototype._appendResource):
(WebInspector.NetworkPanel.prototype._frameNavigated):
(WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):

6:45 AM Changeset in webkit [90912] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
https://bugs.webkit.org/show_bug.cgi?id=63987

Patch by Alexandru Chiculita <Alexandru Chiculita> on 2011-07-13
Reviewed by Hajime Morita.

Change doesn't add new functionality. No test needed.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::maskClipRect):
(WebCore::RenderBox::repaintLayerRectsForImage):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):

6:31 AM Changeset in webkit [90911] by morrita@google.com
  • 8 edits
    1 add in trunk/Source

Refactoring: Ignored ExceptionCode value should be less annoying.
https://bugs.webkit.org/show_bug.cgi?id=63688

Source/JavaScriptCore:

Added ASSERT_AT macro.

Reviewed by Darin Adler.

  • wtf/Assertions.h:

Source/WebCore:

  • Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
  • Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
  • Adopted ASSERT_NO_EXCEPTION in Range.cpp

No new tests. No behaviour change.

Reviewed by Darin Adler.

  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ExceptionCodePlaceholder.h: Added.

(WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
(WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
(WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
(WebCore::CheckedExceptionCode::CheckedExceptionCode):
(WebCore::CheckedExceptionCode::~CheckedExceptionCode):

  • dom/Range.cpp:

(WebCore::Range::Range):
(WebCore::Range::editingStartPosition):

  • dom/Range.h:
6:02 AM Changeset in webkit [90910] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-mac/Skipped: Skip failing tests.
  • platform/qt/Skipped: Skip svg/text/small-fonts-2.svg because of the 32/64 bit bug.
6:01 AM Changeset in webkit [90909] by andreas.kling@nokia.com
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Remove invalid signal/slot connection in QTouchWebView.
https://bugs.webkit.org/show_bug.cgi?id=64450

Reviewed by Benjamin Poulain.

The focusNextPrevChild() signal was removed, so we shouldn't try to
connect to it.

  • UIProcess/API/qt/qtouchwebpage.cpp:

(QTouchWebPagePrivate::setPage):

5:54 AM Changeset in webkit [90908] by Nikolas Zimmermann
  • 2 edits in trunk/Source/WebCore

2011-07-13 Nikolas Zimmermann <nzimmermann@rim.com>

Regression: OOB read in svg text run
https://bugs.webkit.org/show_bug.cgi?id=63627

Not reviewed.

Fixed last minute typo leading to assertions.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintSelection):
5:32 AM Changeset in webkit [90907] by andreas.kling@nokia.com
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Undelayed WorkItems are leaked after execution.
https://bugs.webkit.org/show_bug.cgi?id=64447

Reviewed by Benjamin Poulain.

  • Platform/qt/WorkQueueQt.cpp:

(WorkQueue::WorkItemQt::executeAndDelete):
(WorkQueue::WorkItemQt::timerEvent):
(WorkQueue::scheduleWork):

5:13 AM Changeset in webkit [90906] by benjamin.poulain@nokia.com
  • 2 edits in trunk/LayoutTests

[Qt] REGRESSION(r90634): It made http/tests/misc/script-async.html fail with Qt 4.8.x
https://bugs.webkit.org/show_bug.cgi?id=64352

Reviewed by Andreas Kling.

Unskip http/tests/misc/script-async.html since the original change has been reverted.

  • platform/qt-4.8/Skipped:
5:02 AM Changeset in webkit [90905] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Chromium DevTools: Enable clear cache and cookies from network panel in chromium.
https://bugs.webkit.org/show_bug.cgi?id=64095

Reviewed by Pavel Feldman.

  • src/js/DevTools.js:

():

4:51 AM Changeset in webkit [90904] by caseq@chromium.org
  • 3 edits in trunk

2011-07-12 Andrey Kosyakov <caseq@chromium.org>

Web Inspector: factor NetworkLogView out of Network panel
https://bugs.webkit.org/show_bug.cgi?id=64366

Reviewed by Pavel Feldman.

4:47 AM Changeset in webkit [90903] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r90634.
http://trac.webkit.org/changeset/90634
https://bugs.webkit.org/show_bug.cgi?id=64448

Qt HTTP Pipelining is not robust enough to be used in that
generic way. (Requested by benjaminp on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-13

  • platform/network/qt/ResourceRequestQt.cpp:

(WebCore::ResourceRequest::toNetworkRequest):

4:35 AM Changeset in webkit [90902] by Csaba Osztrogonác
  • 2 edits
    220 adds in trunk/LayoutTests

[Qt] Add expected results for the new passing tests and unskip them.

Patch by Kristóf Kosztyó <Kosztyo.Kristof@stud.u-szeged.hu> on 2011-07-13
Reviewed by Csaba Osztrogonác.

  • platform/qt/Skipped:
  • platform/qt/fast/[...]: Added.
  • platform/qt/svg/[...]: Added.
4:33 AM Changeset in webkit [90901] by Nikolas Zimmermann
  • 3 edits in trunk/Source/WebCore

2011-07-13 Nikolas Zimmermann <nzimmermann@rim.com>

Regression: OOB read in svg text run
https://bugs.webkit.org/show_bug.cgi?id=63627

Reviewed by Zoltan Herczeg.

A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
define a single glyph for the characters 'ffl' thus leading to a single character long text
pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.

constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().

There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
  • rendering/InlineTextBox.h: Ditto.
3:23 AM Changeset in webkit [90900] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

didFirstVisuallyNonEmptyLayout dispatched too early
https://bugs.webkit.org/show_bug.cgi?id=64412

Reviewed by Darin Adler and Sam Weinig.

Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout

  • Wait until a threshold of characters and pixels has been exceeded before dispatching.
  • Wait until stylesheets are loaded (painting is disabled in this case).
  • page/FrameView.cpp:

(WebCore::FrameView::reset):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:

(WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
(WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::imageChanged):

  • rendering/RenderImage.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::RenderText):

2:50 AM Changeset in webkit [90899] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/Source/WebKit2

[Qt] Also stop the scale commit timer when commitScaleChange is called explicitly.
https://bugs.webkit.org/show_bug.cgi?id=64357

Reviewed by Benjamin Poulain.

  • UIProcess/API/qt/qtouchwebpage.cpp:

(QTouchWebPage::timerEvent):
(QTouchWebPagePrivate::commitScaleChange):

2:40 AM Changeset in webkit [90898] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r90893 and r90894.
http://trac.webkit.org/changeset/90893
http://trac.webkit.org/changeset/90894
https://bugs.webkit.org/show_bug.cgi?id=64441

NRWT still doesn't work on qt-mac platform (Requested by Ossy
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-13

Tools:

  • Scripts/run-webkit-tests:

(useNewRunWebKitTests):

LayoutTests:

  • platform/qt-mac/Skipped:
2:09 AM Changeset in webkit [90897] by jamesr@google.com
  • 1 edit
    1 add in trunk/LayoutTests

[chromium] Add chromium mac gpu baseline for webgl-background-color.html

  • platform/chromium-gpu-mac/compositing/webgl/webgl-background-color-expected.png: Added.
1:47 AM Changeset in webkit [90896] by jamesr@google.com
  • 2 edits
    1 add in trunk/LayoutTests

[chromium] Add two chromium gpu linux baselines.

  • platform/chromium-gpu-linux/compositing/masks/masked-ancestor-expected.png:
  • platform/chromium-gpu-linux/platform/chromium/compositing/tiny-layer-rotated-expected.png: Added.
1:06 AM Changeset in webkit [90895] by jamesr@google.com
  • 26 edits
    11 adds
    2 deletes in trunk/LayoutTests

[chromium] Assorted chromium gpu rebaselines and expectation cleanups.

  • platform/chromium-gpu-linux/compositing/geometry/ancestor-overflow-change-expected.png: Added.
  • platform/chromium-gpu-linux/compositing/webgl/webgl-background-color-expected.png: Added.
  • platform/chromium-gpu-linux/fast/canvas/arc360-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/canvas-composite-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/canvas-transforms-during-path-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/drawImage-with-globalAlpha-expected.png: Removed.
  • platform/chromium-gpu-linux/fast/canvas/fillrect-gradient-zero-stops-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/fillrect_gradient-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/image-object-in-canvas-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/image-pattern-rotate-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/patternfill-repeat-expected.png:
  • platform/chromium-gpu-linux/fast/canvas/quadraticCurveTo-expected.png:
  • platform/chromium-gpu-mac/compositing/geometry/ancestor-overflow-change-expected.png: Added.
  • platform/chromium-gpu-mac/compositing/geometry/composited-html-size-expected.png: Added.
  • platform/chromium-gpu-mac/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Added.
  • platform/chromium-gpu-mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt: Added.
  • platform/chromium-gpu-win/compositing/geometry/ancestor-overflow-change-expected.png: Added.
  • platform/chromium-gpu-win/compositing/geometry/ancestor-overflow-change-expected.txt: Added.
  • platform/chromium-gpu-win/compositing/webgl/webgl-background-color-expected.png: Added.
  • platform/chromium-gpu-win/compositing/webgl/webgl-background-color-expected.txt: Added.
  • platform/chromium-gpu-win/fast/canvas/arc360-expected.png:
  • platform/chromium-gpu-win/fast/canvas/canvas-composite-expected.png:
  • platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.png:
  • platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.png:
  • platform/chromium-gpu-win/fast/canvas/canvas-transforms-during-path-expected.png:
  • platform/chromium-gpu-win/fast/canvas/drawImage-with-globalAlpha-expected.png: Removed.
  • platform/chromium-gpu-win/fast/canvas/fillrect-gradient-zero-stops-expected.png:
  • platform/chromium-gpu-win/fast/canvas/fillrect_gradient-expected.png:
  • platform/chromium-gpu-win/fast/canvas/image-object-in-canvas-expected.png:
  • platform/chromium-gpu-win/fast/canvas/image-pattern-rotate-expected.png:
  • platform/chromium-gpu-win/fast/canvas/patternfill-repeat-expected.png:
  • platform/chromium-gpu-win/fast/canvas/quadraticCurveTo-expected.png:
  • platform/chromium-linux/fast/canvas/canvas-composite-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-composite-expected.png: Added.
  • platform/chromium-win/fast/canvas/canvas-composite-expected.png:
  • platform/chromium/test_expectations.txt:
12:52 AM Changeset in webkit [90894] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][Mac] Unreviewed gardening.

  • platform/qt-mac/Skipped: Remove 2 tests, because they are in test_expectations.txt too.
12:44 AM Changeset in webkit [90893] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] NRWT should pick up the right httpd config file
https://bugs.webkit.org/show_bug.cgi?id=64086

  • Scripts/run-webkit-tests: Enable NRWT on qt-mac platform after r90810.

(useNewRunWebKitTests):

12:18 AM Changeset in webkit [90892] by jamesr@google.com
  • 43 edits
    9 adds in trunk/LayoutTests

[chromium] More edge AA and misc chromium gpu baselines and expectations updates.

  • platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/fixed-position-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/layer-due-to-layer-children-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/vertical-scroll-composited-expected.png:
  • platform/chromium-gpu-linux/compositing/overflow/fixed-position-ancestor-clip-expected.png:
  • platform/chromium-gpu-linux/compositing/reflections/nested-reflection-transition-expected.png:
  • platform/chromium-gpu-linux/compositing/reflections/transform-inside-reflection-expected.png:
  • platform/chromium-gpu-linux/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-gpu-linux/compositing/transitions/scale-transition-no-start-expected.png:
  • platform/chromium-gpu-linux/media/video-canvas-alpha-expected.png:
  • platform/chromium-gpu-linux/media/video-transformed-expected.png:
  • platform/chromium-gpu-linux/media/video-zoom-controls-expected.png:
  • platform/chromium-gpu-linux/platform/chromium/compositing/backface-visibility-transformed-expected.png: Added.
  • platform/chromium-gpu-linux/platform/chromium/compositing/huge-layer-rotated-expected.png:
  • platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.png:
  • platform/chromium-gpu-mac/compositing/framesets/composited-frame-alignment-expected.png: Added.
  • platform/chromium-gpu-mac/compositing/geometry/fixed-position-expected.png:
  • platform/chromium-gpu-mac/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
  • platform/chromium-gpu-mac/compositing/geometry/layer-due-to-layer-children-expected.png:
  • platform/chromium-gpu-mac/compositing/geometry/vertical-scroll-composited-expected.png:
  • platform/chromium-gpu-mac/compositing/overflow/fixed-position-ancestor-clip-expected.png:
  • platform/chromium-gpu-mac/compositing/reflections/nested-reflection-transition-expected.png:
  • platform/chromium-gpu-mac/compositing/reflections/transform-inside-reflection-expected.png:
  • platform/chromium-gpu-mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-gpu-mac/compositing/transitions/scale-transition-no-start-expected.png:
  • platform/chromium-gpu-mac/media/video-transformed-expected.png:
  • platform/chromium-gpu-mac/media/video-zoom-controls-expected.png:
  • platform/chromium-gpu-mac/platform/chromium/compositing/backface-visibility-transformed-expected.png: Added.
  • platform/chromium-gpu-mac/platform/chromium/compositing/huge-layer-rotated-expected.png:
  • platform/chromium-gpu-mac/platform/chromium/compositing/tiny-layer-rotated-expected.png: Added.
  • platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.png:
  • platform/chromium-gpu-win/compositing/framesets/composited-frame-alignment-expected.png: Added.
  • platform/chromium-gpu-win/compositing/geometry/fixed-position-expected.png:
  • platform/chromium-gpu-win/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
  • platform/chromium-gpu-win/compositing/geometry/layer-due-to-layer-children-expected.png:
  • platform/chromium-gpu-win/compositing/geometry/vertical-scroll-composited-expected.png:
  • platform/chromium-gpu-win/compositing/overflow/fixed-position-ancestor-clip-expected.png:
  • platform/chromium-gpu-win/compositing/reflections/nested-reflection-transition-expected.png:
  • platform/chromium-gpu-win/compositing/reflections/transform-inside-reflection-expected.png:
  • platform/chromium-gpu-win/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-gpu-win/compositing/transitions/scale-transition-no-start-expected.png:
  • platform/chromium-gpu-win/media/video-canvas-alpha-expected.png:
  • platform/chromium-gpu-win/media/video-transformed-expected.png:
  • platform/chromium-gpu-win/media/video-zoom-controls-expected.png:
  • platform/chromium-gpu-win/platform/chromium/compositing/backface-visibility-transformed-expected.png: Added.
  • platform/chromium-gpu-win/platform/chromium/compositing/huge-layer-rotated-expected.png:
  • platform/chromium-gpu-win/platform/chromium/compositing/tiny-layer-rotated-expected.png: Added.
  • platform/chromium/test_expectations.txt:
12:06 AM Changeset in webkit [90891] by Csaba Osztrogonác
  • 4 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-4.8/Skipped: Skip http/tests/misc/script-async.html until fix.
  • platform/qt-mac/Skipped: Skip new failing tests.
  • platform/qt/test_expectations.txt: Mark slow tests.

Jul 12, 2011:

11:47 PM Changeset in webkit [90890] by jamesr@google.com
  • 18 edits
    5 adds in trunk/LayoutTests

[chromium] Update expectations+baselines for edge AA changes.

  • platform/chromium-gpu-linux/compositing/direct-image-compositing-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/fixed-in-composited-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/horizontal-scroll-composited-expected.png:
  • platform/chromium-gpu-linux/compositing/geometry/tall-page-composited-expected.png:
  • platform/chromium-gpu-linux/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-gpu-linux/media/video-zoom-expected.png:
  • platform/chromium-gpu-linux/platform/chromium/compositing/layout-width-change-expected.png:
  • platform/chromium-gpu-linux/platform/chromium/compositing/perpendicular-layer-sorting-expected.png: Added.
  • platform/chromium-gpu-mac/compositing/direct-image-compositing-expected.png:
  • platform/chromium-gpu-mac/compositing/geometry/horizontal-scroll-composited-expected.png:
  • platform/chromium-gpu-mac/platform/chromium/compositing/layout-width-change-expected.png:
  • platform/chromium-gpu-mac/platform/chromium/compositing/perpendicular-layer-sorting-expected.png:
  • platform/chromium-gpu-win/compositing/direct-image-compositing-expected.png:
  • platform/chromium-gpu-win/compositing/geometry/fixed-in-composited-expected.png:
  • platform/chromium-gpu-win/compositing/geometry/horizontal-scroll-composited-expected.png:
  • platform/chromium-gpu-win/compositing/iframes/composited-iframe-alignment-expected.png:
  • platform/chromium-gpu-win/platform/chromium/compositing/child-layer-3d-sorting-expected.png: Added.
  • platform/chromium-gpu-win/platform/chromium/compositing/child-layer-3d-sorting-expected.txt: Added.
  • platform/chromium-gpu-win/platform/chromium/compositing/layout-width-change-expected.png:
  • platform/chromium-gpu-win/platform/chromium/compositing/perpendicular-layer-sorting-expected.png: Added.
  • platform/chromium-gpu-win/platform/chromium/compositing/perpendicular-layer-sorting-expected.txt: Added.
  • platform/chromium/test_expectations.txt:
11:14 PM WebKit Team edited by zherczeg@webkit.org
(diff)
11:03 PM Changeset in webkit [90889] by mrowe@apple.com
  • 2 edits in trunk/Tools

Fix the 32-bit build.

  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:totalSpaceNeeded:]):
Cast the NSUInteger value to unsigned long to match the format specifier.

10:43 PM Changeset in webkit [90888] by morrita@google.com
  • 6 edits in trunk/Source/WebCore

[Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
https://bugs.webkit.org/show_bug.cgi?id=64252

Reviewed by Dimitri Glazkov.

Introduced ShadowInclusionList and ShadowInclusion for maintaining
forwarded content children. ShadowInclusion is doubly-linked list.
ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.

This change is a prepration for bug 64251, which will introduce
forwarded-children to content-element table.

No new tests. No behavioral change.

  • dom/NodeRenderingContext.cpp:

(WebCore::nextRendererOf):
(WebCore::previousRendererOf):
(WebCore::firstRendererOf):
(WebCore::lastRendererOf):

  • dom/ShadowContentElement.cpp:

(WebCore::ShadowInclusion::append):
(WebCore::ShadowInclusion::unlink):
(WebCore::ShadowInclusionList::ShadowInclusionList):
(WebCore::ShadowInclusionList::~ShadowInclusionList):
(WebCore::ShadowInclusionList::find):
(WebCore::ShadowInclusionList::clear):
(WebCore::ShadowInclusionList::append):
(WebCore::ShadowContentElement::attach):

  • dom/ShadowContentElement.h:

(WebCore::ShadowInclusion::includer):
(WebCore::ShadowInclusion::content):
(WebCore::ShadowInclusion::next):
(WebCore::ShadowInclusion::previous):
(WebCore::ShadowInclusion::ShadowInclusion):
(WebCore::ShadowInclusion::create):
(WebCore::ShadowInclusionList::first):
(WebCore::ShadowInclusionList::last):
(WebCore::ShadowInclusionList::isEmpty):
(WebCore::ShadowInclusionList::append):
(WebCore::ShadowContentElement::inclusions):

  • dom/ShadowContentSelector.cpp:

(WebCore::ShadowContentSelector::selectInclusion):

  • dom/ShadowContentSelector.h:
10:35 PM Changeset in webkit [90887] by commit-queue@webkit.org
  • 6 edits in trunk

[Chromium] Use nearest filter method with pixel aligned transforms.
https://bugs.webkit.org/show_bug.cgi?id=64338

Patch by David Reveman <reveman@chromium.org> on 2011-07-12
Reviewed by James Robinson.

Source/WebCore:

Check for integer translation and use nearest texture filter when
possible to avoid filter precisions problems at the layer edges.

Test: compositing/iframes/nested-iframe-scrolling.html (existing)

  • platform/graphics/chromium/LayerTilerChromium.cpp:

(WebCore::LayerTilerChromium::drawTiles):

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::isIntegerTranslation):

  • platform/graphics/transforms/TransformationMatrix.h:

LayoutTests:

Update expected results.

  • platform/chromium/test_expectations.txt:
10:12 PM Changeset in webkit [90886] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Removed unnecessary function parameters from TilingData::textureOffset.
https://bugs.webkit.org/show_bug.cgi?id=64245

Patch by David Reveman <reveman@chromium.org> on 2011-07-12
Reviewed by Brent Fulgham.

No new tests, no functionality changes.

  • platform/graphics/chromium/LayerTilerChromium.cpp:

(WebCore::LayerTilerChromium::drawTiles):

  • platform/graphics/gpu/TilingData.cpp:

(WebCore::TilingData::textureOffset):

  • platform/graphics/gpu/TilingData.h:
9:23 PM Changeset in webkit [90885] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=64403

Reviewed by Hajime Morita.

Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.

Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
(moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
whether the given position is inside the current text form control or not.

In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
and offsetInContainer.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.

  • editing/htmlediting.cpp: Removed enclosingTextFromControl.
  • editing/htmlediting.h: Removed enclosingTextFromControl.
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
(WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
(WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
(WebCore::enclosingTextFormControl): Moved from htmlediting.cpp

  • html/HTMLTextFormControlElement.h:
  • rendering/RenderTextControl.cpp:
  • rendering/RenderTextControl.h:
9:05 PM Changeset in webkit [90884] by abarth@webkit.org
  • 6 edits in trunk/Tools

Improve garden-o-matic UI when the bots fail to report revision numbers
https://bugs.webkit.org/show_bug.cgi?id=64427

Reviewed by Dimitri Glazkov.

At least Win (dbg)(2) seems to fail to report the SVN revision number
in full_results.json. This patch makes garden-o-matic more robust to
missing revision numbers.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
8:52 PM Changeset in webkit [90883] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipping a few tests which fail due to differing output in recent ApplicationCache quota tests.

Reenabling the tests is tracked by <http://webkit.org/b/64410>.

8:30 PM Changeset in webkit [90882] by jchaffraix@webkit.org
  • 7 edits in trunk/Source/WebCore

Make RenderObject::containingBlock virtual for better speed and clarity
https://bugs.webkit.org/show_bug.cgi?id=64318

Reviewed by Darin Adler.

No new tests, performance refactoring.

On some of my test cases, this method takes between 3 and 5% of the time spend.
The method makes 2 calls to virtual methods which could be moved to their overriden
version of containingBlock if we made it virtual.

That's what this patch does. It saves between 1 and 2% on some synthetic test cases
as well as made the current method shorter.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
replaced by ASSERTs.

  • rendering/RenderObject.h: Made containingBlock virtual.
  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::containingBlock):

  • rendering/RenderView.h:

(WebCore::RenderView::containingBlock):
The code moved from RenderObject is inlined in those 2 methods.

7:41 PM Changeset in webkit [90881] by abarth@webkit.org
  • 4 edits in trunk/Tools

Adjust garden-o-matic layout to use fewer lines
https://bugs.webkit.org/show_bug.cgi?id=64422

Reviewed by Ojan Vafai.

This patch effectively merges the test name line with the list of
builders on which the test fails. Each test failure now occupies two
lines instead of three.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
7:39 PM Changeset in webkit [90880] by abarth@webkit.org
  • 9 edits
    2 adds in trunk/Tools

garden-o-matic should label tests failures of new tests as such
https://bugs.webkit.org/show_bug.cgi?id=64421

Reviewed by Ojan Vafai.

Also, we shouldn't dim failures of new tests, even if we've only seen
them once because they're likely to be real problems that need
attention.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js: Added.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/checkout_unittests.js: Added.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
  • Scripts/webkitpy/tool/servers/gardeningserver.py:
7:34 PM Changeset in webkit [90879] by abarth@webkit.org
  • 7 edits in trunk/Tools

garden-o-matic should display how many times we've seen a failure
https://bugs.webkit.org/show_bug.cgi?id=64417

Reviewed by Ojan Vafai.

This patch adds some UI to display how many times we've seen a given
failure, which can be helpful for determining whether that failure is a
real failure or a flaky test.

When a failure has only been seen once (i.e., only a single run on a
single bot), we set the opacity of to 50% to avoid distracting the
gardener.

This patch also refactors the failure walker to have a simpler API
internally by moving from an object-oriented paradigm to a functional
paradigm.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
7:28 PM Changeset in webkit [90878] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Added the ability to dynamically change the parent context of a WebGraphicsContext3D.
GraphicsContext3DInternal::platformTexture uses this to set the parent as appropriate.
https://bugs.webkit.org/show_bug.cgi?id=64397

Patch by Al Patrick <apatrick@chromium.org> on 2011-07-12
Reviewed by Kenneth Russell.

  • public/WebGraphicsContext3D.h:

(WebKit::WebGraphicsContext3D::setParentContext):

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3DInternal::platformTexture):

6:47 PM NewRunWebKitTests edited by dpranke@chromium.org
(diff)
6:46 PM Changeset in webkit [90877] by commit-queue@webkit.org
  • 13 edits
    3 adds in trunk

DFG JIT does not implement op_construct.
https://bugs.webkit.org/show_bug.cgi?id=64066

Source/JavaScriptCore:

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-12
Reviewed by Gavin Barraclough.

This is a fixed implementation of op_construct. Constructor calls are implemented
by reusing almost all of the code for Call, with care taken to make sure that
where the are differences (like selecting different code blocks), those differences
are respected. The two fixes over the last patch are: (1) make sure the
CodeBlock::unlinkCalls respects differences between Call and Construct, and (2)
make sure that virtualFor() in DFGOperations respects the CodeSpecializationKind
(either CodeForCall or CodeForConstruct) when invoking the compiler.

  • dfg/DFGAliasTracker.h:

(JSC::DFG::AliasTracker::recordConstruct):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGJITCodeGenerator.cpp:

(JSC::DFG::JITCodeGenerator::emitCall):

  • dfg/DFGNode.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGRepatch.cpp:

(JSC::DFG::dfgLinkFor):

  • dfg/DFGRepatch.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • runtime/CodeBlock.cpp:

(JSC::CodeBlock::unlinkCalls):

LayoutTests:

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-12
Reviewed by Gavin Barraclough.

Added a test for the DFG op_construct regression, where polymorphic constructor
calls will result in the code being compiled for call but then invoked as a
constructor. This test will fail if that part of the patch is omitted.

  • fast/js/polymorphic-construct-expected.txt: Added.
  • fast/js/polymorphic-construct.html: Added.
  • fast/js/script-tests/polymorphic-construct.js: Added.

(Foo):
():

6:44 PM NewRunWebKitTests edited by dpranke@chromium.org
(diff)
6:33 PM Changeset in webkit [90876] by crogers@google.com
  • 4 edits in trunk

Enable Web Audio for chromium DRT
https://bugs.webkit.org/show_bug.cgi?id=64409

Reviewed by James Robinson.

Tools:

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):

LayoutTests:

  • platform/chromium/fast/dom/prototype-inheritance-expected.txt:
6:31 PM TestExpectations edited by dpranke@chromium.org
(diff)
5:53 PM Changeset in webkit [90875] by oliver@apple.com
  • 8 edits in trunk

Overzealous type validation in method_check
https://bugs.webkit.org/show_bug.cgi?id=64415

Reviewed by Gavin Barraclough.

../../../../Volumes/Data/git/WebKit/OpenSource/LayoutTests:

Make sure we don't trip any assertions when caching access
to an InternalFunction

  • fast/js/script-tests/method-check.js:

../../../../Volumes/Data/git/WebKit/OpenSource/Source/JavaScriptCore:

method_check is essentially just a value look up
optimisation, but it internally stores the value
as a JSFunction, even though it never relies on
this fact. Under GC validation however we end up
trying to enforce that assumption. The fix is
simply to store the value as a correct supertype.

  • bytecode/CodeBlock.h:
  • dfg/DFGRepatch.cpp:

(JSC::DFG::dfgRepatchGetMethodFast):
(JSC::DFG::tryCacheGetMethod):

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

5:52 PM Changeset in webkit [90874] by jamesr@google.com
  • 2 edits in trunk/Source/WebCore

[chromium] Chromium win build fix.

  • platform/graphics/chromium/FontChromiumWin.cpp:

(WebCore::drawGlyphsWin):

5:24 PM Changeset in webkit [90873] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Get webkit to compile with USE(CFNETWORK) enabled on Mac
https://bugs.webkit.org/show_bug.cgi?id=63674

Reviewed by David Kilzer.

Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).

No new tests because no change in functionality and option is not enabled on Mac.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::didReceiveResponse):
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::start):
(WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.

5:20 PM Changeset in webkit [90872] by jamesr@google.com
  • 25 edits
    12 deletes in trunk/Source

[chromium] Delete the unused legacy accelerated canvas 2d code
https://bugs.webkit.org/show_bug.cgi?id=64214

Reviewed by Stephen White.

Source/WebCore:

This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
this codepath and it seems clear that no other port is interested.

Refactoring and removing unused code, so no new tests.

  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
(WebCore::CanvasRenderingContext2D::didDraw):

  • html/canvas/CanvasRenderingContext2D.h:
  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • page/Page.cpp:

(WebCore::Page::sharedGraphicsContext3D):

  • page/Page.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::setSharedGraphicsContext3D):
(WebCore::GraphicsContext::syncSoftwareCanvas):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/chromium/DrawingBufferChromium.cpp:

(WebCore::DrawingBuffer::setGrContext):

  • platform/graphics/chromium/FontLinux.cpp:

(WebCore::Font::drawGlyphs):

  • platform/graphics/chromium/cc/CCLayerSorter.cpp:

(WebCore::pointInTriangle):

  • platform/graphics/gpu/BicubicShader.cpp: Removed.
  • platform/graphics/gpu/BicubicShader.h: Removed.
  • platform/graphics/gpu/ConvolutionShader.cpp: Removed.
  • platform/graphics/gpu/ConvolutionShader.h: Removed.
  • platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
  • platform/graphics/gpu/GraphicsContextGPU.h: Removed.
  • platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
  • platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
  • platform/graphics/gpu/SolidFillShader.cpp: Removed.
  • platform/graphics/gpu/SolidFillShader.h: Removed.
  • platform/graphics/gpu/TexShader.cpp: Removed.
  • platform/graphics/gpu/TexShader.h: Removed.
  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawLineForTextChecking):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setSharedGraphicsContext3D):
(WebCore::GraphicsContext::syncSoftwareCanvas):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
(WebCore::ImageBuffer::putUnmultipliedImageData):
(WebCore::ImageBuffer::putPremultipliedImageData):

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):

  • platform/graphics/skia/NativeImageSkia.cpp:

(WebCore::NativeImageSkia::~NativeImageSkia):

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore::PlatformContextSkia::~PlatformContextSkia):
(WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
(WebCore::PlatformContextSkia::makeGrContextCurrent):

  • platform/graphics/skia/PlatformContextSkia.h:

Source/WebKit/chromium:

Adds a way to stash a GrContext* on a GraphicsContext3D. Previously, this was handled by
SharedGraphicsContext3D, but we don't need that class any more. This is used only for the shared
GraphicsContext3D stashed on the Page and shared by all accelerated canvases within the Page, for WebGL and
compositor contexts the GrContext is never set.

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
(WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
(WebCore::GraphicsContext3DInternal::grContext):
(WebCore::GraphicsContext3D::grContext):

  • src/GraphicsContext3DInternal.h:
5:13 PM Changeset in webkit [90871] by abarth@webkit.org
  • 6 edits in trunk/Tools

Tweak some UI in garden-o-matic now that the tree actually has a
failure and I can see what this all looks like.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
5:05 PM Changeset in webkit [90870] by Joseph Pecoraro
  • 4 edits in trunk

Unreviewed. Skipping a few tests which fail due to differing output
in recent ApplicationCache quota tests.

Reenabling the tests is tracked by <http://webkit.org/b/64410>.

5:04 PM Changeset in webkit [90869] by eae@chromium.org
  • 13 edits in trunk/Source/WebCore

Switch InlineFlowBox to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=64399

Reviewed by Eric Seidel.

First step in moving floats over to the new layout abstraction.

No new tests, no new functionality.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::logicalHeight):

  • rendering/InlineBox.h:

(WebCore::InlineBox::logicalTop):
(WebCore::InlineBox::logicalBottom):
(WebCore::InlineBox::setLogicalTop):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
(WebCore::InlineFlowBox::addReplacedChildOverflow):
(WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

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

(WebCore::RenderBlock::logicalRightSelectionGap):

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

(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::lineSelectionGap):
(WebCore::RootInlineBox::ascentAndDescentForBox):
(WebCore::RootInlineBox::verticalPositionForBox):

  • rendering/RootInlineBox.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::getShadowExtent):
(WebCore::RenderStyle::getShadowHorizontalExtent):
(WebCore::RenderStyle::getShadowVerticalExtent):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::getTextShadowExtent):
(WebCore::InheritedFlags::getTextShadowHorizontalExtent):
(WebCore::InheritedFlags::getTextShadowVerticalExtent):
(WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
(WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
(WebCore::InheritedFlags::getBoxShadowExtent):
(WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
(WebCore::InheritedFlags::getBoxShadowVerticalExtent):
(WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
(WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
(WebCore::InheritedFlags::getShadowInlineDirectionExtent):
(WebCore::InheritedFlags::getShadowBlockDirectionExtent):

  • rendering/style/ShadowData.cpp:

(WebCore::calculateShadowExtent):
(WebCore::ShadowData::adjustRectForShadow):

  • rendering/style/ShadowData.h:

(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::x):
(WebCore::ShadowData::y):

4:37 PM Changeset in webkit [90868] by bashi@chromium.org
  • 4 edits
    3 adds in trunk

[Chromium] SVG text is not rendered sometimes with geometricPrecision
https://bugs.webkit.org/show_bug.cgi?id=64341

Source/WebCore:

Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-07-12
Reviewed by Tony Chang.

Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg

  • platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.

(WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
(WebCore::ComplexTextController::reset): Ditto.

  • platform/graphics/chromium/ComplexTextControllerLinux.h:

LayoutTests:

Add a test for the regression that the text is not rendered with geometricPrecision.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-07-12
Reviewed by Tony Chang.

  • platform/chromium-linux/svg/text/text-with-geometric-precision-expected.png: Added.
  • platform/chromium-linux/svg/text/text-with-geometric-precision-expected.txt: Added.
  • platform/chromium-linux/svg/text/text-with-geometric-precision.svg: Added.
4:32 PM Changeset in webkit [90867] by cevans@google.com
  • 7 edits in branches/chromium/782/Source

Merge 90308
BUG=86108
Review URL: http://codereview.chromium.org/7356002

4:31 PM Changeset in webkit [90866] by abarth@webkit.org
  • 8 edits in trunk/Tools

garden-o-matic should display regression ranges
https://bugs.webkit.org/show_bug.cgi?id=64407

Reviewed by Dimitri Glazkov.

This patch computes a regression range for a failure by intersecting
the regression ranges seen by the various bots. We make the underlying
assumption that a test is only failing due to one revision at any given
moment. If that's not true, this code probably explodes.

The regression ranges appear asynchronously, which might be a jarring
UI. We'll have to experiment to see.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
3:35 PM Changeset in webkit [90865] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

COLLECT_ON_EVERY_ALLOCATION no longer works.
https://bugs.webkit.org/show_bug.cgi?id=64388

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-12
Reviewed by Oliver Hunt.

Added a flag to Heap that determines if it's safe to collect (which for now means that
JSGlobalObject has actually been initialized, but it should work for other things, too).
This allows JSGlobalObject to allocate even if the allocator wants to GC; instead of
GCing it just grows the heap, if necessary.

Then changed Heap::allocate() to not recurse ad infinitum when
COLLECT_ON_EVERY_ALLOCATION is set. This also makes the allocator generally more
resilient against bugs; this change allowed me to put in handy assertions, such as that
an allocation must succeed after either a collection or after a new block was added.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::tryAllocate):
(JSC::Heap::allocate):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):

  • heap/Heap.h:

(JSC::Heap::notifyIsSafeToCollect):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):

3:35 PM Changeset in webkit [90864] by abarth@webkit.org
  • 3 edits in trunk/Tools

cr-linux-ews should run pixel tests
https://bugs.webkit.org/show_bug.cgi?id=64394

Reviewed by Ojan Vafai.

This patch enabled pixel test on the cr-linux-ews. Running a quick
test on the bots, it looks like we have five pixel failures, related to
some missing fonts. I've also made the bots skip failing tests to
avoid uploading huge zip files to bugs.webkit.org (with all the exected
IMAGE failures).

  • Scripts/webkitpy/common/config/ports.py:
  • Scripts/webkitpy/common/config/ports_unittest.py:
3:34 PM Changeset in webkit [90863] by commit-queue@webkit.org
  • 18 edits
    7 adds in trunk

Patch by Alexandru Chiculita <Alexandru Chiculita> on 2011-07-12
Reviewed by David Hyatt.

[CSS Exclusions] Parse wrap-shape property
https://bugs.webkit.org/show_bug.cgi?id=61726

Source/WebCore:

Parsing wrap-shape: rect, circle, ellipse and polygon.
Moved WindRule from Path.h to it's own file.

Test: fast/exclusions/parsing-wrap-shape.html

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseWrapShapeRect):
(WebCore::CSSParser::parseWrapShapeCircle):
(WebCore::CSSParser::parseWrapShapeEllipse):
(WebCore::CSSParser::parseWrapShapePolygon):
(WebCore::CSSParser::parseWrapShape):

  • css/CSSParser.h:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::init):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::cssText):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::getShapeValue):

  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • css/CSSValueKeywords.in:
  • css/CSSWrapShapes.cpp: Added.

(WebCore::CSSWrapShapeRect::cssText):
(WebCore::CSSWrapShapeCircle::cssText):
(WebCore::CSSWrapShapeEllipse::cssText):
(WebCore::CSSWrapShapePolygon::cssText):

  • css/CSSWrapShapes.h: Added.

(WebCore::CSSWrapShape::~CSSWrapShape):
(WebCore::CSSWrapShape::CSSWrapShape):
(WebCore::CSSWrapShapeRect::create):
(WebCore::CSSWrapShapeRect::left):
(WebCore::CSSWrapShapeRect::top):
(WebCore::CSSWrapShapeRect::width):
(WebCore::CSSWrapShapeRect::height):
(WebCore::CSSWrapShapeRect::radiusX):
(WebCore::CSSWrapShapeRect::radiusY):
(WebCore::CSSWrapShapeRect::setLeft):
(WebCore::CSSWrapShapeRect::setTop):
(WebCore::CSSWrapShapeRect::setWidth):
(WebCore::CSSWrapShapeRect::setHeight):
(WebCore::CSSWrapShapeRect::setRadiusX):
(WebCore::CSSWrapShapeRect::setRadiusY):
(WebCore::CSSWrapShapeRect::type):
(WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
(WebCore::CSSWrapShapeCircle::create):
(WebCore::CSSWrapShapeCircle::left):
(WebCore::CSSWrapShapeCircle::top):
(WebCore::CSSWrapShapeCircle::radius):
(WebCore::CSSWrapShapeCircle::setLeft):
(WebCore::CSSWrapShapeCircle::setTop):
(WebCore::CSSWrapShapeCircle::setRadius):
(WebCore::CSSWrapShapeCircle::type):
(WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
(WebCore::CSSWrapShapeEllipse::create):
(WebCore::CSSWrapShapeEllipse::left):
(WebCore::CSSWrapShapeEllipse::top):
(WebCore::CSSWrapShapeEllipse::radiusX):
(WebCore::CSSWrapShapeEllipse::radiusY):
(WebCore::CSSWrapShapeEllipse::setLeft):
(WebCore::CSSWrapShapeEllipse::setTop):
(WebCore::CSSWrapShapeEllipse::setRadiusX):
(WebCore::CSSWrapShapeEllipse::setRadiusY):
(WebCore::CSSWrapShapeEllipse::type):
(WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
(WebCore::CSSWrapShapePolygon::create):
(WebCore::CSSWrapShapePolygon::appendPoint):
(WebCore::CSSWrapShapePolygon::getXAt):
(WebCore::CSSWrapShapePolygon::getYAt):
(WebCore::CSSWrapShapePolygon::setWindRule):
(WebCore::CSSWrapShapePolygon::windRule):
(WebCore::CSSWrapShapePolygon::type):
(WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):

  • css/SVGCSSValueKeywords.in:
  • platform/graphics/Path.h:
  • platform/graphics/WindRule.h: Added.
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::setWrapShape):
(WebCore::InheritedFlags::wrapShape):
(WebCore::InheritedFlags::initialWrapShape):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

  • fast/exclusions/parsing-wrap-shape-expected.txt: Added.
  • fast/exclusions/parsing-wrap-shape.html: Added.
  • fast/exclusions/script-tests/parsing-wrap-shape.js: Added.

(testCSSText):
(testComputedStyle):
(testNotInherited):
(test):
(negative_test):

3:30 PM Changeset in webkit [90862] by cevans@google.com
  • 3 edits
    3 copies in branches/chromium/782

Merge 90166
BUG=87862
Review URL: http://codereview.chromium.org/7350005

3:29 PM Changeset in webkit [90861] by cevans@google.com
  • 4 edits
    4 copies in branches/chromium/782

Merge 90156
BUG=87862
Review URL: http://codereview.chromium.org/7350004

3:21 PM Changeset in webkit [90860] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

2011-07-12 Simon Fraser <Simon Fraser>

Clean up some RenderLayerCompositor code relating to scroll and root layers
https://bugs.webkit.org/show_bug.cgi?id=64400

Reviewed by James Robinson.

There was no need for FrameView::syncCompositingStateForThisFrame()
to call syncCompositingStateForThisLayerOnly() on the various
scrollbar-related layers, because the subsequent call to
compositor()->flushPendingLayerChanges() starts to flush at
m_overflowControlsHostLayer if one exists, and its an ancestor
of the scrollbar layers.

Also clean up terminology in RenderLayerCompositor.

m_rootPlatformLayer -> m_rootContentLayer
rootPlatformLayer() -> rootGraphicsLayer()

No behavior change, so no new tests.

  • page/FrameView.cpp: (WebCore::FrameView::syncCompositingStateForThisFrame):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::enableCompositingMode): (WebCore::RenderLayerCompositor::flushPendingLayerChanges): (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::layerTreeAsText): (WebCore::RenderLayerCompositor::parentFrameContentLayers): (WebCore::RenderLayerCompositor::rootGraphicsLayer): (WebCore::RenderLayerCompositor::didMoveOnscreen): (WebCore::RenderLayerCompositor::willMoveOffscreen): (WebCore::RenderLayerCompositor::updateRootLayerPosition): (WebCore::RenderLayerCompositor::ensureRootLayer): (WebCore::RenderLayerCompositor::destroyRootLayer): (WebCore::RenderLayerCompositor::attachRootLayer): (WebCore::RenderLayerCompositor::detachRootLayer): (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
  • rendering/RenderLayerCompositor.h:
3:17 PM Changeset in webkit [90859] by commit-queue@webkit.org
  • 13 edits
    4 deletes in trunk/Source/WebCore

Unreviewed, rolling out r90842.
http://trac.webkit.org/changeset/90842
https://bugs.webkit.org/show_bug.cgi?id=64401

Causes crash in debug on compositing/overflow/content-gains-
scrollbars.html (Requested by jamesr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-12

  • WebCore.gypi:
  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::ContentLayerChromium):
(WebCore::ContentLayerChromium::paintContentsIfDirty):
(WebCore::ContentLayerChromium::cleanupResources):
(WebCore::ContentLayerChromium::setLayerRenderer):
(WebCore::ContentLayerChromium::tilingTransform):
(WebCore::ContentLayerChromium::contentBounds):
(WebCore::ContentLayerChromium::updateLayerSize):
(WebCore::ContentLayerChromium::draw):
(WebCore::ContentLayerChromium::drawsContent):
(WebCore::ContentLayerChromium::createTilerIfNeeded):
(WebCore::ContentLayerChromium::updateCompositorResources):
(WebCore::ContentLayerChromium::setTilingOption):
(WebCore::ContentLayerChromium::bindContentsTexture):
(WebCore::ContentLayerChromium::setIsMask):
(WebCore::writeIndent):
(WebCore::ContentLayerChromium::dumpLayerProperties):

  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::paintContentsIfDirty):
(WebCore::ImageLayerChromium::updateCompositorResources):
(WebCore::ImageLayerChromium::contentBounds):

  • platform/graphics/chromium/ImageLayerChromium.h:

(WebCore::ImageLayerChromium::drawsContent):

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::pushPropertiesTo):
(WebCore::LayerChromium::ccLayerImpl):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::draw):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawRootLayer):

  • platform/graphics/chromium/LayerTilerChromium.cpp:

(WebCore::LayerTilerChromium::updateRect):
(WebCore::LayerTilerChromium::draw):
(WebCore::LayerTilerChromium::drawTiles):

  • platform/graphics/chromium/LayerTilerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
  • platform/graphics/chromium/TiledLayerChromium.h: Removed.
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::drawsContent):
(WebCore::CCLayerImpl::draw):

  • platform/graphics/chromium/cc/CCLayerImpl.h:
  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
  • platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
3:14 PM Changeset in webkit [90858] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/782

Merge 89831
BUG=87298
Review URL: http://codereview.chromium.org/7350003

3:07 PM Changeset in webkit [90857] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/782

Merge 90595
BUG=87729
Review URL: http://codereview.chromium.org/7350001

3:00 PM Changeset in webkit [90856] by Joseph Pecoraro
  • 58 edits
    1 copy
    9 adds in trunk

ApplicationCache update should not immediately fail when reaching per-origin quota
https://bugs.webkit.org/show_bug.cgi?id=64177

Reviewed by Alexey Proskuryakov.

2011-07-12 Joseph Pecoraro <Joseph Pecoraro>

Include spaceNeeded information in the output dumped for appcache quota delegates.
Add and update tests related to handling of per-origin quotas.

  • http/tests/appcache/origin-quota-continued-download-expected.txt: Added.
  • http/tests/appcache/origin-quota-continued-download.html: Added.
  • http/tests/appcache/resources/quota-origin-continued-download.html: Added.
  • http/tests/appcache/resources/quota-origin-continued-download.manifest: Added. New test which checks that there will still be a successful cache when the per-origin quota is reached and increased at the end of downloading.
  • http/tests/appcache/origin-quota-continued-download-multiple-manifests-expected.txt: Added.
  • http/tests/appcache/origin-quota-continued-download-multiple-manifests.html: Added.
  • http/tests/appcache/resources/quota-origin-continued-download-multiple-manifests-1.html: Added.
  • http/tests/appcache/resources/quota-origin-continued-download-multiple-manifests-1.manifest: Added.
  • http/tests/appcache/resources/quota-origin-continued-download-multiple-manifests-2.html: Added.
  • http/tests/appcache/resources/quota-origin-continued-download-multiple-manifests-2.manifest: Added.
  • http/tests/appcache/resources/quota-origin-continued-download.html: Added.
  • http/tests/appcache/resources/quota-origin-continued-download.manifest: Added. New test which checks that the spaceNeeded appropriately lists enough space for multiple manifests across multiple frames for the same origin.
  • http/tests/appcache/resources/quota-origin-iframe-3.manifest: Fix a typo.
  • http/tests/appcache/origin-quota.html: Update the old test to disallow automatic increase of the quota, which is the default handling of DRT when reaching the quota.
  • platform/chromium/test_expectations.txt:
  • platform/gtk/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wk2/Skipped: Skip the test on ports that don't implement ApplicationCache per-origin quotas.

2011-07-12 Joseph Pecoraro <Joseph Pecoraro>

New behavior of handling ApplicationCache per-origin quotas. Previously,
if the quota was reached while downloading we would fail the download
and then prompt the user for a storage increase. This required a refresh,
a redownload of resources, and the total storage was not known so the
process could be repeated multiple times before an acceptable quota
was found or the user disallowed an increase.

The new behavior is to complete the download of the entire appcache.
When the cache completes downloading and it is greater than the origin
quota, prompt the user to allow a quota increase with the known space
needed. If the quota is increased, the cache will succeed, otherwise
it will fail with the normal failure steps.

An alternative behavior is prompting while downloading immediately
when the origin quota is reached, however at that point the entire
space needed is unknown and so quota increases might not be enough
and could result in multiple prompts to the user.

Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html

http/tests/appcache/origin-quota-continued-download.html

  • loader/appcache/ApplicationCacheGroup.h:
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): Rename instance variable to be more clear on its intent.

(WebCore::ApplicationCacheGroup::didFinishLoading):
Check the quota limit while downloading so we can fail early
if the user already denied a quota increase.

(WebCore::ApplicationCacheGroup::didReachOriginQuota):
Pass the space needed information to the chrome client.

(WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
Removed. Instead convert the callers to update state and console
log when the per-origin quota is reached. This allows us to follow
the normal failure steps if the quota is reached at the end of a
download, and the alternative short path when we fail during downloading.

(WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
Extract to a helper function.

(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
Allow for a quota increase at the end of the download now that
we know the space needed. Then proceed to fail or succeed
as we normally would.

  • loader/appcache/ApplicationCacheStorage.h:
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::checkOriginQuota): (WebCore::ApplicationCacheStorage::storeNewestCache): Extract checking the origin quota for when an ApplicationCacheGroup will be replacing an ApplicationCacheGroup into a helper function. The helper also provides an out parameter for the space needed to properly fit the new cache group if it wouldn't fit.
  • page/ChromeClient.h:
  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota): Add a space needed parameter when reaching the per-origin quota.

2011-07-12 Joseph Pecoraro <Joseph Pecoraro>

  • WebView/WebUIDelegatePrivate.h:
  • DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:spaceNeeded:]): Update the delegate to include a space needed parameter.
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::reachedApplicationCacheOriginQuota): Call the delegate with the new space needed information.

2011-07-12 Joseph Pecoraro <Joseph Pecoraro>

  • Api/qwebpage.cpp:
  • Api/qwebpage.h:
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota):
  • WebCoreSupport/ChromeClientQt.h: Pass the spaceNeeded value through to the applicationCacheQuotaExceeded signal.

2011-07-12 Joseph Pecoraro <Joseph Pecoraro>

Add layoutTestController.disallowIncreaseForApplicationCacheQuota()
to disable the default behavior of raising the default per-origin
quota to 5MB when reached. This allows us to test what happens
when the quota is reached and not increased.

  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (disallowIncreaseForApplicationCacheQuotaCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h: (LayoutTestController::disallowIncreaseForApplicationCacheQuota): (LayoutTestController::setDisallowIncreaseForApplicationCacheQuota):
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::reset):
  • DumpRenderTree/qt/LayoutTestControllerQt.h: (LayoutTestController::disallowIncreaseForApplicationCacheQuota): (LayoutTestController::dumpApplicationCacheDelegateCallbacks): Expose a function to prevent automatically increasing the per-origin quota when the quota is reached. This allows us to test what happens when a user would "disallow" a quota increase.
  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:spaceNeeded:]):
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::dumpApplicationCacheQuota): Respect the new disallowIncrease flag and dump the spaceNeeded values for ports that implement application cache quotas.
2:56 PM Changeset in webkit [90855] by Adam Roben
  • 2 edits in trunk/Source/WebKit/mac

Delete some redundant code in WebHTMLView

This code had no user-visible effect, as we were just duplicating work that AppKit would do
for us at a slightly different time.

Fixes <http://webkit.org/b/64390> WebHTMLView sets its root layer's transform unnecessarily

Reviewed by Simon Fraser.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView attachRootLayer:]):
Don't bother setting the root layer's transform to account for the scale factor. AppKit
takes care of this for us nowadays.

2:51 PM Changeset in webkit [90854] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

DFG JIT put_by_id transition caching does not inform the GC about the structure and
prototype chain that it is referencing.
https://bugs.webkit.org/show_bug.cgi?id=64387

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-12
Reviewed by Gavin Barraclough.

Fixed the relevant code in DFGRepatch to call StructureStubInfo::initPutByIdTransition().

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCachePutByID):

2:46 PM Changeset in webkit [90853] by crogers@google.com
  • 5 edits in trunk/Source/WebCore

AudioDevice::Stop can close NULL handle.
https://bugs.webkit.org/show_bug.cgi?id=64157

Reviewed by Kenneth Russell.

No new tests since audio API is not yet implemented.

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::JSAudioContextConstructor::constructJSAudioContext):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • webaudio/AudioContext.cpp:

(WebCore::AudioContext::create):
(WebCore::AudioContext::uninitialize):

  • webaudio/AudioContext.h:
2:38 PM Changeset in webkit [90852] by ojan@chromium.org
  • 2 edits in trunk/Tools

fix flakiness dashboard to work with new crash log filenames
https://bugs.webkit.org/show_bug.cgi?id=64393

Reviewed by Adam Barth.

  • TestResultServer/static-dashboards/flakiness_dashboard.html:
2:38 PM Changeset in webkit [90851] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

Full-screen: Don't change the collectionBehavior of the WebView's NSWindow if not necessary
https://bugs.webkit.org/show_bug.cgi?id=63217
<rdar://problem/9660291>

Reviewed by Darin Adler.

Check to see if the NSWindow hosting the WebView is not on the active space before changing the window's
collectionBehavior.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController beganExitFullScreenAnimation]):

2:22 PM Changeset in webkit [90850] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Move call to syncCompositingLayers so that we do not trigger redundant draws.
https://bugs.webkit.org/show_bug.cgi?id=64224

Source/WebCore:

doComposite was triggering two composites every time a canvas was dirtied.
By moving syncCompositingLayers call to layout, the client code can draw without triggering
a redundant frame. Also renamed WebViewImpl::updateLayers to
syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
no longer needed, because animateAndLayout calls WebViewImpl::layout.

Patch by John Bates <jbates@google.com> on 2011-07-12
Reviewed by James Robinson.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::updateLayers):

  • platform/graphics/chromium/LayerRendererChromium.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::syncCompositingLayers):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:
  • platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:

(WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):

Source/WebKit/chromium:

doComposite was triggering two composites every time a canvas was dirtied.
By moving syncCompositingLayers call to layout, the client code can draw without triggering
a redundant frame. Also renamed WebViewImpl::updateLayers to
syncCompositingLayers, because it was confusing.

Patch by John Bates <jbates@google.com> on 2011-07-12
Reviewed by James Robinson.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::layout):
(WebKit::WebViewImpl::syncCompositingLayers):

  • src/WebViewImpl.h:
2:20 PM Changeset in webkit [90849] by rniwa@webkit.org
  • 16 edits
    2 copies in trunk/Source/WebCore

Isolate HTMLTextFormControlElement into a separate file
https://bugs.webkit.org/show_bug.cgi?id=64381

Reviewed by Dimitri Glazkov.

Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
HTMLFormControlElement.h and HTMLFormControlElement.cpp.

Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
because it was specific to HTMLTextFormControlElement, and replaced all references to
HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
HTMLTextFormControlElement.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/TextIterator.cpp:
  • editing/htmlediting.cpp:
  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::isFocusable):

  • html/HTMLFormControlElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isKeyboardFocusable):
(WebCore::HTMLInputElement::isMouseFocusable):
(WebCore::HTMLInputElement::updateFocusAppearance):
(WebCore::HTMLInputElement::canStartSelection):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::finishParsingChildren):
(WebCore::HTMLInputElement::rendererIsNeeded):
(WebCore::HTMLInputElement::attach):
(WebCore::HTMLInputElement::detach):
(WebCore::HTMLInputElement::copyNonAttributeProperties):
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
(WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
(WebCore::HTMLInputElement::addSubresourceAttributeURLs):
(WebCore::HTMLInputElement::recalcWillValidate):

  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::defaultEventHandler):

  • html/HTMLTextAreaElement.h:
  • html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.

(WebCore::HTMLTextFormControlElement::defaultEventHandler):

  • html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
2:18 PM Changeset in webkit [90848] by cevans@google.com
  • 1 edit
    6 copies in branches/chromium/782

Merge 90568
BUG=83672
Review URL: http://codereview.chromium.org/7344020

2:08 PM Changeset in webkit [90847] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r90831.
http://trac.webkit.org/changeset/90831
https://bugs.webkit.org/show_bug.cgi?id=64389

Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
start timing out on the chromium GPU bots (Requested by ojan
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-12

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::getImageData):
(WebCore::putImageData):

1:58 PM SourceDirectory edited by jchaffraix@webkit.org
Forgot a lot of directories inside WebCore, added all directories with … (diff)
1:58 PM Changeset in webkit [90846] by abarth@webkit.org
  • 4 edits
    1 add in trunk/Tools

Add a happy animation to garden-o-matic when there are no failures
https://bugs.webkit.org/show_bug.cgi?id=64382

Reviewed by Ojan Vafai.

As requested by Ojan.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/partytime.gif: Added.
  • Scripts/webkitpy/tool/servers/gardeningserver.py:
1:57 PM Changeset in webkit [90845] by cevans@google.com
  • 2 edits
    4 copies in branches/chromium/782

Merge 90130
BUG=87925
Review URL: http://codereview.chromium.org/7344019

1:25 PM Changeset in webkit [90844] by andreas.kling@nokia.com
  • 3 edits in trunk/Source/WebKit2

[Qt][WK2] Navigation actions in incorrect state when loadStarted() is emitted.
https://bugs.webkit.org/show_bug.cgi?id=64383

Reviewed by Kenneth Rohde Christiansen.

Update the navigation actions before emitting loadStarted().

  • UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:

(LoadStartedCatcher::LoadStartedCatcher):
(LoadStartedCatcher::onLoadStarted):
(tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):

  • UIProcess/qt/ClientImpl.cpp:

(qt_wk_didStartProvisionalLoadForFrame):

1:22 PM Changeset in webkit [90843] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-12

  • DEPS:
12:56 PM Changeset in webkit [90842] by jamesr@google.com
  • 13 edits
    4 adds in trunk/Source/WebCore

Reviewed by Kenneth Russell.

[chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
https://bugs.webkit.org/show_bug.cgi?id=58833

Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
the drawing responsibilities for tiled layers.

TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
tiling transform and layer properties and draws the layer. Longer term it'd be better of the CCTiledLayerImpl
owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
way tile eviction works.

  • WebCore.gypi:
  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::ContentLayerChromium):
(WebCore::ContentLayerChromium::paintContentsIfDirty):
(WebCore::ContentLayerChromium::drawsContent):

  • platform/graphics/chromium/ContentLayerChromium.h:

(WebCore::ContentLayerChromium::textureUpdater):

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::cleanupResources):
(WebCore::ImageLayerChromium::paintContentsIfDirty):
(WebCore::ImageLayerChromium::textureUpdater):
(WebCore::ImageLayerChromium::contentBounds):
(WebCore::ImageLayerChromium::drawsContent):
(WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):

  • platform/graphics/chromium/ImageLayerChromium.h:
  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::pushPropertiesTo):
(WebCore::LayerChromium::ccLayerImpl):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::contentBounds):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawRootLayer):
(WebCore::visibleLayerRect):
(WebCore::paintLayerContentsIfDirty):
(WebCore::LayerRendererChromium::paintLayerContents):
(WebCore::LayerRendererChromium::drawLayer):

  • platform/graphics/chromium/LayerTilerChromium.cpp:

(WebCore::LayerTilerChromium::updateRect):
(WebCore::LayerTilerChromium::draw):
(WebCore::LayerTilerChromium::drawTiles):

  • platform/graphics/chromium/LayerTilerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp: Added.

(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::~TiledLayerChromium):
(WebCore::TiledLayerChromium::createCCLayerImpl):
(WebCore::TiledLayerChromium::cleanupResources):
(WebCore::TiledLayerChromium::setLayerRenderer):
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::createTilerIfNeeded):
(WebCore::TiledLayerChromium::updateCompositorResources):
(WebCore::TiledLayerChromium::setTilingOption):
(WebCore::TiledLayerChromium::setIsMask):
(WebCore::TiledLayerChromium::tilingTransform):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::writeIndent):
(WebCore::TiledLayerChromium::dumpLayerProperties):

  • platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::draw):

  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore::CCLayerImpl::setDrawsContent):
(WebCore::CCLayerImpl::drawsContent):
(WebCore::CCLayerImpl::contentBounds):
(WebCore::CCLayerImpl::setContentBounds):
(WebCore::CCLayerImpl::doubleSided):
(WebCore::CCLayerImpl::setDoubleSided):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.

(WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
(WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
(WebCore::CCTiledLayerImpl::draw):
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::dumpLayerProperties):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.

(WebCore::CCTiledLayerImpl::create):
(WebCore::CCTiledLayerImpl::setTilingTransform):
(WebCore::CCTiledLayerImpl::setTiler):

12:41 PM Changeset in webkit [90841] by xan@webkit.org
  • 5 edits in trunk/Source/WebCore

2011-07-12 Arno Renevier <arno@renevier.net>

[GTK] DOM bindings do not have gir annotations
https://bugs.webkit.org/show_bug.cgi?id=45395

Reviewed by Xan Lopez.

  • bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
12:20 PM Changeset in webkit [90840] by abarth@webkit.org
  • 3 edits in trunk/Tools

sheriffbot can't perform rollouts
https://bugs.webkit.org/show_bug.cgi?id=64370

Reviewed by Eric Seidel.

Now that we're not updating the working copy before processing every
IRC message, the rollout command needs to update it manually.

  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
12:16 PM Changeset in webkit [90839] by crogers@google.com
  • 6 edits in trunk/Source/WebCore

2011-07-12 Chris Rogers <crogers@google.com>

webkitAudioContext does not do proper sanity checking on its arguments.
https://bugs.webkit.org/show_bug.cgi?id=64076

Reviewed by Kenneth Russell.

No new tests since audio API is not yet implemented.

  • bindings/js/JSAudioContextCustom.cpp: (WebCore::JSAudioContextConstructor::constructJSAudioContext): (WebCore::JSAudioContext::createBuffer):
  • bindings/v8/custom/V8AudioContextCustom.cpp: (WebCore::V8AudioContext::constructorCallback): (WebCore::V8AudioContext::createBufferCallback):
  • platform/audio/HRTFDatabaseLoader.h: (WebCore::HRTFDatabaseLoader::databaseSampleRate):
  • webaudio/AudioContext.cpp: (WebCore::AudioContext::create): (WebCore::AudioContext::createOfflineContext): (WebCore::AudioContext::createBuffer):
  • webaudio/AudioContext.h:
12:16 PM Changeset in webkit [90838] by benjamin.poulain@nokia.com
  • 8 edits
    4 adds in trunk/Source/WebKit2

[Qt][WK2] Add a basic Pinch gesture recognizer for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=64373

Reviewed by Andreas Kling.

This patch adds QtPinchGestureRecognizer to recognize pinch gesture out of
the events not handled by the WebProcess.

TouchViewInterface::pinchGestureRequestScale() has a basic default implementation
so the feature can be tested manually.

  • UIProcess/qt/QtGestureRecognizer.cpp:

QtGestureRecognizer is the private base class for both gesture recognizer
in order to be able to share some code.
(WebKit::QtGestureRecognizer::QtGestureRecognizer):
(WebKit::QtGestureRecognizer::reset):

  • UIProcess/qt/QtGestureRecognizer.h:
  • UIProcess/qt/QtPanGestureRecognizer.cpp:

(WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
(WebKit::QtPanGestureRecognizer::reset):

  • UIProcess/qt/QtPanGestureRecognizer.h:
  • UIProcess/qt/QtPinchGestureRecognizer.cpp: Added.

(WebKit::findTouchPointIndex):
(WebKit::computeTouchCenter):
(WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
(WebKit::QtPinchGestureRecognizer::recognize):
(WebKit::QtPinchGestureRecognizer::reset):
(WebKit::QtPinchGestureRecognizer::initializeGesture):

  • UIProcess/qt/QtPinchGestureRecognizer.h: Copied from Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h.

(WebKit::QtPinchGestureRecognizer::TouchPointInformation::TouchPointInformation):
(WebKit::QtPinchGestureRecognizer::TouchPointInformation::isValid):

  • UIProcess/qt/TouchViewInterface.cpp:

(WebKit::TouchViewInterface::TouchViewInterface):
(WebKit::TouchViewInterface::pinchGestureStarted):
(WebKit::TouchViewInterface::pinchGestureRequestScale):
The scale factor reported by the recognizer to the TouchViewInterface is the total scale since the start
of the gesture in order to avoid numerical instabilities.
(WebKit::TouchViewInterface::pinchGestureEnded):

  • UIProcess/qt/TouchViewInterface.h:
  • UIProcess/qt/qtouchwebpageproxy.cpp:

(QTouchWebPageProxy::QTouchWebPageProxy):
(QTouchWebPageProxy::processDidCrash):
(QTouchWebPageProxy::doneWithTouchEvent):

  • UIProcess/qt/qtouchwebpageproxy.h:
  • WebKit2.pro:
11:55 AM Changeset in webkit [90837] by andreas.kling@nokia.com
  • 4 edits in trunk/Source/WebKit2

[Qt][WK2] Navigation actions should react to web process availability.
https://bugs.webkit.org/show_bug.cgi?id=64375

Reviewed by Benjamin Poulain.

When the web process is unavailable, the reload and stop actions should
behave slightly differently. Stop should always be disabled, and reload
should be enabled if there's a reloadable item in the back/forward list.

  • UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:

(tst_QDesktopWebView::navigationActionEnabledStatusAtStartup):

  • UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:

(tst_QTouchWebView::navigationActionEnabledStatusAtStartup):

  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::updateAction):
(QtWebPageProxy::didRelaunchProcess):
(QtWebPageProxy::processDidCrash):

11:53 AM Changeset in webkit [90836] by evan@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] DRT depends on v8
https://bugs.webkit.org/show_bug.cgi?id=64376

DumpRenderTree.cpp has calls to v8:: functions, so it should have a build
dependency on v8. This fixes missing references in the shared-object build.

  • WebKit.gyp:
11:49 AM Changeset in webkit [90835] by abarth@webkit.org
  • 2 edits in trunk/Tools

Fix the grammar in the FIXME comment.

  • Scripts/webkitpy/common/net/resultsjsonparser.py:
11:47 AM Changeset in webkit [90834] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Implement didReceiveDataArray callback for CFNetwork based loader
https://bugs.webkit.org/show_bug.cgi?id=64130

Reviewed by David Kilzer.

Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
a new method ResourceHandle::handleDataArray(). Implement the callback
in the CFNetwork loader code and call handleDataArray() to process
incoming data.

No new tests because the flag is not enabled for any bots.

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::didReceiveDataArray):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::handleDataArray):

  • platform/network/mac/ResourceHandleMac.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):

11:42 AM Changeset in webkit [90833] by eae@chromium.org
  • 11 edits in trunk/Source/WebCore

Switch preferred width/height and columns to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=64329

Reviewed by Eric Seidel.

No new tests, no new functionality.

  • rendering/LayoutTypes.h:

(WebCore::ceiledLayoutUnit):
Add ceiledLayoutUnit to go with the floored version.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::flipForWritingModeIncludingColumns):
(WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
Rename rect version of flipForWritingModeIncludingColumns to
adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
and does not flip the rect.

(WebCore::RenderBlock::adjustForColumns):
(WebCore::updatePreferredWidth):

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

(WebCore::RenderBox::minPreferredLogicalWidth):
(WebCore::RenderBox::maxPreferredLogicalWidth):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::flipForWritingMode):
(WebCore::RenderBox::flipForWritingModeIncludingColumns):

  • rendering/RenderBox.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::itemBoundingBoxRect):

  • rendering/RenderListBox.h:
  • rendering/RenderObject.h:

(WebCore::RenderObject::minPreferredLogicalWidth):
(WebCore::RenderObject::maxPreferredLogicalWidth):
(WebCore::RenderObject::adjustForColumns):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):

  • rendering/TableLayout.h:
11:37 AM Changeset in webkit [90832] by leviw@chromium.org
  • 23 edits
    2 moves in trunk/Source/WebCore

Change roundedIntRect to roundedRect
https://bugs.webkit.org/show_bug.cgi?id=64326

Reviewed by Eric Seidel.

Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
integer-based versions.

No new tests, no new functionality

  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Path.cpp:

(WebCore::Path::addRoundedRect):

  • platform/graphics/Path.h:
  • platform/graphics/RoundedIntRect.cpp: Removed.
  • platform/graphics/RoundedIntRect.h: Removed.
  • platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.

(WebCore::RoundedRect::Radii::isZero):
(WebCore::RoundedRect::Radii::scale):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::inflateWithRadii):
(WebCore::RoundedRect::Radii::includeLogicalEdges):
(WebCore::RoundedRect::Radii::excludeLogicalEdges):
(WebCore::RoundedRect::RoundedRect):
(WebCore::RoundedRect::includeLogicalEdges):
(WebCore::RoundedRect::excludeLogicalEdges):
(WebCore::RoundedRect::isRenderable):

  • platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.

(WebCore::RoundedRect::Radii::Radii):
(WebCore::RoundedRect::Radii::setTopLeft):
(WebCore::RoundedRect::Radii::setTopRight):
(WebCore::RoundedRect::Radii::setBottomLeft):
(WebCore::RoundedRect::Radii::setBottomRight):
(WebCore::RoundedRect::Radii::topLeft):
(WebCore::RoundedRect::Radii::topRight):
(WebCore::RoundedRect::Radii::bottomLeft):
(WebCore::RoundedRect::Radii::bottomRight):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::Radii::shrink):
(WebCore::RoundedRect::rect):
(WebCore::RoundedRect::setRect):
(WebCore::RoundedRect::move):
(WebCore::RoundedRect::inflate):
(WebCore::RoundedRect::expandRadii):
(WebCore::RoundedRect::shrinkRadii):
(WebCore::operator==):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::setLastShadowValues):
(WebCore::ScratchBuffer::setLastInsetShadowValues):
(WebCore::ScratchBuffer::matchesLastShadow):
(WebCore::ScratchBuffer::matchesLastInsetShadow):
(WebCore::computeSliceSizesFromRadii):
(WebCore::ShadowBlur::templateSize):
(WebCore::ShadowBlur::drawRectShadow):
(WebCore::ShadowBlur::drawInsetShadow):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawLayerPieces):

  • platform/graphics/ShadowBlur.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintSliderTrack):

  • rendering/style/RenderStyle.cpp:

(WebCore::calcRadiiFor):
(WebCore::calcConstraintScaleFor):
(WebCore::RenderStyle::getRoundedBorderFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):

  • rendering/style/RenderStyle.h:
11:31 AM Changeset in webkit [90831] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
https://bugs.webkit.org/show_bug.cgi?id=64302

Patch by Mike Reed <reed@google.com> on 2011-07-12
Reviewed by Stephen White.

No new tests. Just an optimization for getImageData(), existing <canvas> tests apply

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::getImageData):
(WebCore::putImageData):

11:27 AM SourceDirectory edited by jchaffraix@webkit.org
Added more content to the WebCore section (diff)
11:20 AM Changeset in webkit [90830] by pfeldman@chromium.org
  • 16 edits
    3 adds in trunk

Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
https://bugs.webkit.org/show_bug.cgi?id=64350

Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/user-metrics.html

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::recordActionTaken):
(WebCore::JSInspectorFrontendHost::recordPanelShown):
(WebCore::JSInspectorFrontendHost::recordSettingChanged):

  • bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:

(WebCore::histogramEnumeration):
(WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
(WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
(WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):

  • inspector/InspectorFrontendHost.idl:
  • inspector/front-end/AuditsPanel.js:

(WebInspector.AuditsPanel.prototype.initiateAudit):

  • inspector/front-end/ConsoleView.js:
  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel.prototype.setBreakpoint):
(WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):

  • inspector/front-end/InspectorFrontendHostStub.js:

(.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
(.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
(.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
(.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype._setRecordingProfile):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):

  • inspector/front-end/UserMetrics.js: Added.

(WebInspector.UserMetrics.settingChanged):
(WebInspector.UserMetrics):
(WebInspector.UserMetrics.prototype.panelShown):
(WebInspector.UserMetrics._Recorder):
(WebInspector.UserMetrics._Recorder.prototype.record):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js:

(WebInspector._toggleAttach):

LayoutTests:

  • inspector/user-metrics-expected.txt: Added.
  • inspector/user-metrics.html: Added.
11:13 AM Changeset in webkit [90829] by andreas.kling@nokia.com
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] QDesktopWebView crashes if resized without web process.
https://bugs.webkit.org/show_bug.cgi?id=64371

Reviewed by Benjamin Poulain.

  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::paint): Remove an invalid assertion. The drawing
area may be null if the web process has crashed.
(QtWebPageProxy::setDrawingAreaSize): Fail silently if there is no
drawing area.

11:06 AM Changeset in webkit [90828] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Patch by Jeff Timanus <twiz@chromium.org> on 2011-07-12
Reviewed by Stephen White.

Suppress flaky Chromium layout tests.
https://bugs.webkit.org/show_bug.cgi?id=64308

  • platform/chromium/test_expectations.txt:
11:00 AM Changeset in webkit [90827] by commit-queue@webkit.org
  • 1 edit
    4 deletes in trunk/LayoutTests

Remove results for iframe-outline.html
https://bugs.webkit.org/show_bug.cgi?id=64343

fast/frames/iframe-outline.html was reverted in bug 57439 (another test
added to replace it). Remove the redundant iframe-outline test results.

Patch by Noel Gordon <noel.gordon@gmail.com> on 2011-07-12
Reviewed by Tony Chang.

  • platform/chromium-win/fast/frames/iframe-outline-expected.png: Removed.
  • platform/chromium/iframe-outline-expected.png: Removed.
  • platform/gtk/fast/frames/iframe-outline-expected.png: Removed.
  • platform/gtk/fast/frames/iframe-outline-expected.txt: Removed.
10:53 AM SourceDirectory edited by jchaffraix@webkit.org
Filled more details about Source/JavaScriptCore (diff)
10:52 AM Changeset in webkit [90826] by eric@webkit.org
  • 11 edits
    1 add in trunk/Tools

NRWT should open test results page with Safari trunk, not the system provided one on Mac
https://bugs.webkit.org/show_bug.cgi?id=64346

Reviewed by Adam Barth.

To fix this I implemented Port.show_results_html_file in Mac, Gtk and Qt ports with
implementations (mostly) matching those found in old-run-webkit-tests.
There are still some minor differences for Qt which Qt hackers may wish to tweak.

I had to add a WebKitPort._port_flag_for_scripts method (similar to flag() in common.config.ports.py)
for the Qt/Gtk ports which always require a flag passed to scripts.

While trying to test this, I found that FactoryTest.test_chromium_gpu_linux
was using a real filesystem (due to assert_platform) which due to
global variables in config.py was causing set-webkit-configuration to have
an affect on unit test results! So I fixed this by making FactoryTest.assert_port
pass a mock file system whenever calling factory.get.

Unfortunately TestPort was depending on always being passed a None filesystem
and asserting filesystem._tests (only true for unit_test_filesystem()).
So I just removed the FactoryTest.test_test and FactoryTest.test_dryrun tests
deciding that they were pretty much useless anyway. If others feel strongly
I'm happy to fix this in a different way.

  • Scripts/webkitpy/common/system/executive.py:
    • default arguments in python are screwy. They use a single shared instance, so it's better to use argument=None and then argument = argument or Default() if you have any chance of mutating (or returning) the default argument.
  • Scripts/webkitpy/layout_tests/port/config.py:
    • This code is wrong. We don't need to use a global variable here (as far as I can tell). I'm not fixing it in this patch, but I've marked it with a FIXME and we can convert to storing the results of the read on the Config object (which should only be created once during normal operation). Unit tests shouldn't be hitting the disk anyway. It's possible Config should move off of Port and onto Tool/Host directly.
  • Scripts/webkitpy/layout_tests/port/factory.py:
  • Scripts/webkitpy/layout_tests/port/factory_unittest.py:
  • Scripts/webkitpy/layout_tests/port/gtk.py:
  • Scripts/webkitpy/layout_tests/port/gtk_unittest.py: Added.
  • Scripts/webkitpy/layout_tests/port/mac.py:
  • Scripts/webkitpy/layout_tests/port/mac_unittest.py:
  • Scripts/webkitpy/layout_tests/port/qt.py:
  • Scripts/webkitpy/layout_tests/port/qt_unittest.py:
  • Scripts/webkitpy/layout_tests/port/webkit.py:
10:51 AM Changeset in webkit [90825] by psolanki@apple.com
  • 3 edits in trunk/Source/WebCore

Reviewed by David Kilzer.

Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=63286

When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
CFURLResponseRef so that WebKit can continue using the NSURLResponse.

No new tests because no change in functionality and option is not enabled on Mac.

  • platform/network/cf/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):
(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::ResourceResponse):

10:50 AM Changeset in webkit [90824] by Adam Roben
  • 4 edits in trunk/Tools

Teach TestFailures to recognize when run-webkit-tests gets killed by buildbot

Fixes <http://webkit.org/b/64358> TestFailures page thinks all tests passed in
http://build.webkit.org/builders/Windows%207%20Release%20(Tests)/builds/14672

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:

(Builder.prototype.getNumberOfFailingTests): If run-webkit-tests exited with a non-zero
exit status but we didn't find any failure counts, assume that there was some error that
caused run-webkit-tests to die early (like being killed by buildbot due to a timeout).

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:

Added a new test that shows that we get a failingTestCount of -1 when run-webkit-tests dies
early.
(runGetNumberOfFailingTestsTest): Moved most code here from the only pre-existing test in this
file.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestResultsLoader.js:

(LayoutTestResultsLoader.prototype.start): Bump the cache number so old cached data that was
tainted by the bug fixed in this patch will be evicted.

10:49 AM Changeset in webkit [90823] by abarth@webkit.org
  • 4 edits in trunk/Tools

cr-linux-ews complains about tests that aren't actually failing
https://bugs.webkit.org/show_bug.cgi?id=64367

The underlying problem here is that full_results.json doesn't have
enough information to determine whether a given test result was
expected because whether an actual result is expected depends on
whether full_results.json was generated duing a test run that included
pixel tests.

The right long-term solution is to make full_results.json a complete
description of what happened durning a test run. In this patch
however, to stop the spam, this patch makes the jsonresultsparser
ignore pixel failures.

(I'm landing this patch unreviewed in order to stop the bots from
spamming. I'll happily address any review comments in a follow-up
patch.)

  • Scripts/webkitpy/common/net/resultsjsonparser.py:
  • Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
10:46 AM Changeset in webkit [90822] by abarth@webkit.org
  • 10 edits
    1 add in trunk/Tools

Re-work garden-o-matic UI to begin to look like the mocks
https://bugs.webkit.org/show_bug.cgi?id=64334

Reviewed by Dimitri Glazkov.

This patch changes how we display failures to be more like the mock the
dglazkov made. We now can display the same information much more
compactly.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.css: Added.
  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
  • Scripts/webkitpy/tool/servers/gardeningserver.py:
10:23 AM SourceDirectory edited by jchaffraix@webkit.org
Enhanced the formatting of the page (diff)
9:28 AM Changeset in webkit [90821] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

WebKitTestRunner needs an implemenation of allowRoundingHacks
https://bugs.webkit.org/show_bug.cgi?id=63477

Add platform/mac/fast/text/rounding-hacks-expansion.html to the wk2 Skipped list to get the
bots green.

  • platform/wk2/Skipped:
9:15 AM Changeset in webkit [90820] by andreas.kling@nokia.com
  • 15 edits
    3 adds in trunk/Source/WebKit2

[Qt][WK2] Add informative loadFailed() signal to web views.
https://bugs.webkit.org/show_bug.cgi?id=64362

Reviewed by Benjamin Poulain.

The web views will now emit loadFailed(QWebError) when a load failure occurs.

The QWebError object currently contains:

  • Type of failure (whether it's an engine, network or protocol error.)
  • The failing URL.
  • Any error code associated with the failure.
  • UIProcess/API/qt/qdesktopwebview.cpp:

(QDesktopWebViewPrivate::loadDidFail):

  • UIProcess/API/qt/qdesktopwebview.h:
  • UIProcess/API/qt/qdesktopwebview_p.h:
  • UIProcess/API/qt/qtouchwebpage.h:
  • UIProcess/API/qt/qweberror.cpp: Added.

(QWebError::QWebError):
(QWebErrorPrivate::createQWebError):
(QWebErrorPrivate::QWebErrorPrivate):
(QWebErrorPrivate::~QWebErrorPrivate):
(QWebError::type):
(QWebError::errorCode):
(QWebError::url):

  • UIProcess/API/qt/qweberror.h: Added.
  • UIProcess/API/qt/qweberror_p.h: Added.
  • UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:

(tst_CommonViewTests::loadNonexistentFileUrl):

  • UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:

(WebViewAbstraction::WebViewAbstraction):
(WebViewAbstraction::touchViewLoadFailed):
(WebViewAbstraction::desktopViewLoadFailed):

  • UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
  • UIProcess/qt/ClientImpl.cpp:

(dispatchLoadSucceeded):
(dispatchLoadFailed):
(qt_wk_didFailProvisionalLoadWithErrorForFrame):
(qt_wk_didFinishLoadForFrame):
(qt_wk_didFailLoadWithErrorForFrame):

  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::loadDidFail):

  • UIProcess/qt/QtWebPageProxy.h:
  • UIProcess/qt/TouchViewInterface.cpp:

(WebKit::TouchViewInterface::loadDidFail):

  • UIProcess/qt/TouchViewInterface.h:
  • UIProcess/qt/ViewInterface.h:
  • WebKit2API.pri:
7:53 AM Changeset in webkit [90819] by podivilov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Cancelling an empty edit fails.
https://bugs.webkit.org/show_bug.cgi?id=64351

Reviewed by Pavel Feldman.

  • inspector/front-end/ResourceView.js:

(WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):

7:49 AM Changeset in webkit [90818] by podivilov@chromium.org
  • 4 edits in trunk

Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
https://bugs.webkit.org/show_bug.cgi?id=64353

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype.beforeTextChanged):
(WebInspector.SourceFrame.prototype.afterTextChanged):
(WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.SourceFrame.prototype.suggestedFileName):
(WebInspector.SourceFrame.prototype.doubleClick):
(WebInspector.SourceFrame.prototype.cancelEditing):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):

LayoutTests:

  • inspector/debugger/live-edit.html:
7:44 AM Changeset in webkit [90817] by jocelyn.turcotte@nokia.com
  • 4 edits in trunk/Source/WebKit2

[Qt] Forward the touch view scale changes to the tiled drawing area.
https://bugs.webkit.org/show_bug.cgi?id=64357

Reviewed by Kenneth Rohde Christiansen.

The drawing area needs to know the new scale to render tiles accordingly.

  • UIProcess/API/qt/qtouchwebpage.cpp:

(QTouchWebPagePrivate::commitScaleChange):

  • UIProcess/qt/qtouchwebpageproxy.cpp:

(QTouchWebPageProxy::setContentsScale):

  • UIProcess/qt/qtouchwebpageproxy.h:

(QTouchWebPageProxy::drawingArea):

6:59 AM Changeset in webkit [90816] by Adam Roben
  • 2 edits in trunk/LayoutTests

Update Windows expected results for plugins/mouse-events-fixedpos.html after r90742

  • platform/win/plugins/mouse-events-fixedpos-expected.txt:
6:54 AM Changeset in webkit [90815] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: remove more dead code from the Network panel
https://bugs.webkit.org/show_bug.cgi?id=64291

Reviewed by Pavel Feldman.

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkPanel.prototype._toggleGridMode):
(WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):

  • inspector/front-end/networkPanel.css:
6:53 AM Changeset in webkit [90814] by Adam Roben
  • 6 edits
    5 adds in trunk/Tools

Extract TestFailures's bug-filing code into two new classes

Fixes <http://webkit.org/b/64300> TestFailures page's new-bug-filing code is a mess!

Reviewed by Darin Adler and Adam Barth.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Buildbot.js:

(Buildbot.prototype.resultsDirectoryURL): Changed to return a URI-encoded URL. Otherwise the
URL isn't valid (and it's harder to mock this function).

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Buildbot_unittests.js:

Added. Just tests the above change (for now).

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:

Added a license header, enclosed everything in a closure to avoid polluting the global
namespace, changed the test name to actually describe the passing condition, and replaced
uses of equals() with equal(). (The latter is the actual name of the function, and matches
deepEqual, etc.)

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/NewBugForm.js: Added.

(NewBugForm): This class knows how to construct a <form> used for filing new bugs in
Bugzilla based on some parameters.
(NewBugForm.prototype.domElement): Creates and returns the <form> element. Code came from
ViewController.prototype._domForNewAndExistingBugs.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/NewBugForm_unittests.js:

Added. Tests the above code.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm.js: Added.

(TestFailureBugForm): This class knows how to construct a <form> element used for filing new
bugs specifically about test failures. Code came from
ViewController.prototype._domForNewAndExistingBugs.
(TestFailureBugForm.prototype.domElement): Slightly customizes the <form> element returned
by NewBugForm.
(TestFailureBugForm.prototype._computeOperatingSystem):
(TestFailureBugForm.prototype._computePlatform):
(TestFailureBugForm.prototype._createBugTitle):
(TestFailureBugForm.prototype._failingResultsHTMLURL):
(TestFailureBugForm.prototype._failingRevision):
(TestFailureBugForm.prototype._passingRevision):
(TestFailureBugForm.prototype._regressionRangeString):
Code came from ViewController.prototype._domForNewAndExistingBugs. I broke it out into
separate functions to break up the rat's nest a bit.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm_unittests.js:

Added. Tests the above code.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:

(ViewController.prototype._domForNewAndExistingBugs): Moved code from here to
TestFailureBugForm/NewBugForm, and changed this code to use a TestFailureBugForm.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in

NewBugForm/TestFailureBugForm.js.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:

Added new tests and required files.

6:35 AM Changeset in webkit [90813] by Adam Roben
  • 8 edits
    1 add in trunk

Ensure no intermediate WTF::Strings are created when concatenating with string literals

Fixes <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using
operator+ is suboptimal

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • wtf/text/StringConcatenate.h:

(WTF::StringTypeAdapter<String>::writeTo): Added a macro that can be used for testing how
many WTF::Strings get copied while evaluating an operator+ expression.

  • wtf/text/StringOperators.h:

(WTF::operator+): Changed the overload that takes a StringAppend to take it on the left-hand
side, since operator+ is left-associative. Having the StringAppend on the right-hand side
was causing us to make intermediate WTF::Strings when evaluating expressions that contained
multiple calls to operator+. Added some more overloads for that take a left-hand side of
const char* to resolve overload ambiguity for certain expressions. Added overloads that take
a left-hand side of const UChar* (matching the const char* overloads) so that wide string
literals don't first have to be converted to a WTF::String in operator+ expressions.

Source/WebKit2:

Export some symbols needed by TestWebKitAPI

  • win/WebKit2.def:

Tools:

Test that no intermediate WTF::Strings are created when concatenating with string literals

  • TestWebKitAPI/Tests/WTF/StringOperators.cpp: Added.

(TestWebKitAPI::TEST): Test that a bunch of different string concatenation expressions don't
create any intermediate WTF::Strings while they're being evaluated.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/win/TestWebKitAPI.vcproj:

Added new file.

6:29 AM QtWebKitRelease22 edited by joel.parks@nokia.com
(diff)
5:39 AM Changeset in webkit [90812] by Adam Roben
  • 4 edits in trunk/Source

Unreviewed, rolling out r90811.
http://trac.webkit.org/changeset/90811
https://bugs.webkit.org/show_bug.cgi?id=61025

Several svg tests failing assertions beneath
SVGSMILElement::findInstanceTime

Source/JavaScriptCore:

  • wtf/StdLibExtras.h:

(WTF::binarySearch):

Source/WebCore:

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::findInstanceTime):

3:14 AM Changeset in webkit [90811] by reni@webkit.org
  • 4 edits in trunk/Source

Patch by Oliver Varga <Varga.Oliver@stud.u-szeged.hu> on 2011-07-12
Reviewed by Nikolas Zimmermann.

Speed up SVGSMILElement::findInstanceTime.
https://bugs.webkit.org/show_bug.cgi?id=61025

Source/JavaScriptCore:

Add a new parameter to StdlibExtras.h::binarySerarch function
to also handle cases when the array does not contain the key value.
This is needed for an svg function.

  • wtf/StdLibExtras.h:

(WTF::binarySearch):

Source/WebCore:

Replace the linear search to binary search on ordered list because
the previous searches from the beginning was not efficient.
Out of index error fixed by Renata Hodovan.

No new tests this is only a performance tweak.

  • svg/animation/SVGSMILElement.cpp:

(WebCore::extractTimeFromVector):
(WebCore::SVGSMILElement::findInstanceTime):

1:35 AM WebKit Team edited by dslomov@google.com
(diff)
1:08 AM Changeset in webkit [90810] by eric@webkit.org
  • 11 edits
    1 delete in trunk

[Qt] NRWT should pick up the right httpd config file
https://bugs.webkit.org/show_bug.cgi?id=64086

Reviewed by Adam Barth.

Tools:

This is more fall-out from the Port class inappropriately encapsulating
both platform and port knowledge. We need to split out some of this
platform knowledge into a separate class which can be better shared
between ports.

The fix was to move all the _path_to_apache_config_file logic down
into the WebKitPort baseclass so that all of the ports can find the
right apache config file, regardless of what platform they may be running on.

I did not move this down into base.Port (even though I considered it).
Chromium duplicates some of this logic, but since they have separate
subclasses for each port-OS combination (e.g. ChromiumMac, ChromiumWin)
they wouldn't notice the change. Eventually we'll move this logic
out of Port entirely, and then it will be shared by all ports.

I also cleaned up the http-config logic for ORWT while I was there,
although since we're killing that code, I'm happy to revert that part
of the change if changing it is viewed as needlessly risky.

During this cleanup, I noticed that no ports use the "default" httpd.conf
which is left over from Mac OS X Tiger (and old linux distros) which used
Apache 1.3. I've removed httpd.conf (and associated support in ORWT) since
we no longer support any ports which use this httpd.conf.

  • Scripts/webkitperl/httpd.pm:

(getHTTPDConfigPathForTestDirectory):

  • Scripts/webkitpy/layout_tests/port/base.py:
  • Scripts/webkitpy/layout_tests/port/gtk.py:
  • Scripts/webkitpy/layout_tests/port/mac.py:
  • Scripts/webkitpy/layout_tests/port/qt.py:
  • Scripts/webkitpy/layout_tests/port/webkit.py:
  • Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
  • Scripts/webkitpy/layout_tests/port/win.py:
  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

LayoutTests:

Removed this old httpd.conf file (used by Tiger and old linux distros)
since no supported WebKit ports use it anymore.

  • http/conf/httpd.conf: Removed.
Note: See TracTimeline for information about the timeline view.