Timeline


and

05/07/12:

23:59 Changeset [116399] by tkent@chromium.org

[Chormium] Test expectatino update

  • platform/chromium/test_expectations.txt:
    • multiline-pack.html is failing on all DEBUG bots.
    • filter-repaint-custom-rotated.html fails on Mac.
23:56 Changeset [116398] by pfeldman@chromium.org

Web Inspector: make JavaScriptSourceFrame use breakpoint manager's breakpoints store.
https://bugs.webkit.org/show_bug.cgi?id=85714

Reviewed by Yury Semikhatsky.

It is currently using its own copy of breakpoints which is not necessary.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
(WebInspector.BreakpointManager.prototype.findBreakpoint):
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype._debuggerReset):
(WebInspector.BreakpointManager.prototype._breakpointResolved):
(WebInspector.BreakpointManager.prototype._uiLocationAdded):
(WebInspector.BreakpointManager.prototype._uiLocationRemoved):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
(WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
(set WebInspector.BreakpointManager.Storage.Item):

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
(WebInspector.JavaScriptSource.prototype.breakpointStorageId):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
(WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
(WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
(WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):

23:30 Changeset [116397] by pfeldman@chromium.org

Web Inspector: do not create locations for resolved provisional breakpoints
https://bugs.webkit.org/show_bug.cgi?id=85716

Reviewed by Yury Semikhatsky.

Source/WebCore:

Marked provisional breakpoints as such.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.prototype._debuggerReset):
(WebInspector.BreakpointManager.prototype._breakpointResolved):

LayoutTests:

  • inspector/debugger/breakpoint-manager-expected.txt:
  • inspector/debugger/breakpoint-manager.html:
22:59 Changeset [116396] by commit-queue@webkit.org

Adjust flakiness dashboard gpu_tests image diff URLs.
https://bugs.webkit.org/show_bug.cgi?id=85423

Patch by Dave Tu <dtu@chromium.org> on 2012-05-07
Reviewed by Ojan Vafai.

  • Tools/TestResultServer/static-dashboards/flakiness_dashboard.js:
22:45 Changeset [116395] by simon.fraser@apple.com

Compositing layers with transformed children not large enough to show contents
https://bugs.webkit.org/show_bug.cgi?id=85855

Source/WebCore:

Reviewed by Dan Bernstein.

r114518 added a code path to RenderLayer::calculateLayerBounds() which
does an early return if the layer has clipping. However, this code
path omitted to take local transforms into account.

Fix is to handle transforms as we do in the non-clipped case.

Test: compositing/geometry/bounds-clipped-composited-child.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

Reviewed by Dan Bernstein.

Test having composited element with clipped, transformed children.

  • compositing/geometry/bounds-clipped-composited-child-expected.png: Added.
  • compositing/geometry/bounds-clipped-composited-child-expected.txt: Added.
  • compositing/geometry/bounds-clipped-composited-child.html: Added.
22:14 Changeset [116394] by commit-queue@webkit.org

Fix signed/unsigned mismatch
https://bugs.webkit.org/show_bug.cgi?id=85845

Make literal in assert be unsigned to match comparison on LHS. Avoids
warning on Windows.

Patch by Scott Graham <scottmg@chromium.org> on 2012-05-07
Reviewed by Eric Seidel.

No new tests. No intended functionality change.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::splitColumn):

22:00 Changeset [116393] by kinuko@chromium.org

Unreviewed build fix: didOpenFileSystem hides overloaded virtual function

  • src/WorkerAsyncFileSystemChromium.cpp:
21:12 Changeset [116392] by eae@chromium.org

Fix performance regression for floats caused by LayoutUnit change
https://bugs.webkit.org/show_bug.cgi?id=85834

Reviewed by Eric Seidel.

Fix performance regression caused by r116009 by disabling the use of
64bit math in FractionalLayoutUnit, simplifying the pixelSnappedMaxX/Y
math, inlining a couple of methods and replacing the literal 0 (zero)
with ZERO_LAYOUT_UNIT.

No new tests, no change in functionality.

  • platform/FractionalLayoutUnit.h:

(WebCore::boundedMultiply):
(WebCore::operator*):
(WebCore::operator/):
Disable the use of 64bit (long long) math in the case where the fraction
is set to 1.

  • platform/graphics/FractionalLayoutRect.h:

(WebCore::FractionalLayoutRect::pixelSnappedMaxX):
(WebCore::FractionalLayoutRect::pixelSnappedMaxY):
Simplify the pixel snapping logic for maxX/maxY.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::computeLogicalLocationForFloat):
(WebCore::RenderBlock::lowestFloatLogicalBottom):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::addFocusRingRects):
(WebCore::RenderBlock::adjustLinePositionForPagination):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::availableLogicalWidthForContent):
(WebCore::RenderBlock::FloatingObject::x):
(WebCore::RenderBlock::FloatingObject::maxX):
(WebCore::RenderBlock::FloatingObject::y):
(WebCore::RenderBlock::FloatingObject::maxY):
(WebCore::RenderBlock::FloatingObject::width):
(WebCore::RenderBlock::FloatingObject::height):
(FloatingObject):
(WebCore::RenderBlock::FloatingObject::pixelSnappedX):
(WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
(WebCore::RenderBlock::FloatingObject::pixelSnappedY):
(WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
(WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
(WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::accumulateRelativePositionOffsets):
(WebCore::RenderBoxModelObject::offsetLeft):
(WebCore::RenderBoxModelObject::offsetTop):
(WebCore::RenderBoxModelObject::computedCSSPaddingTop):
(WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
(WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
(WebCore::RenderBoxModelObject::computedCSSPaddingRight):
(WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
(WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
(WebCore::RenderBoxModelObject::computedCSSPaddingStart):
(WebCore::RenderBoxModelObject::computedCSSPaddingEnd):

21:11 Changeset [116391] by kinuko@chromium.org

Unreviewed build fix: adding missing include.

  • src/AsyncFileSystemChromium.cpp:
21:10 Changeset [116390] by tkent@chromium.org

[Chromium] Add expectations for first-line-text-decoration.html.

  • platform/chromium-linux/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-mac/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-expected.txt: Added.
20:49 Changeset [116389] by commit-queue@webkit.org

width/height attributes of input element cannot be accessed by JavaScript.
https://bugs.webkit.org/show_bug.cgi?id=70304

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-07
Reviewed by Darin Adler.

If the type of input element is image button, width/height attributes should be supported.
These attributes are defined in HTML5 spec.
http://www.w3.org/TR/html5/the-map-element.html#attr-dim-width

Source/WebCore:

Tests: fast/forms/input-width-height-attributes-without-renderer-loaded-image.html

fast/forms/input-width-height-attributes-without-renderer-not-loaded-image.html
fast/forms/input-width-height-attributes-without-renderer.html
fast/forms/input-width-height-attributes.html

  • html/HTMLInputElement.cpp: Add setter/getter functions to query/set width/height of input element.

(WebCore):
(WebCore::HTMLInputElement::height): Gets height of input element.
(WebCore::HTMLInputElement::width): Gets width of input element.
(WebCore::HTMLInputElement::setHeight): Sets height of input element.
(WebCore::HTMLInputElement::setWidth): Sets width of input element.

  • html/HTMLInputElement.h: Add public prototype.

(HTMLInputElement):

  • html/HTMLInputElement.idl: Add width/height attributes.
  • html/ImageInputType.cpp: Add getter functions if the element is an image button.

(WebCore):
(WebCore::ImageInputType::height): Gets height of input element.
(WebCore::ImageInputType::width): Gets width of input element.

  • html/ImageInputType.h: Add prototype.

(ImageInputType):

  • html/InputType.cpp: Add getter functions.

(WebCore::InputType::height): Returns zero.
(WebCore):
(WebCore::InputType::width): Returns zero.

  • html/InputType.h: Add prototype.

(InputType):

LayoutTests:

  • fast/forms/input-width-height-attributes-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-loaded-image-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-loaded-image.html: Added.
  • fast/forms/input-width-height-attributes-without-renderer-not-loaded-image-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-not-loaded-image.html: Added.
  • fast/forms/input-width-height-attributes-without-renderer.html: Added.
  • fast/forms/input-width-height-attributes.html: Added.
  • fast/forms/resources/green.jpg: Added.
  • fast/forms/resources/image-slow.pl: Added.
20:34 Changeset [116388] by kinuko@chromium.org

Support cross-filesystem operations in FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=84135

Reviewed by David Levin.

Source/WebCore:

Currently we pass Entry's fullPath to AsyncFileSystem layer where
we convert the given path to filesystem URL which includes origin and
filesystem type information, but in that way we cannot handle
cross-filesystem operations (e.g. cross-filesystem copy and move)
well since we end up with always attaching the source filesystem's
origin and type information for argument paths.

This patch does:

  • change AsyncFileSystem's operation methods not to take entry paths but complete filesystem URLs.
  • move type and rootURL information from AsyncFileSystem instance into DOMFileSystemBase instance (platform layer to Modules/filesystem layer)
  • move filesystem-type related code in AsyncFileSystemChromium.cpp into DOMFileSystemChromium.cpp, which implements chromioum-specific DOMFileSystem code.
  • move platform/FileSystemType.h into Modules/filesystem/FileSystemType.h.
  • adding FileSystemType.h entry to build files (e.g. WebCore.gypi, WebCore.xcodeproj etc)

Test: fast/filesystem/cross-filesystem-op.html

  • Modules/filesystem/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::create):
(WebCore::DOMFileSystem::DOMFileSystem):
(WebCore::DOMFileSystem::createWriter):
(WebCore::DOMFileSystem::createFile):

  • Modules/filesystem/DOMFileSystem.h:
  • Modules/filesystem/DOMFileSystemBase.cpp:

(WebCore::DOMFileSystemBase::DOMFileSystemBase):
(WebCore::DOMFileSystemBase::createFileSystemURL): Added as an internal
implementation of Entry.toURL().
(WebCore::DOMFileSystemBase::getMetadata):
(WebCore::verifyAndGetDestinationPathForCopyOrMove):
(WebCore::DOMFileSystemBase::move):
(WebCore::DOMFileSystemBase::copy):
(WebCore::DOMFileSystemBase::remove):
(WebCore::DOMFileSystemBase::removeRecursively):
(WebCore::DOMFileSystemBase::getParent):
(WebCore::DOMFileSystemBase::getFile):
(WebCore::DOMFileSystemBase::getDirectory):
(WebCore::DOMFileSystemBase::readDirectory):

  • Modules/filesystem/DOMFileSystemBase.h: Changed to make each

DOMFileSystemBase instance have filesystem type and rootURL (they were
held by AsyncFileSystem previously)
(WebCore::DOMFileSystemBase::create): Changed to take additional parameters.
(WebCore::DOMFileSystemBase::type): Added.(Moved from AsyncFileSystem::type)
(WebCore::DOMFileSystemBase::rootURL): Added.(Moved from AsyncFileSystem::rootURL).

  • Modules/filesystem/DOMFileSystemSync.cpp:

(WebCore::DOMFileSystemSync::create):
(WebCore::DOMFileSystemSync::DOMFileSystemSync):
(WebCore::DOMFileSystemSync::createFile):
(WebCore::DOMFileSystemSync::createWriter):

  • Modules/filesystem/DOMFileSystemSync.h:

(WebCore::DOMFileSystemSync::create):

  • Modules/filesystem/DOMWindowFileSystem.cpp:

(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
(WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):

  • Modules/filesystem/EntryBase.cpp:

(WebCore::EntryBase::toURL):

  • Modules/filesystem/FileSystemCallbacks.cpp:

(WebCore::FileSystemCallbacks::create):
(WebCore::FileSystemCallbacks::FileSystemCallbacks):
(WebCore::FileSystemCallbacks::didOpenFileSystem):
(WebCore::ResolveURICallbacks::create):
(WebCore::ResolveURICallbacks::ResolveURICallbacks):
(WebCore::ResolveURICallbacks::didOpenFileSystem):

  • Modules/filesystem/FileSystemCallbacks.h:

(FileSystemCallbacks):
(ResolveURICallbacks):

  • Modules/filesystem/FileSystemType.h: Renamed from Source/WebCore/platform/FileSystemType.h.
  • Modules/filesystem/LocalFileSystem.cpp:

(WebCore::openFileSystem):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • Modules/filesystem/LocalFileSystem.h:
  • Modules/filesystem/WorkerContextFileSystem.cpp:

(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):

  • Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Added for chromium-specific

implementation. Almost all of the code is moved from AsyncFileSystemChromium.
(WebCore::DOMFileSystemBase::isValidType):
(WebCore::DOMFileSystemBase::crackFileSystemURL):
(WebCore::DOMFileSystemBase::supportsToURL):
(WebCore::DOMFileSystemBase::createFileSystemURL):
(WebCore::DOMFileSystemChromium::createIsolatedFileSystem):

  • Modules/filesystem/chromium/DOMFileSystemChromium.h: Added.
  • Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp:

(WebCore::DataTransferItemFileSystem::webkitGetAsEntry):

  • Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:

(WebCore::DraggedIsolatedFileSystem::getDOMFileSystem):

  • WebCore.gypi:
  • platform/AsyncFileSystem.cpp:

(WebCore::AsyncFileSystem::openFileSystem):

  • platform/AsyncFileSystem.h:

(AsyncFileSystem):
(WebCore::AsyncFileSystem::AsyncFileSystem):

  • platform/AsyncFileSystemCallbacks.h:

(WebCore::AsyncFileSystemCallbacks::didOpenFileSystem):

  • platform/blackberry/AsyncFileSystemBlackBerry.cpp:

(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
(WebCore::AsyncFileSystemBlackBerry::move):
(WebCore::AsyncFileSystemBlackBerry::copy):
(WebCore::AsyncFileSystemBlackBerry::remove):
(WebCore::AsyncFileSystemBlackBerry::removeRecursively):
(WebCore::AsyncFileSystemBlackBerry::readMetadata):
(WebCore::AsyncFileSystemBlackBerry::createFile):
(WebCore::AsyncFileSystemBlackBerry::createDirectory):
(WebCore::AsyncFileSystemBlackBerry::fileExists):
(WebCore::AsyncFileSystemBlackBerry::directoryExists):
(WebCore::AsyncFileSystemBlackBerry::readDirectory):
(WebCore::AsyncFileSystemBlackBerry::createWriter):
(WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):

  • platform/blackberry/AsyncFileSystemBlackBerry.h:
  • platform/chromium/PlatformSupport.h:
  • platform/gtk/AsyncFileSystemGtk.cpp:

(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
(WebCore::AsyncFileSystemGtk::move):
(WebCore::AsyncFileSystemGtk::copy):
(WebCore::AsyncFileSystemGtk::remove):
(WebCore::AsyncFileSystemGtk::removeRecursively):
(WebCore::AsyncFileSystemGtk::readMetadata):
(WebCore::AsyncFileSystemGtk::createFile):
(WebCore::AsyncFileSystemGtk::createDirectory):
(WebCore::AsyncFileSystemGtk::fileExists):
(WebCore::AsyncFileSystemGtk::directoryExists):
(WebCore::AsyncFileSystemGtk::readDirectory):
(WebCore::AsyncFileSystemGtk::createWriter):

  • platform/gtk/AsyncFileSystemGtk.h:
  • GNUmakefile.list.am: Added FileSystemType.h.
  • WebCore.gypi: Added FileSystemType.h.
  • WebCore.vcproj/WebCore.vcproj: Added FileSystemType.h.
  • WebCore.xcodeproj/project.pbxproj: Added FileSystemType.h.

Source/WebKit/chromium:

Currently we pass Entry's fullPath to AsyncFileSystem layer where
we convert the given path to filesystem URL which includes origin and
filesystem type information, but in that way we cannot handle
cross-filesystem operations (e.g. cross-filesystem copy and move)
well since we end up with always attaching the source filesystem's
origin and type information for argument paths.

This patch does:

  • move filesystem-type related code out of AsyncFileSystemChromium.cpp (moving into DOMFileSystemChromium.cpp)
  • change AsyncFileSystemChromium's methods implementation not to take entry paths but complete filesystem URLs.
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):
(WebCore::AsyncFileSystemChromium::move):
(WebCore::AsyncFileSystemChromium::copy):
(WebCore::AsyncFileSystemChromium::remove):
(WebCore::AsyncFileSystemChromium::removeRecursively):
(WebCore::AsyncFileSystemChromium::readMetadata):
(WebCore::AsyncFileSystemChromium::createFile):
(WebCore::AsyncFileSystemChromium::createDirectory):
(WebCore::AsyncFileSystemChromium::fileExists):
(WebCore::AsyncFileSystemChromium::directoryExists):
(WebCore::AsyncFileSystemChromium::readDirectory):
(WebCore::AsyncFileSystemChromium::createWriter):
(WebCore::AsyncFileSystemChromium::createSnapshotFileAndReadMetadata):

  • src/AsyncFileSystemChromium.h:

(WebCore::AsyncFileSystemChromium::create):
(AsyncFileSystemChromium):

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::createAsyncFileSystem):

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):
(WebKit::WebFileSystemCallbacksImpl::didOpenFileSystem):

  • src/WebFileSystemCallbacksImpl.h:

(WebFileSystemCallbacksImpl):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
(WebCore::WorkerAsyncFileSystemChromium::move):
(WebCore::WorkerAsyncFileSystemChromium::copy):
(WebCore::WorkerAsyncFileSystemChromium::remove):
(WebCore::WorkerAsyncFileSystemChromium::removeRecursively):
(WebCore::WorkerAsyncFileSystemChromium::readMetadata):
(WebCore::WorkerAsyncFileSystemChromium::createFile):
(WebCore::WorkerAsyncFileSystemChromium::createDirectory):
(WebCore::WorkerAsyncFileSystemChromium::fileExists):
(WebCore::WorkerAsyncFileSystemChromium::directoryExists):
(WebCore::WorkerAsyncFileSystemChromium::readDirectory):
(WebCore::WorkerAsyncFileSystemChromium::createWriter):
(WebCore::WorkerAsyncFileSystemChromium::createSnapshotFileAndReadMetadata):

  • src/WorkerAsyncFileSystemChromium.h:

(WebCore::WorkerAsyncFileSystemChromium::create):
(WorkerAsyncFileSystemChromium):

LayoutTests:

  • fast/filesystem/cross-filesystem-op-expected.txt: Added.
  • fast/filesystem/cross-filesystem-op.html: Added.
20:05 Changeset [116387] by rakuco@webkit.org

[webkitpy] Remove Python 2.5-specific workaround from http_server_base.py.
https://bugs.webkit.org/show_bug.cgi?id=85852

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase._is_server_running_on_all_ports): Revert the part
of r89412 which was a workaround for an issue with Python 2.5 on
Mac 10.5.

19:52 Changeset [116386] by ojan@chromium.org

Chromium rebaselines after http://trac.webkit.org/changeset/116373.
Differences look to just be in platform-specific text rendering.

  • platform/chromium-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added.
19:47 Changeset [116385] by abarth@webkit.org

[Chromium] Android wishes to use an empty implementation if AXObjectCache
https://bugs.webkit.org/show_bug.cgi?id=85842

Reviewed by Eric Seidel.

Source/WebCore:

Add proper HAVE(ACCESSIBILITY) ifdefs so that Chromium builds without
accessibility.

  • accessibility/chromium/AXObjectCacheChromium.cpp:
  • accessibility/chromium/AccessibilityObjectChromium.cpp:

Source/WTF:

Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM).

  • wtf/Platform.h:
19:22 Changeset [116384] by commit-queue@webkit.org

[Web Intents] Flagged-off implementation of an intent tag for registration.
https://bugs.webkit.org/show_bug.cgi?id=73039

Patch by Greg Billock <gbillock@google.com> on 2012-05-07
Reviewed by Adam Barth.

Source/WebCore:

The intent tag is a declarative way for pages to register that they
accept delivery of web intent invocations of particular types. See the
spec at http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html

After discussion on the WhatWG list (see thread at
http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-April/035301.html)
the current plan is to combine declarative registration of Web
Intents and protocol/content handlers with this tag. Alternatives
considered were the meta and link tags.

  • WebCore.gypi:
  • html/HTMLAttributeNames.in:
  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLIntentElement.cpp: Added.

(WebCore::HTMLIntentElement::HTMLIntentElement):
(WebCore::HTMLIntentElement::create):
(WebCore::HTMLIntentElement::insertedIntoDocument):

  • html/HTMLIntentElement.h: Added.
  • html/HTMLIntentElement.idl: Added.
  • html/HTMLTagNames.in:
  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::registerIntentService):

  • page/DOMWindow.idl:

Source/WebKit/chromium:

The intent tag allows web pages to mark themselves declaratively as accepting
web intent delivery of particular characteristics (action/type).
See the spec at:
http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html

  • WebKit.gyp:
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::registerIntentService):

  • src/FrameLoaderClientImpl.h:
18:53 Changeset [116383] by tkent@chromium.org

Unreviewed, rolling out r116375.
http://trac.webkit.org/changeset/116375
https://bugs.webkit.org/show_bug.cgi?id=85850

Build break on Chromium-win and Chromium-mac. (Requested by
tkent on #webkit).

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

  • WebKit.gyp:
  • WebKit.gypi:
  • tests/EventListenerTest.cpp: Removed.
  • tests/data/listener/mutation_event_listener.html: Removed.
18:32 Changeset [116382] by aestes@apple.com

Add platform/mac/ results for new tests added by r116373.

  • platform/mac/fast/css/first-line-text-decoration-expected.txt: Added.
  • platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added.
18:14 Changeset [116381] by lforschler@apple.com

Merge fixes for radars: 11331161, 11331164, 11331169.

18:11 Changeset [116380] by lforschler@apple.com

New tag.

18:09 Changeset [116379] by lforschler@apple.com

Versioning.

18:08 FeatureFlags edited by tkent@chromium.org
Add IFRAME_SEAMLESS (diff)
17:34 Changeset [116378] by fpizlo@apple.com

DFG should support op_tear_off_arguments
https://bugs.webkit.org/show_bug.cgi?id=85847

Reviewed by Michael Saboff.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGNodeType.h:

(DFG):

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

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

17:11 Changeset [116377] by danakj@chromium.org

Region::intersects() and Region::contains() are slow due to copy overhead
https://bugs.webkit.org/show_bug.cgi?id=81076

Reviewed by Anders Carlsson.

Source/WebCore:

Testing contains() and intersects() requires a copy which ends up
invoking a malloc on sufficiently complicated web pages, and slows down
the test unnecessarily. These methods can be done by iterating over the
Region::Shape values rather than making a copy of the entire region and
manipulating it.

This uses Region::Shape::compareShapes() to walk the query regions and
compute the result of the intersects or contains tests without making a
copy.

This change improves the performance of the Region overlap testing for
composited layers, and allows for testing contains() before unite() to
avoid unnecessary copies of the Region when inserting into complex
Regions. With a layout test that has 225 composited layers, and tests
Region.intersects() for 1000 layers above them, this change decreases
the running time of the test by 1.2% by avoiding a copy of the 225
rects each time.

Unit test: RegionTest.intersectsRegion

RegionTest.containsRegion

  • platform/graphics/Region.cpp:

(WebCore::Region::contains):
(WebCore::Region::intersects):
(WebCore):
(WebCore::Region::Shape::compareShapes):
(Region::Shape::CompareContainsOperation):
(WebCore::Region::Shape::CompareContainsOperation::aOutsideB):
(WebCore::Region::Shape::CompareContainsOperation::bOutsideA):
(WebCore::Region::Shape::CompareContainsOperation::aOverlapsB):
(Region::Shape::CompareIntersectsOperation):
(WebCore::Region::Shape::CompareIntersectsOperation::aOutsideB):
(WebCore::Region::Shape::CompareIntersectsOperation::bOutsideA):
(WebCore::Region::Shape::CompareIntersectsOperation::aOverlapsB):

  • platform/graphics/Region.h:

(Shape):

Source/WebKit/chromium:

  • tests/RegionTest.cpp:

(WebCore):
(WebCore::TEST):

17:09 Changeset [116376] by commit-queue@webkit.org

Correct logical error in accessibilityIsIgnored.
https://bugs.webkit.org/show_bug.cgi?id=85828

Patch by David Tseng <dtseng@google.com> on 2012-05-07
Reviewed by Chris Fleizach.

Covered by existing tests.

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::accessibilityIsIgnored):

  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::accessibilityIsIgnored):

17:05 Changeset [116375] by tony@chromium.org

[chromium] move event_listener_unittest to webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=85836

Reviewed by James Robinson.

Porting the test from src/webkit/tools/test_shell/event_listener_unittest.cc.
All I did was change the style and use the FrameTestHelper to load the file.

  • WebKit.gyp: Exclude file in components build.
  • WebKit.gypi: Add new file.
  • tests/EventListenerTest.cpp: Added.

(WebKit):
(TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::~TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::eventCount):
(WebKit::TestWebDOMEventListener::eventAt):
(WebKit::TestWebDOMEventListener::clearEvents):
(WebDOMEventListenerTest):
(WebKit::WebDOMEventListenerTest::WebDOMEventListenerTest):
(WebKit::WebDOMEventListenerTest::SetUp):
(WebKit::WebDOMEventListenerTest::TearDown):
(WebKit::WebDOMEventListenerTest::mainFrame):
(WebKit::WebDOMEventListenerTest::document):
(WebKit::WebDOMEventListenerTest::executeScript):
(WebKit::WebDOMEventListenerTest::GetNodeID):
(WebKit::TEST_F):

  • tests/data/listener/mutation_event_listener.html: Added.
16:56 Changeset [116374] by zmo@google.com

vertexAttribPointer needs to reject large negative offsets
https://bugs.webkit.org/show_bug.cgi?id=85117

Reviewed by Kenneth Russell.

Source/WebCore:

  • html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr

(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):

  • html/canvas/WebGLRenderingContext.h: Ditto

(WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.idl: Ditto

LayoutTests:

  • fast/canvas/webgl/index-validation-expected.txt:
  • fast/canvas/webgl/index-validation.html: Add a test case for large negative offset.
16:39 Changeset [116373] by commit-queue@webkit.org

:first-line text-decorations are not rendered
https://bugs.webkit.org/show_bug.cgi?id=6047

Source/WebCore:

Text-decorations are applied during paint phase. The style was not being properly selected in case of
first line box. The patch fixes this.

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-05-07
Reviewed by Eric Seidel.

Tests: fast/css/first-line-text-decoration-inherited-from-parent.html

fast/css/first-line-text-decoration.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Inform the decoration color retriever if this box is part of the first line box or not.

  • rendering/RenderObject.cpp:

(WebCore::decorationColor):
Changed the argument from RenderObject* to RenderStyle*. As this function is just a helper to getTextDecorationColors
as used RenderObject solely to retrieve the corresponding RenderStyle, which(RenderStyle*) was already available with the latter function.

(WebCore::RenderObject::getTextDecorationColors):
Take a new variable to check if first line style or the regular style has to be used.
Sends RenderStyle* as an argument to decorationColor().

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-05-07
Reviewed by Eric Seidel.

  • fast/css/first-line-text-decoration.html: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-expected.txt: Added. This test checks if text-decoration present in the tags first-line style is applied properly.
  • fast/css/first-line-text-decoration-inherited-from-parent.html: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added. This test checks if the text-decoration and text color is chosen properly in the case where the first-line style is inherited from a parent and contains such text-decorations.
16:35 Changeset [116372] by oliver@apple.com

2012-05-07 Oliver Hunt <oliver@apple.com>

Rolling out r110287

RS=Filip Pizlo

r110287 was meant to be refactoring only, but changed behavior
enough to break some websites, including qq.com.

16:33 Changeset [116371] by jchaffraix@webkit.org

Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency
https://bugs.webkit.org/show_bug.cgi?id=84090

Reviewed by David Hyatt.

Source/WebCore:

No observable change in behavior.

The function name was ambiguous as it was not a general purpose function but was
working directly on HTMLFrameOwnerElement. The rename makes this more obvious as
well as removes the explicit dependency on RenderLayer.

One of the slight change of this refactoring is that we now always null-check the
HTMLFrameOwnerElement's renderer as part windowClipRectForFrameOwner as I don't see
any evidence for the other code paths not to hit that. Also we may recur more on our
frame tree if we have no layer as we now call windowClipRect() in this case.

  • page/FrameView.h:

(FrameView):

  • plugins/PluginView.cpp:

(WebCore::PluginView::windowClipRect):

  • WebCore.exp.in:
  • WebCore.order:
  • page/FrameView.cpp:

(WebCore::FrameView::windowClipRect):
Updated after windowClipRectForLayer name and signature change.

(WebCore::FrameView::windowClipRectForFrameOwner):
This function now takes the HTMLFrameOwnerElement directly.

  • plugins/PluginView.cpp:

(WebCore::PluginView::PluginView):
(WebCore::PluginView::create):

  • plugins/PluginView.h:

(PluginView):
Updated |m_element| to be an HTMLPlugInElement as this was what was
passed by every caller. This makes the conversion to HTMLFrameOwnerElement
possible.

Source/WebKit/chromium:

  • src/WebPluginContainerImpl.cpp:

Updated after windowClipRectForLayer name and signature change.

Source/WebKit/win:

  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::windowClipRect):
Updated after windowClipRectForLayer name and signature change.

  • WebCoreSupport/EmbeddedWidget.h:

(EmbeddedWidget):
(EmbeddedWidget::EmbeddedWidget):
Updated the internal DOM pointer to be an HTMLPlugInElement
as it was what was passed in anyway. Also fixed some style
issues detected by our tools.

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::clipRectInWindowCoordinates):
Updated after windowClipRectForLayer name and signature change.

16:32 Changeset [116370] by philn@webkit.org

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark seamless frames as

failing until we enable the feature.

16:32 Changeset [116369] by lforschler@apple.com

Versioning.

16:30 Changeset [116368] by enrica@apple.com

REGRESSION (r101575): Chinese input is broken when composing mail in iCloud using Safari.
https://bugs.webkit.org/show_bug.cgi?id=85840
<rdar://problem/11115520>

Reviewed by Alexey Proskuryakov.

The revision that broke this, introduced a way to sanitize the markup when deleting a range selection.
iCloud listens for DOM modification events and clears the selection, altering the input method state.
The fix consists in adding a paramenter to DeleteSelectionCommand to control when we sanitize the
markup.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::deleteSelection):

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

(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::doApply):

  • editing/DeleteSelectionCommand.h:

(WebCore::DeleteSelectionCommand::create):

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::doApply):

16:22 Changeset [116367] by aestes@apple.com

ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
16:15 Changeset [116366] by commit-queue@webkit.org

webkitdirs.pm: Make determineNumberOfCPUs work on FreeBSD.
https://bugs.webkit.org/show_bug.cgi?id=81481

Patch by Raphael Kubo da Costa <rakuco@FreeBSD.org> on 2012-05-07
Reviewed by Dirk Pranke.

FreeBSD has the same sysctl interface present in Darwin to query
the number of CPUs available, so use that too.

  • Scripts/webkitdirs.pm:

(determineNumberOfCPUs): Share the sysctl call with Darwin.
(isFreeBSD): Added.

16:07 Changeset [116365] by mrobinson@webkit.org

[Cairo] Implement ImageBuffer::copyImage for BackingStoreCopy == DontCopyBackingStore
https://bugs.webkit.org/show_bug.cgi?id=85728

Reviewed by Alejandro G. Castro.

No new tests. This should not change functionality, only increase performance.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::copyImage): Add an implementation that knows how to avoid copying the backing store.
(WebCore::ImageBuffer::draw): Use the copyImage constructor now that it knows how to
avoid copying the backing store.
(WebCore::ImageBuffer::drawPattern): Ditto.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::updateBackingStore): Use DontCopyBackingStore for Cairo
as well.

16:06 Changeset [116364] by noel.gordon@gmail.com

[CG] Separate image encoding from dataURL construction
https://bugs.webkit.org/show_bug.cgi?id=85782

Reviewed by Kenneth Russell.

Remove the implicit assumption that a dataURL is the only desired output format
of the image encoding phase.

No new tests. No behavioral change. Covered by canvas 2d and 3d tests:

canvas/philip/tests/*toDataURL*.html
fast/canvas/webgl/premultiplyalpha-test.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::CGImageEncodeToData): Image encoding helper: encode the image using the
uti-defined encoder (PNG/JPEG/etc) and output to the given CFMutableDataRef data.
(WebCore):
(WebCore::CGImageToDataURL): Refactor to use CGImageEncodeToData().

16:02 Changeset [116363] by oliver@apple.com

Fix release build.

16:00 Changeset [116362] by danakj@chromium.org

[chromium] Ensure synchronization in threaded unit tests by checking the sourceFrameNumber() to count commits
https://bugs.webkit.org/show_bug.cgi?id=85390

Reviewed by Adrienne Walker.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestScrollMultipleRedraw::beginCommitOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommit::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestScrollChildLayer::beginCommitOnCCThread):

15:52 Changeset [116361] by oliver@apple.com

LLInt doesn't check for Ropes when performing a character switch
https://bugs.webkit.org/show_bug.cgi?id=85837

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Make LLint check if the scrutinee of a char switch is a rope, and if
so fall back to a slow case.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

LayoutTests:

Add a few tests to force the use of ropes on switch statements.

  • fast/js/script-tests/switch-behaviour.js:
  • fast/js/switch-behaviour-expected.txt:
15:29 Changeset [116360] by commit-queue@webkit.org

[Chromium] Suppress switch-without-cases warning
https://bugs.webkit.org/show_bug.cgi?id=85830

Warnings like
...\webkit\CSSGrammar.cpp(2075) : warning C4065: switch statement contains 'default' but no 'case' labels
are generated. These are bogus, so just suppress them in the build
settings.

Patch by Scott Graham <scottmg@chromium.org> on 2012-05-07
Reviewed by Dirk Pranke

No new tests, no intended functionlity change. Just changing compiler
settings.

  • WebCore.gyp/WebCore.gyp:
15:21 Changeset [116359] by enne@google.com

[chromium] Allow for asymmetric tile sizes on composited tiled layers
https://bugs.webkit.org/show_bug.cgi?id=85687

Reviewed by James Robinson.

Source/WebCore:

Update TiledLayerChromium/CCLayerTilingData/TilingData to allow for a
the width and height of tile sizes to differ. Modify TilingData to use
IntSize everywhere for these width/height pairs.

Also, remove some unused functions from TilingData.

Test: TilingDataTest.*

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):

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

(WebCore::CCLayerTilingData::CCLayerTilingData):
(WebCore::CCLayerTilingData::setTileSize):
(WebCore):
(WebCore::CCLayerTilingData::tileSize):
(WebCore::CCLayerTilingData::operator=):
(WebCore::CCLayerTilingData::tileRect):
(WebCore::CCLayerTilingData::setBounds):
(WebCore::CCLayerTilingData::bounds):

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

(CCLayerTilingData):

  • platform/graphics/gpu/Texture.cpp:

(WebCore::Texture::Texture):
(WebCore::Texture::create):
(WebCore::Texture::load):
(WebCore::Texture::updateSubRect):

  • platform/graphics/gpu/TilingData.cpp:

(WebCore::TilingData::TilingData):
(WebCore::TilingData::setTotalSize):
(WebCore::TilingData::setMaxTextureSize):
(WebCore::TilingData::tileXIndexFromSrcCoord):
(WebCore::TilingData::tileYIndexFromSrcCoord):
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileSizeX):
(WebCore::TilingData::tileSizeY):
(WebCore::TilingData::recomputeNumTiles):

  • platform/graphics/gpu/TilingData.h:

(TilingData):
(WebCore::TilingData::totalSize):
(WebCore::TilingData::maxTextureSize):
(WebCore::TilingData::TilingData):

Source/WebKit/chromium:

Update tests for new constructor and function args. Add a few more
tests that use non-square tile sizes.

  • tests/TilingDataTest.cpp:

(WebCore::TestTiling::TestTiling):
(WebCore::TEST):
(WebCore):

15:15 Changeset [116358] by commit-queue@webkit.org

ConvolverNode setBuffer() should not ASSERT on null buffer
https://bugs.webkit.org/show_bug.cgi?id=85653

Patch by Raymond Toy <rtoy@google.com> on 2012-05-07
Reviewed by Chris Rogers.

Source/WebCore:

Test: webaudio/convolver-setBuffer-null.html

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::setBuffer): Don't ASSERT on null buffer.

LayoutTests:

  • webaudio/convolver-setBuffer-null-expected.txt: Added.
  • webaudio/convolver-setBuffer-null.html: Added.
15:07 Changeset [116357] by commit-queue@webkit.org

Crash due to positioned object list not being cleared during block flow split
https://bugs.webkit.org/show_bug.cgi?id=85074

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-05-07
Reviewed by Abhishek Arya.

Source/WebCore:

When an element is being split due to a column span element being
inserted, any of its ancestors that are underneath the column
containing block also get split. If an ancestor has an object in
its positioned object list from a previous layout, then the list
will have to be cleared because the positioned object could have moved
to be under the continuation. This patch causes the list to be
cleared.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::splitBlocks):

LayoutTests:

Test exercises crashing condition in bug 85074. It creates a column
span that requires multiple layers of splitting blocks from the
element that contains the columns, puts a positioned element underneath
one of the split blocks, and then causes a reattach of the column span
element.

  • fast/block/positioning/positioned-object-under-split-block-parent-crash-expected.txt: Added
  • fast/block/positioning/positioned-object-under-split-block-parent-crash.html: Added
15:02 Changeset [116356] by eric@webkit.org

Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
https://bugs.webkit.org/show_bug.cgi?id=85822

Reviewed by Adam Barth.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • dom/Document.cpp:

(WebCore::Document::shouldDisplaySeamlesslyWithParent):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
14:57 Changeset [116355] by aestes@apple.com

Update media/ pixel test results after r115749.

  • platform/mac/media/audio-controls-rendering-expected.png:
  • platform/mac/media/controls-after-reload-expected.png:
  • platform/mac/media/controls-layout-direction-expected.png:
  • platform/mac/media/controls-strict-expected.png:
  • platform/mac/media/media-controls-clone-expected.png:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-playing-and-pause-expected.png:
14:40 Changeset [116354] by dpranke@chromium.org

Fix compositing expectations to not include leopard.

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
14:30 Changeset [116353] by commit-queue@webkit.org

Selection Background Color Error
https://bugs.webkit.org/show_bug.cgi?id=80382

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-05-07
Reviewed by David Hyatt.

Source/WebCore:

Determine the text colors and selection colors before painting the
background behind the text. This is because when determining whether
to invert the selection background, the selection text color should be
used instead of the regular text color. With this patch, the selection
text color is passed to 'paintSelection' so that the selection
background can be compared against it, instead of comparing against the
CSSPropertyColor value.

Test: fast/backgrounds/selection-background-color.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

Pass selection text color to paintSelection

(WebCore::InlineTextBox::paintSelection):

Use the selection text color instead of CSSPropertyColor

  • rendering/InlineTextBox.h:

(InlineTextBox):

Adjust signature of paintSelection to accept text color

LayoutTests:

Added new test case for selection background color.

  • fast/backgrounds/selection-background-color.html: Added.
  • fast/backgrounds/selection-background-color-expected.html: Added.
13:41 Changeset [116352] by alexis.menard@openbossa.org

Unreviewed Qt build fix in Debug.

We need some system includes here for getpid() to be recognized.

Source/WebKit2:

  • qt/MainQt.cpp:

Tools:

  • WebKitTestRunner/qt/main.cpp:
13:40 Changeset [116351] by commit-queue@webkit.org

[Chromium] Use GL_CHROMIUM_command_buffer_query to throttle texture uploads.
https://bugs.webkit.org/show_bug.cgi?id=81004

Patch by David Reveman <reveman@chromium.org> on 2012-05-07
Reviewed by Adrienne Walker.

Source/WebCore:

Add ThrottledTextureUploader class that uses GL_CHROMIUM_command_buffer_query
to throttle texture uploads based on number of currently pending queries.

Unit test: ThrottledTextureUploaderTest.IsBusy

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

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initializeSharedObjects):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

  • platform/graphics/chromium/TextureUploader.cpp: Removed.
  • platform/graphics/chromium/TextureUploader.h:

(TextureUploader):

  • platform/graphics/chromium/ThrottledTextureUploader.cpp: Added.

(WebCore):
(WebCore::ThrottledTextureUploader::Query::Query):
(WebCore::ThrottledTextureUploader::Query::~Query):
(WebCore::ThrottledTextureUploader::Query::begin):
(WebCore::ThrottledTextureUploader::Query::end):
(WebCore::ThrottledTextureUploader::Query::isPending):
(WebCore::ThrottledTextureUploader::Query::wait):
(WebCore::ThrottledTextureUploader::ThrottledTextureUploader):
(WebCore::ThrottledTextureUploader::~ThrottledTextureUploader):
(WebCore::ThrottledTextureUploader::isBusy):
(WebCore::ThrottledTextureUploader::beginUploads):
(WebCore::ThrottledTextureUploader::endUploads):
(WebCore::ThrottledTextureUploader::uploadTexture):
(WebCore::ThrottledTextureUploader::processQueries):

  • platform/graphics/chromium/ThrottledTextureUploader.h: Copied from Source/WebCore/platform/graphics/chromium/TextureUploader.h.

(WebCore):
(ThrottledTextureUploader):
(WebCore::ThrottledTextureUploader::create):
(Query):
(WebCore::ThrottledTextureUploader::Query::create):

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

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

(CCLayerTreeHostImpl):

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

(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::isBusy):
(WebCore::UnthrottledTextureUploader::beginUploads):
(WebCore::UnthrottledTextureUploader::endUploads):
(WebCore::UnthrottledTextureUploader::uploadTexture):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::recreateContext):
(WebCore::CCSingleThreadProxy::doCommit):

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

(WebCore::CCTextureUpdater::update):

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

(CCTextureUpdater):

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

(WebCore):
(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::isBusy):
(WebCore::UnthrottledTextureUploader::beginUploads):
(WebCore::UnthrottledTextureUploader::endUploads):
(WebCore::UnthrottledTextureUploader::uploadTexture):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/CCLayerTreeHostImplTest.cpp:

(WebKitTests::TEST_F):

  • tests/CCTiledLayerTestCommon.h:

(WebKitTests::FakeTextureUploader::isBusy):
(WebKitTests::FakeTextureUploader::beginUploads):
(WebKitTests::FakeTextureUploader::endUploads):

  • tests/Canvas2DLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:

(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

  • tests/ThrottledTextureUploaderTest.cpp: Added.

(WebKit):
(FakeWebGraphicsContext3DWithQueryTesting):
(WebKit::FakeWebGraphicsContext3DWithQueryTesting::FakeWebGraphicsContext3DWithQueryTesting):
(WebKit::FakeWebGraphicsContext3DWithQueryTesting::getQueryObjectuivEXT):
(WebKit::FakeWebGraphicsContext3DWithQueryTesting::setResultAvailable):
(WebKit::TEST):

  • tests/TiledLayerChromiumTest.cpp:

(WTF::TEST):

13:37 Changeset [116350] by commit-queue@webkit.org

[BlackBerry] Delete previous buffer when new over-scroll image path is set
https://bugs.webkit.org/show_bug.cgi?id=85812

Patch by Andrew Lo <anlo@rim.com> on 2012-05-07
Reviewed by Rob Buis.

When a new over-scroll image path is set, delete old buffer before creating
a new one.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):

13:37 Changeset [116349] by commit-queue@webkit.org

Unreviewed. Rebaseline fast/layers/video-layer.html.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-07

  • platform/efl/fast/layers/video-layer-expected.txt:
13:23 Changeset [116348] by commit-queue@webkit.org

[BlackBerry] Over-scroll image path property should be relative to local application directory
https://bugs.webkit.org/show_bug.cgi?id=85814

Patch by Andrew Lo <anlo@rim.com> on 2012-05-07
Reviewed by Rob Buis.

Over-scroll image path web setting should be relative to the local directory.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):

13:23 Changeset [116347] by ojan@chromium.org

When embedding the flakiness dashboard, hide popups when the frame is blurred.
https://bugs.webkit.org/show_bug.cgi?id=85684

Reviewed by Dirk Pranke.

If you show a popup, then click elsewhere in garden-o-matic, it will now
properly hide it.

  • TestResultServer/static-dashboards/dashboard_base.js:

(showPopup):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(showPopupForBuild):
(generatePageForIndividualTests.if):
(generatePageForIndividualTests):

  • TestResultServer/static-dashboards/flakiness_dashboard_embedded_unittests.js: Added.
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
  • TestResultServer/static-dashboards/run-embedded-unittests.html: Added.
13:21 Changeset [116346] by dpranke@chromium.org

Mark more tests as flaky, including some compositing tests
https://bugs.webkit.org/show_bug.cgi?id=85771

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
13:19 Changeset [116345] by fpizlo@apple.com

DFG should support reflective arguments access
https://bugs.webkit.org/show_bug.cgi?id=85721

Reviewed by Oliver Hunt.

This adds support for op_create_arguments to the DFG. No other arguments-related
opcodes are added by this change, though it does add a lot of the scaffolding
necessary for the other ops.

This also adds GetByVal/PutByVal optimizations for Arguments.

Finally, this rationalizes slowPathCall with no return. Previously, that would
work via callOperation() overloads that took InvalidGPRReg as the return GPR.
But that creates awful ambiguity, since we had template functions that were
polymorphic over all parameters except the second, which was a GPRReg, and a
bunch of non-template overloads that also potentially had GPRReg as the second
argument. I finally started to hit this ambiguity and was getting absolutely
bizarre compiler errors, that made me feel like I was programming in SML. So,
I changed the no-argument overloads to take NoResultTag instead, which made
everything sensible again by eliminating the overload ambiguity.

This is a ~7% speed-up on V8/earley and neutral elsewhere.

  • bytecode/PredictedType.h:

(JSC::isArgumentsPrediction):
(JSC):
(JSC::isActionableMutableArrayPrediction):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::unmodifiedArgumentsRegister):
(Node):
(JSC::DFG::Node::shouldSpeculateArguments):

  • dfg/DFGNodeType.h:

(DFG):

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

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(DFG):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::silentSpillAllRegistersImpl):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::pickCanTrample):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • runtime/Arguments.h:

(ArgumentsData):
(Arguments):
(JSC::Arguments::offsetOfData):

13:17 Changeset [116344] by commit-queue@webkit.org

[chromium] WebViewHost should setCompositorSurfaceReady
https://bugs.webkit.org/show_bug.cgi?id=85418

Patch by Ian Vollick <vollick@chromium.org> on 2012-05-07
Reviewed by James Robinson.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::setWebWidget):

13:16 Changeset [116343] by rwlbuis@webkit.org

Shrink SVGInlineTextBox object size
https://bugs.webkit.org/show_bug.cgi?id=85805

Reviewed by Darin Adler.

Reduce the object size of SVGInlineTextBox by using bitfields. This
should be 4 bytes on 32-bits and 8 bytes on 64-bits systems.

  • rendering/svg/RenderSVGResource.h:
  • rendering/svg/SVGInlineTextBox.cpp:

(ExpectedSVGInlineTextBoxSize):
(WebCore):

  • rendering/svg/SVGInlineTextBox.h:

(SVGInlineTextBox):

13:14 Changeset [116342] by commit-queue@webkit.org

Unreviewed, rolling out r116334.
http://trac.webkit.org/changeset/116334
https://bugs.webkit.org/show_bug.cgi?id=85816

Broke the Chromium Win/Mac compile (Requested by
ojan_gardening on #webkit).

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

Source/WebCore:

  • WebCore.gypi:
  • platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
  • platform/graphics/chromium/AnimationIdVendor.h: Removed.
  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(std):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::mapAnimationNameToId):

  • platform/graphics/chromium/GraphicsLayerChromium.h:

(WebCore):
(GraphicsLayerChromium):

  • platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Removed.
  • platform/graphics/chromium/LinkHighlightLayerDelegate.h: Removed.

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/LinkHighlightLayerDelegateTest.cpp: Removed.
13:10 Changeset [116341] by commit-queue@webkit.org

[EFL] Page caching permission from EFL's FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=85620

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-07
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

FrameLoaderClientEfl::canCachePage() returns true.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::canCachePage):

LayoutTests:

Unskip bug-related testcases.

  • platform/efl/Skipped:
13:06 Changeset [116340] by aestes@apple.com

Update mac-wk2 baselines.

  • platform/mac-wk2/Skipped: Skip a test that times out due to WKTR's

EventSender implementation not supporting drag and drop.

Remove mac-wk2 platform-specific results for two tests that now match the baseline result.

  • platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt: Removed.
  • platform/mac-wk2/media/no-auto-play-in-sandbox-expected.txt: Removed.
12:35 Changeset [116339] by enne@google.com

Fix containerForRepaint() assumption about non-null enclosingLayer()
https://bugs.webkit.org/show_bug.cgi?id=85807

Reviewed by Simon Fraser.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

12:22 Changeset [116338] by jonlee@apple.com

WebKitTestRunner needs layoutTestController.dumpFrameLoadCallbacks
https://bugs.webkit.org/show_bug.cgi?id=42331
<rdar://problem/8193641>

Reviewed by Darin Adler.

This patch sets up the framework for supporting dumpFrameLoadCallbacks, as well as
outputting some of the required strings. As tests become unskipped the other callbacks
can be supported.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Add dumpFrameLoadCallbacks()
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessage): pass in the dictionary containing keys needed to initialize
dump callbacks for the layoutTestController.
(WTR::InjectedBundle::booleanForKey): Helper function to extract boolean value from key in WKDictionaryRef.
Output some warning if we are trying to extract a value that is not a boolean.
(WTR::InjectedBundle::beginTesting): Update to take in the dictionary passed in by the TestController.
We cannot set the bits on the layoutTestController until it has been created in beginTesting().

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessage):
(WTR):
(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:

(InjectedBundle):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR):
(WTR::dumpFrameDescriptionSuitableForTestResult): Static function similar to
-[WebFrame _drt_descriptionSuitableForTestResult] in DumpRenderTree.
(WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): Output string.
(WTR::InjectedBundlePage::didCommitLoadForFrame): Output string.
(WTR::InjectedBundlePage::didFinishLoadForFrame): Output string.
(WTR::InjectedBundlePage::didReceiveTitleForFrame): Output string.
(WTR::InjectedBundlePage::didCancelClientRedirectForFrame): Output string.
(WTR::InjectedBundlePage::willPerformClientRedirectForFrame): Output string. In WK1 it's
"willPerformClientRedirectToURL" so we will have to use that value here.
(WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): Output string.
(WTR::InjectedBundlePage::didHandleOnloadEventsForFrame): Output string.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::LayoutTestController): Initialize to not dump frame load callbacks.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(WTR::LayoutTestController::dumpFrameLoadCallbacks): Change to use setShouldDumpFrameLoadCallbacks.
(WTR::LayoutTestController::setShouldDumpFrameLoadCallbacks): Set bit.
(WTR::LayoutTestController::shouldDumpFrameLoadCallbacks): Return bit.
(LayoutTestController): Added m_dumpFrameLoadCallbacks to track whether to dump the output.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::shouldLogFrameLoadDelegates): Similar to DRT.
(WTR::TestInvocation::invoke): Based on the URL loaded, set the bit in the dictionary that gets passed
to the injected bundle.

12:12 Changeset [116337] by commit-queue@webkit.org

IndexedDB: Replace numeric constants with strings
https://bugs.webkit.org/show_bug.cgi?id=84894

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-07
Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/legacy-constants.html

Update IDBObjectStore.openCursor, IDBIndex.openCursor,
IDBIndex.openKeyCursor, IDBDatabase.transaction,
IDBCursor.direction, IDBTransaction.mode, and
IDBRequest.readyState to meet the latest spec. All of these APIs
now support string-based values in addition to the
legacy/deprecated enum-based values.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore):
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transaction):
(WebCore):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(IDBIndex):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::openCursor):
(WebCore):

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::openCursor):
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::readyState):
(WebCore::IDBRequest::markEarlyDeath):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::finishCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::stop):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore):
(WebCore::IDBTransaction::mode):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • Modules/indexeddb/IDBTransaction.idl:

LayoutTests:

New test for legacy constants (legacy-constants) and update all
other tests to use the new string-based constants.

  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/constants-expected.txt:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/cursor-added-bug-expected.txt:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-delete-expected.txt:
  • storage/indexeddb/cursor-inconsistency-expected.txt:
  • storage/indexeddb/cursor-index-delete-expected.txt:
  • storage/indexeddb/cursor-key-order-expected.txt:
  • storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
  • storage/indexeddb/cursor-primary-key-order-expected.txt:
  • storage/indexeddb/cursor-reverse-bug-expected.txt:
  • storage/indexeddb/cursor-skip-deleted-expected.txt:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/database-quota-expected.txt:
  • storage/indexeddb/delete-range-expected.txt:
  • storage/indexeddb/error-causes-abort-by-default-expected.txt:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-unique-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-intrinsic-properties-expected.txt:
  • storage/indexeddb/legacy-constants-expected.txt: Added.
  • storage/indexeddb/legacy-constants.html: Added.
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/create-index-unique-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/clear.js:

(clear):

  • storage/indexeddb/mozilla/resources/create-index-unique.js:

(createAndVerifyIndex):

  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:

(cleanDatabase):

  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:

(checkCursorResultsAndSetupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursor-mutation.js:

(setupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:

(addRecord):
(deleteRecord):

  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:

(setVersionComplete):
(postAdd):
(postAdd2):
(postPut):
(postPut2):
(postPut3):
(postPut4):
(postDelete):
(postDelete2):

  • storage/indexeddb/mozilla/resources/readyState.js:

(test):
(openSuccess):
(setupObjectStore):
(getRecord):
(finalCheck):

  • storage/indexeddb/mozilla/resources/versionchange.js:

(postSetVersion):
(postSetVersion2):

  • storage/indexeddb/mozilla/versionchange-expected.txt:
  • storage/indexeddb/mutating-cursor-expected.txt:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/opencursor-key-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/request-event-propagation-expected.txt:
  • storage/indexeddb/resources/basics.js:

(test):
(openCallback):

  • storage/indexeddb/resources/constants.js:

(test):

  • storage/indexeddb/resources/create-object-store-options.js:

(setVersionComplete):

  • storage/indexeddb/resources/cursor-added-bug.js:

(openCursor):

  • storage/indexeddb/resources/cursor-advance.js:

(runTest):
(testAdvanceIndexNoDupe):
(testAdvanceIndexPrev):
(testAdvanceIndexPrevNoDupe):

  • storage/indexeddb/resources/cursor-continue-validity.js:

(continueTest):
(continueIndexTest):
(testModifyContinueOrder):

  • storage/indexeddb/resources/cursor-continue.js:

(ascendingTest):
(descendingTest):

  • storage/indexeddb/resources/cursor-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-inconsistency.js:

(openBasicCursor):

  • storage/indexeddb/resources/cursor-index-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:

(populateStore):
(testFarRangeCursor_closed):
(testFarRangeCursor_open):
(testFarRangeCursor_indexClosed):
(testFarRangeCursor_indexOpen):
(testFarRangeCursor_indexKeyOpen):
(testFarRangeCursor_indexKeyClosed):
(testBoundaryCursor_closed):
(testBoundaryCursor_open):
(testBoundaryCursor_indexClosed):
(testBoundaryCursor_indexOpen):
(testBoundaryCursor_indexKeyClosed):
(testBoundaryCursor_indexKeyOpen):
(testNoDuplicate_closed):
(testNoDuplicate_open):
(testNoDuplicate_indexKeyClosed):

  • storage/indexeddb/resources/cursor-primary-key-order.js:

(populateStore):

  • storage/indexeddb/resources/cursor-reverse-bug.js:

(populateStore):
(testCursor):

  • storage/indexeddb/resources/cursor-skip-deleted.js:

(basicCursorTest):
(reverseCursorTest):

  • storage/indexeddb/resources/cursor-update.js:

(openBasicCursor):

  • storage/indexeddb/resources/data-corruption.js:

(addData):
(getData):

  • storage/indexeddb/resources/database-quota.js:

(checkQuotaEnforcing):

  • storage/indexeddb/resources/delete-range.js:

(runTests.nextTest):
(runTests):

  • storage/indexeddb/resources/error-causes-abort-by-default.js:

(addData):
(transactionCompleted):
(transactionAborted1):

  • storage/indexeddb/resources/exception-in-event-aborts.js:

(startTest):
(transactionAborted1):
(transactionAborted2):

  • storage/indexeddb/resources/factory-deletedatabase.js:

(getValue):

  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-unique.js:

(setVersionCompleted):

  • storage/indexeddb/resources/key-generator.js:

(.):

  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/legacy-constants.js: Added.

(test):
(prepareDatabase.openreq.onsuccess.verreq.onsuccess):
(prepareDatabase.openreq.onsuccess):
(prepareDatabase):
(populateStore):
(checkNext.request.onsuccess):
(checkNext):
(checkNextNoDuplicate.request.onsuccess):
(checkNextNoDuplicate):
(checkPrev.request.onsuccess):
(checkPrev):
(checkPrevNoDuplicate.request.onsuccess):
(checkPrevNoDuplicate):

  • storage/indexeddb/resources/mutating-cursor.js:

(openForwardCursor):
(openReverseCursor):

  • storage/indexeddb/resources/objectstore-autoincrement.js:

(setVersionCompleted):

  • storage/indexeddb/resources/objectstore-basics.js:

(addData):
(addAgainFailure):

  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/open-cursor.js:

(cursorWithKeySuccess):
(cursorSuccess):

  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/request-event-propagation.js:

(startTest):
(transactionAborted):
(transactionAborted2):

  • storage/indexeddb/resources/set_version_blocked.js:

(blocked):

  • storage/indexeddb/resources/transaction-abort.js:

(startTest):

  • storage/indexeddb/resources/transaction-after-close.js:

(runFirstRegularTransaction):
(firstTransactionComplete):
(onSecondOpen):

  • storage/indexeddb/resources/transaction-basics.js:

(testInvalidMode):

  • storage/indexeddb/resources/transaction-event-propagation.js:

(startTest):
(dbAbortBubbleCallback):

  • storage/indexeddb/resources/transaction-rollback.js:

(setVersionComplete):
(abortCallback):

  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-abort-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-event-propagation-expected.txt:
  • storage/indexeddb/transaction-rollback-expected.txt:
  • storage/indexeddb/tutorial.html:
12:11 Changeset [116336] by pilgrim@chromium.org

[Chromium] Move fileSystem to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85760

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::fileSystem):

  • chromium/public/WebFileSystem.h: Added.

(WebKit):
(WebFileSystem):
(WebKit::WebFileSystem::move):
(WebKit::WebFileSystem::copy):
(WebKit::WebFileSystem::remove):
(WebKit::WebFileSystem::removeRecursively):
(WebKit::WebFileSystem::readMetadata):
(WebKit::WebFileSystem::createFile):
(WebKit::WebFileSystem::createDirectory):
(WebKit::WebFileSystem::fileExists):
(WebKit::WebFileSystem::directoryExists):
(WebKit::WebFileSystem::readDirectory):
(WebKit::WebFileSystem::createFileWriter):
(WebKit::WebFileSystem::createSnapshotFileAndReadMetadata):
(WebKit::WebFileSystem::~WebFileSystem):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebFileSystem.h:
  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKitPlatformSupport):

  • src/AssertMatchingEnums.cpp:
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):

  • src/LocalFileSystemChromium.cpp:
  • src/WebFileSystemCallbacksImpl.cpp:
  • src/WebFileSystemCallbacksImpl.h:
  • src/WebFrameImpl.cpp:
  • src/WebWorkerClientImpl.h:
  • src/WorkerAsyncFileSystemChromium.cpp:
  • src/WorkerAsyncFileWriterChromium.cpp:
  • src/WorkerFileSystemCallbacksBridge.h:
  • src/WorkerFileWriterCallbacksBridge.cpp:

(WebKit::WorkerFileWriterCallbacksBridge::initOnMainThread):

12:01 Changeset [116335] by abarth@webkit.org

Test the combination of CSP and srcdoc
https://bugs.webkit.org/show_bug.cgi?id=85778

Reviewed by Eric Seidel.

This test ensure that <iframe srcdoc> can't be used to bypass
Content-Security-Policy restrictions on script-src. We already have the
correct behavior. This test just verifies it.

  • http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src.html: Added.
11:57 Changeset [116334] by wjmaclean@chromium.org

[chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
https://bugs.webkit.org/show_bug.cgi?id=85084

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test provided.

Creates a layer delegate class to provide link highlight animations for link-preview feature.
These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
ids into a separate class.

  • WebCore.gypi:
  • platform/graphics/chromium/AnimationIdVendor.cpp: Added.

(WebCore):
(WebCore::AnimationIdVendor::getNextAnimationId):
(WebCore::AnimationIdVendor::getNextGroupId):

  • platform/graphics/chromium/AnimationIdVendor.h: Added.

(WebCore):
(AnimationIdVendor):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::addLinkHighlightLayer):
(WebCore):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlightLayer):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::mapAnimationNameToId):

  • platform/graphics/chromium/GraphicsLayerChromium.h:

(WebCore):
(GraphicsLayerChromium):

  • platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Added.

(WebCore):
(WebCore::LinkHighlightLayerDelegate::create):
(WebCore::LinkHighlightLayerDelegate::LinkHighlightLayerDelegate):
(WebCore::LinkHighlightLayerDelegate::~LinkHighlightLayerDelegate):
(WebCore::LinkHighlightLayerDelegate::getContentLayer):
(WebCore::LinkHighlightLayerDelegate::paintContents):
(WebCore::LinkHighlightLayerDelegate::didScroll):
(WebCore::LinkHighlightLayerDelegate::notifyAnimationStarted):
(WebCore::LinkHighlightLayerDelegate::notifyAnimationFinished):

  • platform/graphics/chromium/LinkHighlightLayerDelegate.h: Added.

(WebCore):
(LinkHighlightLayerDelegate):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/LinkHighlightLayerDelegateTest.cpp: Added.

(WebCore):
(MockGraphicsLayerClient):
(WebCore::MockGraphicsLayerClient::notifyAnimationStarted):
(WebCore::MockGraphicsLayerClient::notifySyncRequired):
(WebCore::MockGraphicsLayerClient::paintContents):
(WebCore::MockGraphicsLayerClient::showDebugBorders):
(WebCore::MockGraphicsLayerClient::showRepaintCounter):
(WebCore::TEST):

11:54 Changeset [116333] by jsbell@chromium.org

IndexedDB: LevelDB coding for bools is broken
https://bugs.webkit.org/show_bug.cgi?id=85810

Reviewed by Tony Chang.

Source/WebCore:

Code was appending to a pre-sized Vector, rather than using an
index setter. This caused uninitialized data to be written out.
Issue was detected on the Chromium side in http://crbug.com/126388

Tests: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*codeBool'

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeBool):

Source/WebKit/chromium:

Added tests for encodeBool/decodeBool.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):
(IDBLevelDBCoding):

11:48 Changeset [116332] by shawnsingh@chromium.org

[chromium] CCMathUtil projectPoint needs to avoid divide-by-zero
https://bugs.webkit.org/show_bug.cgi?id=85560

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added: CCMathUtilTest.cpp - verifyProjectionOfPerpendicularPlane
Unit test updated/renamed: CCLayerTreeHostCommonTest.cpp - verifyVisibleRectFor3dPerspectiveWhenClippedByW

The divide-by-zero occurs in an innocuous case where the layers
are probably invisible anyway. However, producing Infs and NaNs
could cause values to be used when un-intended, so its appropriate
to handle the divide-by-zero correctly.

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

(WebCore::projectPoint):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):

  • tests/CCMathUtilTest.cpp:

(WebCore::TEST):
(WebCore):

11:41 Changeset [116331] by commit-queue@webkit.org

Wrong positioning due to wrong width calculation wrt width:0
https://bugs.webkit.org/show_bug.cgi?id=50135

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-05-07
Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/block/block-parent-with-zero-width-child.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):
When width is fixed, the specified width must be taken, provided the value is positive.
Width=0 case was being ignored.

LayoutTests:

  • fast/block/block-parent-with-zero-width-child-expected.txt: Added.
  • fast/block/block-parent-with-zero-width-child.html: Added.
11:34 Changeset [116330] by noel.gordon@gmail.com

[CG] ImageBuffer::ImageDataToDataURL: Remove alpha stuffing when encoding to JPEG
https://bugs.webkit.org/show_bug.cgi?id=85779

Reviewed by Eric Seidel.

No change in behavior. Covered by fast/canvas/webgl/premultiplyalpha-test.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageDataToDataURL): Remove the need to stuff the alpha channel with 255.
Rename dataVector to premultipliedData and verify that its resize() worked. Rewrite
the premultiplication loop without the alpha channel = 255 part and ask the CG JPEG
encoder to ignore the alpha channel (kCGImageAlphaNoneSkipLast) instead.

11:34 Changeset [116329] by lforschler@apple.com

Versioning.

11:32 Changeset [116328] by commit-queue@webkit.org

[GTK] media/video-seek-past-end-playing.html times out
https://bugs.webkit.org/show_bug.cgi?id=84858

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-05-07
Reviewed by Philippe Normand.

Source/WebCore:

Removing the intentional state change to PAUSED on didEnd().
My understanding is that the fix works because the additional
state transition to PAUSED was resetting the internal m_seeking state to early,
so that updatePlayState() in HTMLMediaElement was not able to
correctly figure out/recover playstate after seeking.

No new tests, covered by existing media tests, and fixing
video-seek-past-end-playing.html flakiness on GTK, failure on EFL.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

LayoutTests:

video-seek-past-end-playing.html should work reliably after fix, removing.

  • platform/gtk/test_expectations.txt:
11:30 Changeset [116327] by lforschler@apple.com

New Tag.

11:30 Changeset [116326] by lforschler@apple.com

Fix versioning for 536.10.1.

11:27 Changeset [116325] by inferno@chromium.org

Crash in RenderBlock::updateFirstLetterStyle.
https://bugs.webkit.org/show_bug.cgi?id=85759

Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/css-generated-content/first-letter-next-sibling-crash.html

RenderBlock::removeChild can bring up the children from last single anonymous block,
causing |nextSibling| in RenderBlock::updateFirstLetterStyle to go stale. We prevent
this by removing the child safely using removeChildNode before destroying it.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetterStyle):

LayoutTests:

  • fast/css-generated-content/first-letter-next-sibling-crash-expected.txt: Added.
  • fast/css-generated-content/first-letter-next-sibling-crash.html: Added.
11:24 Changeset [116324] by lforschler@apple.com

Versioning.

11:24 Changeset [116323] by philn@webkit.org

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark

fast/events/message-port-close.html as crashing in debug builds.

11:16 Changeset [116322] by philn@webkit.org

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark new mediastream test as

expected failure.

10:56 Changeset [116321] by tommyw@google.com

MediaStream API: Rename MediaStreamCenter::didConstructMediaStream
https://bugs.webkit.org/show_bug.cgi?id=85796

Reviewed by Adam Barth.

Source/Platform:

Renamed WebMediaStreamCenter::didConstructMediaStream to didCreateMediaStream,
and change so that it is only called for MediaStreams created from JS.
Also send out the WebMediaStreamDescriptor non-const instead.

  • chromium/public/WebMediaStreamCenter.h:

(WebKit::WebMediaStreamCenter::didCreateMediaStream):
(WebMediaStreamCenter):
(WebKit::WebMediaStreamCenter::didConstructMediaStream):

Source/WebCore:

Renamed MediaStreamCenter::didConstructMediaStream to didCreateMediaStream,
and change so that it is only called for MediaStreams created from JS.

Not really testable.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):

  • platform/mediastream/MediaStreamCenter.h:

(MediaStreamCenter):

  • platform/mediastream/chromium/MediaStreamCenterChromium.cpp:

(WebCore::MediaStreamCenterChromium::didCreateMediaStream):

  • platform/mediastream/chromium/MediaStreamCenterChromium.h:

(MediaStreamCenterChromium):

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:

(WebCore::MediaStreamCenterGStreamer::didCreateMediaStream):

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:

(MediaStreamCenterGStreamer):

10:42 Changeset [116320] by mitz@apple.com

webkit.org instructions for debugging WebProcess are unnecessarily complex
https://bugs.webkit.org/show_bug.cgi?id=85756

Reviewed by Darin Adler.

  • building/debug.html: Added instructions for setting up and using the WebKit workspace for

debugging the Web process, as well as instructions for debugging the Web process from the
command line using debug-safari and debug-minibrowser.

  • building/tools.html: Updated links and tweaked the language.
10:37 Changeset [116319] by nduca@chromium.org

Unreviewed, rolling out r115525.
http://trac.webkit.org/changeset/115525
https://bugs.webkit.org/show_bug.cgi?id=66683

Too many pages rely on DOMTimeStamp as first argument.
Reverting while we consider next steps.

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • dom/Document.cpp:

(WebCore::Document::serviceScriptedAnimations):

  • dom/Document.h:

(Document):

  • dom/RequestAnimationFrameCallback.h:

(RequestAnimationFrameCallback):

  • dom/RequestAnimationFrameCallback.idl:
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):

  • dom/ScriptedAnimationController.h:

(ScriptedAnimationController):
(WebCore::ScriptedAnimationController::displayRefreshFired):

  • page/FrameView.cpp:

(WebCore::FrameView::serviceScriptedAnimations):

  • page/FrameView.h:

(FrameView):

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
(WebCore::DisplayRefreshMonitor::notifyClients):

  • platform/graphics/DisplayRefreshMonitor.h:

(DisplayRefreshMonitor):

  • platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:

(WebCore::DisplayRefreshMonitor::displayLinkFired):

  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:

(WebCore):
(WebCore::DisplayRefreshMonitor::requestRefreshCallback):
(WebCore::DisplayRefreshMonitor::displayLinkFired):

Source/WebKit/chromium:

  • src/PageWidgetDelegate.cpp:

(WebKit::PageWidgetDelegate::animate):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::updateAnimations):

10:32 Changeset [116318] by commit-queue@webkit.org

[BlackBerry] Add methods need by client side
https://bugs.webkit.org/show_bug.cgi?id=85661

Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-07
Reviewed by Antonio Gomes.

Add methods needed by client side when create and close HTML popup dialogs.
PR 154360

  • Api/WebPageClient.h:
10:32 Changeset [116317] by tommyw@google.com

MediaStream API: Allow UserMediaRequest::succeed to take an MediaStreamDescriptor
https://bugs.webkit.org/show_bug.cgi?id=85798

Reviewed by Adam Barth.

Source/Platform:

Adding another UserMediaRequest::succeed function that takes an MediaStreamDescriptor
instead of the two MediaStreamSource arrays.

  • chromium/public/WebMediaStreamCenter.h:

(WebMediaStreamCenter):
(WebKit::WebMediaStreamCenter::constructSDP):

Source/WebCore:

Adding another UserMediaRequest::succeed function that takes an MediaStreamDescriptor
instead of the two MediaStreamSource arrays.

Not currently testable.

  • Modules/mediastream/LocalMediaStream.cpp:

(WebCore::LocalMediaStream::create):
(WebCore):
(WebCore::LocalMediaStream::LocalMediaStream):

  • Modules/mediastream/LocalMediaStream.h:

(LocalMediaStream):

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::succeed):
(WebCore):

  • Modules/mediastream/UserMediaRequest.h:

(WebCore):
(UserMediaRequest):

Source/WebKit/chromium:

Adding another WebUserMediaRequest::requestSucceed function that takes an
WebMediaStreamDescriptor instead of the two WebMediaStreamSource arrays.

  • public/WebUserMediaRequest.h:

(WebKit):
(WebUserMediaRequest):

  • src/WebUserMediaRequest.cpp:

(WebKit::WebUserMediaRequest::requestSucceeded):

10:25 Changeset [116316] by commit-queue@webkit.org

[chromium] setContentsMemoryAllocationLimitBytes needs to setNeedsCommit.
https://bugs.webkit.org/show_bug.cgi?id=85801

Patch by Michal Mocny <mmocny@google.com> on 2012-05-07
Reviewed by Adrienne Walker.

CCLayerTreeHost::setContentsMemoryAllocationLimitBytes needs to call setNeedsCommit after adjusting memory
limits, so that we push a new frame. In particular, when returning from non visibile state, we adjust
memory allocation from 0 to non 0, and we need to push a non blank frame.

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

(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):

10:21 Changeset [116315] by tommyw@google.com

[chromium] MediaStream API: Enhance WebUserMediaClientMock and add a test for it
https://bugs.webkit.org/show_bug.cgi?id=85618

Reviewed by Adam Barth.

Adding the capability to control which MediaStreamTracks actually get created,
and adding a test that exercises the JS api using that capability.

Tools:

  • DumpRenderTree/chromium/WebUserMediaClientMock.cpp:

(WebKit::WebUserMediaClientMock::requestUserMedia):

  • DumpRenderTree/chromium/WebUserMediaClientMock.h:
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::testMediaStreamClient):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

LayoutTests:

  • fast/mediastream/getusermedia-expected.txt: Added.
  • fast/mediastream/getusermedia.html: Added.
10:20 Changeset [116314] by lforschler@apple.com

New branch.

09:26 Changeset [116313] by commit-queue@webkit.org

[EFL] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
https://bugs.webkit.org/show_bug.cgi?id=85602

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-07
Reviewed by Eric Carlson.

Source/WebCore:

Fix positioning of the controls panel back to relative, as it is
in the parent CSS.

  • css/mediaControlsEfl.css:

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

LayoutTests:

Update expected result for several media tests now that the
positioning of the controls panel is relative.

  • platform/efl/media/media-controls-clone-expected.txt:
  • platform/efl/media/video-empty-source-expected.txt:
  • platform/efl/media/video-zoom-controls-expected.txt:
08:05 Changeset [116312] by rakuco@webkit.org

[EFL] Gardening, fix failure expectation for test.

  • platform/efl/test_expectations.txt:
08:02 Changeset [116311] by adam.bergkvist@ericsson.com

MediaStream should not be an ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=85191

Reviewed by Adam Barth.

The model with MediaStreamDescriptor and MediaStream (and LocalMediaStream)
allows the JavaScript objects (MediaStream and LocalMediaStream) to be
cleaned up while the MediaStreamDescriptor lives on to manage the stream in
the platform. This happens for example when a URL is created to represent
a MediaStream (using createObjectURL()). In that case, the MediaStreamDescriptor
is put into the MediaStreamRegistry and even though the MediaStream object is
lost, the URL still works since the descriptor is kept in the registry.

The changes introduced in r113460 (http://webkit.org/b/83143) turned
MediaStream and LocalMediaStream into ActiveDOMObjects. For example on page
reload, LocalMediaStream calls MediaStreamCenter::didStopLocalMediaStream()
via its ActiveDOMObject::stop() method. However, when a page reload occurs,
the LocalMediaStream object may have been cleaned up already and
MediaStreamCenter::didStopLocalMediaStream() will not be called.

One way to make the behavior consistent would be to call
MediaStreamCenter::didStopLocalMediaStream() when the descriptor is cleaned up,
cause then we wouldn't be dependent on the LocalMediaStream object being alive.
However, calling MediaStreamCenter::didStopLocalMediaStream() might not be the
correct thing to do when all references to the descriptor are lost since there
can be MediaStream objects constructed from the tracks of the LocalMediaStream
that should continue to work. MediaStreamCenter::didStopLocalMediaStream() was
intended for LocalMediaStream.stop() which is used to revoke access to devices;
that should not necessarily happen when the descriptor of a LocalMediaStream is
cleaned up. If it's necessary for some ports to signal to the platform that a
MediaStreamDescriptor is cleaned up, then I would suggest adding a new function,
willDestroyMediaStreamDescriptor(), to the MediaStreamCenter interface.

The current resolution is to make MediaStream a ContextDestructionObserver
instead of an ActiveDOMObject.

Currently not testable.

  • Modules/mediastream/LocalMediaStream.cpp:

(WebCore::LocalMediaStream::create):

  • Modules/mediastream/LocalMediaStream.h:

(LocalMediaStream):

  • Modules/mediastream/LocalMediaStream.idl:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::scriptExecutionContext):

  • Modules/mediastream/MediaStream.h:
08:01 Changeset [116310] by zandobersek@gmail.com

[Gtk] WebGL feature is not built anymore through build-webkit after r116251
https://bugs.webkit.org/show_bug.cgi?id=85788

Reviewed by Martin Robinson.

Enable WebGL by default for the Gtk port. The feature is already enabled by
default in configure.ac, so there's no reason it shouldn't be enabled when
building through build-webkit.

  • Scripts/webkitperl/FeatureList.pm:
07:46 Changeset [116309] by mihnea@adobe.com

[CSSRegions]Convert (some) region style tests to ref tests
https://bugs.webkit.org/show_bug.cgi?id=85783

Reviewed by Andreas Kling.

  • fast/regions/region-style-image-background-color-expected.html: Added.
  • fast/regions/region-style-image-background-color.html:
  • fast/regions/region-style-inline-background-color-expected.html: Added.
  • fast/regions/region-style-inline-background-color.html:
  • platform/chromium-linux/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-linux/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-mac-leopard/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-mac-leopard/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-mac/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-mac/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-win/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-win/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/chromium-win/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-win/fast/regions/region-style-inline-background-color-expected.txt: Removed.
  • platform/gtk/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/gtk/fast/regions/region-style-inline-background-color-expected.txt: Removed.
  • platform/mac/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/mac/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/mac/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/mac/fast/regions/region-style-inline-background-color-expected.txt: Removed.
07:32 Changeset [116308] by commit-queue@webkit.org

[BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog
https://bugs.webkit.org/show_bug.cgi?id=85643

Patch by Liam Quinn <lquinn@rim.com> on 2012-05-07
Reviewed by George Staikos.

.:

RIM PR: 151992
Added manual test for WWW-Authenticate header on a 200 response.

  • ManualTests/blackberry/http-auth-on-200.php: Added.

Source/WebCore:

RIM PR: 151992
Ignore WWW-Authenticate header if the response code is not 401.
Ignore Proxy-Authenticate header if the response code is not 407.

Manual test added to observe whether the authentication dialog appears on a 200 response with WWW-Authenticate.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::handleNotifyHeaderReceived):

07:10 Changeset [116307] by alexis.menard@openbossa.org

Unreviewed gardening for Qt port. Updating expectation files and skipped tests which are
timing out.

  • platform/qt-5.0-wk2/Skipped:
  • platform/qt-5.0-wk2/fullscreen/full-screen-placeholder-expected.txt: Added.
  • platform/qt-5.0-wk2/fullscreen/full-screen-render-inline-expected.txt: Added.
  • platform/qt-5.0-wk2/fullscreen/parent-flow-inline-with-block-child-expected.txt: Added.
07:06 Changeset [116306] by ossy@webkit.org

Unittest fix after r116288, because now there are more than 5 hit for the 'Eric' word.
We have only 2 'Gavin', so it is a better choice than 'Eric' for unit testing.

Reviewed by Tor Arne Vestbø.

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):

06:38 Changeset [116305] by apavlov@chromium.org

Web Inspector: [TextPrompt] Event listeners and CSS style are not removed on detachment
https://bugs.webkit.org/show_bug.cgi?id=85789

Reviewed by Yury Semikhatsky.

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.detach):

05:58 Changeset [116304] by ossy@webkit.org

Unreviewed, rolling out r116299, r116301, and r116303.
http://trac.webkit.org/changeset/116299
http://trac.webkit.org/changeset/116301
http://trac.webkit.org/changeset/116303
https://bugs.webkit.org/show_bug.cgi?id=85795

Build is still broken (Requested by Ossy on #webkit).

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

Source/WebKit2:

  • qt/MainQt.cpp:

(main):

Tools:

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/main.cpp:

(main):

  • QtTestPlatformPlugin/QtTestPlatformPlugin.pro: Removed.
  • QtTestPlatformPlugin/TestIntegration.cpp: Removed.
  • QtTestPlatformPlugin/TestIntegration.h: Removed.
  • QtTestPlatformPlugin/mac/TestFontDatabase.h: Removed.
  • QtTestPlatformPlugin/mac/TestFontDatabase.mm: Removed.
  • QtTestPlatformPlugin/mac/TestIntegrationMac.mm: Removed.
  • QtTestPlatformPlugin/main.cpp: Removed.
  • QtTestPlatformPlugin/testplatform.json: Removed.
  • Tools.pro:
  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/qt/main.cpp:

(main):

05:30 Changeset [116303] by kbalazs@webkit.org

Unreviewed Qt build fix.

One more try to learn how to use
const with a pointer array.

  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):

05:30 Changeset [116302] by commit-queue@webkit.org

[EFL] Icon database path may be NULL when a new path was set.
https://bugs.webkit.org/show_bug.cgi?id=82456

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2012-05-07
Reviewed by Andreas Kling.

ewk_settings_icon_database_path_set calls asynchronous method WebCore::iconDatabase().open().
There is no notification when the new path is set by WebCore.
Moreover ewk_settings_icon_database_path_set keeps the new path in a local variable.

To retrieve path to icon database ewk_settings_icon_database_path_get can be called.
It first checks flags whether icon databse is opened and enabled. There is possibility
that icon database has been set through API but it hasn't been opened by WebCore yet.
So as a result ewk_settings_icon_database_path_get returns NULL because WebCore hasn't
set an appropriate flag yet.

It may happen while icon database set/get sequences.
Information whether icon database is opened/enabled should be exposed by separate API.

  • ewk/ewk_settings.cpp:

(ewk_settings_icon_database_path_get): Skip checking whether icon database is opened, enabled.

  • ewk/ewk_settings.h:
05:15 Changeset [116301] by kbalazs@webkit.org

Unreviewed build fix after r116299.

  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):

04:59 Changeset [116300] by alexis.menard@openbossa.org

[Qt] Enable fullscreen api layout tests on WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=85616

Reviewed by Csaba Osztrogonác.

http://trac.webkit.org/changeset/116089 implements the fullscreen API for WebKit2,
we can now unskip the related tests.

  • platform/qt-4.8/Skipped:
  • platform/qt-5.0-wk1/Skipped:
  • platform/qt-5.0-wk2/Skipped:
  • platform/qt/Skipped:
04:49 Changeset [116299] by kbalazs@webkit.org

[Qt] Add test specific platform plugin to achieve unified layout test results
https://bugs.webkit.org/show_bug.cgi?id=80996

Reviewed by Simon Hausmann.

Source/WebKit2:

Initialize the test platform plugin before initializing
the web process if we are in a WTR run.
It is necessary to place this initialization here as we
cannot control wich platform plugin will be used after
the instantiation of the QApplication.

  • qt/MainQt.cpp:

(initializeTestPlatformPluginForWTRIfRequired):
(main):

Tools:

Added QtTestPlatformPlugin as a new project under Tools.
This is a Qt5-ish platform plugin that can be used to tweak the
platform support interfaces in order to unify layout test results.
For now it only overrides the font database on Mac and redirects
everything else to the real platform plugin. The font database it
provides mimics the way how we set up test fonts with fontconfig on Linux.
Make DumpRenderTree and WebKitTestRunner use this platform plugin.

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):
(main):

  • QtTestPlatformPlugin/QtTestPlatformPlugin.pro: Added.
  • QtTestPlatformPlugin/TestIntegration.cpp: Added.

(TestIntegration::TestIntegration):
(TestIntegration::fontDatabase):

  • QtTestPlatformPlugin/TestIntegration.h: Added.

(TestIntegration):
(TestIntegration::hasCapability):
(TestIntegration::createPlatformPixmap):
(TestIntegration::createPlatformWindow):
(TestIntegration::createPlatformBackingStore):
(TestIntegration::createPlatformOpenGLContext):
(TestIntegration::createPlatformSharedGraphicsCache):
(TestIntegration::guiThreadEventDispatcher):
(TestIntegration::clipboard):
(TestIntegration::drag):
(TestIntegration::inputContext):
(TestIntegration::accessibility):
(TestIntegration::nativeInterface):
(TestIntegration::services):
(TestIntegration::styleHint):
(TestIntegration::platformTheme):

  • QtTestPlatformPlugin/mac/TestFontDatabase.h: Added.

(TestFontDatabase):

  • QtTestPlatformPlugin/mac/TestFontDatabase.mm: Added.

(TestFontDatabase::populateFontDatabase):

  • QtTestPlatformPlugin/mac/TestIntegrationMac.mm: Added.

(TestIntegration::fontDatabase):

  • QtTestPlatformPlugin/main.cpp: Added.

(TestIntegrationPlugin::keys):
(TestIntegrationPlugin::create):
(TestIntegrationPlugin::initialize):

  • QtTestPlatformPlugin/testplatform.json: Added.
  • Tools.pro:
  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/qt/main.cpp:

(main):

04:43 Changeset [116298] by ossy@webkit.org

Buildfix for buggy GCC
https://bugs.webkit.org/show_bug.cgi?id=85781

Reviewed by Zoltan Herczeg.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::MarginInfo::clearMargin):

04:34 Changeset [116297] by commit-queue@webkit.org

[EFL][DRT] Gardening current IMAGE failures
https://bugs.webkit.org/show_bug.cgi?id=85604

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-05-07

  • platform/efl/fast/forms/input-placeholder-text-indent-expected.png: Removed.
  • platform/efl/fast/forms/isindex-placeholder-expected.png: Removed.
  • platform/efl/fast/forms/placeholder-with-positioned-element-expected.png: Removed.
  • platform/efl/fast/forms/textarea-placeholder-wrapping-expected.png: Removed.
  • platform/efl/test_expectations.txt:
04:26 Changeset [116296] by commit-queue@webkit.org

[EFL] media/video-poster-blocked-by-willsendrequest.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=85609

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-07
Reviewed by Simon Hausmann.

Flakiness was caused by the fact that
media/crash-closing-page-with-media-as-plugin-fallback.html and
media/video-poster-blocked-by-willsendrequest.html use the same PNG
file as poster attribute in the video tag. The PNG file gets cached
when the first test is executed and this somehow causes the second
test to fail.

The flakiness was addressed by clearing the memory and page caches
between tests.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

04:21 Changeset [116295] by caseq@chromium.org

Unreviewed gardening, refined expectations for compositing failures + more suppressions.

  • platform/chromium/test_expectations.txt:
04:13 Changeset [116294] by eric@webkit.org

Add values for all features to Qt's features.pri
https://bugs.webkit.org/show_bug.cgi?id=85746

Reviewed by Tor Arne Vestbø.

When generate-feature-files generates features.pri it provides a value
for every possible ENABLE_. In prepration for landing generate-feature-files
it seems appropriate to add a value for all possible ENABLEs to the existing
features.pri. This lets me make sure that I'm getting them all right!

  • qmake/mkspecs/features/features.pri:
03:30 Changeset [116293] by apavlov@chromium.org

Web Inspector: [REGRESSION] Context menu for the left Script view gutter is broken
https://bugs.webkit.org/show_bug.cgi?id=85785

Reviewed by Pavel Feldman.

Fixed remaining usages of WebInspector.save to be WebInspector.fileManager.save.

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._exportAll):
(WebInspector.NetworkLogView.prototype._exportRequest):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):

  • inspector/front-end/TextViewer.js:

(WebInspector.TextViewer.prototype._contextMenu):

03:07 Changeset [116292] by caseq@chromium.org

Unreviewed gardening, more compositing test timeouts.

  • platform/chromium/test_expectations.txt:
02:56 Changeset [116291] by antti@apple.com

Share stylesheet data structures between documents
https://bugs.webkit.org/show_bug.cgi?id=85598

Source/WebCore:

Reviewed by Darin Adler.

We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
the data until someone uses a mutating CSSOM API to modify the sheet.

The patch implements copy-on-write for the internal style sheet data structures. If any mutating CSSOM API is
invoked, we check if the mutation is safe (there is only one client, the sheet is not cached). If not then the
internal structures are copied and any existing CSSOM objects are re-attached to the new style tree. The copied
tree is mutated while the other clients stay attached to the original tree.

Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
multiple articles open on wsj.com this saves ~2.6MB per tab.

Test: http/tests/css/shared-stylesheet-mutation.html

http/tests/css/shared-stylesheet-mutation-preconstruct.html

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::reattach):
(WebCore):

  • css/CSSFontFaceRule.h:

(CSSFontFaceRule):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::reattach):
(WebCore):

  • css/CSSMediaRule.h:

(CSSMediaRule):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::reattach):
(WebCore):

  • css/CSSPageRule.h:

(CSSPageRule):

  • css/CSSRule.cpp:

(WebCore::CSSRule::reattach):

After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

  • css/CSSRule.h:

(WebCore):
(CSSRule):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::reattach):
(WebCore):

  • css/CSSStyleRule.h:

(CSSStyleRule):

  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::ruleAt):

Add ruleAt(), use it for both wrapper creation and reattaching. Remove createChildRuleCSSOMWrapper .

(WebCore):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):

Invalidation moves to the calling wrapper.

(WebCore::StyleSheetInternal::addedToMemoryCache):
(WebCore::StyleSheetInternal::removedFromMemoryCache):
(WebCore::CSSStyleSheet::willMutateRules):

This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.


Usually invoked by CSSStyleSheet::RuleMutation RAII type.

(WebCore::CSSStyleSheet::didMutateRules):

This is called after the mutation is complete and will trigger the style recalc in the document.

(WebCore::CSSStyleSheet::didMutate):

This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):

  • css/CSSStyleSheet.h:

(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasOneClient):
(WebCore::StyleSheetInternal::isMutable):
(WebCore::StyleSheetInternal::setMutable):

Track mutability. Mutation is allowed only after willMutate call.

(WebCore::StyleSheetInternal::isInMemoryCache):

Track if the object is in memory cache.

(WebCore::CSSStyleSheet::clearOwnerRule):
(CSSStyleSheet):

  • css/MediaList.cpp:

(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::didMutate):
(WebCore):
(WebCore::MediaList::reattach):

  • css/MediaList.h:

(MediaList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::StyleRuleCSSStyleDeclaration::reattach):
(WebCore::InlineCSSStyleDeclaration::didMutate):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::willMutate):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(StyleRuleCSSStyleDeclaration):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::reattach):
(WebCore):

  • css/WebKitCSSKeyframesRule.h:

(WebKitCSSKeyframesRule):

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::reattach):

  • css/WebKitCSSRegionRule.h:

(WebKitCSSRegionRule):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):

Don't copy when restoring. It is no longer necessary.
Set the cache bit on the stylesheet.

(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

Reviewed by Darin Adler.

Test that mutations of a shared stylesheet work as expected.

This is an http test due to cross-document security restrictions with file urls
(they can be overriden in DRT but I'd like this to work in browser too).

  • http/tests/css/resources/shared.css: Added.
  • http/tests/css/resources/shared-stylesheet-mutation.js: Added.
  • http/tests/css/shared-stylesheet-mutation-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct.html: Added.
  • http/tests/css/shared-stylesheet-mutation.html: Added.
02:47 Changeset [116290] by kinuko@chromium.org

Unreviewed: the same fix in another file for chromium win build. Adding WebCore namespace to FileSystemTypes.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

02:46 Changeset [116289] by caseq@chromium.org

Unreviewed gardening, fast/text/international/thai-{baht-space,line-breaks}.html now fail in release, too.

  • platform/chromium/test_expectations.txt:
02:31 Changeset [116288] by adam.bergkvist@ericsson.com

Added myself as a committer.

Not reviewed.

  • Scripts/webkitpy/common/config/committers.py:
02:29 Changeset [116287] by kinuko@chromium.org

Not reviewed: chromium win build fix attempt; adding WebCore namespace to ambiguous type name.

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):

02:21 Changeset [116286] by hausmann@webkit.org

[Qt] Unreviewed trivial build fix: Don't include bytearraytestdata.h in the QtWebKit
module header.

  • Source/sync.profile:
02:20 Changeset [116285] by commit-queue@webkit.org

[EFL][DRT] Implement LayoutTestController::execCommand
https://bugs.webkit.org/show_bug.cgi?id=82286

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-07
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add missing implementation execCommand and isCommandEnabled to EFL's
DumpRenderTreeSupport to execute an internal command and check if the
command is enabled.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::executeCoreCommandByName):
(DumpRenderTreeSupportEfl::isCommandEnabled):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Add missing implementation execCommand and isCommandEnabled to EFL's
LayoutTestController.

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::execCommand):
(LayoutTestController::isCommandEnabled):

LayoutTests:

Unskipped test cases which rely on execCommand and
updated test expectations for failure test cases.

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
02:17 Changeset [116284] by caseq@chromium.org

Unreviewed gardening, compositing/overflow/scrollbar-painting.html times out on mac & linux.

  • platform/chromium/test_expectations.txt:
01:57 Changeset [116283] by kinuko@chromium.org

Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code
https://bugs.webkit.org/show_bug.cgi?id=85741

Reviewed by David Levin.

Source/WebCore:

No new tests as this change has no functional effects.

  • Modules/filesystem/DOMWindowFileSystem.cpp:

(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):

  • Modules/filesystem/LocalFileSystem.cpp:

(WebCore::LocalFileSystem::requestFileSystem):

  • Modules/filesystem/LocalFileSystem.h:

(LocalFileSystem):

  • Modules/filesystem/WorkerContextFileSystem.cpp:

(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):

  • platform/FileSystemType.h: Added FileSystemSynchronousType enum.

Source/WebKit/chromium:

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):
(WebKit::WebFileSystemCallbacksImpl::didOpenFileSystem):

  • src/WebFileSystemCallbacksImpl.h:

(WebFileSystemCallbacksImpl):

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
(WebCore::WorkerAsyncFileSystemChromium::createWorkerFileSystemCallbacksBridge):

  • src/WorkerAsyncFileSystemChromium.h:

(WebCore::WorkerAsyncFileSystemChromium::create):
(WorkerAsyncFileSystemChromium):

01:42 Changeset [116282] by antti@apple.com

Revert the previous.

Not reviewed.

Apparently r116235 was already rolled out.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::determineScope):

01:13 Changeset [116281] by antti@apple.com

REGRESSION(r116235): broke a lot of tests on all chromium debug bots
https://bugs.webkit.org/show_bug.cgi?id=85773

Not reviewed.

Try to fix assert when scoped stylesheets are enabled.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::determineScope):

00:39 Changeset [116280] by kinuko@chromium.org

Cleanup: Move FileSystem API type definitions into a separate header file
https://bugs.webkit.org/show_bug.cgi?id=85738

Reviewed by David Levin.

Move FileSystem API type definitions from AsyncFileSystem.h and
AsyncFileSystemChromium.cpp for chromium port into a single separate
header file: FileSystemType.h

By doing this we make it clearer that every filesystem type can be
found in the header file and also can save including entire
AsyncFileSystem definition just for referring type enum value.

Source/WebCore:

No new tests as this change has no visible or functional changes.

  • Modules/filesystem/DOMFileSystemBase.cpp:

(WebCore::pathToAbsolutePath):

  • Modules/filesystem/DOMWindowFileSystem.cpp:

(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
(WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
(WebCore):

  • Modules/filesystem/DOMWindowFileSystem.h:
  • Modules/filesystem/LocalFileSystem.h:

(LocalFileSystem):

  • Modules/filesystem/WorkerContextFileSystem.cpp:

(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
(WebCore):

  • Modules/filesystem/WorkerContextFileSystem.h:
  • platform/AsyncFileSystem.cpp:

(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):

  • platform/AsyncFileSystem.h:

(AsyncFileSystem):
(WebCore::AsyncFileSystem::type):
(WebCore::AsyncFileSystem::AsyncFileSystem):

  • platform/FileSystemType.h: Added.

(WebCore):

  • platform/blackberry/AsyncFileSystemBlackBerry.cpp:

(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):

  • platform/blackberry/AsyncFileSystemBlackBerry.h:

(AsyncFileSystemBlackBerry):

  • platform/gtk/AsyncFileSystemGtk.cpp:

(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):

  • platform/gtk/AsyncFileSystemGtk.h:

(AsyncFileSystemGtk):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystem):
(WebCore::AsyncFileSystemChromium::toURL):

  • src/AsyncFileSystemChromium.h:

(WebCore::AsyncFileSystemChromium::create):
(AsyncFileSystemChromium):

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):

  • src/WebFileSystemCallbacksImpl.h:

(WebFileSystemCallbacksImpl):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):

  • src/WorkerAsyncFileSystemChromium.h:

(WebCore::WorkerAsyncFileSystemChromium::create):
(WorkerAsyncFileSystemChromium):

05/06/12:

23:52 Changeset [116279] by hayato@chromium.org

[prepare-ChangeLog] Excludes a reference file used by reftests from test files.
https://bugs.webkit.org/show_bug.cgi?id=74268

Reviewed by Ryosuke Niwa.

  • Scripts/prepare-ChangeLog:

(generateFileList):

23:45 Changeset [116278] by kkristof@inf.u-szeged.hu

[Qt] New test introduced in r116255 is failing
https://bugs.webkit.org/show_bug.cgi?id=85777

Unreviewed gardening.

  • platform/qt/Skipped: Skip the failing test
23:36 WebKitGTK/WebKit2Roadmap edited by carlosgc@webkit.org
Update target version after 1.9.2 (diff)
23:05 Changeset [116277] by morrita@google.com

https://bugs.webkit.org/show_bug.cgi?id=85265
[Shadow DOM] ShadowTree needs a better name

Reviewed by Dimitri Glazkov.

.:

  • Source/autotools/symbols.filter: Updated exported symbol names according to the rename.

Source/WebCore:

Renamed ShadowTree to ElementShadow, The ElementShadow class is
going to be a facade of Shadow related APIs.

Following renames follow:

  • Element::shadowTree() to Element::shadow()
  • ShadowRoot::tree() to ShadowRoot::owner()
  • ShadowTree::recalcShadowTreeStyle() to ElementShadow::recalcStyle()

No new tests. Just renames.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::shadowFor):
(WebCore::shadowOfParent):
(WebCore::ComposedShadowTreeWalker::traverseChild):
(WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
(WebCore::ComposedShadowTreeWalker::traverseParent):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):

  • dom/DOMAllInOne.cpp:
  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::willRemove):
(WebCore::Element::attach):
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::Element::hasShadowRoot):
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow):
(WebCore::Element::ensureShadowRoot):
(WebCore::Element::childrenChanged):

  • dom/Element.h:

(WebCore):
(Element):

  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::~ElementRareData):

  • dom/ElementShadow.cpp: Renamed from Source/WebCore/dom/ShadowTree.cpp.

(WebCore):
(WebCore::ElementShadow::ElementShadow):
(WebCore::ElementShadow::~ElementShadow):
(WebCore::validateShadowRoot):
(WebCore::ElementShadow::addShadowRoot):
(WebCore::ElementShadow::removeAllShadowRoots):
(WebCore::ElementShadow::willRemove):
(WebCore::ElementShadow::setParentTreeScope):
(WebCore::ElementShadow::attach):
(WebCore::ElementShadow::attachHost):
(WebCore::ElementShadow::detach):
(WebCore::ElementShadow::detachHost):
(WebCore::ElementShadow::insertionPointFor):
(WebCore::ElementShadow::selectionFor):
(WebCore::ElementShadow::reattach):
(WebCore::ElementShadow::childNeedsStyleRecalc):
(WebCore::ElementShadow::needsStyleRecalc):
(WebCore::ElementShadow::recalcStyle):
(WebCore::ElementShadow::needsReattachHostChildrenAndShadow):
(WebCore::ElementShadow::hostChildrenChanged):
(WebCore::ElementShadow::setNeedsReattachHostChildrenAndShadow):
(WebCore::ElementShadow::reattachHostChildrenAndShadow):

  • dom/ElementShadow.h: Renamed from Source/WebCore/dom/ShadowTree.h.

(WebCore):
(ElementShadow):
(WebCore::ElementShadow::hasShadowRoot):
(WebCore::ElementShadow::youngestShadowRoot):
(WebCore::ElementShadow::oldestShadowRoot):
(WebCore::ElementShadow::selector):
(WebCore::ElementShadow::clearNeedsReattachHostChildrenAndShadow):
(WebCore::ElementShadow::host):
(ShadowRootVector):
(WebCore::ShadowRootVector::ShadowRootVector):

  • dom/Node.cpp:

(WebCore::oldestShadowRootFor):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::hostChildrenChanged):

  • dom/NodeRenderingContext.h:

(WebCore):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):
(WebCore::ShadowRoot::owner):

  • dom/ShadowRoot.h:

(WebCore):
(ShadowRoot):

  • dom/TreeScopeAdopter.cpp:

(WebCore::shadowFor):
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):
(WebCore::TreeScopeAdopter::moveShadowToNewDocument):

  • dom/TreeScopeAdopter.h:

(TreeScopeAdopter):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::shadowColorSwatch):

  • html/FileInputType.cpp:

(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::multipleAttributeChanged):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::findMainSummary):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::shadowSelect):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaControls):
(WebCore::HTMLMediaElement::hasMediaControls):

  • html/HTMLSummaryElement.cpp:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::innerTextElement):
(WebCore::HTMLTextAreaElement::updatePlaceholderText):

  • html/InputType.cpp:

(WebCore::InputType::destroyShadowSubtree):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::createShadowSubtree):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::updatePlaceholderText):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::deleteBubbleTree):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::parseAttribute):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):
(WebCore::InsertionPoint::distributeHostChildren):
(WebCore::InsertionPoint::clearDistribution):

  • html/shadow/InsertionPoint.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::sliderThumbElementOf):
(WebCore::RenderSliderContainer::layout):
(WebCore::trackLimiterElementOf):

  • html/shadow/TextFieldDecorationElement.cpp:

(WebCore::getDecorationRootAndDecoratedRoot):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/FocusController.cpp:

(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::uploadButton):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::buildShadowTree):

  • testing/Internals.cpp:

(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::youngestShadowRoot):
(WebCore::Internals::oldestShadowRoot):
(WebCore::Internals::removeShadowRoot):

Source/WebKit2:

  • win/WebKit2.def: Updated exported symbol names according to the rename.
  • win/WebKit2CFLite.def: Updated exported symbol names according to the rename.
23:02 Changeset [116276] by caseq@chromium.org

Unreviewed, rolling out r116235.
http://trac.webkit.org/changeset/116235
https://bugs.webkit.org/show_bug.cgi?id=85773

broke a lot of tests on all chromium debug bots (Requested by
caseq_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-06

Source/WebCore:

  • bindings/objc/DOMCSS.mm:
  • css/CSSFontFaceRule.cpp:
  • css/CSSFontFaceRule.h:

(CSSFontFaceRule):

  • css/CSSImportRule.cpp:
  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):

  • css/CSSMediaRule.h:

(CSSMediaRule):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::setSelectorText):

  • css/CSSPageRule.h:

(CSSPageRule):

  • css/CSSRule.cpp:
  • css/CSSRule.h:

(CSSRule):
(WebCore::CSSRule::parserContext):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):

  • css/CSSStyleRule.h:
  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):
(WebCore::StyleSheetInternal::styleSheetChanged):
(WebCore):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):

  • css/CSSStyleSheet.h:

(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasCharsetRule):
(WebCore::CSSStyleSheet::styleSheetChanged):
(CSSStyleSheet):

  • css/MediaList.cpp:

(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::notifyChanged):

  • css/MediaList.h:

(MediaList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
(WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
(PropertySetCSSStyleDeclaration):
(StyleRuleCSSStyleDeclaration):

  • css/StylePropertySet.cpp:
  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):

  • css/WebKitCSSKeyframesRule.h:

(WebKitCSSKeyframesRule):

  • css/WebKitCSSRegionRule.cpp:
  • css/WebKitCSSRegionRule.h:

(WebKitCSSRegionRule):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

  • http/tests/css/resources/shared-stylesheet-mutation.js: Removed.
  • http/tests/css/resources/shared.css: Removed.
  • http/tests/css/shared-stylesheet-mutation-expected.txt: Removed.
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Removed.
  • http/tests/css/shared-stylesheet-mutation-preconstruct.html: Removed.
  • http/tests/css/shared-stylesheet-mutation.html: Removed.
22:54 Changeset [116275] by abarth@webkit.org

Attempt to fix the !ENABLE(INSPECTOR) build by making InspectorValues
available unconditionally. We should probably rename these classes to
JSONValues and move them into WebCore/platform.

  • inspector/InspectorValues.cpp:
  • inspector/InspectorValues.h:
22:38 Changeset [116274] by abarth@webkit.org

CSP violation reports should have all the fields required by the spec
https://bugs.webkit.org/show_bug.cgi?id=85682

Reviewed by Darin Adler.

Source/WebCore:

This patch updates our CSP violation reports to include all the fields
in the spec. We've discussed all these fields in the working group,
and we have fairly high confidence that these are safe to expose.

Tests: http/tests/security/contentSecurityPolicy/report-and-enforce.html

http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html
http/tests/security/contentSecurityPolicy/report-blocked-uri.html
http/tests/security/contentSecurityPolicy/report-only-from-header.html
http/tests/security/contentSecurityPolicy/report-only.html
http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html
http/tests/security/contentSecurityPolicy/report-uri.html

  • page/ContentSecurityPolicy.cpp:

(CSPDirectiveList):
(WebCore::CSPDirectiveList::reportViolation):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):

LayoutTests:

Update test results to show the new fields in the violation reports.
This patch also adds tests that exercise both the same-origin and the
cross-origin case for blocked-uri.

  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri.html: Added.
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
22:33 Changeset [116273] by kinuko@chromium.org

Cleanup: FileSystem API's Entry.toURL() impl should return KURL instead of String
https://bugs.webkit.org/show_bug.cgi?id=85736

Change the return type of Entry::toURL() from String to KURL.

Reviewed by David Levin.

No new tests as this change should not have any visible impact in the javascript layer.

Source/WebCore:

  • Modules/filesystem/EntryBase.cpp:

(WebCore::EntryBase::toURL):

  • Modules/filesystem/EntryBase.h:
  • platform/AsyncFileSystem.h:
  • platform/blackberry/AsyncFileSystemBlackberry.cpp:

(AsyncFileSystemBlackberry::toURL):

  • platform/blackberry/AsyncFileSystemBlackberry.h:
  • platform/gtk/AsyncFileSystemGtk.cpp:

(AsyncFileSystemGtk::toURL):

  • platform/gtk/AsyncFileSystemGtk.h:

Souce/We/chromium:

  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::toURL):
String to KURL.

  • src/AsyncFileSystemChromium.h:

(AsyncFileSystemChromium):

22:24 Changeset [116272] by caseq@chromium.org

Unreviewed expectations update for overflow-positioning.html.

  • platform/chromium/test_expectations.txt:
22:05 Changeset [116271] by hbono@chromium.org

Merge 114095 - Background width (or height) is wrong if width (or height) * zoom < 1.
https://bugs.webkit.org/show_bug.cgi?id=83350

Reviewed by Nikolas Zimmermann.

Source/WebCore:

calculateImageIntrinsicDimension will return wrong size if the calculated size is 0.
0 is used for expressing unspecfied, so the method returns the box width(height) instead.

Since CachedImage has already similar code, we moved it to IntSize and shared it.

Tests: fast/css/zoom-background-repeat-x-expected.html

fast/css/zoom-background-repeat-x.html
fast/css/zoom-background-repeat-y-expected.html
fast/css/zoom-background-repeat-y.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::imageSizeForRenderer):

  • platform/graphics/IntSize.h:

(IntSize):
(WebCore::IntSize::scale):
(WebCore::IntSize::clampToMinimumSize):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

LayoutTests:

  • fast/css/zoom-background-repeat-x-expected.html: Added.
  • fast/css/zoom-background-repeat-x.html: Added.
  • fast/css/zoom-background-repeat-y-expected.html: Added.
  • fast/css/zoom-background-repeat-y.html: Added.

TBR=shinyak@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10379031

21:41 Changeset [116270] by pilgrim@chromium.org

[Chromium] Call currentThread through Platform.h directly
https://bugs.webkit.org/show_bug.cgi?id=85769

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTest::onEndTest):
(WTF::CCLayerTreeHostTest::runTest):

21:39 Changeset [116269] by haraken@chromium.org

[V8][Performance] Remove Isolate lookup from the call path
to get a cached JS wrapper object by getDOMXXXXMap().
https://bugs.webkit.org/show_bug.cgi?id=85205

Reviewed by Adam Barth.

The patch improves the performance of getting a cached JS wrapper
by getDOMXXXXMap(). For example, it improves the performance
of toV8(NodeList*) in getElementsByTagName(), getElementsByName(),
getElementsByClassName() by 7 ~ 9%.

Performance tests: https://bugs.webkit.org/attachment.cgi?id=139468

The performance test results in my Linux desktop:

getElementsByTagName : 40.76 ms => 37.52ms (+8.6%)
getElementsByName : 41.02 ms => 37.42ms (+9.6%)
getElementsByClassName : 40.32 ms => 37.68ms (+7.0%)

Unfortunately we cannot observe performance improvement in
Dromaeo/dom-query.html, which are testing getElementsByTagName(),
getElementsByName(), getElementsByClassName(). This is because
the bottleneck of these Dromaeo tests is not toV8(NodeList*) but
.length and .nodeType accesses. The patch for optimizing them
will be coming soon.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm: Modified as described above.

(GenerateHeader):
(GenerateNormalAttrGetter):
(GetDomMapFunction):
(NativeToJSValue):

  • bindings/v8/DOMData.cpp:

(WebCore::DOMData::getCurrentStore):

  • bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.

(WebCore::V8Float64Array::wrap):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(WebCore::V8TestActiveDOMObject::wrap):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(WebCore::V8TestCustomNamedGetter::wrap):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(WebCore::V8TestEventConstructor::wrap):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::TestEventTargetV8Internal::itemCallback):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(WebCore::V8TestEventTarget::wrap):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):

  • bindings/scripts/test/V8/V8TestInterface.h:

(WebCore::V8TestInterface::wrap):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(WebCore::V8TestMediaQueryListListener::wrap):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(WebCore::V8TestNamedConstructor::wrap):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):

  • bindings/scripts/test/V8/V8TestObj.h:

(WebCore::V8TestObj::wrap):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(WebCore::V8TestSerializedScriptValueInterface::wrap):

21:34 Changeset [116268] by abarth@webkit.org

Content Security Policy reports should be reported with content-type application/json, should contain all required fields
https://bugs.webkit.org/show_bug.cgi?id=61360

Reviewed by Eric Seidel.

Source/WebCore:

This patch changes ContentSecurityPolicy to use JSON format for sending
violation reports rather than wwwform-encoding. This patch aligns our
behavior with the specification and with Mozilla. A follow up patch
will update the list of fields in the report to match the spec.

  • loader/PingLoader.cpp:

(WebCore::PingLoader::reportContentSecurityPolicyViolation):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::reportViolation):

LayoutTests:

Update results to show JSON format.

  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/resources/save-report.php:
21:15 Changeset [116267] by pilgrim@chromium.org

[Chromium] Call cryptographicallyRandomValues through Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85763

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumOSRandomSource.cpp:

(WTF::cryptographicallyRandomValuesFromOS):

21:11 Changeset [116266] by mary.wu@torchmobile.com.cn

Add a contributor to committers.py
https://bugs.webkit.org/show_bug.cgi?id=85761

Reviewed by Unreviewed.

Add myself to committers.py contributor.

  • Scripts/webkitpy/common/config/committers.py:
21:09 Changeset [116265] by mary.wu@torchmobile.com.cn

[BlackBerry] Support html5 download attribute.
https://bugs.webkit.org/show_bug.cgi?id=85044

Reviewed by Antonio Gomes.

Source/WebCore:

Pass download attribute filename to networkJob and it could be
overridden by the Content-Disposition HTTP header's filename parameter.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::initialize):

  • platform/network/blackberry/ResourceRequest.h:

(WebCore::ResourceRequest::setSuggestSaveName):
(WebCore::ResourceRequest::suggestSaveName):
(ResourceRequest):

  • platform/network/blackberry/ResourceRequestBlackBerry.cpp:

(WebCore::ResourceRequest::initializePlatformRequest):

Source/WebKit/blackberry:

If a link has download attribute, we should pass that value and be able to
save file with the name according to HTML5:
http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPage::download):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::startDownload):

20:43 Changeset [116264] by fpizlo@apple.com

Truncating multiplication on integers should not OSR exit every time
https://bugs.webkit.org/show_bug.cgi?id=85752

Reviewed by Gavin Barraclough.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::mulShouldSpeculateInteger):
(Graph):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithMul):

20:13 Changeset [116263] by bashi@chromium.org

Disallow unquoted -webkit-font-feature-settings tags
https://bugs.webkit.org/show_bug.cgi?id=85362

Reviewed by Kent Tamura.

Source/WebCore:

Disallow unquoted tags to follow the current draft.
http://dev.w3.org/csswg/css3-fonts/#font-feature-settings-prop

No new tests. css3/font-feature-settings-parsing.html was updated.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontFeatureTag): Accepts only 4-characters string.

LayoutTests:

  • css3/font-feature-settings-parsing-expected.txt: Updated to follow the current draft specification.
  • css3/font-feature-settings-parsing.html: Ditto.
19:53 Changeset [116262] by rakuco@webkit.org

Unreviewed build fix for r116260.

COMPILE_ASSERT() does not expect a string in its second parameter.

  • platform/graphics/TextRun.cpp:

(WebCore):

19:24 Changeset [116261] by rakuco@webkit.org

[EFL] Gardening. Skip more failing tests.

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
19:19 Changeset [116260] by rwlbuis@webkit.org

Shrink TextRun object size
https://bugs.webkit.org/show_bug.cgi?id=85751

Reviewed by Darin Adler.

Reorder the member variables in TextRun so it shrinks from 56 to 40 bytes on my 64-bit build. This is important
for SVG, since RenderSVGText shrinks because of this.

Also add a compile assert for the expected object size.

  • platform/graphics/TextRun.cpp:

(ExpectedTextRunSize):
(WebCore):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):
(WebCore::TextRun::direction):
(TextRun):

19:10 Changeset [116259] by keishi@webkit.org

[chromium] Add WebKit API to access multiple attribute of input element
https://bugs.webkit.org/show_bug.cgi?id=85355

Reviewed by Kent Tamura.

We need this to implement the datalist UI for <input type=email multiple>.

  • public/WebInputElement.h:

(WebInputElement):

  • src/WebInputElement.cpp:

(WebKit::WebInputElement::isMultiple):
(WebKit):

18:50 Changeset [116258] by commit-queue@webkit.org

[BlackBerry] Autofill backing store implementation upstream
https://bugs.webkit.org/show_bug.cgi?id=85575

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-05-06
Reviewed by Rob Buis.

Source/WebCore:

Implemented class AutofillBackingStore which is responsible
for handling interaction with autofill database.

Replaced static function
CredentialBackingStore* CredentialBackingStore::instance()
with a helper function
CredentialBackingStore& credentialBackingStore(),
and used DEFINE_STATIC_LOCAL to construct the singleton
object.
Also removed unnecessary function close() and combined with
the destructor of class CredentialBackingStore.

Initial upstream, No new tests.

  • PlatformBlackBerry.cmake:
  • platform/network/blackberry/AutofillBackingStore.cpp: Added.

(WebCore):
(WebCore::autofillBackingStore):
(WebCore::AutofillBackingStore::AutofillBackingStore):
(WebCore::AutofillBackingStore::~AutofillBackingStore):
(WebCore::AutofillBackingStore::open):
(WebCore::AutofillBackingStore::add):
(WebCore::AutofillBackingStore::update):
(WebCore::AutofillBackingStore::contains):
(WebCore::AutofillBackingStore::get):
(WebCore::AutofillBackingStore::clear):

  • platform/network/blackberry/AutofillBackingStore.h: Added.

(WebCore):
(AutofillBackingStore):

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::credentialBackingStore):
(WebCore::CredentialBackingStore::~CredentialBackingStore):

  • platform/network/blackberry/CredentialBackingStore.h:

(CredentialBackingStore):
(WebCore):

  • platform/network/blackberry/CredentialStorageBlackBerry.cpp:

(WebCore::CredentialStorage::getFromPersistentStorage):

Source/WebKit/blackberry:

Replaced calling static function CredentialBackingStore::instance()
with calling the helper function credentialBackingStore().

  • WebCoreSupport/CredentialManager.cpp:

(WebCore::CredentialManager::autofillAuthenticationChallenge):
(WebCore::CredentialManager::autofillPasswordForms):
(WebCore::CredentialManager::saveCredentialIfConfirmed):
(WebCore::CredentialManager::clearCredentials):
(WebCore::CredentialManager::clearNeverRememberSites):

18:41 Changeset [116257] by mitz@apple.com

.: Part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
https://bugs.webkit.org/show_bug.cgi?id=85739

Reviewed by Daniel Bates.

  • WebKit.xcworkspace: Added.
  • WebKit.xcworkspace/contents.xcworkspacedata: Added.
  • WebKit.xcworkspace/xcshareddata: Added.
  • WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Added.
  • WebKit.xcworkspace/xcshareddata/xcschemes: Added.
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Added

this scheme, which builds all source projects and runs WebProcess with
Safari as the client executable.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Added

this scheme, which builds all source projects and runs Safari.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme: Added

this scheme, which builds all tools projects and runs DumpRenderTree.

Tools: Tools part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
https://bugs.webkit.org/show_bug.cgi?id=85739

Reviewed by Daniel Bates.

  • Scripts/build-webkit: Moved code that copies from WebKitLibraries to the product directory

from here...

  • Scripts/copy-webkitlibraries-to-product-directory: ...to this new script.
18:31 Changeset [116256] by kov@webkit.org

[GTK] Enable WebKit2 build by default (again)
https://bugs.webkit.org/show_bug.cgi?id=85750

  • configure.ac: enable wk2 build by default.
18:11 Changeset [116255] by morrita@google.com

[Shadow DOM] Node distribution should be refreshed before style recalc.
https://bugs.webkit.org/show_bug.cgi?id=85259

Reviewed by Dimitri Glazkov.

Source/WebCore:

Element::recalcStyle() calls child element's recalcStyle()
recursively, following ShadowTree::recalcShadowTreeStyle(). But
recalcShadowTreeStyle() should be called before such recursion if
necessary.

This is because style calculation and following renderer attachment
of each child element depends on up-to-date node distribution result
which is computed during the recalcShadowTreeStyle().

Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html

  • dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals.

(WebCore::Element::recalcStyle):

LayoutTests:

  • fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector-expected.txt: Added.
  • fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html: Added.
17:53 Changeset [116254] by abarth@webkit.org

CSP should let sites both enforce one policy and monitor another
https://bugs.webkit.org/show_bug.cgi?id=85561

Reviewed by Eric Seidel.

Source/WebCore:

This patch lets us enforce and/or monitor multiple CSP policies.
Rather than having a single directive list, we now have a vector of
directive lists.

Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html

http/tests/security/contentSecurityPolicy/report-and-enforce.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::deprecatedHeader):
(WebCore::ContentSecurityPolicy::deprecatedHeaderType):

  • Even after this patch, workers aren't smart enough to enforce multiple policies. They just use the first header, like they did before. We'll need to teach workers how to enforce multiple policies in a future patch.

(WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
(WebCore::ContentSecurityPolicy::allowInlineScript):
(WebCore::ContentSecurityPolicy::allowInlineStyle):
(WebCore::ContentSecurityPolicy::allowEval):
(WebCore::ContentSecurityPolicy::allowScriptFromSource):
(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowImageFromSource):
(WebCore::ContentSecurityPolicy::allowStyleFromSource):
(WebCore::ContentSecurityPolicy::allowFontFromSource):
(WebCore::ContentSecurityPolicy::allowMediaFromSource):
(WebCore::ContentSecurityPolicy::allowConnectFromSource):

  • page/ContentSecurityPolicy.h:
  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerContext):

Source/WebKit/chromium:

  • src/SharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • src/WebWorkerClientImpl.cpp:

(WebKit::WebWorkerClientImpl::startWorkerContext):

LayoutTests:

Test that we can enforce multiple policies and that we can enforce one
policy while monitoring another.

  • http/tests/security/contentSecurityPolicy/combine-multiple-policies-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/combine-multiple-policies.html: Added.
  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-and-enforce.html: Added.
17:45 Changeset [116253] by commit-queue@webkit.org

InlineBox::setHasBadParent should be debug only
https://bugs.webkit.org/show_bug.cgi?id=85748

Patch by Rob Buis <rbuis@rim.com> on 2012-05-06
Reviewed by Eric Seidel.

Do not provide InlineBox::setHasBadParent in release builds.

  • rendering/InlineBox.h:

(InlineBox):
(WebCore):
(WebCore::InlineBox::setHasBadParent):

17:26 Changeset [116252] by aestes@apple.com

Fix the build after r116246.

  • DumpRenderTree/LayoutTestController.cpp: Remove an unused function.
17:14 Changeset [116251] by eric@webkit.org

Update several build-webkit options to match the #defines they toggle
https://bugs.webkit.org/show_bug.cgi?id=85744

Reviewed by Adam Barth.

Most notable here is fixing --3d-canvas to be --webgl these days --
the define was renamed 15 months ago!

  • Scripts/webkitperl/FeatureList.pm:
16:28 Changeset [116250] by commit-queue@webkit.org

[EFL] EFL's LayoutTestController setJavaScriptCanAccessClipboard implementation
https://bugs.webkit.org/show_bug.cgi?id=83687

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-06
Reviewed by Antonio Gomes.

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_scripts_can_access_clipboard_get):
(ewk_view_setting_scripts_can_access_clipboard_set):

  • ewk/ewk_view.h:

Tools:

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setJavaScriptCanAccessClipboard):

LayoutTests:

  • platform/efl/Skipped:
16:26 Changeset [116249] by eric@webkit.org

Remove 3D_CANVAS define from vsprops files (it was renamed WEBGL many months ago)
https://bugs.webkit.org/show_bug.cgi?id=85743

Reviewed by Adam Barth.

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
15:57 Changeset [116248] by commit-queue@webkit.org

KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
https://bugs.webkit.org/show_bug.cgi?id=85641

Patch by Mike West <mkwst@chromium.org> on 2012-05-06
Reviewed by Adam Barth.

  • dom/Document.cpp:

(WebCore::shouldInheritSecurityOriginFromOwner):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
(WebCore::PageSerializer::serializeFrame):

  • platform/KURL.cpp:

(WebCore::KURL::isBlankURL):
(WebCore):

  • platform/KURL.h:

(KURL):
(WebCore):

15:46 Changeset [116247] by commit-queue@webkit.org

[TextureMapper] Layer images is uploaded to the GPU for each sync
https://bugs.webkit.org/show_bug.cgi?id=85727

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-06
Reviewed by Noam Rosenthal.

No new tests. This does not change functionality,
it only improves performance.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay
and needsDisplayRect variables after uploading the layer image.

15:43 Changeset [116246] by gyuyoung.kim@samsung.com

Convert isPageBoxVisible to use Internals interface.
https://bugs.webkit.org/show_bug.cgi?id=85692

Reviewed by Darin Adler.

.:

  • Source/autotools/symbols.filter: Add isPageBoxVisible symbol filter.

Source/WebCore:

Add isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

No new tests, since we are improving here the infra-structure for testing
a specific method.

  • testing/Internals.cpp:

(WebCore):
(WebCore::Internals::isPageBoxVisible):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/efl:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Source/WebKit/qt:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:
  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

  • win/WebKit2.def: Add isPageBoxVisible symbol filter.

Tools:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:
  • DumpRenderTree/qt/LayoutTestControllerQt.h:

(LayoutTestController):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

LayoutTests:

Call isPageBoxVisible functions from internals, because it is able to work in the
cross-port way through the Internals interface.

  • printing/page-format-data-expected.txt:
  • printing/page-format-data.html:
15:33 Changeset [116245] by tomz@codeaurora.org

sheriffbot isn't reopening patches after it lands rollouts
https://bugs.webkit.org/show_bug.cgi?id=64418

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/steps/createbug.py:

(CreateBug.run):

15:19 Changeset [116244] by commit-queue@webkit.org

Web Inspector: "Goto Function" filtering should be less restrictive.
https://bugs.webkit.org/show_bug.cgi?id=85586

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-05-06
Reviewed by Pavel Feldman.

Added tests for generated regex.

Changes:
1) Avoid asterisks in filtering queue.
2) Optimization: do not create regexp for each item.

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
Applied new filtering workflow.
(WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
Removed.
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
Removed unused "suffix" logic; changed the way regexp is composed from query.
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
Applied new filtering workflow.
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
Removed unused var.

15:12 Changeset [116243] by tkent@chromium.org

Rename ICULocale to LocaleICU, part 2
https://bugs.webkit.org/show_bug.cgi?id=85695

Reviewed by Kentaro Hara.

Source/WebCore:

No behavior change

  • platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU.
  • platform/text/LocaleICU.h: ditto.

Also, update obsolete comments.

  • platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU.

(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):
(WebCore::localizedDateFormatText):
(WebCore::monthLabels):
(WebCore::weekDayShortLabels):
(WebCore::firstDayOfWeek):

  • platform/text/LocalizedNumberICU.cpp: ditto.

(WebCore::convertToLocalizedNumber):
(WebCore::convertFromLocalizedNumber):

Source/WebKit/chromium:

  • tests/LocalizedNumberICUTest.cpp:

(testNumberIsReversible): Rename ICULocale to LocaleICU.

15:06 Changeset [116242] by enne@google.com

[chromium] Allow WebMediaPlayerClientImpl to switch clients
https://bugs.webkit.org/show_bug.cgi?id=85093

Reviewed by James Robinson.

WebVideoFrameProviderClient has a 1:1 relationship with a
WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
provider is WebMediaPlayerClientImpl. If the provider gets a new
client, then the old client needs to be informed to stop using the
provider.

If this doesn't happen, then the old client will have an unsafe
pointer to the provider, will not get informed if the provider gets
deleted, and the client will crash when it dereferences the provider
pointer trying to tell the provider that its client is going away.

Test: WebMediaPlayerClientImplTest.InitialNullVideoClient

WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
WebMediaPlayerClientImplTest.DestroyProvider
WebMediaPlayerClientImplTest.SetMultipleVideoClients

  • WebKit.gypi:
  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

  • tests/WebMediaPlayerClientImplTest.cpp: Added.

(WebKit):
(FakeWebMediaPlayerClientImpl):
(WebKit::FakeWebMediaPlayerClientImpl::create):
(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
(FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::create):
(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
(WebKit::FakeVideoFrameProviderClient::provider):
(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
(WebKit::TEST):

15:05 Changeset [116241] by commit-queue@webkit.org

[BlackBerry] Enable credential persistance and auto fill
https://bugs.webkit.org/show_bug.cgi?id=85572

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-05-06
Reviewed by Rob Buis.

.:

Enable credential persistance and auto fill feature by adding
ENABLE_BLACKBERRY_CREDENTIAL_PERSIST=1.

  • Source/cmake/OptionsBlackBerry.cmake:

Source/WebKit/blackberry:

Set autofilled status of credential input fields when credential
information is auto filled by CredentialManager.
By doing this the input element will get painted with yellow background
which can notify user this input field is auto filled by the browser.

No behavior changes, so no new test.

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::setCredential):

15:05 Changeset [116240] by kov@webkit.org

Tagging the WebKitGTK+ 1.9.2 release.

14:19 Changeset [116239] by abarth@webkit.org

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-06

  • DEPS:
13:20 Changeset [116238] by kevino@webkit.org

[wx] Unreviewed. Build fixes for recent trunk changes.

07:54 Changeset [116237] by caseq@chromium.org

Web Inspector: take timeline frame mode out of experimental
https://bugs.webkit.org/show_bug.cgi?id=85707

Reviewed by Pavel Feldman.

Source/WebCore:

  • remove "Vertical timeline overview" experiment;
  • add supportsFrameInstrumentation capability to InspectorTimelineAgent;
  • show frame mode selector conditionally on supportsFrameInstrumentation capability.
  • inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
  • inspector/InspectorClient.h: Add supportsFrameInstrumentation();

(InspectorClient):
(WebCore::InspectorClient::supportsFrameInstrumentation):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
(WebCore):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.

  • inspector/InspectorTimelineAgent.h:

(WebCore):
(WebCore::InspectorTimelineAgent::create): ditto.
(InspectorTimelineAgent):

  • inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.

  • inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.

(WebInspector.TimelineOverviewPane):

  • inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;

(WebInspector.doLoadedDone):

Source/WebKit/chromium:

  • exposed supportFrameInstrumentation method to InspectorClient. Client must return true iff the platform will call InspectorInstrumentation::instrumentBeginFrame() upon beginning of frame rendering;
  • src/InspectorClientImpl.cpp:

(WebKit::InspectorClientImpl::supportsFrameInstrumentation):
(WebKit):

  • src/InspectorClientImpl.h:

(InspectorClientImpl):

03:51 Changeset [116236] by antti@apple.com

Build fix.

Not reviewed.

  • css/PropertySetCSSStyleDeclaration.cpp:
03:29 Changeset [116235] by antti@apple.com

Share stylesheet data structures between documents
https://bugs.webkit.org/show_bug.cgi?id=85598

Source/WebCore:

Reviewed by Darin Adler.

We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
the data until someone uses CSSOM to modify the sheet.

The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.

Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
multiple articles open on wsj.com this saves ~2.6MB per tab.

Test: http/tests/css/shared-stylesheet-mutation.html

http/tests/css/shared-stylesheet-mutation-preconstruct.html

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::reattach):
(WebCore):

  • css/CSSFontFaceRule.h:

(CSSFontFaceRule):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::reattach):
(WebCore):

  • css/CSSMediaRule.h:

(CSSMediaRule):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::reattach):
(WebCore):

  • css/CSSPageRule.h:

(CSSPageRule):

  • css/CSSRule.cpp:

(WebCore::CSSRule::reattach):

After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

  • css/CSSRule.h:

(WebCore):
(CSSRule):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::reattach):
(WebCore):

  • css/CSSStyleRule.h:

(CSSStyleRule):

  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::ruleAt):

Add ruleAt(), use it for both wrapper creation and reattaching. Remove createChildRuleCSSOMWrapper .

(WebCore):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):

Invalidation moves to the calling wrapper.

(WebCore::StyleSheetInternal::addedToMemoryCache):
(WebCore::StyleSheetInternal::removedFromMemoryCache):
(WebCore::CSSStyleSheet::willMutateRules):

This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.


Usually invoked by CSSStyleSheet::RuleMutation RAII type.

(WebCore::CSSStyleSheet::didMutateRules):

This is called after the mutation is complete and will trigger the style recalc in the document.

(WebCore::CSSStyleSheet::didMutate):

This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):

  • css/CSSStyleSheet.h:

(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasOneClient):
(WebCore::StyleSheetInternal::isMutable):
(WebCore::StyleSheetInternal::setMutable):

Track mutability. Mutation is allowed only after willMutate call.

(WebCore::StyleSheetInternal::isInMemoryCache):

Track if the object is in memory cache.

(WebCore::CSSStyleSheet::clearOwnerRule):
(CSSStyleSheet):

  • css/MediaList.cpp:

(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::didMutate):
(WebCore):
(WebCore::MediaList::reattach):

  • css/MediaList.h:

(MediaList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::StyleRuleCSSStyleDeclaration::reattach):
(WebCore::InlineCSSStyleDeclaration::didMutate):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::willMutate):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(StyleRuleCSSStyleDeclaration):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::reattach):
(WebCore):

  • css/WebKitCSSKeyframesRule.h:

(WebKitCSSKeyframesRule):

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::reattach):

  • css/WebKitCSSRegionRule.h:

(WebKitCSSRegionRule):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):

Don't copy when restoring. It is no longer necessary.
Set the cache bit on the stylesheet.

(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

Reviewed by Darin Adler.

Test that mutations of a shared stylesheet work as expected.

This is an http test due to cross-document security restrictions with file urls
(they can be overriden in DRT but I'd like this to work in browser too).

  • http/tests/css/resources/shared.css: Added.
  • http/tests/css/resources/shared-stylesheet-mutation.js: Added.
  • http/tests/css/shared-stylesheet-mutation-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct.html: Added.
  • http/tests/css/shared-stylesheet-mutation.html: Added.
00:17 Changeset [116234] by mrobinson@webkit.org

Fix the GTK+ TextureMapper accelerated compositing build.

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize): Properly access the private data
structure of the WebKitWebView.

05/05/12:

22:27 Changeset [116233] by barraclough@apple.com

Remove TrustedImm32::m_isPointer
https://bugs.webkit.org/show_bug.cgi?id=85726

Rubber stamped by Sam Weinig.

We used to rely on being able to generate code with known, fixed offsets – to do so we
would inhibit more optimal code generation for pointers. This is no longer necessary.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):
(TrustedImm32):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::store32):
(JSC::MacroAssemblerARM::move):
(JSC::MacroAssemblerARM::branch32):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::move):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::add32):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::mul32):
(JSC::MacroAssemblerMIPS::or32):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::move):

16:04 Changeset [116232] by commit-queue@webkit.org

Unreviewed, rolling out r116221.
http://trac.webkit.org/changeset/116221
https://bugs.webkit.org/show_bug.cgi?id=85722

broke builds that use -Wshorten-64-to-32 (Requested by pizlo
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-05

Source/WebCore:

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/index-validation-expected.txt:
  • fast/canvas/webgl/index-validation.html:
14:41 Changeset [116231] by kov@webkit.org

[GTK] WebKit should properly set the input method context window location
https://bugs.webkit.org/show_bug.cgi?id=84981

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-05
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the
cursor rect through to the input method.

  • platform/gtk/GtkInputMethodFilter.h: Add the new method declaration.

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::paint): During painting, update the cursor rectangle
if possible.

14:38 Changeset [116230] by dino@apple.com

Add new Setting/Preference to disable requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=85693

Reviewed by Simon Fraser.

Source/WebCore:

Hook up the new WebPreference for disabling requestAnimationFrame
to Settings. This isn't disabling the feature in the typical
WebKit ENABLE() way - it's still available in the DOM, it's
just that the animations will never be serviced. This allows a client
to disable the machinery without breaking content (other than the
animations).

The new test is currently skipped on all platforms because toggling
the preference interferes with the other tests that are running
at the same time (and expect a working requestAnimationFrame).
https://bugs.webkit.org/show_bug.cgi?id=85689

Test: fast/animation/request-animation-frame-disabled.html

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
Check the setting before deciding to act.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setRequestAnimationFrameEnabled):
(WebCore::Settings::requestAnimationFrameEnabled):
(Settings):

Source/WebKit/mac:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences requestAnimationFrameEnabled]):
(-[WebPreferences setRequestAnimationFrameEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::setRequestAnimationFrameEnabled):
(WebPreferences::requestAnimationFrameEnabled):

  • WebPreferences.h:

(WebPreferences):

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
The default value is true. The majority of applications will leave
it this way.

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetRequestAnimationFrameEnabled):
(WKPreferencesGetRequestAnimationFrameEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

A new test that exercises turning the requestAnimationFrame
preference off. Unfortunately this conflicts with the parallel
tests that expect the preference to be on (as it should by default),
so the test is skipped on all platforms. It can be run in isolation.
https://bugs.webkit.org/show_bug.cgi?id=85689

  • fast/animation/request-animation-frame-disabled-expected.txt: Added.
  • fast/animation/request-animation-frame-disabled.html: Added.
  • fast/animation/script-tests/request-animation-frame-disabled.js: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/Skipped:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
  • platform/win/Skipped:
  • platform/win/test_expectations.txt:
14:08 Changeset [116229] by rakuco@webkit.org

webkitpy: Use os.pathsep instead of manually finding out the path separator in NRWT.
https://bugs.webkit.org/show_bug.cgi?id=85697

Reviewed by Eric Seidel.

  • Scripts/new-run-webkit-tests: Instead of manually detecting whether

the path separator should be ':' or ';' by checking sys.platform, rely
on os.pathsep which has exactly the same information (os.pathsep is
':' for Cygwin, from what I could check in Python's sources).

14:00 Changeset [116228] by kov@webkit.org

Unreviewed preparation for 1.9.2.

  • configure.ac: bump version to 1.9.2 and bump libtool version.

Source/WebKit/gtk:

  • NEWS: changes from 1.9.1.
13:59 Changeset [116227] by kov@webkit.org

Unreviewed, make distcheck fix.

Source/WebCore:

  • GNUmakefile.list.am: Add missing headers to the sources list.
12:38 Changeset [116226] by jonlee@apple.com

[WK2] Incoming events may be processed out-of-order
https://bugs.webkit.org/show_bug.cgi?id=85696
<rdar://problem/11386129>

Reviewed by Maciej Stachowiak.

All messages go to a single queue that gets iterated over by dispatchMessages(). If an input
event arrives in the middle of a flood of messages, all of them will be dispatched before the
input event is dispatched.

In other words, the first dispatchMessages() call will process all of the messages in the queue,
and all subsequent dispatchMessages() calls will act as no-ops, since there is nothing in the queue.

To fix this, we rename dispatchMessages to dispatchOneMessage, and only process one message at a
time.

  • Platform/CoreIPC/Connection.h: Rename dispatchMessages() to dispatchOneMessage().
  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::enqueueIncomingMessage): Dispatch a call to dispatchOneMessage() on the
run loop.
(CoreIPC::Connection::dispatchOneMessage): Remove the while(true) loop.

10:05 Changeset [116225] by loislo@chromium.org

Web Inspector: unreviewed followup fix for the performance test after r116218.

  • inspector/heap-snapshot.html:
09:54 Changeset [116224] by rakuco@webkit.org

Unreviewed, rolling out r116223.
http://trac.webkit.org/changeset/116223
https://bugs.webkit.org/show_bug.cgi?id=85718

The bots need to set XDG_DATA_DIRS (Requested by rakuco on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-05

  • efl/jhbuildrc:
  • gtk/jhbuildrc:
09:34 Changeset [116223] by rakuco@webkit.org

[jhbuild] Do not set XDG_DATA_DIRS in jhbuildrc.
https://bugs.webkit.org/show_bug.cgi?id=85717

Reviewed by Martin Robinson.

After r116209, the XDG_DATA_DIRS environment variable is now
passed by webkitpy's layout_tests code to run-with-jhbuild, so
instead of setting a few defaults in jhbuildrc we can now rely on
the values set and really used by each system.

  • efl/jhbuildrc:
  • gtk/jhbuildrc:
08:33 Changeset [116222] by loislo@chromium.org

Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object.
https://bugs.webkit.org/show_bug.cgi?id=85710

The idea is to have an object and be able to add/remove event listeners from it.

Reviewed by Yury Semikhatsky.

  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js.

(WebInspector.FileManager):
(WebInspector.FileManager.prototype.canSave):
(WebInspector.FileManager.prototype.canAppend):
(WebInspector.FileManager.prototype.append):
(WebInspector.FileManager.prototype.appendedToURL):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapProfileHeader.prototype.canSave):
(WebInspector.HeapProfileHeader.prototype.save):

  • inspector/front-end/InspectorFrontendHostStub.js:
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
07:51 Changeset [116221] by zmo@google.com

vertexAttribPointer needs to reject large negative offsets
https://bugs.webkit.org/show_bug.cgi?id=85117

Reviewed by Kenneth Russell.

Source/WebCore:

  • html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr

(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):

  • html/canvas/WebGLRenderingContext.h: Ditto

(WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.idl: Ditto

LayoutTests:

  • fast/canvas/webgl/index-validation-expected.txt:
  • fast/canvas/webgl/index-validation.html: Add a test case for large negative offset.
05:24 Changeset [116220] by caseq@chromium.org

Web Inspector: add separate timeline overview item for the frame mode
https://bugs.webkit.org/show_bug.cgi?id=85706

  • remove two-buttons horizontal/vertical mode switch from Timelines item of the timeline overview menu;
  • rename "Timeline" into "Events";
  • add "Frames" item;
  • replace overview sidebar icons with smaller, monochrome ones.
  • English.lproj/localizedStrings.js: Added "Frames" and "Events".
  • inspector/front-end/Images/statusbarButtonGlyphs.png: Added icon for "Memory".
  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showEvents):
(WebInspector.TimelineOverviewPane.prototype._showFrames):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._setMode):

  • inspector/front-end/timelinePanel.css:

(#timeline-overview-sidebar .sidebar-tree-item):
(#timeline-overview-sidebar .sidebar-tree-item .titles.no-subtitle):
(#timeline-overview-sidebar .icon):
(.timeline-overview-sidebar-events .icon):
(.timeline-overview-sidebar-frames .icon):
(.timeline-overview-sidebar-memory .icon):

03:25 Changeset [116219] by pfeldman@chromium.org

Not reviewed: follow up to r116216, fixing the inspector test.

  • inspector/debugger/script-extract-outline.html:
  • inspector/debugger/script-extract-outline-expected.txt:
03:23 Changeset [116218] by loislo@chromium.org

Web Inspector: save HeapSnapshot implementation.
https://bugs.webkit.org/show_bug.cgi?id=85595

HeapSnapshot specific implementation for loading was moved
from ProfilesPanel to HeapProfileHeader class.

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotView.prototype.get profileWrapper):
(WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
(WebInspector.HeapProfileHeader):
(WebInspector.HeapProfileHeader.prototype.load.setProfileWait):
(WebInspector.HeapProfileHeader.prototype.load.done):
(WebInspector.HeapProfileHeader.prototype.load):
(WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
(WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
(WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
(WebInspector.HeapProfileHeader.prototype.canSave):
(WebInspector.HeapProfileHeader.prototype.save):

  • inspector/front-end/InspectorFrontendAPI.js:

(InspectorFrontendAPI.appendedToURL):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype._registerProfileType):
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
(WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
(WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
(WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):

  • inspector/front-end/inspector.js:

(WebInspector.append):
(WebInspector.appendedToURL):

LayoutTests:

  • inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest):

03:07 Changeset [116217] by pfeldman@chromium.org

Web Inspector: allow overriding the script mapping on the UI level
https://bugs.webkit.org/show_bug.cgi?id=85702

Reviewed by Yury Semikhatsky.

Source/WebCore:

This allows formatting update live locations all over the place automatically.

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.rawLocationToUILocation):
(WebInspector.Script.Location):
(WebInspector.Script.Location.prototype.update):
(WebInspector.Script.Location.prototype.dispose):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.addLiveLocation):
(WebInspector.UISourceCode.prototype.removeLiveLocation):
(WebInspector.UISourceCode.prototype.updateLiveLocations):
(WebInspector.UISourceCode.prototype.overrideLocation):

LayoutTests:

  • inspector/debugger/breakpoint-manager.html:
02:46 Changeset [116216] by pfeldman@chromium.org

Web Inspector: simplify the JavaScriptOutline dialog interaction.
https://bugs.webkit.org/show_bug.cgi?id=85701

Reviewed by Yury Semikhatsky.

Removed bidirectional dependency between scripts panel and outline dialog.

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.JavaScriptOutlineDialog):
(WebInspector.JavaScriptOutlineDialog.show):
(WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
(WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):

  • inspector/front-end/ScriptFormatterWorker.js:
  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.addToWatch):
(WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):

02:38 Changeset [116215] by ossy@webkit.org

[Qt] Buildfix for --minimal build after r116107.

Patch by Tor Arne Vestbø <tor.arne.vestbo@nokia.com> on 2012-05-05
Reviewed by Csaba Osztrogonác.

  • qmake/mkspecs/features/features.prf:
00:46 Changeset [116214] by zandobersek@gmail.com

Unreviewed Gtk gardening, mark fullscreen/non-ancestor-iframe.html as
failing after it was added in r116165.

  • platform/gtk/test_expectations.txt:
00:43 Changeset [116213] by caseq@chromium.org

Unreviewed. Rebaseline fast/events/attribute-listener-deletion-crash.html (added in r116191).

  • platform/chromium/fast/events/attribute-listener-deletion-crash-expected.txt: Added.
00:34 Changeset [116212] by zandobersek@gmail.com

[Gtk] GtkDriver is not required anymore after r116134
https://bugs.webkit.org/show_bug.cgi?id=85699

Reviewed by Csaba Osztrogonác.

Remove GtkDriver as it was replaced by the XvfbDriver and is
no longer needed.

  • Scripts/webkitpy/layout_tests/port/gtk.py:
00:25 Changeset [116211] by zandobersek@gmail.com

Increase the display ID for the Xvfb process to use if pixel_tests argument
is true rather than if pixel_tests option is present. This fixes the
XvfbDriver in the same way r115825 fixed the now-redundant GtkDriver.

Rubber-stamped by Csaba Osztrogonác.

  • Scripts/webkitpy/layout_tests/port/xvfbdriver.py:

(XvfbDriver._start):

05/04/12:

23:52 Changeset [116210] by loislo@chromium.org

Web Inspector: annotate ProfilerAgent.
https://bugs.webkit.org/show_bug.cgi?id=85630

Reviewed by Pavel Feldman.

  • inspector/Inspector.json:
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::createProfileHeader):
(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore):
(WebCore::InspectorProfilerAgent::getProfile):

  • inspector/InspectorProfilerAgent.h:

(InspectorProfilerAgent):

  • inspector/front-end/CSSSelectorProfileView.js:
  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotProfileType.prototype.createProfile):

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

(WebInspector.ProfilesPanel.prototype.addProfileHeader):
(WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
(WebInspector.ProfilerDispatcher.prototype.resetProfiles):

22:48 Changeset [116209] by rakuco@webkit.org

webkitpy: Preserve XDG_DATA_DIRS in the environment passed to ServerProcess.
https://bugs.webkit.org/show_bug.cgi?id=85694

Reviewed by Martin Robinson.

This is sort of a follow-up to r100674: $XDG_DATA_DIRS should be
preserved, as it is particularly useful for Linux/Unix
environments. As a real use case, if shared-mime-info is
installed into a non-trivial prefix, Glib and other libraries will
have trouble to properly identify mimetypes (in ResourceResponses,
for example) as the base freedesktop.org mimetype file will not be
found.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.to.setup_environ_for_server):

21:26 Changeset [116208] by rakuco@webkit.org

[EFL] Gardening, unskip test after r116097.

The test was unskipped from Skipped, but some other commit added it to
test_expectations.txt as well...

  • platform/efl/test_expectations.txt:
21:26 Changeset [116207] by rakuco@webkit.org

[EFL] Gardening; skip tests that depend on beginDragWithFiles.

  • platform/efl/Skipped:
20:56 Changeset [116206] by rakuco@webkit.org

[EFL] Unreviewed, rebaseline after r116009.

  • platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
20:35 Changeset [116205] by kov@webkit.org

[GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
https://bugs.webkit.org/show_bug.cgi?id=85691

Source/WebCore:

  • GNUmakefile.am: link libWebCoreModules into libWebCore.

Source/WebKit/gtk:

  • GNUmakefile.am: no longer link libwebkitgtk to libWebCoreModules.

Source/WebKit2:

  • GNUmakefile.am: no longer link libWebCoreModules, and remove -no-

fast-install and -no-install from link flags, since we want those
programs installed.

Tools:

  • GNUmakefile.am: no longer link libWebCoreModules to DumpRenderTree.
19:54 Changeset [116204] by tkent@chromium.org

Rename ICULocale to LocaleICU, part 1
https://bugs.webkit.org/show_bug.cgi?id=85688

Reviewed by Kentaro Hara.

Source/WebCore:

Rename it for consistency. Our convention is Foo<Platform>.{cpp,h}.
This patch changes only file names. We'll rename ICULocale class
by a following patch.

No behavior changes.

  • WebCore.gypi:
  • platform/text/LocaleICU.cpp: Renamed from Source/WebCore/platform/text/ICULocale.cpp.
  • platform/text/LocaleICU.h: Renamed from Source/WebCore/platform/text/ICULocale.h.
  • platform/text/LocalizedDateICU.cpp: Rename ICULocale.h to LocaleICU.h.
  • platform/text/LocalizedNumberICU.cpp: ditto.

Source/WebKit/chromium:

  • tests/LocalizedNumberICUTest.cpp: Rename ICULocale.h to LocaleICU.h.
19:17 Changeset [116203] by jchaffraix@webkit.org

Leaf non self-painting layers should bail out early in RenderLayer::paintLayer
https://bugs.webkit.org/show_bug.cgi?id=85678

Reviewed by Darin Adler.

Performance optimization, no expected change in behavior.

The gist of the change is that leaf non self-painting layers don't need to be painted as their
associated RenderBoxModelObject should properly paint itself without any help.

For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for
each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real
painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On
my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup).

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):

18:43 Changeset [116202] by rwlbuis@webkit.org

Remove InlineBox::next()
https://bugs.webkit.org/show_bug.cgi?id=85668

Reviewed by Nikolas Zimmermann.

InlineBox::next() not needed since nextOnLine() does the same.

  • rendering/InlineBox.h:

(InlineBox):

  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::setConstructed):

18:28 Changeset [116201] by crogers@google.com

Oscillator must implement noteOn() and noteOff()
https://bugs.webkit.org/show_bug.cgi?id=85236

Reviewed by Kenneth Russell.

Source/WebCore:

Test: webaudio/oscillator-scheduling.html
to be landed separately to get proper platform baselines

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::process):
Simplify/remove zeroing-out silence at end of buffer, since it's now handled in the base-class AudioScheduledSourceNode::updateSchedulingInfo().

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createBufferSource):
Improve comment about ownership and dynamic-lifetime of AudioBufferSourceNode.

(WebCore::AudioContext::createOscillator):
AudioContext keeps a reference to the Oscillator and that reference is released in AudioScheduledSourceNode,
when it has finished playing.

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
updateSchedulingInfo() is now responsible for zeroing out the very start (before a note starts)
and the very end (after note ends) of the output AudioBus. We've also simplified the number
of arguments passed to this method, because of this. It now handles playbackState transition to FINISHED_STATE.

  • Modules/webaudio/Oscillator.cpp:

(WebCore::Oscillator::Oscillator):
(WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
The frequency value needs to snap immediately to its correct value the very first time.
This bug needs to be fixed here so that the Oscillator layout scheduling test works correctly.

(WebCore::Oscillator::process):
Since Oscillator in now changing to be a AudioScheduledSourceNode, we need to call AudioScheduledSourceNode::updateSchedulingInfo()
to handle playbackState for us.

(WebCore::Oscillator::propagatesSilence):
Add scheduling logic for propagatesSilence().

(Oscillator):

  • Modules/webaudio/Oscillator.idl:

Add noteOn(), noteOff() methods and playbackState according to specification.

LayoutTests:

  • webaudio/oscillator-scheduling-expected.wav: Added.
  • webaudio/resources/oscillator-testing.js:

(generateExponentialOscillatorSweep):

18:17 Changeset [116200] by mrowe@apple.com

Fix a leak in WebProcess when it is used to launch the UI process.

Rubber-stamped by Anders Carlsson.

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain): Destory the attributes and file actions after
spawning the subprocess.

18:12 Changeset [116199] by commit-queue@webkit.org

[Blackberry] Implement over-scroll background image
https://bugs.webkit.org/show_bug.cgi?id=85538

Patch by Andrew Lo <anlo@rim.com> on 2012-05-04
Reviewed by Rob Buis.

Use over-scroll image when set instead of the solid colour.
Internal PR146652

  • Api/BackingStore.cpp:

(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):

  • Api/BackingStore_p.h:

(BackingStorePrivate):

  • Api/WebSettings.cpp:

(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::overScrollImagePath):
(BlackBerry::WebKit::WebSettings::setOverScrollImagePath):

  • Api/WebSettings.h:
17:54 Changeset [116198] by aestes@apple.com

Remove uses of ASSERT(false)
https://bugs.webkit.org/show_bug.cgi?id=85686

Reviewed by Dean Jackson.

Replace uses of ASSERT(false) with ASSERT_NOT_REACHED(). Also, in two places, there was code structured like:

if (expr) {

do something

} else {

ASSERT(false);

}

Replace this with:

ASSERT(expr);
if (!expr)

return;

do something

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::doneDeletingDatabase):
(WebCore::DatabaseTracker::deleteDatabase):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::invokeObjcMethod):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertObjcValueToValue):
(JSC::Bindings::objcValueTypeForType):

  • dom/Node.cpp:

(WebCore::Node::createRenderer):

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase):
(WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::doPacking):

  • platform/text/BidiResolver.h:

(WebCore::::createBidiRunsForLine):

17:54 Changeset [116197] by commit-queue@webkit.org

Rebaseline chromium after r116069 (bug 85031)
https://bugs.webkit.org/show_bug.cgi?id=85626

Patch by David Barr <davidbarr@chromium.org> on 2012-05-04
Reviewed by Ojan Vafai.

  • fast/block/float/016-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/float/016-expected.txt.
  • platform/chromium-linux/fast/block/float/016-expected.png:
  • platform/chromium-linux/fast/css/border-solid-single-edge-antialias-expected.png: Added.
  • platform/chromium-mac-leopard/fast/block/float/016-expected.png:
  • platform/chromium-mac-snowleopard/fast/block/float/016-expected.png:
  • platform/chromium-mac/fast/block/float/016-expected.png:
  • platform/chromium-win/fast/block/float/016-expected.png:
  • platform/chromium-win/fast/css/border-solid-single-edge-antialias-expected.png: Added.
  • platform/chromium/test_expectations.txt:
  • platform/gtk/fast/block/float/016-expected.txt: Removed.
17:49 Changeset [116196] by noel.gordon@gmail.com

[CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers
https://bugs.webkit.org/show_bug.cgi?id=85280

Reviewed by Kenneth Russell.

This patch means to simplify the diff of an upcoming patch. Refactoring
here in preparation for that patch.

No new tests. No behavioral change. Covered by canvas 2d and 3d tests:

canvas/philip/tests/*toDataURL*.html
fast/canvas/webgl/premultiplyalpha-test.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::CGImageToDataURL): Move the invalid image (!image) test here.
The comments are about JPEG images; say that. Rename out to base64Data.
(WebCore::ImageBuffer::toDataURL): Remove the !image test.
(WebCore::ImageDataToDataURL): Move and define variables where used and
make the code flow read similarly to toDataURL. Remove the !image test.

17:38 Changeset [116195] by shawnsingh@chromium.org

[chromium] Changes to layer tree structure need to be tracked properly
https://bugs.webkit.org/show_bug.cgi?id=85421

Reviewed by Adrienne Walker.

Unit test added: TreeSynchronizerTest.syncSimpleTreeAndTrackStackingOrderChange

Source/WebCore:

Earlier, we were relying on WebCore behavior that always called
setNeedsDisplay whenever the layer tree structure changed.
However, in general it is more correct to consider layer tree
changes even when things don't need repainting; for example Aura
code is encountring this bug now. This patch corrects the
compositor so that layer tree structural changes are considered
property changes, without requiring that layers needed to be
repainted.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::insertChild):
(WebCore::LayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):

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

(WebCore::CCLayerImpl::setStackingOrderChanged):
(WebCore):

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

(CCLayerImpl):

Source/WebKit/chromium:

  • tests/TreeSynchronizerTest.cpp:

(WebKitTests):
(WebKitTests::TEST):

17:10 Changeset [116194] by jpfau@apple.com

Unreviewed; build fix after r116191.

  • bindings/js/JSEventListener.h:
17:04 Changeset [116193] by eric@webkit.org

Make capitalization and descriptions in FeatureList.pm more consistent to make easier to autogenerate
https://bugs.webkit.org/show_bug.cgi?id=85583

Reviewed by Daniel Bates.

  • Scripts/webkitperl/FeatureList.pm:
16:55 Changeset [116192] by enrica@apple.com

REGRESSION: Cursor jumps to the first line after deleting the last word.
https://bugs.webkit.org/show_bug.cgi?id=85334
<rdar://problem/11210059>

Reviewed by Ryosuke Niwa.

Source/WebCore:

This regression was introduced with the work to remove redundant divs.
When we decide to remove a DIV, we need to adjust the selection, if it is
expressed in terms of the node being removed. The new position was computed
using updatePositionForNodeRemoval that was not designed for the case where we
remove preserving children.
This patch adds a new method to CompositeEditCommand to do this properly.

Test: editing/deleting/delete-word-from-unstyled-div.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::isRemovableBlock): Code clenup.
(WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): Added.

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

(WebCore::DeleteSelectionCommand::removeRedundantBlocks): Uses updatePositionForNodeRemovalPreservingChildren.

LayoutTests:

  • editing/deleting/delete-word-from-unstyled-div-expected.txt: Added.
  • editing/deleting/delete-word-from-unstyled-div.html: Added.
16:42 Changeset [116191] by jpfau@apple.com

Prevent early EventListener deletion
https://bugs.webkit.org/show_bug.cgi?id=73970

Reviewed by Oliver Hunt.

Source/WebCore:

Test: fast/events/attribute-listener-deletion-crash.html

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::jsFunction):

LayoutTests:

  • fast/events/attribute-listener-deletion-crash-expected.txt: Added.
  • fast/events/attribute-listener-deletion-crash.html: Added.
16:42 Changeset [116190] by tony@chromium.org

[chromium] enable msvs_error_on_missing_sources at gyp time
https://bugs.webkit.org/show_bug.cgi?id=85683

Reviewed by Adam Barth.

This flag checks for missing files, which cause compile times to be
slow on Windows. Since this flag is on by default for the
build.chromium.org bots, we should add it here too so everyone can fix
these errors.

  • DEPS: Roll to a chromium version that has no missing files.
  • gyp_webkit: Add the flag.
16:34 Changeset [116189] by joepeck@webkit.org

Add "combining short stroke overlay character (u0335)" to lookalike characters blacklist.
https://bugs.webkit.org/show_bug.cgi?id=85440

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2012-05-04
Reviewed by David Kilzer.

We should add u0335 to the characters blacklist.

  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::isLookalikeCharacter):

16:31 Changeset [116188] by jer.noble@apple.com

Flash of white when exiting full screen HTML5 video
https://bugs.webkit.org/show_bug.cgi?id=85438

.:

Reviewed by Sam Weinig.

  • ManualTests/fullscreen/full-screen-flash.html: Added.

Source/WebKit2:

Reviewed by Maciej Stachowiak.

Force a repaint before displaying the newly exited WebView window. This gives the window
a chance to seamlessly repaint before enabling screen updates.

Also, send the WebProcess the didExitFullScreen and setAnimatingFullScreen(false) messages
after swapping the WebView back into its original window. Doing otherwise seems to cause
forceRepaint to paint a white frame.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(completeFinishExitFullScreenAnimationAfterRepaint):

16:11 Changeset [116187] by eric@webkit.org

Sort entries in FeaturesList.pm to make them easier to autogenerate
https://bugs.webkit.org/show_bug.cgi?id=85584

Reviewed by Daniel Bates.

No functional changes, only sorting.

  • Scripts/webkitperl/FeatureList.pm:
15:59 Changeset [116186] by commit-queue@webkit.org

[chromium] Add plumbing for file display names for drag and drop
https://bugs.webkit.org/show_bug.cgi?id=85673

Patch by Satoru Takabayashi <satorux@chromium.org> on 2012-05-04
Reviewed by Darin Fisher.

Source/WebCore:

No new tests: this change itself shouldn't change existing behavior.

  • platform/chromium/ChromiumDataObject.cpp:

(WebCore::ChromiumDataObject::addFilename):

  • platform/chromium/ChromiumDataObject.h:

(ChromiumDataObject):

Source/WebKit/chromium:

  • public/platform/WebDragData.h:
  • src/WebDragData.cpp:

(WebKit::WebDragData::items):
(WebKit::WebDragData::addItem):

15:55 Changeset [116185] by leviw@chromium.org

Correct pixel snapping in RenderSVGRoot::paintReplaced
https://bugs.webkit.org/show_bug.cgi?id=85671

Reviewed by Eric Seidel.

SVG root elements are still painted on pixel boundaries, so their children should
apply transforms based on their actual painted location, not their sub-pixel
one. This corrects a clipping and painting issue where these sub-pixel units are
incorrectly applied to the graphics context.

Covered by existing tests when sub-pixel layout is enabled.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

15:54 Changeset [116184] by lforschler@apple.com

Versioning.

15:44 Changeset [116183] by lforschler@apple.com

Versioning.

15:38 Changeset [116182] by lforschler@apple.com

New Tag.

15:25 Changeset [116181] by kov@webkit.org

Updated Spanish translation
https://bugs.webkit.org/show_bug.cgi?id=83995

Patch by Daniel Mustieles <daniel.mustieles@gmail.com> on 2012-05-04
Reviewed by Gustavo Noronha Silva.

  • es.po:
15:19 Changeset [116180] by aestes@apple.com

REGRESSION (r115752): WebKit2.NewFirstVisuallyNonEmptyLayout API test times out
https://bugs.webkit.org/show_bug.cgi?id=85675

  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:

(TestWebKitAPI::TEST): Disable the test.

15:08 Changeset [116179] by jer.noble@apple.com

REGRESSION (r116127-r116165): 6 tests failing on Lion Debug (Tests)
https://bugs.webkit.org/show_bug.cgi?id=85674

Reviewed by Oliver Hunt.

Null check the results of core([frame DOMDocument]).

  • WebView/WebView.mm:

(-[WebView _didStartProvisionalLoadForFrame:]):

15:01 Changeset [116178] by andersca@apple.com

Set the right device scale factor when creating the web page
https://bugs.webkit.org/show_bug.cgi?id=85667
<rdar://problem/11376611>

Reviewed by Oliver Hunt.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:contextRef:pageGroupRef:]):
Set the scale factor before initializing the page, to ensure that the WebPageCreationParameters struct gets the right scale factor.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
This can now be called with a null drawing area. Also, remove the isValid() check since we still want to update the scale factor even if the web process has crashed.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Set the device scale factor from the creation parameters.

14:40 Changeset [116177] by abarth@webkit.org

Refactor CSP state to prepare for having both a ReportOnly and an Enforced policy
https://bugs.webkit.org/show_bug.cgi?id=85662

Reviewed by Eric Seidel.

Source/WebCore:

This patch refactors the ContentSecurityPolicy state into a separate
DirectiveList class to prepare for
https://bugs.webkit.org/show_bug.cgi?id=85561, which will cause us to
need two directive lists: one for enforcement and one for monitoring.

This patch shouldn't cause any change in behavior.

  • page/ContentSecurityPolicy.cpp:

(CSPDirectiveList):
(WebCore::CSPDirectiveList::header):
(WebCore::CSPDirectiveList::headerType):
(WebCore::CSPDirectiveList::denyIfEnforcingPolicy):
(WebCore):
(WebCore::CSPDirectiveList::CSPDirectiveList):
(WebCore::CSPDirectiveList::create):
(WebCore::CSPDirectiveList::reportViolation):
(WebCore::CSPDirectiveList::logUnrecognizedDirective):
(WebCore::CSPDirectiveList::checkEval):
(WebCore::CSPDirectiveList::operativeDirective):
(WebCore::CSPDirectiveList::checkInlineAndReportViolation):
(WebCore::CSPDirectiveList::checkEvalAndReportViolation):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore::CSPDirectiveList::allowScriptFromSource):
(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):
(WebCore::CSPDirectiveList::allowImageFromSource):
(WebCore::CSPDirectiveList::allowStyleFromSource):
(WebCore::CSPDirectiveList::allowFontFromSource):
(WebCore::CSPDirectiveList::allowMediaFromSource):
(WebCore::CSPDirectiveList::allowConnectFromSource):
(WebCore::CSPDirectiveList::parse):
(WebCore::CSPDirectiveList::parseDirective):
(WebCore::CSPDirectiveList::parseReportURI):
(WebCore::CSPDirectiveList::createCSPDirective):
(WebCore::CSPDirectiveList::applySandboxPolicy):
(WebCore::CSPDirectiveList::addDirective):
(WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
(WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
(WebCore::ContentSecurityPolicy::header):
(WebCore::ContentSecurityPolicy::headerType):
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
(WebCore::ContentSecurityPolicy::allowInlineScript):
(WebCore::ContentSecurityPolicy::allowInlineStyle):
(WebCore::ContentSecurityPolicy::allowEval):
(WebCore::ContentSecurityPolicy::allowScriptFromSource):
(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowImageFromSource):
(WebCore::ContentSecurityPolicy::allowStyleFromSource):
(WebCore::ContentSecurityPolicy::allowFontFromSource):
(WebCore::ContentSecurityPolicy::allowMediaFromSource):
(WebCore::ContentSecurityPolicy::allowConnectFromSource):

  • page/ContentSecurityPolicy.h:

(WebCore):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerContext):

Source/WebKit/chromium:

Update callers to the new function name.

  • src/SharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • src/WebWorkerClientImpl.cpp:

(WebKit::WebWorkerClientImpl::startWorkerContext):

14:38 Changeset [116176] by fpizlo@apple.com

Unreviewed, updating expectations.

  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
14:34 Changeset [116175] by fpizlo@apple.com

Unreviewed, checking in new expectation file.

  • platform/mac/fast/images/png-suite/test-expected.txt: Added.
14:33 Changeset [116174] by inferno@chromium.org

ASSERT(beforeChildAnonymousContainer->isTable()); fails in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
https://bugs.webkit.org/show_bug.cgi?id=84606

Reviewed by Julien Chaffraix.

Source/WebCore:

RenderBlock::removeChild forgot to set display on the anonymous block, causing it
to display as INLINE. To prevent this kind of failure in future, we replace
createAnonymousStyle with createAnonymousStyleWithDisplay to make everyone explictly
pass display as the argument.

Test: fast/block/block-add-child-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):

  • rendering/RenderInline.cpp:

(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::addChildIgnoringContinuation):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateStyleToAnonymousChildren):

  • rendering/RenderRuby.cpp:

(WebCore::createAnonymousRubyInlineBlock):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::createAnonymousWithParentRenderer):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::createAnonymousWithParentRenderer):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::createAnonymousWithParentRenderer):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::createAnonymousWithParentRenderer):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):

  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):

  • rendering/mathml/RenderMathMLSubSup.cpp:

(WebCore::RenderMathMLSubSup::addChild):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::createAnonymousStyleWithDisplay):

  • rendering/style/RenderStyle.h:

LayoutTests:

  • fast/block/block-add-child-crash-expected.txt: Added.
  • fast/block/block-add-child-crash.html: Added.
14:30 Changeset [116173] by jer.noble@apple.com

Taking a visibility:hidden element full screen causes full screen window to disappear.
https://bugs.webkit.org/show_bug.cgi?id=85432

Reviewed by Maciej Stachowiak.

.:

  • ManualTests/fullscreen/full-screen-zero-width.html: Added.

Source/WebKit/mac:

When given an initial or final frame with a zero width or height, return a rect representing
the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
confuse the window server when it's instructed to scale the full screen window to that size.

  • WebView/WebFullScreenController.mm:

(windowFrameFromApparentFrames):

Source/WebKit2:

When given an initial or final frame with a zero width or height, return a rect representing
the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
confuse the window server when it's instructed to scale the full screen window to that size.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(windowFrameFromApparentFrames):

14:23 Changeset [116172] by arv@chromium.org

WebKit IDL does not use exception syntax
https://bugs.webkit.org/show_bug.cgi?id=85100

Reviewed by Dimitri Glazkov.

This adds support for exception ExceptionName { ... } which currently sets a flag
on the domClass.

Binding tests updated.

  • Modules/indexeddb/IDBDatabaseException.idl:
  • Modules/webdatabase/SQLException.idl:
  • bindings/scripts/IDLParser.pm:

(ParseInterface):
(DetermineParseMode):
(ProcessSection):

  • bindings/scripts/IDLStructure.pm:
  • bindings/scripts/test/CPP/WebDOMTestException.cpp: Added.

(WebDOMTestException::WebDOMTestExceptionPrivate::WebDOMTestExceptionPrivate):
(WebDOMTestException::WebDOMTestExceptionPrivate):
(WebDOMTestException::WebDOMTestException):
(WebDOMTestException::operator=):
(WebDOMTestException::impl):
(WebDOMTestException::~WebDOMTestException):
(WebDOMTestException::name):
(toWebCore):
(toWebKit):

  • bindings/scripts/test/CPP/WebDOMTestException.h: Added.

(WebCore):
(WebDOMTestException):

  • bindings/scripts/test/GObject/WebKitDOMTestException.cpp: Added.

(WebKit):
(WebKit::kit):
(WebKit::core):
(WebKit::wrapTestException):
(webkit_dom_test_exception_finalize):
(webkit_dom_test_exception_set_property):
(webkit_dom_test_exception_get_property):
(webkit_dom_test_exception_constructed):
(webkit_dom_test_exception_class_init):
(webkit_dom_test_exception_init):
(webkit_dom_test_exception_get_name):

  • bindings/scripts/test/GObject/WebKitDOMTestException.h: Added.

(_WebKitDOMTestException):
(_WebKitDOMTestExceptionClass):

  • bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h: Added.

(WebKit):

  • bindings/scripts/test/JS/JSTestException.cpp: Added.

(WebCore):
(WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
(WebCore::JSTestExceptionConstructor::finishCreation):
(WebCore::JSTestExceptionConstructor::getOwnPropertySlot):
(WebCore::JSTestExceptionConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestExceptionPrototype::self):
(WebCore::JSTestException::JSTestException):
(WebCore::JSTestException::finishCreation):
(WebCore::JSTestException::createPrototype):
(WebCore::JSTestException::destroy):
(WebCore::JSTestException::~JSTestException):
(WebCore::JSTestException::getOwnPropertySlot):
(WebCore::JSTestException::getOwnPropertyDescriptor):
(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):
(WebCore::JSTestException::getConstructor):
(WebCore::isObservable):
(WebCore::JSTestExceptionOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestExceptionOwner::finalize):
(WebCore::toJS):
(WebCore::toTestException):

  • bindings/scripts/test/JS/JSTestException.h: Added.

(WebCore):
(JSTestException):
(WebCore::JSTestException::create):
(WebCore::JSTestException::createStructure):
(WebCore::JSTestException::impl):
(WebCore::JSTestException::releaseImpl):
(WebCore::JSTestException::releaseImplIfNotNull):
(JSTestExceptionOwner):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(JSTestExceptionPrototype):
(WebCore::JSTestExceptionPrototype::create):
(WebCore::JSTestExceptionPrototype::createStructure):
(WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
(JSTestExceptionConstructor):
(WebCore::JSTestExceptionConstructor::create):
(WebCore::JSTestExceptionConstructor::createStructure):

  • bindings/scripts/test/ObjC/DOMTestException.h: Added.
  • bindings/scripts/test/ObjC/DOMTestException.mm: Added.

(-[DOMTestException dealloc]):
(-[DOMTestException finalize]):
(-[DOMTestException name]):
(core):
(kit):

  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Added.

(WebCore):

  • bindings/scripts/test/TestException.idl: Copied from Source/WebCore/xml/XPathException.idl.
  • bindings/scripts/test/V8/V8TestException.cpp: Added.

(WebCore):
(TestExceptionV8Internal):
(WebCore::TestExceptionV8Internal::V8_USE):
(WebCore::TestExceptionV8Internal::nameAttrGetter):
(WebCore::ConfigureV8TestExceptionTemplate):
(WebCore::V8TestException::GetRawTemplate):
(WebCore::V8TestException::GetTemplate):
(WebCore::V8TestException::HasInstance):
(WebCore::V8TestException::wrapSlow):
(WebCore::V8TestException::derefObject):

  • bindings/scripts/test/V8/V8TestException.h: Added.

(WebCore):
(V8TestException):
(WebCore::V8TestException::toNative):
(WebCore::V8TestException::wrap):
(WebCore::toV8):

  • dom/DOMCoreException.idl:
  • dom/EventException.idl:
  • dom/RangeException.idl:
  • fileapi/FileException.idl:
  • fileapi/OperationNotAllowedException.idl:
  • svg/SVGException.idl:
  • xml/XMLHttpRequestException.idl:
  • xml/XPathException.idl:
14:21 Changeset [116171] by rafaelw@chromium.org

V8RecursionScope not declared in V8Proxy::newInstance which causes ASSERT() failure from NPAPI
https://bugs.webkit.org/show_bug.cgi?id=85659

Reviewed by Ojan Vafai.

Added a stack-allocted V8RecursionScope to the newInstance call.

No new tests. No change in observable behavior.

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::newInstance):

14:20 Changeset [116170] by jsbell@chromium.org

IndexedDB: Remove all index metadata records when deleting an index
https://bugs.webkit.org/show_bug.cgi?id=85557

Reviewed by Tony Chang.

An assert is hit when re-loading database from backing store due to stale index
metadata entry. Do a range delete to clear all metadata entries when deleting an
index. Define metadata entries as enum and limits as consts instead of hardcoded ints.

No new tests - issue does not repro as layout test. Will land test in Chromium.

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore::getBool): Helper functions; replaces pattern of putInt()/read only lead byte.
(WebCore):
(WebCore::putBool):
(WebCore::IDBLevelDBBackingStore::getObjectStores): Skip stale data. Use enums, helpers.
(WebCore::IDBLevelDBBackingStore::createObjectStore): Use enums.
(WebCore::IDBLevelDBBackingStore::deleteObjectStore): Use enums.
(WebCore::getNewVersionNumber): Use enums.
(WebCore::IDBLevelDBBackingStore::getIndexes): Skip stale data. Use enums, helpers.
(WebCore::getNewIndexId): Use enums.
(WebCore::IDBLevelDBBackingStore::createIndex): Use enums.
(WebCore::IDBLevelDBBackingStore::deleteIndex): Delete metadata by range.

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(IDBLevelDBCoding): Add constants for metadata maximum values.
(WebCore::IDBLevelDBCoding::encodeBool):
(WebCore::IDBLevelDBCoding::decodeBool):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey): Use consts.
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey): Use consts.

  • Modules/indexeddb/IDBLevelDBCoding.h:

(IDBLevelDBCoding): Expose enums for metadata types.

14:19 Changeset [116169] by aestes@apple.com

[Mac] IETC flexbox reference tests have pixel differences (due to embedded color profiles?)
https://bugs.webkit.org/show_bug.cgi?id=85666

  • platform/mac/Skipped: Skip the tests.
14:18 Changeset [116168] by fpizlo@apple.com

DFG should not Flush GetLocal's
https://bugs.webkit.org/show_bug.cgi?id=85663
<rdar://problem/11373600>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flushArgument):
(JSC::DFG::ByteCodeParser::handleCall):

LayoutTests:

  • fast/js/dfg-flush-get-local-expected.txt: Added.
  • fast/js/dfg-flush-get-local.html: Added.
  • fast/js/script-tests/dfg-flush-get-local.js: Added.

(foo):
(fuzz):
(bar):

14:16 Changeset [116167] by andersca@apple.com

Move markPagesForFullStyleRecalc to PageCache
https://bugs.webkit.org/show_bug.cgi?id=85664

Reviewed by Dan Bernstein.

Instead of going through all the history items in the back/forward list looking for cached pages, just iterate over the cached pages in the page.

  • history/BackForwardController.cpp:
  • history/BackForwardController.h:
  • history/HistoryItem.cpp:
  • history/HistoryItem.h:
  • history/PageCache.cpp:

(WebCore::PageCache::markPagesForFullStyleRecalc):
(WebCore):

  • history/PageCache.h:

(PageCache):

  • page/Frame.cpp:

(WebCore::Frame::setPageAndTextZoomFactors):

  • page/Page.cpp:

(WebCore::Page::setDeviceScaleFactor):
(WebCore::Page::setPagination):

14:15 Changeset [116166] by tony@chromium.org

The computed style of flex-item-align should never be auto.
https://bugs.webkit.org/show_bug.cgi?id=85656

Reviewed by Ojan Vafai.

Source/WebCore:

If the node lacks a parent and flex-item-align is auto, we should
return stretch. This was recently clarified in the spec.

New testcase in css3/flexbox/css-properties.html.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

  • css3/flexbox/css-properties-expected.txt:
  • css3/flexbox/css-properties.html:
14:00 Changeset [116165] by jer.noble@apple.com

Full screen will exit during a provisional load of a non-ancestor iframe.
https://bugs.webkit.org/show_bug.cgi?id=85230

Reviewed by Maciej Stachowiak .

Source/WebKit/mac:

Only exit full screen mode if the frame being loaded contains the full
screen element.

  • WebView/WebView.mm:

(-[WebView _didStartProvisionalLoadForFrame:]): Give the UIDelegate a first crack at handling the
request to close the full screen window when a provisional load occurs.

Source/WebKit2:

Only exit full screen mode if the frame being loaded contains the full
screen element:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

Move the full screen exiting logic up into WebFrameLoaderClient in the
WebProcess:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):

Add a WebFullScreenManager "close" method & message:

  • UIProcess/WebFullScreenManagerProxy.messages.in:
  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::close):

  • WebProcess/FullScreen/WebFullScreenManager.h:

Add support for this new message to the WKBundlePage and client:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:

(WebKit::InjectedBundlePageFullScreenClient::closeFullScreen):

  • WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:

Tools:

Add support for the new UIDelegate webView:closeFullScreenWithListener: method:

  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate webView:closeFullScreenWithListener:]):

Add support for the new closeFullScreen injected bundle method:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::closeFullScreen):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

LayoutTests:

  • fullscreen/non-ancestor-iframe-expected.txt: Added.
  • fullscreen/non-ancestor-iframe.html: Added.
  • fullscreen/resources/empty.html: Added.
13:59 Changeset [116164] by jer.noble@apple.com

Move WebKitFullScreenListener into its own file.
https://bugs.webkit.org/show_bug.cgi?id=85640

Source/WebKit:

Reviewed by Maciej Stachowiak .

Pull WebKitFullScreenListener into its own file.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Reviewed by Maciej Stachowiak.

Move WebKitFullScreenListener into its own file, so it can be used by multiple classes.

  • WebCoreSupport/WebKitFullScreenListener.h: Added.
  • WebCoreSupport/WebKitFullScreenListener.mm: Added.

(-[WebKitFullScreenListener webkitWillEnterFullScreen]):
(-[WebKitFullScreenListener webkitDidEnterFullScreen]):
(-[WebKitFullScreenListener webkitWillExitFullScreen]):
(-[WebKitFullScreenListener webkitDidExitFullScreen]):

  • WebCoreSupport/WebChromeClient.mm:
13:54 Changeset [116163] by ojan@chromium.org

Fix test naming to be camel-case like the methods they are testing.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

13:50 Changeset [116162] by ojan@chromium.org

Show the results links in the embedded flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=85660

Reviewed by Adam Barth.

Turns out these links don't add much visual noise and it's annoying
to have to go to the dashboard from garden-o-matic just to view the
results for a test.

This is useful for cases where garden-o-matic doesn't properly show the
results (e.g. missing tests). If we address all those cases, then
we could easily hide the results links again if we wanted to.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(showUpdateInfoForTest):
(htmlForIndividualTestOnAllBuildersWithResultsLinks):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

13:46 Changeset [116161] by dpranke@chromium.org

Revert to using chromium --test-shell mode on SL in NRWT

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

Unreviewed, build fix.

We seem to be seeing a lot more flakiness on the bot since
I switched NRWT to "DRT" mode. We'll try reverting back and
see if this helps things.

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumDriver.init):

13:33 WebKitGTK/1.8.x edited by mrobinson@webkit.org
(diff)
13:28 Changeset [116160] by commit-queue@webkit.org

[soup] URL of the ResourceResponse passed to willSendRequest is incorrect
https://bugs.webkit.org/show_bug.cgi?id=85072

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-04
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Store the response message by catching the "got-headers" signal so
that it can be passed later to willSendRequest() in case of
redirection. This is required because the SoupMessage headers and URL
have already been updated once restartedCallback() is called.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore):
(WebCore::gotHeadersCallback):
(WebCore::restartedCallback):
(WebCore::sendRequestCallback):
(WebCore::startHTTPRequest):

LayoutTests:

Unskip http/tests/misc/will-send-request-returns-null-on-redirect.html
and http/tests/loading/307-after-303-after-post.html now that the
response passed to willSendRequest is correct and now that the right
redirect URL is being printed in EFL port.

Unfortunately, http/tests/loading/redirect-methods.html cannot be
unskipped yet due to bug 66873.

  • platform/efl/test_expectations.txt:
13:20 Changeset [116159] by ossy@webkit.org

REGRESSION(r116134): It made 3 inspector tests fail
https://bugs.webkit.org/show_bug.cgi?id=85654

Unreviewed gardening, skip failing tests until proper fix.

  • platform/qt/Skipped:
13:14 Changeset [116158] by commit-queue@webkit.org

[EFL] Implement layoutTestController.dumpResourceResponseMIMETypes
https://bugs.webkit.org/show_bug.cgi?id=84941

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-04
Reviewed by Martin Robinson.

Source/WebKit/efl:

Extend Ewk_Frame_Resource_Response structure to pass resource MIME type
information.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):

  • ewk/ewk_frame.h:

Tools:

Print MIME type detection messages in EFL's DumpRenderTree if
LayoutTestController's dumpResourceResponseMIMETypes() returns true.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::onResponseReceived):

LayoutTests:

  • platform/efl/Skipped: Unskip test cases which require MIME type

detection messages now that is is implemented in EFL port.

  • platform/efl/fast/preloader/script-expected.txt: Added. Use same

EFL expectation as in chromium and mac ports (MIME type is
"application/javascript" instead of "application/x-javascript").

13:13 Changeset [116157] by commit-queue@webkit.org

[BlackBerry] Implement numberOfProcessorCores() for QNX
https://bugs.webkit.org/show_bug.cgi?id=85638

Patch by Jeff Rogers <jrogers@rim.com> on 2012-05-04
Reviewed by Antonio Gomes.

  • wtf/NumberOfCores.cpp:

(WTF::numberOfProcessorCores):

13:12 Changeset [116156] by ojan@chromium.org

Fix expectation for test after http://trac.webkit.org/changeset/116143.

  • platform/chromium/test_expectations.txt:
13:10 Changeset [116155] by ojan@chromium.org

All the inspector tests are skipped on chromium-mac. We should
skip the new ones in platform/chromium as well.

  • platform/chromium/test_expectations.txt:
13:08 Changeset [116154] by dpranke@chromium.org

Suppress yet more Chromium Mac SL timeouts; hopefully close to end
https://bugs.webkit.org/show_bug.cgi?id=83076

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
13:07 Changeset [116153] by inferno@chromium.org

Merge 115668 - Source/WebCore: Remove positioned float code.
BUG=124919
Review URL: https://chromiumcodereview.appspot.com/10368021

13:06 Changeset [116152] by commit-queue@webkit.org

[chromium] CCProxy's shouldn't try to draw if there is no layer renderer
https://bugs.webkit.org/show_bug.cgi?id=85218

Patch by Ian Vollick <vollick@chromium.org> on 2012-05-04
Reviewed by Adrienne Walker.

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

(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

13:01 Changeset [116151] by commit-queue@webkit.org

Unreviewed, test_expectations update.
Remove media/W3C/video/events/event_order_canplay_canplaythrough.html.
The crash is not happening anymore.

Patch by Shadi Khalek <shadi@chromium.org> on 2012-05-04

  • platform/chromium/test_expectations.txt:
12:58 Changeset [116150] by dpranke@chromium.org

Suppress more Chromium Mac SL timeouts ...
https://bugs.webkit.org/show_bug.cgi?id=83076

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
12:57 Changeset [116149] by rwlbuis@webkit.org

Rebaseline some SVG Snow Leopard results
https://bugs.webkit.org/show_bug.cgi?id=85637

Reviewed by Nikolas Zimmermann.

Remove batik expected pngs for Snow Leopard since the generic mac ones match.
Fix types-dom-01-b-expected.txt to expect RenderSVGEllipse.

  • platform/mac-snowleopard/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
  • platform/mac-snowleopard/svg/batik/filters/feTile-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/filters/filterRegions-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/masking/maskRegions-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/paints/gradientLimit-expected.png:
  • platform/mac-snowleopard/svg/batik/paints/patternPreserveAspectRatioA-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/paints/patternRegionA-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/paints/patternRegions-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/paints/patternRegions-positioned-objects-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/longTextOnPath-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/smallFonts-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textAnchor-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textAnchor2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textAnchor3-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textDecoration-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textDecoration2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textEffect-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textEffect2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textEffect3-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textFeatures-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textGlyphOrientationHorizontal-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textLayout-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textLayout2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textLength-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textOnPath-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textOnPath2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textOnPath3-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textOnPathSpaces-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textPCDATA-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textPosition-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textPosition2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textProperties-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textProperties2-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/textStyles-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/verticalText-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/verticalTextOnPath-expected.png: Removed.
  • platform/mac-snowleopard/svg/batik/text/xmlSpace-expected.png: Removed.
12:53 Changeset [116148] by commit-queue@webkit.org

Layout Test media/track/track-cues-pause-on-exit.html is flaky on chromium debug builds
https://bugs.webkit.org/show_bug.cgi?id=80067

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-05-04
Reviewed by Eric Carlson.

Trying a different approach, blocking on waitForEvent for the video element.

  • media/track/track-cues-pause-on-exit-expected.txt: Updated.
  • media/track/track-cues-pause-on-exit.html: Changed to use

waitForEvent and listen to exit events right after.

  • media/video-test.js: Updated waitForEvent to enable listening for

events on other elements as well.
(waitForEvent._eventCallback):
(waitForEvent):

12:46 Changeset [116147] by cevans@google.com

Merge 115343
BUG=108958
Review URL: https://chromiumcodereview.appspot.com/10368019

12:45 Changeset [116146] by commit-queue@webkit.org

[GTK] DRT needs an implementation of LayoutTestController::setDefersLoading and ::goBack
https://bugs.webkit.org/show_bug.cgi?id=85134

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-04
Reviewed by Martin Robinson.

Source/WebKit/gtk:

Add support for setDefersLoading in DumpRenderTreeSupportGtk.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setDefersLoading):

  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Tools:

Add missing implementation setDefersLoading and goBack to GTK's
LayoutTestController so that the test case rely on these methods
can be enabled.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::goBack):
(LayoutTestController::setDefersLoading):

LayoutTests:

Unskip loader/navigation-while-deferring-loads.html and disable
loader/load-defer-resume-crash.html as it triggers an assertion
failure.

  • platform/gtk/test_expectations.txt:
12:44 Changeset [116145] by rwlbuis@webkit.org

[BlackBerry] Rendering bmp file as text file when Content-Type:image/x-ms-bmp from apache web server.
https://bugs.webkit.org/show_bug.cgi?id=85036

Reviewed by Antonio Gomes.

Source/WebCore:

Move getNormalizedMIMEType from WebKit into MIMETypeRegistry. This way we support uncommon mime types like image/pjpeg
and image/x-ms-bmp out of the box since we map to the more common image/jpeg and image/bmp respectively.

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes):
(WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
(WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
(WebCore):
(WebCore::mimeTypeAssociationMap):
(WebCore::MIMETypeRegistry::getNormalizedMIMEType):

  • platform/MIMETypeRegistry.h:

(MIMETypeRegistry):

Source/WebKit/blackberry:

Move getNormalizedMIMEType into WebCore::MIMETypeRegistry.

  • Api/WebSettings.cpp:

(WebKit):
(BlackBerry::WebKit::WebSettings::isSupportedObjectMIMEType):

  • Api/WebSettings.h:
  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::createPlugin):
(WebCore::FrameLoaderClientBlackBerry::canShowMIMEType):
(WebCore::FrameLoaderClientBlackBerry::objectContentType):

12:38 Changeset [116144] by cevans@google.com

Merge 115763
BUG=125494
Review URL: https://chromiumcodereview.appspot.com/10377014

12:35 Changeset [116143] by aestes@apple.com

REGRESSION (r116009): image no longer visible on fast/block/float/float-not-removed-from-next-sibling4.html
https://bugs.webkit.org/show_bug.cgi?id=85651

Check in failing results for platform/mac/.

  • platform/mac/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
12:25 Changeset [116142] by commit-queue@webkit.org

[chromium] Revert compositor layer scrolling
https://bugs.webkit.org/show_bug.cgi?id=85644

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-05-04
Reviewed by Steve Block.

Source/WebCore:

This patch reverts the following commits because they were found to
trigger crashes. See discussion at http://code.google.com/p/chromium/issues/detail?id=124393.

[chromium] Allow scrolling non-root layers in the compositor thread
http://trac.webkit.org/changeset/114651

[chromium] Don't crash when scrolling empty layer tree
http://trac.webkit.org/changeset/114761

[chromium] Don't keep pointers to released layer tree
http://trac.webkit.org/changeset/115080

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

(ContentLayerChromium):

  • platform/graphics/chromium/GraphicsLayerChromium.h:

(GraphicsLayerChromium):

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):

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

(WebCore::CCLayerTreeHost::applyScrollAndScale):

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

(CCLayerTreeHostCommon):

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

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::contentSize):
(WebCore::CCLayerTreeHostImpl::prepareToDraw):
(WebCore::findScrollLayer):
(WebCore::CCLayerTreeHostImpl::setRootLayer):
(WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
(WebCore):
(WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
(WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
(WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
(WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
(WebCore::CCLayerTreeHostImpl::scrollBegin):
(WebCore::CCLayerTreeHostImpl::scrollBy):
(WebCore::CCLayerTreeHostImpl::scrollEnd):
(WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
(WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
(WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
(WebCore::CCLayerTreeHostImpl::animatePageScale):

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

(WebCore::CCLayerTreeHostImpl::releaseRootLayer):
(WebCore::CCLayerTreeHostImpl::scrollLayer):
(CCLayerTreeHostImpl):

Source/WebKit/chromium:

  • src/WebContentLayerImpl.cpp:
  • src/WebContentLayerImpl.h:

(WebContentLayerImpl):

  • tests/CCLayerTreeHostCommonTest.cpp:
  • tests/CCLayerTreeHostImplTest.cpp:

(WebKitTests::TEST_F):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::MockContentLayerDelegate::paintContents):

12:25 Changeset [116141] by cevans@google.com

Merge 115398
BUG=124893
Review URL: https://chromiumcodereview.appspot.com/10368018

12:25 Changeset [116140] by dpranke@chromium.org

Mark editing tests as slow.
https://bugs.webkit.org/show_bug.cgi?id=85649

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
12:15 Changeset [116139] by cevans@google.com

Merge 115646
BUG=124895

12:10 Changeset [116138] by dpranke@chromium.org

Mark a few more tests as flaky across all macs.

Unreviewed, expectations change.

fast/loader/javascript-url-in-embed.html = TEXT PASS (Release only)
http/tests/security/sandboxed-iframe-modify-self.html = TEXT PASS
media/video-poster-blocked-by-willsendrequest.html = TEXT PASS
userscripts/user-style-all-frames.html = TEXT PASS

  • platform/chromium/test_expectations.txt:
12:05 Changeset [116137] by ojan@chromium.org

Fix path to external JS file that was not updated when the file
was moved in http://trac.webkit.org/changeset/116128/.

  • platform/chromium/inspector/styles/device-metrics-fit-window.html:
12:00 Changeset [116136] by dpranke@chromium.org

Mark tests as flaky timeouts on chromium Mac 10.6
https://bugs.webkit.org/show_bug.cgi?id=83076

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
11:58 Changeset [116135] by mrobinson@webkit.org

Fix the GTK+ debug build after the r116114.

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::handleInputMethodKeyboardEvent): Update an
assertion to reflect a real method name in PlatformKeyboardEvent
and remove an unnecessary call to preventDefault() which triggered
an assertion failure higher in the call stack.

11:44 Changeset [116134] by ossy@webkit.org

[Qt][NRWT] Run each DRT in it's own xvfb
https://bugs.webkit.org/show_bug.cgi?id=77335

Patch by Kristóf Kosztyó <kkristof@inf.u-szeged.hu> on 2012-05-04
Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort._driver_class):

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort._driver_class):

  • Scripts/webkitpy/layout_tests/port/xvfbdriver.py: Added.

(XvfbDriver):
(XvfbDriver._start):
(XvfbDriver._start.x_filter):
(XvfbDriver.stop):

11:42 Changeset [116133] by zandobersek@gmail.com

Unreviewed gardening, marking a test added in r116127 as failing.

  • platform/gtk/test_expectations.txt:
11:38 Changeset [116132] by abarth@webkit.org

CSP: Eval isn't blocked in about:blank subframes
https://bugs.webkit.org/show_bug.cgi?id=85553

Reviewed by Eric Seidel.

This patch fixes a race condition in this test. We need to wait for
the load event to ensure that the iframe has finished loading.

  • http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html:
11:31 Changeset [116131] by ojan@chromium.org

Remove file that was deleted in http://trac.webkit.org/changeset/116085/.
For some reason, this was breaking the chromium build (probably a gyp bug
since chromium shouldn't be pulling in this file).

  • WebCore.gypi:
11:30 Changeset [116130] by andersca@apple.com

TiledCoreAnimationDrawingArea should handle visibility changes
https://bugs.webkit.org/show_bug.cgi?id=85645
<rdar://problem/11247192>

Reviewed by Oliver Hunt.

Replicate the visibility handling logic from DrawingAreaImpl and LayerTreeHostCAMac.

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:

(TiledCoreAnimationDrawingAreaProxy):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::visibilityDidChange):
(WebKit):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

(TiledCoreAnimationDrawingArea):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
(WebKit):
(WebKit::TiledCoreAnimationDrawingArea::resumePainting):

11:28 Changeset [116129] by tony@chromium.org

fix bit packing in FillLayer on Windows
https://bugs.webkit.org/show_bug.cgi?id=85636

Reviewed by Ryosuke Niwa.

Use unsigned for all bit packed types. I manually verified that
the current uses of these member variables always assign true or false.

No new tests, adding a compile assert to verify bit packing.

  • rendering/style/FillLayer.cpp:

(SameSizeAsFillLayer): Added compile assert.
(WebCore):
(WebCore::FillLayer::FillLayer): Reorder m_sizeLength so bit packed fields are adjacent.
(WebCore::FillLayer::operator=): Ditto.

  • rendering/style/FillLayer.h:

(FillLayer): Convert bools to unsigned to match other bit packed fields.

10:57 Changeset [116128] by apavlov@chromium.org

Unreviewed, build fix.
Move Chromium-specific test into platform/chromium.

  • platform/chromium/inspector/styles/device-metrics-fit-window-expected.txt: Renamed from LayoutTests/inspector/styles/device-metrics-fit-window-expected.txt.
  • platform/chromium/inspector/styles/device-metrics-fit-window.html: Renamed from LayoutTests/inspector/styles/device-metrics-fit-window.html.
10:55 Changeset [116127] by tommyw@google.com

MediaStream API: Make PeerConnection00's API fully compliant with the draft
https://bugs.webkit.org/show_bug.cgi?id=85491

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebPeerConnection00HandlerClient.h:

Source/WebCore:

Mainly making the relevant API's use objects (aka Dictionaries) instead of the temporary strings,
but also making a few API's exception aware and changing the name of a flag.

Test: fast/mediastream/peerconnection-iceoptions.html

  • Modules/mediastream/PeerConnection00.cpp:

(WebCore::PeerConnection00::createMediaHints):
(WebCore::PeerConnection00::createOffer):
(WebCore):
(WebCore::PeerConnection00::createAnswer):
(WebCore::PeerConnection00::createIceOptions):
(WebCore::PeerConnection00::createDefaultIceOptions):
(WebCore::PeerConnection00::startIce):
(WebCore::PeerConnection00::addStream):
(WebCore::PeerConnection00::changeReadyState):

  • Modules/mediastream/PeerConnection00.h:

(WebCore):
(PeerConnection00):

  • Modules/mediastream/PeerConnection00.idl:
  • platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp:

(WebCore::PeerConnection00HandlerInternal::startIce):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:

LayoutTests:

  • fast/mediastream/peerconnection-Attributes-expected.txt:
  • fast/mediastream/peerconnection-iceoptions-expected.txt: Added.
  • fast/mediastream/peerconnection-iceoptions.html: Added.
10:52 Changeset [116126] by zandobersek@gmail.com

Use destructuring assingment for the return values of the
port.diff_image() method call.

Rubber-stamped by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(write_test_result):

10:47 Changeset [116125] by commit-queue@webkit.org

Chromium should include MenuListPopups' and MenuListOptions' within the ax tree.
https://bugs.webkit.org/show_bug.cgi?id=85541

Patch by David Tseng <dtseng@google.com> on 2012-05-04
Reviewed by Chris Fleizach.

Covered by existing tests.
LayoutTests/accessibility/menu-list-sends-change-notification.html

  • accessibility/AccessibilityMockObject.h:

(WebCore::AccessibilityMockObject::accessibilityIsIgnored):

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

10:44 Changeset [116124] by beidson@apple.com

<rdar://problem/11312853> and https://bugs.webkit.org/show_bug.cgi?id=85635 Exception in [WebFrame loadRequest:] breaks some WebKit apps

Reviewed by Alexey Proskuryakov.

Some API clients pass in nil requests or requests with nil URLs.
In r112571 we started rewriting these URLs resulting in an exception.
Since we've supported nil requests until now, we should not try to rewrite these URLs.

  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]): Don't try to rewrite invalid URLs if they are also null.

10:44 Changeset [116123] by ojan@chromium.org

Store fewer runs by default in the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=85568

Reviewed by Dirk Pranke.

This will greatly shrink the size of the json files we load,
resulting in a much faster initial load. People rarely care
about more than 100 runs. For the cases they do, they can still click
the show all runs checkbox to show 500 runs.

  • TestResultServer/model/jsonresults.py:
10:41 Changeset [116122] by zandobersek@gmail.com

[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Reviewed by Martin Robinson.

Remove incorrect test expectations for tests that are lately consistently
passing on all the Gtk builders but only turned out to be passing after
the Gtk port moved from using Skipped list to test_expectations.txt.
Their proper bug entries will be handled later, after all the tests are
confirmed to still pass. If any test backfires the correct test expectation
will be renewed and bug entries refreshed with latest information.

  • platform/gtk/test_expectations.txt:
10:31 Changeset [116121] by japhet@chromium.org

Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.
https://bugs.webkit.org/show_bug.cgi?id=85533

Reviewed by Alexey Proskuryakov.

Source/WebKit/blackberry:

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::finishedLoading):

Source/WebKit/chromium:

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::FrameLoaderClientImpl):
(WebKit):
(WebKit::FrameLoaderClientImpl::finishedLoading):

  • src/FrameLoaderClientImpl.h:

(WebKit::FrameLoaderClientImpl::makeRepresentation):
(WebKit::FrameLoaderClientImpl::revertToProvisionalState):
(FrameLoaderClientImpl):

Source/WebKit/efl:

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::FrameLoaderClientEfl):
(WebCore):
(WebCore::FrameLoaderClientEfl::finishedLoading):

  • WebCoreSupport/FrameLoaderClientEfl.h:

(WebCore::FrameLoaderClientEfl::makeRepresentation):
(WebCore::FrameLoaderClientEfl::revertToProvisionalState):
(FrameLoaderClientEfl):

Source/WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::FrameLoaderClient):
(WebKit):
(WebKit::FrameLoaderClient::finishedLoading):

  • WebCoreSupport/FrameLoaderClientGtk.h:

(WebKit::FrameLoaderClient::makeRepresentation):
(WebKit::FrameLoaderClient::revertToProvisionalState):
(FrameLoaderClient):

Source/WebKit/mac:

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Calling commitData when finishing is no longer necessary,

as WebCore will take care of simulating the receipt of data and ensuring the requisite work gets done in the blank document case.

Source/WebKit/qt:

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
(WebCore):
(WebCore::FrameLoaderClientQt::finishedLoading):

  • WebCoreSupport/FrameLoaderClientQt.h:

(WebCore::FrameLoaderClientQt::makeRepresentation):
(WebCore::FrameLoaderClientQt::revertToProvisionalState):
(FrameLoaderClientQt):

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::finishedLoading):

Source/WebKit/wince:

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit::FrameLoaderClientWinCE::finishedLoading):

Source/WebKit/wx:

  • WebKitSupport/FrameLoaderClientWx.cpp:

(WebCore::FrameLoaderClientWx::finishedLoading):
(WebCore::FrameLoaderClientWx::setMainDocumentError):
(WebCore::FrameLoaderClientWx::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientWx::dispatchDidFailLoading):

  • WebKitSupport/FrameLoaderClientWx.h:

(FrameLoaderClientWx):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::finishedLoading):

10:23 Changeset [116120] by leviw@chromium.org

Unreviewed. Fixing ChangeLog conflict markers after 116009.

10:22 Changeset [116119] by commit-queue@webkit.org

[EFL] Frame load callbacks output is missing for redirections
https://bugs.webkit.org/show_bug.cgi?id=85173

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-04
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add a few redirection-related signals on the ewk_frame so that EFL's
DumpRenderTree can print the expected output when
LayoutTestController's dumpFrameLoadCallbacks() returns true.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebCore::FrameLoaderClientEfl::dispatchWillPerformClientRedirect):

  • ewk/ewk_frame.cpp:

(ewk_frame_redirect_provisional_load):
(ewk_frame_redirect_requested):

  • ewk/ewk_frame.h:
  • ewk/ewk_private.h:

Tools:

Catch the new ewk_frame signals to print the expected output in case
of redirections, when LayoutTestController's dumpFrameLoadCallbacks()
returns true.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(DumpRenderTreeChrome::onWillSendRequest):
(DumpRenderTreeChrome::onFrameCreated):
(DumpRenderTreeChrome::onFrameRedirectForProvisionalLoad):
(DumpRenderTreeChrome::onFrameRedirectRequested):
(DumpRenderTreeChrome::onResponseReceived):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

LayoutTests:

Update test_expectations.txt now that EFL's DumpRenderTree is
correctly printing frame load callbacks information in case of
redirections.

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
10:19 Changeset [116118] by commit-queue@webkit.org

[EFL] [DRT] Gardening some failure cases on EFL port
https://bugs.webkit.org/show_bug.cgi?id=85605

Unreviewed, EFL gardening.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-04

  • platform/efl/fast/canvas/fillText-shadow-expected.txt: Added.
  • platform/efl/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
  • platform/efl/fast/dom/Window/window-properties-performance-expected.txt: Added.
  • platform/efl/test_expectations.txt:
10:12 Changeset [116117] by danw@gnome.org
[GTK] ASSERTION FAILED: shouldLoadAsEmptyDocument(r.url())

!defersLoading() in MainResourceLoader.cpp:382

Remove a soup_session_pause_message() call that got left behind,
update the defersLoading stuff to handle this case.

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

Reviewed by Martin Robinson.

No new tests. Now passes loader/load-defer-resume-crash.html under
debug build.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::platformSetDefersLoading):

10:05 Changeset [116116] by apavlov@chromium.org

Web Inspector: [Device Metrics] With "Fit window" option on, page contents are downscaled incorrectly
https://bugs.webkit.org/show_bug.cgi?id=85510

Reviewed by Pavel Feldman.

Source/WebKit/chromium:

Use the RenderView width rather than FrameView contents width whenever possible.
Drive-by: add protection from division-by-zero (for some weird rendering states).

Test: inspector/styles/device-metrics-fit-window.html

  • src/WebDevToolsAgentImpl.cpp:

(WebKit::DeviceMetricsSupport::ensureOriginalZoomFactor):
(WebKit::DeviceMetricsSupport::scaledEmulatedFrameSize):

LayoutTests:

  • inspector/styles/device-metrics-fit-window-expected.txt: Added.
  • inspector/styles/device-metrics-fit-window.html: Added.
09:57 Changeset [116115] by vestbo@webkit.org

[Qt] Fix up warning about missing GLib/Gio/GStreamer

We don't actually fall back.

Rubber-stamped by Csaba Osztrogonác.

09:49 Changeset [116114] by mrobinson@webkit.org

[GTK] Rework IME handling to fix bugs and prepare for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=84556

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

No new tests. This change is already covered by a suite of keyboard
handling unit tests in WebKitGTK+. There are some changes in behavior,
but they are difficult to test without mocking out an entire GtkIMContext.

Add a struct, CompositionResults, which is used by PlatformKeyboardEvent
to package composition information with a keyboard event. Also add some logic
to PlatformKeyboardEvent to give the right information when it has composition
results.

  • GNUmakefile.list.am: Added new sources to the list.
  • platform/PlatformKeyboardEvent.h: Added a new CompositionResults member,

getter, and argument to the constructor.

  • platform/gtk/CompositionResults.h: Added.
  • platform/gtk/GtkInputMethodFilter.cpp: Added.
  • platform/gtk/GtkInputMethodFilter.h: Added.
  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): When
the key value is void return the VK_PROCESS keycode, which is the keycode
that web content expects with keystrokes that trigger composition events.
(WebCore::eventTypeForGdkKeyEvent): Abstract out this helper.
(WebCore::modifiersForGdkKeyEvent): Abstract out this helper.
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): When a PlatformKeyEvent
has composition results, use VK_PROCESS as the keycode for this event.
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): When this event is
transformed into a Char event, the PlatformKeyboardEvent used for DOM keypress
events, and it has composition results clear the text members. This forces the
EventHandler code to drop the keypress event. Platform events that change the
composition states do not have corresponding keypress DOM events (only keydown
and keyup events), so this is necessary to ensure web compatibility.

Source/WebKit/gtk:

Rework input method handling logic into a class called GtkInputMethodFilter.
This filter now runs before WebCore event handling, allowing the code to more
easily fake simple compositions that should be seen as keystrokes. We can also
filter keypresses that should not go to web content at all, such as key up events
related to key down events that were filtered.

Also added is a WebViewInputMethodFilter which is a concrete implementation of
GtkInputMethodFilter. This class contains logic for actually sending events to
WebCore. In WebKit2 an implementation of GtkInputMethodFilter will send events
across the IPC channel.

  • GNUmakefile.am: Add new files to the source list.
  • WebCoreSupport/ContextMenuClientGtk.cpp:

(WebKit::inputMethodsMenuItem): Access the input method context via the filter.

  • WebCoreSupport/EditorClientGtk.cpp: Remove the tricky logic of input method

events from this class, because it's now in the GtkInputMethodFilter.
(WebKit::EditorClient::setInputMethodState): Call into the filter.
(WebKit::EditorClient::shouldBeginEditing): We no longer need to update the composition here.
This is handled by the focus in and focus out logic in the filter.
(WebKit::EditorClient::shouldEndEditing): Ditto.
(WebKit::EditorClient::respondToChangedSelection): Call into the filter now.
(WebKit::EditorClient::handleInputMethodKeyboardEvent): Added this helper which executes
any pending composition confirmation or preedit update actions as the default action of
the keydown event.
(WebKit::EditorClient::handleKeyboardEvent): Call handleInputMethodKeyboardEvent to do
any pending composition action.
(WebKit::EditorClient::handleInputMethodKeydown): Remove all the logic from this method.
Keys are filtered before they are sent to WebCore now and the actual action of input method
events happens in the keydown default action to increase compatibility with other browsers.
(WebKit::EditorClient::EditorClient): Remove context signal management.
(WebKit::EditorClient::~EditorClient): Ditto.

  • WebCoreSupport/EditorClientGtk.h:

(EditorClient): No longer has some members that tracked IME status.

  • WebCoreSupport/WebViewInputMethodFilter.cpp: Added.
  • WebCoreSupport/WebViewInputMethodFilter.h: Added.
  • webkit/webkitwebview.cpp:

(webkit_web_view_get_property): Get the context from the filter now.
(webkit_web_view_key_press_event): Just send events straight to the filter.
The filter will decide whether or not to send them to WebCore.
(webkit_web_view_key_release_event): Ditto.
(webkit_web_view_button_press_event): Use the filter to handle button press
events related to IME.
(webkit_web_view_focus_in_event): Notify the filter now.
(webkit_web_view_focus_out_event): Ditto.
(webkit_web_view_realize): The filter takes care of listening for realize now.
(webkit_web_view_init): Set the WebView widget on the filter.

  • webkit/webkitwebviewprivate.h: Change the GtkIMContext member to be a GtkInputMethodFilter member.
09:43 Changeset [116113] by jochen@chromium.org

Correctly update the outgoing referrer when navigating back from an history item created by pushState/replaceState
https://bugs.webkit.org/show_bug.cgi?id=85374

Reviewed by Nate Chapin.

Source/WebCore:

Test: http/tests/history/history-navigations-set-referrer.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadInSameDocument):

LayoutTests:

  • http/tests/history/history-navigations-set-referrer-expected.txt: Added.
  • http/tests/history/history-navigations-set-referrer.html: Added.
  • http/tests/history/resources/check-referrer.html: Added.
09:35 Changeset [116112] by commit-queue@webkit.org

[EFL] Web Timing tests gardening
https://bugs.webkit.org/show_bug.cgi?id=85619

Unreviewed, EFL gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-04

  • platform/efl/test_expectations.txt:
09:32 Changeset [116111] by ossy@webkit.org

[Qt] REGRESSION: http/tests/xmlhttprequest/basic-auth-nopassword.html started to crash with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=85632

Unreviewed gardening, skip the new _crashing_ test to paint the bot green.

  • platform/qt-5.0-wk1/Skipped:
09:32 Changeset [116110] by vestbo@webkit.org

[Qt] Clarify warning about missing GLib/Gio/GStreamer for media support

And only print it once.

Reviewed by Csaba Osztrogonác.

09:25 Changeset [116109] by ossy@webkit.org

[Qt] REGRESSION: 350 tests started to fail with newer Qt5-WK1
https://bugs.webkit.org/show_bug.cgi?id=85631

Unreviewed gardening, skip new failing tests to paint the bot green.

  • platform/qt-5.0-wk1/Skipped:
09:17 Changeset [116108] by ossy@webkit.org

[Qt] REGRESSION: 10 tests started to fail with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=85629

Unreviewed fix after r116106.

  • platform/qt-5.0-wk2/Skipped:
  • platform/qt-5.0/Skipped:
09:09 Changeset [116107] by vestbo@webkit.org

[Qt] Clean up and split features.prf into a static list of defaults

The static list of feature defaults is used as a fallback for any
feature that's not dynamically detected or overriden on the command
line (though build-webkit or passing DEFINES+= to qmake).

The static list is complete, which allows for auto-generation based
on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)

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

Reviewed by Simon Hausmann.

08:43 Changeset [116106] by ossy@webkit.org

[Qt][WK2] REGRESSION: 10 tests started to fail with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=85629

Unreviewed gardening, skip new failing tests to paint the bot green.

  • platform/qt-5.0-wk2/Skipped:
08:27 Changeset [116105] by zoltan@webkit.org

Unreviewed, rolling out r116085, r116091, and r116095.
http://trac.webkit.org/changeset/116085
http://trac.webkit.org/changeset/116091
http://trac.webkit.org/changeset/116095
https://bugs.webkit.org/show_bug.cgi?id=85628

We are not ready with dependencies on all platform yet (mac) +
problems with debug builds. (Requested by Zoltan on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-04

Source/WebCore:

  • Target.pri:
  • WebCore.pri:
  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):

  • platform/graphics/ImageSource.cpp:
  • platform/graphics/ImageSource.h:

(WebCore):

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoder::create):
(WebCore):
(WebCore::ImageDecoderQt::filenameExtension):
(WebCore::ImageDecoderQt::internalHandleCurrentImage):
(WebCore::ImageDecoderQt::clearPointers):

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::create):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageFrame::getAddr):
(ImageFrame):

  • platform/image-decoders/qt/ImageFrameQt.cpp: Added.

(WebCore):
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::operator=):
(WebCore::ImageFrame::clearPixelData):
(WebCore::ImageFrame::zeroFillPixelData):
(WebCore::ImageFrame::copyBitmapData):
(WebCore::ImageFrame::setSize):
(WebCore::ImageFrame::asNewNativeImage):
(WebCore::ImageFrame::hasAlpha):
(WebCore::ImageFrame::setHasAlpha):
(WebCore::ImageFrame::setColorProfile):
(WebCore::ImageFrame::setStatus):
(WebCore::ImageFrame::setPixmap):
(WebCore::ImageFrame::width):
(WebCore::ImageFrame::height):

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Tools:

  • qmake/mkspecs/features/features.prf:
08:24 Changeset [116104] by loislo@chromium.org

Web Inspector: eliminate temporaryProfile property from ProfilesPanel.
https://bugs.webkit.org/show_bug.cgi?id=85623

We can run different profilers at the same time therefore we have to keep temorary profile per profiler type.

Reviewed by Yury Semikhatsky.

  • inspector/front-end/CSSSelectorProfileView.js:

(WebInspector.CSSSelectorProfileType.prototype.createView):
(WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
(WebInspector.CSSSelectorProfileType.prototype.createProfile):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotProfileType.prototype.createView):
(WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
(WebInspector.HeapSnapshotProfileType.prototype.createProfile):

  • inspector/front-end/ProfileView.js:

(WebInspector.CPUProfileType.prototype.startRecordingProfile):
(WebInspector.CPUProfileType.prototype.createView):
(WebInspector.CPUProfileType.prototype.createTemporaryProfile):
(WebInspector.CPUProfileType.prototype.createProfile):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
(WebInspector.ProfileType.prototype.createTemporaryProfile):
(WebInspector.ProfileType.prototype.createProfile):
(WebInspector.ProfileHeader):
(WebInspector.HeapProfileHeader):
(WebInspector.ProfilesPanel.prototype.addProfileHeader):
(WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
(WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
(WebInspector.ProfilesPanel.prototype._populateProfiles):
(WebInspector.ProfilesPanel.prototype.setRecordingProfile):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
(WebInspector.ProfilerDispatcher.prototype.addProfileHeader):

08:14 Changeset [116103] by loislo@chromium.org

Web Inspector: [chromium] ScriptGCEvent should not be static.
https://bugs.webkit.org/show_bug.cgi?id=80788

The static members of ScriptGCEvent were moved into per isolate data structure.
Drive by fix: Sometimes the used heap size after a GC is slightly more than it was before.

Reviewed by Yury Semikhatsky.

  • bindings/v8/ScriptGCEvent.cpp:

(WebCore::ScriptGCEvent::gcPrologueCallback):
(WebCore::ScriptGCEvent::gcEpilogueCallback):

  • bindings/v8/V8Binding.h:

(WebCore::GCEventData::GCEventData):
(WebCore::GCEventData::clear):
(GCEventData):
(WebCore):
(WebCore::V8BindingPerIsolateData::gcEventData):
(V8BindingPerIsolateData):

07:52 Changeset [116102] by ossy@webkit.org

[Qt] Update Qt bridge after changes to QMetaMethod
https://bugs.webkit.org/show_bug.cgi?id=85478

Patch by Kent Hansen <kent.hansen@nokia.com> on 2012-05-04
Reviewed by Tor Arne Vestbø.

QMetaMethod::signature() has been renamed to methodSignature() and
returns a QByteArray.

The new function QMetaMethod::name() gives direct access to a
method's name. returnType(), parameterCount(), and parameterType()
give direct access to type information.

Ported the custom QtConnectionObject meta-object to revision 7;
revision 6 and below aren't supported (and don't compile) with Qt5.

Source/WebCore:

  • Target.pri:
  • bridge/qt/qt_class.cpp:

(JSC::Bindings::QtClass::fallbackObject):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::getPropertyNames):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::findMethodIndex):
(Bindings):
(qt_meta_stringdata_QtConnectionObject_t):
(JSC::Bindings::QtConnectionObject::qt_static_metacall):
(JSC::Bindings::QtConnectionObject::qt_metacast):
(JSC::Bindings::QtConnectionObject::qt_metacall):
(JSC::Bindings::QtConnectionObject::execute):

  • bridge/qt/qt_runtime.h:

(QtConnectionObject):

  • bridge/qt/qt_runtime_qt4.cpp: Copied from Source/WebCore/bridge/qt/qt_runtime.cpp.

(Bindings):
(QWKNoDebug):
(JSC::Bindings::QWKNoDebug::QWKNoDebug):
(JSC::Bindings::QWKNoDebug::~QWKNoDebug):
(JSC::Bindings::QWKNoDebug::operator<<):
(JSC::Bindings::operator<<):
(RuntimeConversion):
(JSC::Bindings::registerCustomType):
(JSC::Bindings::isJSUint8ClampedArray):
(JSC::Bindings::valueRealType):
(JSC::Bindings::convertValueToQVariantMap):
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMethod::finishCreation):
(JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMethod::destroy):
(JSC::Bindings::QtRuntimeMethodData::~QtRuntimeMethodData):
(JSC::Bindings::QtRuntimeMethodData::finalize):
(JSC::Bindings::QtRuntimeMetaMethodData::~QtRuntimeMetaMethodData):
(JSC::Bindings::QtRuntimeConnectionMethodData::~QtRuntimeConnectionMethodData):
(QtMethodMatchType):
(JSC::Bindings::QtMethodMatchType::QtMethodMatchType):
(JSC::Bindings::QtMethodMatchType::kind):
(JSC::Bindings::QtMethodMatchType::isValid):
(JSC::Bindings::QtMethodMatchType::isVariant):
(JSC::Bindings::QtMethodMatchType::isMetaType):
(JSC::Bindings::QtMethodMatchType::isUnresolved):
(JSC::Bindings::QtMethodMatchType::isMetaEnum):
(JSC::Bindings::QtMethodMatchType::enumeratorIndex):
(JSC::Bindings::QtMethodMatchType::variant):
(JSC::Bindings::QtMethodMatchType::metaType):
(JSC::Bindings::QtMethodMatchType::metaEnum):
(JSC::Bindings::QtMethodMatchType::unresolved):
(JSC::Bindings::QtMethodMatchType::typeId):
(JSC::Bindings::QtMethodMatchType::name):
(QtMethodMatchData):
(JSC::Bindings::QtMethodMatchData::QtMethodMatchData):
(JSC::Bindings::QtMethodMatchData::isValid):
(JSC::Bindings::QtMethodMatchData::firstUnresolvedIndex):
(JSC::Bindings::indexOfMetaEnum):
(JSC::Bindings::findMethodIndex):
(JSC::Bindings::findSignalIndex):
(JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
(JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
(JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeMetaMethod::getCallData):
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
(JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
(JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
(JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
(JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
(JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
(JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
(JSC::Bindings::QtConnectionObject::QtConnectionObject):
(JSC::Bindings::QtConnectionObject::~QtConnectionObject):
(JSC::Bindings::QtConnectionObject::metaObject):
(JSC::Bindings::QtConnectionObject::qt_metacast):
(JSC::Bindings::QtConnectionObject::qt_metacall):
(JSC::Bindings::isJavaScriptFunction):
(JSC::Bindings::QtConnectionObject::execute):
(JSC::Bindings::QtConnectionObject::match):
(JSC::Bindings::QtConnectionObject::createWithInternalJSC):
(JSC::Bindings::::QtArray):
(JSC::Bindings::::~QtArray):
(JSC::Bindings::::rootObject):
(JSC::Bindings::::setValueAt):
(JSC::Bindings::::valueAt):

Source/WebKit2:

  • UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:

(gatherAPI):

07:50 Changeset [116101] by ossy@webkit.org

[Qt] Don't pass viewport-create function to quick_test_main.
https://bugs.webkit.org/show_bug.cgi?id=85478

Patch by Tor Arne Vestbø <tor.arne.vestbo@nokia.com> on 2012-05-04
Reviewed by Csaba Osztrogonác.

  • UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:

(main):

07:49 Changeset [116100] by ossy@webkit.org

[Qt] Buildfix for newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=85478

Reviewed by Tor Arne Vestbø.

  • Shared/qt/ProcessExecutablePathQt.cpp:

(WebKit::executablePath):

  • UIProcess/API/qt/qwebiconimageprovider_p.h:
07:36 Changeset [116099] by yurys@chromium.org

Web Inspector: use single method for retrieving evaluation context in the runtime agent
https://bugs.webkit.org/show_bug.cgi?id=85621

Reviewed by Pavel Feldman.

Merged two script state retrieval methods into one. Moved Page specific logic
into PageRuntimeAgent.

  • inspector/InspectorRuntimeAgent.cpp:

(WebCore::InspectorRuntimeAgent::evaluate):

  • inspector/InspectorRuntimeAgent.h:

(InspectorRuntimeAgent):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::scriptStateForEval):

  • inspector/PageRuntimeAgent.h:

(PageRuntimeAgent):

  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::scriptStateForEval):

  • inspector/WorkerRuntimeAgent.h:

(WorkerRuntimeAgent):

07:33 Changeset [116098] by jochen@chromium.org

Unreviewed, rolling out r115549.
http://trac.webkit.org/changeset/115549
https://bugs.webkit.org/show_bug.cgi?id=83894

The newly added CRASH() statements are triggered too often

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::init):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

07:32 Changeset [116097] by commit-queue@webkit.org

[EFL] LayoutTestController does not support overriding WebKitLoadSiteIconsKey
https://bugs.webkit.org/show_bug.cgi?id=85171

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-04
Reviewed by Andreas Kling.

Source/WebKit/efl:

Add a helper function to DumpRenderTreeSupportEfl to override the
"WebKitLoadSiteIconsKey" setting on the view page.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Implement support for overriding "WebKitLoadSiteIconsKey" setting in
EFL's LayoutTestController.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::overridePreference):

LayoutTests:

Unskip http/tests/misc/favicon-loads-with-icon-loading-override.html
now that EFL's LayoutTestController support overriding
WebKitLoadSiteIconsKey.

  • platform/efl/Skipped:
07:29 Changeset [116096] by commit-queue@webkit.org

[EFL][DRT] Gardening away remaining SVG failures
https://bugs.webkit.org/show_bug.cgi?id=85600

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-05-04

  • platform/efl/svg/batik/filters/feTile-expected.png: Added.
  • platform/efl/svg/batik/filters/feTile-expected.txt:
  • platform/efl/svg/batik/filters/filterRegions-expected.png: Added.
  • platform/efl/svg/batik/filters/filterRegions-expected.txt:
  • platform/efl/svg/carto.net/button-expected.txt:
  • platform/efl/svg/carto.net/colourpicker-expected.txt:
  • platform/efl/svg/carto.net/slider-expected.txt:
  • platform/efl/svg/carto.net/window-expected.txt:
  • platform/efl/svg/css/stars-with-shadow-expected.txt: Added.
  • platform/efl/svg/hixie/error/014-expected.png: Added.
  • platform/efl/svg/hixie/error/014-expected.txt:
  • platform/efl/svg/hixie/perf/003-expected.png: Added.
  • platform/efl/svg/hixie/perf/003-expected.txt:
  • platform/efl/svg/hixie/shapes/path/001-expected.png: Added.
  • platform/efl/svg/hixie/shapes/path/001-expected.txt: Added.
  • platform/efl/svg/hixie/use/002-expected.png: Added.
  • platform/efl/svg/hixie/use/002-expected.txt:
  • platform/efl/svg/repaint/filter-child-repaint-expected.png: Added.
  • platform/efl/svg/repaint/filter-child-repaint-expected.txt:
  • platform/efl/svg/repaint/filter-repaint-expected.png: Added.
  • platform/efl/svg/repaint/filter-repaint-expected.txt:
  • platform/efl/svg/transforms/text-with-mask-with-svg-transform-expected.png: Added.
  • platform/efl/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • platform/efl/svg/zoom/page/zoom-foreignObject-expected.png: Added.
  • platform/efl/svg/zoom/page/zoom-foreignObject-expected.txt:
  • platform/efl/svg/zoom/text/zoom-foreignObject-expected.png: Added.
  • platform/efl/svg/zoom/text/zoom-foreignObject-expected.txt:
  • platform/efl/test_expectations.txt:
07:24 Changeset [116095] by zoltan@webkit.org

[Qt] Error message fix after r116091
https://bugs.webkit.org/show_bug.cgi?id=85614

Reviewed by Alexis Menard.

No new tests : error message fix.

  • WebCore.pri:
07:16 Changeset [116094] by zandobersek@gmail.com

[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Unreviewed, removing incorrect test expectations for tests that turned
to be passing on all the Gtk builders after moving from using Skipped
to test_expectations.txt and have the generic BUGWKGTK modifier.

  • platform/gtk/test_expectations.txt:
07:01 Changeset [116093] by caseq@chromium.org

Unreviewed gardening, refined specifiers for unexpectedly passing tests.

  • platform/chromium/test_expectations.txt:
07:00 BuildingQtOnLinux edited by zoltan@webkit.org
(diff)
06:57 Changeset [116092] by commit-queue@webkit.org

Doesn't build with ENABLE_JIT=0
https://bugs.webkit.org/show_bug.cgi?id=85042

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-04
Reviewed by Gavin Barraclough.

  • bytecode/Operands.h:
06:50 Changeset [116091] by alexis.menard@openbossa.org

[Qt] Build fix when using libpng version > 1.2.
https://bugs.webkit.org/show_bug.cgi?id=85614

Reviewed by Tor Arne Vestbø.

Don't enforce the version of libpng when passing the option to the linker.

No new tests : build fix.

  • WebCore.pri:
06:36 Changeset [116090] by rakuco@webkit.org

[EFL] Unreviewed, fix r116067 and r116068.

Fix the names of the expectations I added in those revisions.

  • platform/efl/fast/html/details-marker-style-expected.txt: Renamed from LayoutTests/platform/efl/fast/html/details-marker-style-actual.txt.
  • platform/efl/media/media-can-play-webm-expected.txt: Renamed from LayoutTests/platform/efl/media/media-can-play-webm-actual.txt.
  • platform/efl/svg/as-image/image-respects-pageScaleFactor-expected.txt: Renamed from LayoutTests/platform/efl/svg/as-image/image-respects-pageScaleFactor-actual.txt.
06:32 Changeset [116089] by alexis.menard@openbossa.org

[Qt] Enable fullscreen API for WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=85498

Reviewed by Simon Hausmann.

Source/WebKit2:

Enable the fullscreen API for Qt port. It is only
supported on WebKit2. It adds experimental settings
to enable it and also add two experimental signals so
the API user can react when the fullscreen is requested
(e.g hide the urlbar of a browser and change the state
of the window to be fullscreen).

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qwebpreferences.cpp:

(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::fullScreenEnabled):
(QWebPreferences::setFullScreenEnabled):

  • UIProcess/API/qt/qwebpreferences_p.h:
  • UIProcess/API/qt/qwebpreferences_p_p.h:
  • UIProcess/WebFullScreenManagerProxy.h:

(WebKit):

  • UIProcess/qt/WebFullScreenManagerProxyQt.cpp:

(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):

Tools:

Enable the fullscreen API on the MiniBrowser and turn
it default on WebKit2, disable it on WK1.

  • MiniBrowser/qt/BrowserWindow.cpp:

(BrowserWindow::BrowserWindow):

  • MiniBrowser/qt/qml/BrowserWindow.qml:
  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.prf:
06:16 Changeset [116088] by commit-queue@webkit.org

REGRESSION(r116008) old-run-webkit-tests broken
https://bugs.webkit.org/show_bug.cgi?id=85597

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-04
Reviewed by Simon Hausmann.

Reinstate libraryContainsSymbol.

  • Scripts/webkitperl/features.pm:

(libraryContainsSymbol):

05:53 Changeset [116087] by hausmann@webkit.org

[Qt] Images are scaled badly in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=85610

Reviewed by Jocelyn Turcotte.

Source/WebCore:

Enable smooth pixmap transforms when rendering into the GraphicsSurface image.
This class is only used in WK2.

  • platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:

(WebCore::GraphicsSurface::platformBeginPaint):

Source/WebKit2:

Enable smooth pixmap transforms for WK2 bitmaps.

  • Shared/qt/ShareableBitmapQt.cpp:

(WebKit::ShareableBitmap::createGraphicsContext):

05:19 Changeset [116086] by zoltan@webkit.org

[Qt] Remove unnecessary executeable bits after r116085

No new tests.

  • Target.pri:
  • WebCore.pri:
  • platform/graphics/ImageSource.cpp:
  • platform/graphics/ImageSource.h:
  • platform/graphics/qt/ImageDecoderQt.cpp:
  • platform/graphics/qt/ImageDecoderQt.h:
  • platform/image-decoders/ImageDecoder.cpp:
  • platform/image-decoders/ImageDecoder.h:
05:10 Changeset [116085] by zoltan@webkit.org

[Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=80400

Source/WebCore:

This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
The new behavior is to use QImageDecoder only if WebCoreImageDecoder doesn't support the requested
image type.
The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.

This change adds build depedency for libpng-dev and libjpeg-dev packages, becuase PNG and JPEG imagedecoders
need not only these libraries, but their headers also. Qmake-config tests for these libraries were
introduced in r110045.

Reviewed by Simon Hausmann.

No new tests needed.

  • Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
  • WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
(WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.

  • platform/graphics/ImageSource.cpp: Remove unnecessary includes.
  • platform/graphics/ImageSource.h: Remove unnecessary typedefs.

(WebCore):

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
(WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
(WebCore):
(WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.

  • platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.

(WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder.

  • platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.

(WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
(ImageFrame):

  • platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to

ImageDecoderQt.cpp.

Source/WebKit/blackberry:

Get rid off QT_IMAGE_DECODER flag.

Reviewed by Simon Hausmann.

  • WebCoreSupport/AboutDataEnableFeatures.in:

Tools:

Remove WTF_USE_QT_IMAGE_DECODER macro.

Reviewed by Simon Hausmann.

  • qmake/mkspecs/features/features.prf:
05:00 Changeset [116084] by caseq@chromium.org

Unreviewed gardening, eval-blocked-in-about-blank-iframe.html: SLOW -> TIMEOUT

  • platform/chromium/test_expectations.txt:
03:59 Changeset [116083] by ossy@webkit.org

[Qt] Unreviewed gardening, update expected files.

  • platform/qt/Skipped: Typo fix.
  • platform/qt/fast/block/float/float-not-removed-from-next-sibling4-expected.png: Added.
  • platform/qt/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
  • platform/qt/fast/block/float/overhanging-tall-block-expected.png:
  • platform/qt/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/qt/fast/dom/Window/window-properties-device-orientation-expected.txt:
03:46 Changeset [116082] by ossy@webkit.org

[Qt] ietestcenter/css3/flexbox tests fail on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=85596

Unreviewed gardening, skip new failing tests.

  • platform/qt/Skipped:
03:37 Changeset [116081] by noel.gordon@gmail.com

[chromium] Unreviewed test expectations update after r116074

  • platform/chromium-mac/fast/images/png-suite/test-expected.png: Added.
  • platform/chromium-win/fast/images/png-suite/test-expected.png: Added.
  • platform/chromium/fast/images/png-suite/test-expected.txt: Added.
  • platform/chromium/test_expectations.txt:
03:21 Changeset [116080] by caseq@chromium.org

Unreviewed gardening, changed expectations for fast/images/png-suite/test.html from IMAGE to MISSING.

  • platform/chromium/test_expectations.txt:
03:08 Changeset [116079] by caseq@chromium.org

Unreviewed gardening, marking http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html as slow.

  • platform/chromium/test_expectations.txt:
02:39 Changeset [116078] by carlosgc@webkit.org

Unreviewed, rolling out r116075.
http://trac.webkit.org/changeset/116075

WebKit2 build was broken while WebKit2 build was disabled in bots,
so nobody noticed it. Disable the WebKit2 build for now to keep
the bots green again until we find the actual commit that
broke the WebKit2 build.

  • configure.ac:
02:10 Changeset [116077] by loislo@chromium.org

Web Inspector: createRawLocationByURL is too slow if a big number of evals happen.
https://bugs.webkit.org/show_bug.cgi?id=85477

It iterates through all the _scripts even they have no url.
We can keep a separate map of scripts with url.

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype._globalObjectCleared):
(WebInspector.DebuggerModel.prototype._resetScriptsMap):
(WebInspector.DebuggerModel.prototype._parsedScriptSource):
(WebInspector.DebuggerModel.prototype.createRawLocationByURL):

LayoutTests:

  • http/tests/inspector/compiler-script-mapping.html:
  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • inspector/debugger/raw-source-code.html:
02:07 Changeset [116076] by commit-queue@webkit.org

[EFL] [DRT] fast/table/quote-text-around-iframe.html needs rebaselining
https://bugs.webkit.org/show_bug.cgi?id=85487

Unreviewed, EFL rebaseline after r115218.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-04

  • platform/efl/fast/table/quote-text-around-iframe-expected.png:
  • platform/efl/fast/table/quote-text-around-iframe-expected.txt:
01:20 Changeset [116075] by carlosgc@webkit.org

Unreviewed. Enable WebKit2 by default in configure.

This was removed in r115624 to make sure release 1.9.1 didn't have
WebKit2 enabled by default, because we are using the same library
versions for WebKit1 and WebKit2.

  • configure.ac: Enable WebKit2 by default.
00:25 Changeset [116074] by noel.gordon@gmail.com

Add PNG image pngsuite test
https://bugs.webkit.org/show_bug.cgi?id=85567

Reviewed by Eric Seidel.

From http://www.schaik.com/pngsuite, add images from this suite and license
details. Add a layout test. Add platform exceptions (since all ports have a
different broken image).

  • fast/images/png-suite/PngSuite.LICENSE: Added.
  • fast/images/png-suite/samples/basi0g01.png: Added.
  • fast/images/png-suite/samples/basi0g02.png: Added.
  • fast/images/png-suite/samples/basi0g04.png: Added.
  • fast/images/png-suite/samples/basi0g08.png: Added.
  • fast/images/png-suite/samples/basi0g16.png: Added.
  • fast/images/png-suite/samples/basi2c08.png: Added.
  • fast/images/png-suite/samples/basi2c16.png: Added.
  • fast/images/png-suite/samples/basi3p01.png: Added.
  • fast/images/png-suite/samples/basi3p02.png: Added.
  • fast/images/png-suite/samples/basi3p04.png: Added.
  • fast/images/png-suite/samples/basi3p08.png: Added.
  • fast/images/png-suite/samples/basi4a08.png: Added.
  • fast/images/png-suite/samples/basi4a16.png: Added.
  • fast/images/png-suite/samples/basi6a08.png: Added.
  • fast/images/png-suite/samples/basi6a16.png: Added.
  • fast/images/png-suite/samples/basn0g01.png: Added.
  • fast/images/png-suite/samples/basn0g02.png: Added.
  • fast/images/png-suite/samples/basn0g04.png: Added.
  • fast/images/png-suite/samples/basn0g08.png: Added.
  • fast/images/png-suite/samples/basn0g16.png: Added.
  • fast/images/png-suite/samples/basn2c08.png: Added.
  • fast/images/png-suite/samples/basn2c16.png: Added.
  • fast/images/png-suite/samples/basn3p01.png: Added.
  • fast/images/png-suite/samples/basn3p02.png: Added.
  • fast/images/png-suite/samples/basn3p04.png: Added.
  • fast/images/png-suite/samples/basn3p08.png: Added.
  • fast/images/png-suite/samples/basn4a08.png: Added.
  • fast/images/png-suite/samples/basn4a16.png: Added.
  • fast/images/png-suite/samples/basn6a08.png: Added.
  • fast/images/png-suite/samples/basn6a16.png: Added.
  • fast/images/png-suite/samples/bgai4a08.png: Added.
  • fast/images/png-suite/samples/bgai4a16.png: Added.
  • fast/images/png-suite/samples/bgan6a08.png: Added.
  • fast/images/png-suite/samples/bgan6a16.png: Added.
  • fast/images/png-suite/samples/bgbn4a08.png: Added.
  • fast/images/png-suite/samples/bggn4a16.png: Added.
  • fast/images/png-suite/samples/bgwn6a08.png: Added.
  • fast/images/png-suite/samples/bgyn6a16.png: Added.
  • fast/images/png-suite/samples/ccwn2c08.png: Added.
  • fast/images/png-suite/samples/ccwn3p08.png: Added.
  • fast/images/png-suite/samples/cdfn2c08.png: Added.
  • fast/images/png-suite/samples/cdhn2c08.png: Added.
  • fast/images/png-suite/samples/cdsn2c08.png: Added.
  • fast/images/png-suite/samples/cdun2c08.png: Added.
  • fast/images/png-suite/samples/ch1n3p04.png: Added.
  • fast/images/png-suite/samples/ch2n3p08.png: Added.
  • fast/images/png-suite/samples/cm0n0g04.png: Added.
  • fast/images/png-suite/samples/cm7n0g04.png: Added.
  • fast/images/png-suite/samples/cm9n0g04.png: Added.
  • fast/images/png-suite/samples/cs3n2c16.png: Added.
  • fast/images/png-suite/samples/cs3n3p08.png: Added.
  • fast/images/png-suite/samples/cs5n2c08.png: Added.
  • fast/images/png-suite/samples/cs5n3p08.png: Added.
  • fast/images/png-suite/samples/cs8n2c08.png: Added.
  • fast/images/png-suite/samples/cs8n3p08.png: Added.
  • fast/images/png-suite/samples/ct0n0g04.png: Added.
  • fast/images/png-suite/samples/ct1n0g04.png: Added.
  • fast/images/png-suite/samples/cten0g04.png: Added.
  • fast/images/png-suite/samples/ctfn0g04.png: Added.
  • fast/images/png-suite/samples/ctgn0g04.png: Added.
  • fast/images/png-suite/samples/cthn0g04.png: Added.
  • fast/images/png-suite/samples/ctjn0g04.png: Added.
  • fast/images/png-suite/samples/ctzn0g04.png: Added.
  • fast/images/png-suite/samples/f00n0g08.png: Added.
  • fast/images/png-suite/samples/f00n2c08.png: Added.
  • fast/images/png-suite/samples/f01n0g08.png: Added.
  • fast/images/png-suite/samples/f01n2c08.png: Added.
  • fast/images/png-suite/samples/f02n0g08.png: Added.
  • fast/images/png-suite/samples/f02n2c08.png: Added.
  • fast/images/png-suite/samples/f03n0g08.png: Added.
  • fast/images/png-suite/samples/f03n2c08.png: Added.
  • fast/images/png-suite/samples/f04n0g08.png: Added.
  • fast/images/png-suite/samples/f04n2c08.png: Added.
  • fast/images/png-suite/samples/f99n0g04.png: Added.
  • fast/images/png-suite/samples/g03n0g16.png: Added.
  • fast/images/png-suite/samples/g03n2c08.png: Added.
  • fast/images/png-suite/samples/g03n3p04.png: Added.
  • fast/images/png-suite/samples/g04n0g16.png: Added.
  • fast/images/png-suite/samples/g04n2c08.png: Added.
  • fast/images/png-suite/samples/g04n3p04.png: Added.
  • fast/images/png-suite/samples/g05n0g16.png: Added.
  • fast/images/png-suite/samples/g05n2c08.png: Added.
  • fast/images/png-suite/samples/g05n3p04.png: Added.
  • fast/images/png-suite/samples/g07n0g16.png: Added.
  • fast/images/png-suite/samples/g07n2c08.png: Added.
  • fast/images/png-suite/samples/g07n3p04.png: Added.
  • fast/images/png-suite/samples/g10n0g16.png: Added.
  • fast/images/png-suite/samples/g10n2c08.png: Added.
  • fast/images/png-suite/samples/g10n3p04.png: Added.
  • fast/images/png-suite/samples/g25n0g16.png: Added.
  • fast/images/png-suite/samples/g25n2c08.png: Added.
  • fast/images/png-suite/samples/g25n3p04.png: Added.
  • fast/images/png-suite/samples/oi1n0g16.png: Added.
  • fast/images/png-suite/samples/oi1n2c16.png: Added.
  • fast/images/png-suite/samples/oi2n0g16.png: Added.
  • fast/images/png-suite/samples/oi2n2c16.png: Added.
  • fast/images/png-suite/samples/oi4n0g16.png: Added.
  • fast/images/png-suite/samples/oi4n2c16.png: Added.
  • fast/images/png-suite/samples/oi9n0g16.png: Added.
  • fast/images/png-suite/samples/oi9n2c16.png: Added.
  • fast/images/png-suite/samples/pp0n2c16.png: Added.
  • fast/images/png-suite/samples/pp0n6a08.png: Added.
  • fast/images/png-suite/samples/ps1n0g08.png: Added.
  • fast/images/png-suite/samples/ps1n2c16.png: Added.
  • fast/images/png-suite/samples/ps2n0g08.png: Added.
  • fast/images/png-suite/samples/ps2n2c16.png: Added.
  • fast/images/png-suite/samples/s01i3p01.png: Added.
  • fast/images/png-suite/samples/s01n3p01.png: Added.
  • fast/images/png-suite/samples/s02i3p01.png: Added.
  • fast/images/png-suite/samples/s02n3p01.png: Added.
  • fast/images/png-suite/samples/s03i3p01.png: Added.
  • fast/images/png-suite/samples/s03n3p01.png: Added.
  • fast/images/png-suite/samples/s04i3p01.png: Added.
  • fast/images/png-suite/samples/s04n3p01.png: Added.
  • fast/images/png-suite/samples/s05i3p02.png: Added.
  • fast/images/png-suite/samples/s05n3p02.png: Added.
  • fast/images/png-suite/samples/s06i3p02.png: Added.
  • fast/images/png-suite/samples/s06n3p02.png: Added.
  • fast/images/png-suite/samples/s07i3p02.png: Added.
  • fast/images/png-suite/samples/s07n3p02.png: Added.
  • fast/images/png-suite/samples/s08i3p02.png: Added.
  • fast/images/png-suite/samples/s08n3p02.png: Added.
  • fast/images/png-suite/samples/s09i3p02.png: Added.
  • fast/images/png-suite/samples/s09n3p02.png: Added.
  • fast/images/png-suite/samples/s32i3p04.png: Added.
  • fast/images/png-suite/samples/s32n3p04.png: Added.
  • fast/images/png-suite/samples/s33i3p04.png: Added.
  • fast/images/png-suite/samples/s33n3p04.png: Added.
  • fast/images/png-suite/samples/s34i3p04.png: Added.
  • fast/images/png-suite/samples/s34n3p04.png: Added.
  • fast/images/png-suite/samples/s35i3p04.png: Added.
  • fast/images/png-suite/samples/s35n3p04.png: Added.
  • fast/images/png-suite/samples/s36i3p04.png: Added.
  • fast/images/png-suite/samples/s36n3p04.png: Added.
  • fast/images/png-suite/samples/s37i3p04.png: Added.
  • fast/images/png-suite/samples/s37n3p04.png: Added.
  • fast/images/png-suite/samples/s38i3p04.png: Added.
  • fast/images/png-suite/samples/s38n3p04.png: Added.
  • fast/images/png-suite/samples/s39i3p04.png: Added.
  • fast/images/png-suite/samples/s39n3p04.png: Added.
  • fast/images/png-suite/samples/s40i3p04.png: Added.
  • fast/images/png-suite/samples/s40n3p04.png: Added.
  • fast/images/png-suite/samples/tbbn0g04.png: Added.
  • fast/images/png-suite/samples/tbbn2c16.png: Added.
  • fast/images/png-suite/samples/tbbn3p08.png: Added.
  • fast/images/png-suite/samples/tbgn2c16.png: Added.
  • fast/images/png-suite/samples/tbgn3p08.png: Added.
  • fast/images/png-suite/samples/tbrn2c08.png: Added.
  • fast/images/png-suite/samples/tbwn0g16.png: Added.
  • fast/images/png-suite/samples/tbwn3p08.png: Added.
  • fast/images/png-suite/samples/tbyn3p08.png: Added.
  • fast/images/png-suite/samples/tp0n0g08.png: Added.
  • fast/images/png-suite/samples/tp0n2c08.png: Added.
  • fast/images/png-suite/samples/tp0n3p08.png: Added.
  • fast/images/png-suite/samples/tp1n3p08.png: Added.
  • fast/images/png-suite/samples/xc1n0g08.png: Added.
  • fast/images/png-suite/samples/xc9n2c08.png: Added.
  • fast/images/png-suite/samples/xcrn0g04.png: Added.
  • fast/images/png-suite/samples/xcsn0g01.png: Added.
  • fast/images/png-suite/samples/xd0n2c08.png: Added.
  • fast/images/png-suite/samples/xd3n2c08.png: Added.
  • fast/images/png-suite/samples/xd9n2c08.png: Added.
  • fast/images/png-suite/samples/xdtn0g01.png: Added.
  • fast/images/png-suite/samples/xhdn0g08.png: Added.
  • fast/images/png-suite/samples/xlfn0g04.png: Added.
  • fast/images/png-suite/samples/xs1n0g01.png: Added.
  • fast/images/png-suite/samples/xs2n0g01.png: Added.
  • fast/images/png-suite/samples/xs4n0g01.png: Added.
  • fast/images/png-suite/samples/xs7n0g01.png: Added.
  • fast/images/png-suite/samples/z00n2c08.png: Added.
  • fast/images/png-suite/samples/z03n2c08.png: Added.
  • fast/images/png-suite/samples/z06n2c08.png: Added.
  • fast/images/png-suite/samples/z09n2c08.png: Added.
  • fast/images/png-suite/test-expected.png: Added.
  • fast/images/png-suite/test.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/fast/images/png-suite/test-expected.png: Added.
  • platform/qt/test_expectations.txt:
  • platform/wincairo/Skipped:

05/03/12:

23:59 Changeset [116073] by commit-queue@webkit.org

[EFL] DRT should obey layoutTestController's addURLToRedirect()
https://bugs.webkit.org/show_bug.cgi?id=82722

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-03
Reviewed by Maciej Stachowiak.

Tools:

Implement support for layoutTestController's addURLToRedirect()
in EFL's DRT so that it redirects properly when indicated.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::onWillSendRequest):

LayoutTests:

Unskip http/tests/loading/cross-origin-XHR-willLoadRequest.html now
that EFL's DRT obeys layoutTestController's addURLToRedirect().

  • platform/efl/Skipped:
23:47 Changeset [116072] by isherman@chromium.org

[Qt] REGRESSION(r113511): fast/forms/input-autofilled.html fails
Unskip the failing test now that r113511 has been reverted.
https://bugs.webkit.org/show_bug.cgi?id=83418

Reviewed by Simon Hausmann.

  • platform/qt/Skipped:
23:24 Changeset [116071] by commit-queue@webkit.org

[EFL] DRT should support LayoutTestController's willSendRequestReturnsNullOnRedirect()
https://bugs.webkit.org/show_bug.cgi?id=82704

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-03
Reviewed by Antonio Gomes.

Tools:

EFL's DRT needs to obey LayoutTestController's
willSendRequestReturnsNullOnRedirect().

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::onWillSendRequest):

LayoutTests:

Update test_expectations.txt now that EFL's DumpRenderTree supports
LayoutTestController's willSendRequestReturnsNullOnRedirect().

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
23:05 Changeset [116070] by zandobersek@gmail.com

Unreviewed, gardening after r116009 and r116039.

  • fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
  • http/tests/workers/worker-importScriptsOnError-expected.txt:
  • platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
  • platform/gtk/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/gtk/test_expectations.txt:
22:52 Changeset [116069] by commit-queue@webkit.org

Antialias single-edge solid borders
https://bugs.webkit.org/show_bug.cgi?id=85031

Patch by David Barr <davidbarr@chromium.org> on 2012-05-03
Reviewed by Simon Fraser.

Source/WebCore:

Antialiasing is avoided for adjacent edges due to artifacts at the seam.
There are no such artifacts for single-edge borders so enable antialiasing.

Test: fast/css/border-solid-single-edge-antialias.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBorder):

LayoutTests:

  • fast/css/border-solid-single-edge-antialias-expected.png: Added.
  • fast/css/border-solid-single-edge-antialias-expected.txt: Added.
  • fast/css/border-solid-single-edge-antialias.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
  • platform/win/test_expectations.txt:
21:43 WebKitGTK/1.8.x edited by mrobinson@webkit.org
(diff)
21:37 WebKitGTK/1.8.x edited by mrobinson@webkit.org
(diff)
20:55 Changeset [116068] by rakuco@webkit.org

[EFL] Unreviewed, add some other missing baselines.

  • platform/efl/fast/html/details-marker-style-actual.txt: Added.
  • platform/efl/media/media-can-play-webm-actual.txt: Added.
20:52 Changeset [116067] by rakuco@webkit.org

[EFL] Unreviewed, add baseline for r116001.

  • platform/efl/svg/as-image/image-respects-pageScaleFactor-actual.txt: Added.
20:45 Changeset [116066] by abarth@webkit.org

CSP: Eval isn't blocked in about:blank subframes
https://bugs.webkit.org/show_bug.cgi?id=85553

Reviewed by Eric Seidel.

Source/WebCore:

ContentSecurityPolicy has a back pointer to ScriptExecutionContext.
That means we shouldn't share a single ContentSecurityPolicy object
between multiple ScriptExecutionContexts. This patch copies the state
from one ScriptExecutionContext to another rather than sharing the
ContentSecurityPolicy object itself.

This resulted in a subtle but w.r.t. blocking eval. Because we block
eval by setting a bit in the JavaScript engine when enforcing the
policy, that bit wasn't copied along with the rest of the state when we
were sharing the ContentSecurityPolicy object. Now that we use the
more robust ContentSecurityPolicy::copyStateFrom function, we don't
have that bug.

Test: http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext):
(WebCore):
(WebCore::Document::initContentSecurityPolicy):

  • dom/Document.h:

(Document):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::setContentSecurityPolicy):

  • dom/SecurityContext.h:

(SecurityContext):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didBeginDocument):

  • page/ContentSecurityPolicy.h:

(WebCore::ContentSecurityPolicy::create):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html: Added.
    • New test for the eval issue.
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/script-src-in-iframe-expected.txt:
    • Now that we re-parse the CSP policy, we log parse errors to the console more times. This isn't ideal and is something we might change in the future.
  • platform/chromium/http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe-expected.txt: Added.
    • Add a Chromium-specific baseline for this test because the eval error is slightly different between V8 and JSC.
20:42 Changeset [116065] by inferno@chromium.org

Regression(r113769): Crash in AudioNodeOutput::disconnectAllParams.
https://bugs.webkit.org/show_bug.cgi?id=85196

Reviewed by Chris Rogers.

RefPtr the AudioParam hashset in AudioNodeOutput to prevent accessing
destroyed entries.

No new tests. Unable to reproduce it in DRT.

  • Modules/webaudio/AudioNodeOutput.cpp:

(WebCore::AudioNodeOutput::disconnectAllParams):

  • Modules/webaudio/AudioNodeOutput.h:

(AudioNodeOutput):

20:25 Changeset [116064] by rakuco@webkit.org

git-add-reviewer: Do not put the bug title and its URL in the same line in the commit message.
https://bugs.webkit.org/show_bug.cgi?id=85570

Reviewed by Adam Roben.

The standard format of commit messages and ChangeLog entries has a
short summary in the first line, followed by the bug URL in
Bugzilla. Passing "%s" in the pretty format line to git-rev-list
merges these two lines into a single one separated by a space
character, which is not what we want.

Since "%s%n%n%b" is in practice "%B" (raw message), use it
instead, as the first two lines do not end up being merged
together.

  • Scripts/git-add-reviewer:

(writeCommitMessageToFile):

19:41 Changeset [116063] by commit-queue@webkit.org

Update mac test expectations after r115927
https://bugs.webkit.org/show_bug.cgi?id=85569

Patch by David Barr <davidbarr@chromium.org> on 2012-05-03
Reviewed by Dirk Pranke.

The tests were removed on r115927. Remove them from the mac test expectations.

  • platform/mac/test_expectations.txt:
18:57 Changeset [116062] by ojan@chromium.org

Improve UI for garden-o-matic examine view when there are fewer than 5 tests.
https://bugs.webkit.org/show_bug.cgi?id=85566

Reviewed by Adam Barth.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:

(.):

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js:

(.):

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:
18:53 Changeset [116061] by rakuco@webkit.org

webkitpy: Recognize FreeBSD as a valid platform.
https://bugs.webkit.org/show_bug.cgi?id=81467

Reviewed by Adam Barth.

Add PlatformInfo.is_freebsd() so that trying to use webkit-patch
on FreeBSD does not raise an "unrecognized platform" exception.

Most of this patch contains some unit tests for the mentioned
method, as currently platform-specific code is needed only on
Windows.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.init):
(PlatformInfo.is_freebsd):
(PlatformInfo._determine_os_name):

  • Scripts/webkitpy/common/system/platforminfo_mock.py:

(MockPlatformInfo.is_freebsd):

  • Scripts/webkitpy/common/system/platforminfo_unittest.py:

(fake_platform):
(fake_platform.FakePlatformModule.release):
(TestPlatformInfo.test_real_code):
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):
(TestPlatformInfo.test_free_bytes_memory):

  • Scripts/webkitpy/layout_tests/port/factory.py:

(PortFactory._default_port):

18:51 Changeset [116060] by ojan@chromium.org

Make the table headers white-space:nowrap. This decreases the vertical size,
which makes for more minimal embedding in garden-o-matic.

  • TestResultServer/static-dashboards/flakiness_dashboard_tests.css:

(.table-header-content *):

18:45 Changeset [116059] by noel.gordon@gmail.com

PNGImageDecoder: Clean up rowAvailable() some more
https://bugs.webkit.org/show_bug.cgi?id=85464

Reviewed by Eric Seidel.

No new tests. Covered by existing tests: fast/images/png-extra-row-crash.html in
particular.

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

(WebCore::PNGImageDecoder::rowAvailable): Use colorChannels consistently. Split
the useful libpng comments in two, then place the early-out code and conditions
inbetween. The png variable is only used in one place so move it there.

18:35 Changeset [116058] by ojan@chromium.org

Histogram total allocated bytes in the arena in addition to the render tree size
https://bugs.webkit.org/show_bug.cgi?id=85537

Reviewed by Eric Seidel.

Source/WebCore:

We only free bytes allocated to a RenderArena when destroying the Document.
Histogram both the render tree size and the total bytes allocated. This
gives a better sense of the overhead of RenderArena as well as giving a more
accurate number for the amount of actual memory used by the render tree.

No new tests. This is not webfacing, so this can't be tested without adding
API to layout test controller, which doesn't seem worth it for this code.

  • page/Page.cpp:

(WebCore::Page::renderTreeSize):
(WebCore::Page::setVisibilityState):

  • page/Page.h:

(Page):

  • platform/Arena.cpp:

(WebCore::ArenaAllocate):

  • platform/Arena.h:

(WebCore):

  • rendering/RenderArena.cpp:

(WebCore::RenderArena::allocate):

  • rendering/RenderArena.h:

(WebCore::RenderArena::totalRenderArenaAllocatedBytes):
(RenderArena):

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::renderTreeSize):

18:28 Changeset [116057] by mary.wu@torchmobile.com.cn

[BlackBerry] Add missed member in CrossThreadResourceRequestData
https://bugs.webkit.org/show_bug.cgi?id=85448

Reviewed by Antonio Gomes.

  • platform/network/blackberry/ResourceRequest.h:

(CrossThreadResourceRequestData):

  • platform/network/blackberry/ResourceRequestBlackBerry.cpp:

(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):

18:21 Changeset [116056] by zmo@google.com

Unreviewed, rebaseline.

  • platform/chromium-linux/fast/xmlhttprequest: Added.
  • platform/chromium-linux/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Added.
  • platform/chromium-mac/fast/xmlhttprequest: Removed.
  • platform/chromium-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Removed.
  • platform/chromium-mac/http/tests/workers: Removed.
  • platform/chromium-win/fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
  • platform/chromium/fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Added.
  • platform/chromium/http/tests/workers/worker-importScriptsOnError-expected.txt: Replaced.
18:06 Changeset [116055] by eric@webkit.org

Split build-webkit's feature option list off into its own module in preparation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=85548

Reviewed by Daniel Bates.

My Perl-fu is very weak. This moves the feature option list off into a separate module
file so that I can easily autogenerate just that file with the fancy new generate-feature-files command.
It's a bit odd to have an array which we return out to build-webkit to modify, but it turns out
not to matter. Also, build-webkit doesn't actually use any of the variables we're using to
store the results from the option parse, so those end up inaccessible from build-webkit (except by reference)
which is actually cleaner. Callers can't assume that they would get a new array every time, but someone
with more Perl-fu than I could create something fancier than this if we need in the future.

  • Scripts/build-webkit:
  • Scripts/webkitperl/FeatureList.pm: Added.

(getFeatureOptionList):

18:05 Changeset [116054] by oliver@apple.com

Regression(r114702): Clobbering the caller frame register before we've stored it.
https://bugs.webkit.org/show_bug.cgi?id=85564

Reviewed by Filip Pizlo.

Don't use t0 as a temporary, when we're about to use the value in t0.

  • llint/LowLevelInterpreter32_64.asm:
18:00 Changeset [116053] by andersca@apple.com

useWebKitWebInspector should be more robust against missing files
https://bugs.webkit.org/show_bug.cgi?id=85563
<rdar://problem/11373948>

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebInspectorClient.mm:

(useWebKitWebInspector):

17:53 Changeset [116052] by abarth@webkit.org

CSP shouldn't block about:blank for iframes
https://bugs.webkit.org/show_bug.cgi?id=85233

Reviewed by Eric Seidel.

Source/WebCore:

As discussed at the W3C WebAppSec face-to-face meeting, there's no
point in blocking about:blank iframes or objects because blocking a
frame or object just results in displaying about:blank anyway. This
patch just removes the spurious console message and violation report.

Test: http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):

LayoutTests:

Test that about:blank iframes and objects don't generate debug log
messages.

  • http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html: Added.
17:49 Changeset [116051] by zmo@google.com

Unreviewed, rolling out r116040.
http://trac.webkit.org/changeset/116040
https://bugs.webkit.org/show_bug.cgi?id=85559

Broke a few IndexedDB browsertests (Requested by zhenyao on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-03

Source/WebCore:

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::direction):

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transaction):
(WebCore):

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::openCursor):

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::openCursor):
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::readyState):
(WebCore::IDBRequest::markEarlyDeath):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::finishCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::stop):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::mode):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • Modules/indexeddb/IDBTransaction.idl:

LayoutTests:

  • http/tests/inspector/indexeddb/indexeddb-test.js:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/constants-expected.txt:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/cursor-added-bug-expected.txt:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-delete-expected.txt:
  • storage/indexeddb/cursor-inconsistency-expected.txt:
  • storage/indexeddb/cursor-index-delete-expected.txt:
  • storage/indexeddb/cursor-key-order-expected.txt:
  • storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
  • storage/indexeddb/cursor-primary-key-order-expected.txt:
  • storage/indexeddb/cursor-reverse-bug-expected.txt:
  • storage/indexeddb/cursor-skip-deleted-expected.txt:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/database-quota-expected.txt:
  • storage/indexeddb/delete-range-expected.txt:
  • storage/indexeddb/error-causes-abort-by-default-expected.txt:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-unique-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-intrinsic-properties-expected.txt:
  • storage/indexeddb/legacy-constants-expected.txt: Removed.
  • storage/indexeddb/legacy-constants.html: Removed.
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/create-index-unique-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/clear.js:

(clear):

  • storage/indexeddb/mozilla/resources/create-index-unique.js:

(createAndVerifyIndex):

  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:

(cleanDatabase):

  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:

(checkCursorResultsAndSetupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursor-mutation.js:

(setupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:

(addRecord):
(deleteRecord):

  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:

(setVersionComplete):
(postAdd):
(postAdd2):
(postPut):
(postPut2):
(postPut3):
(postPut4):
(postDelete):
(postDelete2):

  • storage/indexeddb/mozilla/resources/readyState.js:

(test):
(openSuccess):
(setupObjectStore):
(getRecord):
(finalCheck):

  • storage/indexeddb/mozilla/resources/versionchange.js:

(postSetVersion):
(postSetVersion2):

  • storage/indexeddb/mozilla/versionchange-expected.txt:
  • storage/indexeddb/mutating-cursor-expected.txt:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/opencursor-key-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/request-event-propagation-expected.txt:
  • storage/indexeddb/resources/basics.js:

(test):
(openCallback):

  • storage/indexeddb/resources/constants.js:

(test):

  • storage/indexeddb/resources/create-object-store-options.js:

(setVersionComplete):

  • storage/indexeddb/resources/cursor-added-bug.js:

(openCursor):

  • storage/indexeddb/resources/cursor-advance.js:

(runTest):
(testAdvanceIndexNoDupe):
(testAdvanceIndexPrev):
(testAdvanceIndexPrevNoDupe):

  • storage/indexeddb/resources/cursor-continue-validity.js:

(continueTest):
(continueIndexTest):
(testModifyContinueOrder):

  • storage/indexeddb/resources/cursor-continue.js:

(ascendingTest):
(descendingTest):

  • storage/indexeddb/resources/cursor-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-inconsistency.js:

(openBasicCursor):

  • storage/indexeddb/resources/cursor-index-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:

(populateStore):
(testFarRangeCursor_closed):
(testFarRangeCursor_open):
(testFarRangeCursor_indexClosed):
(testFarRangeCursor_indexOpen):
(testFarRangeCursor_indexKeyOpen):
(testFarRangeCursor_indexKeyClosed):
(testBoundaryCursor_closed):
(testBoundaryCursor_open):
(testBoundaryCursor_indexClosed):
(testBoundaryCursor_indexOpen):
(testBoundaryCursor_indexKeyClosed):
(testBoundaryCursor_indexKeyOpen):
(testNoDuplicate_closed):
(testNoDuplicate_open):
(testNoDuplicate_indexKeyClosed):

  • storage/indexeddb/resources/cursor-primary-key-order.js:

(populateStore):

  • storage/indexeddb/resources/cursor-reverse-bug.js:

(populateStore):
(testCursor):

  • storage/indexeddb/resources/cursor-skip-deleted.js:

(basicCursorTest):
(reverseCursorTest):

  • storage/indexeddb/resources/cursor-update.js:

(openBasicCursor):

  • storage/indexeddb/resources/data-corruption.js:

(addData):
(getData):

  • storage/indexeddb/resources/database-quota.js:

(checkQuotaEnforcing):

  • storage/indexeddb/resources/delete-range.js:

(runTests.nextTest):
(runTests):

  • storage/indexeddb/resources/error-causes-abort-by-default.js:

(addData):
(transactionCompleted):
(transactionAborted1):

  • storage/indexeddb/resources/exception-in-event-aborts.js:

(startTest):
(transactionAborted1):
(transactionAborted2):

  • storage/indexeddb/resources/factory-deletedatabase.js:

(getValue):

  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-unique.js:

(setVersionCompleted):

  • storage/indexeddb/resources/key-generator.js:

(.):

  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/legacy-constants.js: Removed.
  • storage/indexeddb/resources/mutating-cursor.js:

(openForwardCursor):
(openReverseCursor):

  • storage/indexeddb/resources/objectstore-autoincrement.js:

(setVersionCompleted):

  • storage/indexeddb/resources/objectstore-basics.js:

(addData):
(addAgainFailure):

  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/open-cursor.js:

(cursorWithKeySuccess):
(cursorSuccess):

  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/request-event-propagation.js:

(startTest):
(transactionAborted):
(transactionAborted2):

  • storage/indexeddb/resources/set_version_blocked.js:

(blocked):

  • storage/indexeddb/resources/transaction-abort.js:

(startTest):

  • storage/indexeddb/resources/transaction-after-close.js:

(runFirstRegularTransaction):
(firstTransactionComplete):
(onSecondOpen):

  • storage/indexeddb/resources/transaction-basics.js:

(testInvalidMode):

  • storage/indexeddb/resources/transaction-event-propagation.js:

(startTest):
(dbAbortBubbleCallback):

  • storage/indexeddb/resources/transaction-rollback.js:

(setVersionComplete):
(abortCallback):

  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-abort-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-event-propagation-expected.txt:
  • storage/indexeddb/transaction-rollback-expected.txt:
  • storage/indexeddb/tutorial.html:
17:49 FeatureFlags edited by tkent@chromium.org
Remove NATIVE_FULLSCREEN_VIDEO, add PARSED_STYLE_SHEET_CACHING (diff)
17:42 Changeset [116050] by dpranke@chromium.org

REGRESSION: run-webkit-tests failing on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=85459

Unreviewed, build fix.

Turns out select doesn't throw IOErrors, it has it's own kind of
error :(. Trap that instead.

  • Scripts/webkitpy/layout_tests/port/server_process.py:

(ServerProcess._wait_for_data_and_update_buffers_using_select):

17:39 Changeset [116049] by rakuco@webkit.org

[CMake] Rewrite FindCairo.cmake.
https://bugs.webkit.org/show_bug.cgi?id=84895

Reviewed by Daniel Bates.

The old approach relied on pkg-config for finding Cairo (which
introduced a dependency on pkg-config that could be avoided), used
the LibFindMacros code that we should probably remove in the
future and did not use the FindPackageHandleStandardArguments
module.

Change all that by rewriting the module.

  • Use the pkg-config output optionally instead of requiring it

like LibFindMacros did.

  • Remove the implicit dependency on FreeType which often found it

the wrong way via pkg-config and without considering
CMAKE_PREFIX_PATH.

  • Retrieve the Cairo version by looking at cairo-version.h instead

of relying on pkg-config. It requires some additional code for
checking if the desired version has been found, but that will not
be needed once we start depending on CMake 2.8.3 or later.

The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
instead of <Name>_FOUND, and to keep things consistent
Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
and CAIRO_INCLUDE_DIRS.

.:

  • Source/cmake/FindCairo.cmake:

Source/WebCore:

No new tests, build system change.

  • PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.

Source/WebKit:

  • PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.

Source/WebKit2:

  • PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.

Tools:

  • DumpRenderTree/efl/CMakeLists.txt: Use CAIRO_FOO instead of

Cairo_FOO.

  • EWebLauncher/CMakeLists.txt: Ditto.
17:36 Changeset [116048] by andersca@apple.com

Focus ring only appears in top-left tile
https://bugs.webkit.org/show_bug.cgi?id=85556
<rdar://problem/11359656>

Reviewed by Simon Fraser.

It is sufficient to just apply the current CTM to the clip rect and set that as the focus ring clip rect.

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

17:16 Changeset [116047] by zmo@google.com

Unreviewed, test expectations update.

  • platform/chromium/test_expectations.txt:
17:04 Changeset [116046] by ojan@chromium.org

Fix modifier and bug sorting on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=85554

Reviewed by Dirk Pranke.

The sorting assumes that the column header name matches a field
in the testResults object and uses that field for sorting.
Filter the bugs out of the modifiers list and put them in a bugs field
and only put the non-bug modifiers in the modifiers list.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(populateExpectationsData):
(htmlForSingleTestRow):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
16:57 Changeset [116045] by ojan@chromium.org

Fix some state resetting when running unittests. HtmlForSingleTestRow
was flaky.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(htmlForSingleTestRow):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(resetGlobals):

16:55 Changeset [116044] by mhahnenberg@apple.com

Removing remainder of accidental printfs.

  • heap/Heap.cpp:

(JSC::Heap::collect):

16:51 Changeset [116043] by aestes@apple.com

If you add printf()s to your garbage collector, the layout tests are gonna have a bad time.

  • runtime/GCActivityCallbackCF.cpp:

(JSC::DefaultGCActivityCallbackPlatformData::timerDidFire):

16:45 Changeset [116042] by rakuco@webkit.org

webkitpy: Use PlatformInfo wherever possible in the User class.
https://bugs.webkit.org/show_bug.cgi?id=85549

Reviewed by Dirk Pranke.

Instead of relying on sys.platform to detect whether the current
platform is a Mac, use the PlatformInfo class instead.

  • Scripts/webkitpy/common/system/user.py:

(User.init):
(User.edit_changelog):

16:41 Changeset [116041] by ojan@chromium.org

Remove the percent failed column from the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=85552

Reviewed by Dirk Pranke.

This column isn't useful enough to justify the visual noise.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(processMissingAndExtraExpectations):
(tableHeaders):
(htmlForSingleTestRow):
(sortTests):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

16:39 Changeset [116040] by commit-queue@webkit.org

IndexedDB: Replace numeric constants with strings
https://bugs.webkit.org/show_bug.cgi?id=84894

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-03
Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/legacy-constants.html

Update IDBObjectStore.openCursor, IDBIndex.openCursor,
IDBIndex.openKeyCursor, IDBDatabase.transaction,
IDBCursor.direction, IDBTransaction.mode, and
IDBRequest.readyState to meet the latest spec. All of these APIs
now support string-based values in addition to the
legacy/deprecated enum-based values.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore):
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transaction):
(WebCore):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(IDBIndex):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::openCursor):
(WebCore):

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::openCursor):
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::readyState):
(WebCore::IDBRequest::markEarlyDeath):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::finishCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::stop):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore):
(WebCore::IDBTransaction::mode):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • Modules/indexeddb/IDBTransaction.idl:

LayoutTests:

New test for legacy constants (legacy-constants) and update all
other tests to use the new string-based constants.

  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/constants-expected.txt:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/cursor-added-bug-expected.txt:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-delete-expected.txt:
  • storage/indexeddb/cursor-inconsistency-expected.txt:
  • storage/indexeddb/cursor-index-delete-expected.txt:
  • storage/indexeddb/cursor-key-order-expected.txt:
  • storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
  • storage/indexeddb/cursor-primary-key-order-expected.txt:
  • storage/indexeddb/cursor-reverse-bug-expected.txt:
  • storage/indexeddb/cursor-skip-deleted-expected.txt:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/database-quota-expected.txt:
  • storage/indexeddb/delete-range-expected.txt:
  • storage/indexeddb/error-causes-abort-by-default-expected.txt:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-unique-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-intrinsic-properties-expected.txt:
  • storage/indexeddb/legacy-constants-expected.txt: Added.
  • storage/indexeddb/legacy-constants.html: Added.
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/create-index-unique-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/clear.js:

(clear):

  • storage/indexeddb/mozilla/resources/create-index-unique.js:

(createAndVerifyIndex):

  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:

(cleanDatabase):

  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:

(checkCursorResultsAndSetupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursor-mutation.js:

(setupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:

(addRecord):
(deleteRecord):

  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:

(setVersionComplete):
(postAdd):
(postAdd2):
(postPut):
(postPut2):
(postPut3):
(postPut4):
(postDelete):
(postDelete2):

  • storage/indexeddb/mozilla/resources/readyState.js:

(test):
(openSuccess):
(setupObjectStore):
(getRecord):
(finalCheck):

  • storage/indexeddb/mozilla/resources/versionchange.js:

(postSetVersion):
(postSetVersion2):

  • storage/indexeddb/mozilla/versionchange-expected.txt:
  • storage/indexeddb/mutating-cursor-expected.txt:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/opencursor-key-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/request-event-propagation-expected.txt:
  • storage/indexeddb/resources/basics.js:

(test):
(openCallback):

  • storage/indexeddb/resources/constants.js:

(test):

  • storage/indexeddb/resources/create-object-store-options.js:

(setVersionComplete):

  • storage/indexeddb/resources/cursor-added-bug.js:

(openCursor):

  • storage/indexeddb/resources/cursor-advance.js:

(runTest):
(testAdvanceIndexNoDupe):
(testAdvanceIndexPrev):
(testAdvanceIndexPrevNoDupe):

  • storage/indexeddb/resources/cursor-continue-validity.js:

(continueTest):
(continueIndexTest):
(testModifyContinueOrder):

  • storage/indexeddb/resources/cursor-continue.js:

(ascendingTest):
(descendingTest):

  • storage/indexeddb/resources/cursor-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-inconsistency.js:

(openBasicCursor):

  • storage/indexeddb/resources/cursor-index-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:

(populateStore):
(testFarRangeCursor_closed):
(testFarRangeCursor_open):
(testFarRangeCursor_indexClosed):
(testFarRangeCursor_indexOpen):
(testFarRangeCursor_indexKeyOpen):
(testFarRangeCursor_indexKeyClosed):
(testBoundaryCursor_closed):
(testBoundaryCursor_open):
(testBoundaryCursor_indexClosed):
(testBoundaryCursor_indexOpen):
(testBoundaryCursor_indexKeyClosed):
(testBoundaryCursor_indexKeyOpen):
(testNoDuplicate_closed):
(testNoDuplicate_open):
(testNoDuplicate_indexKeyClosed):

  • storage/indexeddb/resources/cursor-primary-key-order.js:

(populateStore):

  • storage/indexeddb/resources/cursor-reverse-bug.js:

(populateStore):
(testCursor):

  • storage/indexeddb/resources/cursor-skip-deleted.js:

(basicCursorTest):
(reverseCursorTest):

  • storage/indexeddb/resources/cursor-update.js:

(openBasicCursor):

  • storage/indexeddb/resources/data-corruption.js:

(addData):
(getData):

  • storage/indexeddb/resources/database-quota.js:

(checkQuotaEnforcing):

  • storage/indexeddb/resources/delete-range.js:

(runTests.nextTest):
(runTests):

  • storage/indexeddb/resources/error-causes-abort-by-default.js:

(addData):
(transactionCompleted):
(transactionAborted1):

  • storage/indexeddb/resources/exception-in-event-aborts.js:

(startTest):
(transactionAborted1):
(transactionAborted2):

  • storage/indexeddb/resources/factory-deletedatabase.js:

(getValue):

  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-unique.js:

(setVersionCompleted):

  • storage/indexeddb/resources/key-generator.js:

(.):

  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/legacy-constants.js: Added.

(test):
(prepareDatabase.openreq.onsuccess.verreq.onsuccess):
(prepareDatabase.openreq.onsuccess):
(prepareDatabase):
(populateStore):
(checkNext.request.onsuccess):
(checkNext):
(checkNextNoDuplicate.request.onsuccess):
(checkNextNoDuplicate):
(checkPrev.request.onsuccess):
(checkPrev):
(checkPrevNoDuplicate.request.onsuccess):
(checkPrevNoDuplicate):

  • storage/indexeddb/resources/mutating-cursor.js:

(openForwardCursor):
(openReverseCursor):

  • storage/indexeddb/resources/objectstore-autoincrement.js:

(setVersionCompleted):

  • storage/indexeddb/resources/objectstore-basics.js:

(addData):
(addAgainFailure):

  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/open-cursor.js:

(cursorWithKeySuccess):
(cursorSuccess):

  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/request-event-propagation.js:

(startTest):
(transactionAborted):
(transactionAborted2):

  • storage/indexeddb/resources/set_version_blocked.js:

(blocked):

  • storage/indexeddb/resources/transaction-abort.js:

(startTest):

  • storage/indexeddb/resources/transaction-after-close.js:

(runFirstRegularTransaction):
(firstTransactionComplete):
(onSecondOpen):

  • storage/indexeddb/resources/transaction-basics.js:

(testInvalidMode):

  • storage/indexeddb/resources/transaction-event-propagation.js:

(startTest):
(dbAbortBubbleCallback):

  • storage/indexeddb/resources/transaction-rollback.js:

(setVersionComplete):
(abortCallback):

  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-abort-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-event-propagation-expected.txt:
  • storage/indexeddb/transaction-rollback-expected.txt:
  • storage/indexeddb/tutorial.html:
16:24 Changeset [116039] by weinig@apple.com

Add an eventPhase NONE constant
https://bugs.webkit.org/show_bug.cgi?id=85397

Reviewed by Anders Carlsson.

Source/WebCore:

Updates existing tests.

  • dom/Event.h:
  • dom/Event.idl:

Add NONE constant.

LayoutTests:

  • fast/dom/constants-expected.txt:
  • fast/dom/constants.html:

Test the value of the constant.

  • fast/events/event-trace-expected.txt:
  • fast/events/event-trace.html:

Ensure that the eventPhase is NONE when first initialized.

16:21 Changeset [116038] by tony@chromium.org

Height overflow when nesting multiple new Flexbox'es.
https://bugs.webkit.org/show_bug.cgi?id=83572

Reviewed by Ojan Vafai.

Source/WebCore:

Test: css3/flexbox/nested-stretch.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeAvailableFreeSpace):

LayoutTests:

  • css3/flexbox/nested-stretch-expected.txt: Added.
  • css3/flexbox/nested-stretch.html: Added.
16:10 Changeset [116037] by tomz@codeaurora.org

Unreviewed gardening

  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
16:09 Changeset [116036] by eric@webkit.org

--coverage should not not use the "feature" options system in build-webkit, similarly remove special-casing for WTF_URL
https://bugs.webkit.org/show_bug.cgi?id=85542

Reviewed by Daniel Bates.

Remove these last two odd-men-out, so that we can generate the default feature options
for build-webkit using the new generate-feature-files command.
The Mac build system has some special casing for ENABLE_ defines which gets them
defined as -D on the build command, even though initially they start out as
environment variables ENABLE_FOO = ENABLE_FOO. The Feature options in build-webkit
depend on this support, but it doesn't work for WTF_USE_ defines like WTF_USE_WTF_URL.
I'm told that WTF_URL is not actively being worked on, so just removing it for now.
It should probably come back to life as an ENABLE_, or build-webkit or the Xcode projects
should be made generically smarter about these USE_WTF defines.
(There is still WTF_USE_TILED_BACKING_STORE in the feature list, but it only seems
used by Qt. If someone tried build-webkit --tiled-backing-store on Mac today it
would not work!)

  • Scripts/build-webkit:
15:59 Changeset [116035] by zmo@google.com

Unreviewed, rebaseline.

  • platform/chromium-win-vista/fast/css/zoom-body-scroll-expected.txt: Added.
  • platform/chromium-win-xp/fast/css/zoom-body-scroll-expected.txt: Added.
  • platform/chromium-win/fast/css/zoom-body-scroll-expected.txt:
15:54 Changeset [116034] by eric@webkit.org

Remove the last bits of Leopard support from our perl scripts
https://bugs.webkit.org/show_bug.cgi?id=85545

Reviewed by Daniel Bates.

Chromium still supports Leopard (for a little while yet), but AppleMacWebKit dropped
Leopard support several months ago. Remove the last bits of isLeopard() branching
in our Perl scripts, since no one is using this (Chromium has never used this Perl code).

  • Scripts/build-webkit:
  • Scripts/old-run-webkit-tests:

(countAndPrintLeaks):
(captureSavedCrashLog):

  • Scripts/webkitdirs.pm:

(determineArchitecture):
(argumentsForRunAndDebugMacWebKitApp):

15:51 Changeset [116033] by leviw@chromium.org

Updating expectations after r116009.

  • platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.txt: Removed.
  • platform/chromium-mac/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/chromium-mac/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-win/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/chromium/fast/block/float/overhanging-tall-block-expected.png: Removed.
  • platform/chromium/fast/block/float/overhanging-tall-block-expected.txt: Removed.
15:50 Changeset [116032] by jchaffraix@webkit.org

ASSERT(!m_zOrderListsDirty) is triggering in Safari
https://bugs.webkit.org/show_bug.cgi?id=85512

Reviewed by Simon Fraser.

Unfortunately no test as I don't think the 2 cases are testable reliably.

A better fix would be to introduce some iterator that handle updating the
lists for you. For now, just adding the missing updateLayerListsIfNeeded()
calls.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerHas3DContent):

15:48 Changeset [116031] by commit-queue@webkit.org

Bugs in WebFullScreenController
https://bugs.webkit.org/show_bug.cgi?id=85388

Patch by Tobias Netzel <tobias.netzel@googlemail.com> on 2012-05-03
Reviewed by Alexey Proskuryakov.

Leopard specific fixes:
NSWindow doesn't respond to isOnActiveSpace so find out first.
Values passed to SetSystemUIMode were swapped.

Source/WebKit/mac:

  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController exitFullScreen]):
(-[WebFullScreenController _updateMenuAndDockForFullScreen]):

Source/WebKit2:

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
(-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]):

15:44 Changeset [116030] by pdr@google.com

Fix numeric precision issue in SVG animations
https://bugs.webkit.org/show_bug.cgi?id=85502

Reviewed by Dirk Schulze.

Source/WebCore:

r93938 had a bug where floating point numbers where compared exactly,
exposing a bug when floating point precision was not sufficient. This
change compares against an epsilon value to get around these precision
issues.

Test: svg/animations/animate-end-attribute-numeric-precision.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):

LayoutTests:

  • svg/animations/animate-end-attribute-numeric-precision-expected.txt: Added.
  • svg/animations/animate-end-attribute-numeric-precision.html: Added.
  • svg/animations/script-tests/animate-end-attribute-numeric-precision.js: Added.

(sample1):
(sample2):
(executeTest):

15:44 Changeset [116029] by ojan@chromium.org

[Chromium] Don't show the WebKit Linux ASAN bot on the flakiness dashboard.
https://bugs.webkit.org/show_bug.cgi?id=85551

Reviewed by Dirk Pranke.

It's not uploading results and in the short term we don't plan to have it start.

  • TestResultServer/static-dashboards/builders.js:

(isChromiumWebkitTipOfTreeTestRunner):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
15:41 Changeset [116028] by jsbell@chromium.org

Fix coding style issues in IDBLevelDBCoding.cpp
https://bugs.webkit.org/show_bug.cgi?id=85536

Reviewed by Tony Chang.

No tests - just code formatting changes.

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::decodeIDBKey):
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):

15:36 Changeset [116027] by fpizlo@apple.com

PageCache autorelease should not wait until 3 seconds and 42 pages
https://bugs.webkit.org/show_bug.cgi?id=85254
<rdar://problem/11349613>

Reviewed by Geoffrey Garen.

No new tests, since there is no change in behavior.

  • history/PageCache.cpp:

(WebCore):
(WebCore::PageCache::PageCache):
(WebCore::PageCache::releaseAutoreleasedPagesNowDueToTimer):

  • history/PageCache.h:

(PageCache):

15:34 Changeset [116026] by ojan@chromium.org

Show the test name in the dashboard if showChrome==false and we're showing multiple tests
https://bugs.webkit.org/show_bug.cgi?id=85243

Reviewed by Dirk Pranke.

This happens for cases where a test name matches multiple tests.
In practice, this only happens for virtual test suites (e.g. the canvas tests).

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(htmlForIndividualTestOnAllBuildersWithChrome):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(testHtmlForIndividualTestOnAllBuildersWithChromeNonexistant):
(testHtmlForIndividualTestOnAllBuildersWithChrome):
(testHtmlForIndividualTestOnAllBuildersWithChromeWebkitMaster):
(testHtmlForIndividualTests):

15:31 Changeset [116025] by mhahnenberg@apple.com

Heap::reportAbandonedObjectGraph should not hasten an allocation-triggered collection
https://bugs.webkit.org/show_bug.cgi?id=85543

Reviewed by Filip Pizlo.

Currently reportAbandonedObjectGraph causes the Heap to think it is closer to its
allocation limit for the current cycle, thus hastening an allocation-triggered collection.
In reality, it should just affect the opportunistic GC timer. We should track the bytes
we think have been abandoned and the bytes that have been allocated separately.

  • heap/Heap.cpp: Added a new field m_abandonedBytes to Heap to keep track of how much

we think we've abandoned.
(JSC::Heap::Heap):
(JSC::Heap::reportAbandonedObjectGraph):
(JSC):
(JSC::Heap::didAbandon): Added this function for reportAbandonedObjectGraph to call
rather than didAllocate. Works the same as didAllocate, but modifies bytes abandoned rather
than bytes allocated. Also notifies the timer, summing the two values together.
(JSC::Heap::collect):
(JSC::Heap::didAllocate): Now adds the bytes allocated and bytes abandoned when reporting
to GCActivityCallback.

  • heap/Heap.h:

(Heap):

15:29 Changeset [116024] by ojan@chromium.org

Port the flakiness dashboard unittests to qunit
https://bugs.webkit.org/show_bug.cgi?id=85544

Reviewed by Adam Barth.

  • TestResultServer/static-dashboards/dashboard_base.js:

(appendJSONScriptElements):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(resetGlobals):
(runExpectationsTest):
(test):

  • TestResultServer/static-dashboards/run-unittests.html: Added.
15:29 Changeset [116023] by zmo@google.com

Unreviewed, rebaseline.

  • platform/chromium-mac-leopard/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium-mac-snowleopard/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium-mac/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium-win-vista/svg/as-image: Added.
  • platform/chromium-win-vista/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium-win-vista/svg/as-image/image-respects-pageScaleFactor-expected.txt: Added.
  • platform/chromium-win-xp/svg/as-image: Added.
  • platform/chromium-win-xp/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium-win-xp/svg/as-image/image-respects-pageScaleFactor-expected.txt: Added.
  • platform/chromium-win/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium-win/svg/as-image/image-respects-pageScaleFactor-expected.txt: Added.
15:10 Changeset [116022] by rakuco@webkit.org

webkitpy: Remove check for readline on Mac.
https://bugs.webkit.org/show_bug.cgi?id=85547

Reviewed by Eric Seidel.

Python 2.5 is not supported by the WebKit project anymore, and
Python's readline documentation does not mention the module not
being available in the supported versions.

  • Scripts/webkitpy/common/system/user.py:
15:09 Changeset [116021] by commit-queue@webkit.org

[NRWT] Run performance tests with lock
https://bugs.webkit.org/show_bug.cgi?id=78628

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-03
Reviewed by Tony Chang.

Locking performance tests (like we do for http tests) will force them
to run in serial. This reduces the load of the machine when running perf
tests and minimizes the chances of the tests to fail, specially
timeouts.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.init):
(Manager._is_perf_test):
(Manager._test_requires_lock):

  • Scripts/webkitpy/layout_tests/port/http_lock.py:
15:06 Changeset [116020] by dpranke@chromium.org

Attempt to fix a crash on SL ...

Unreviewed, build fix.

It looks like we may be getting an IOError raised during
select() on chromium mac, and that error isn't being caught.
Pushing it into the try/catch block will hopefully catch this
and allow us to see why the subprocess is crashing.

  • Scripts/webkitpy/layout_tests/port/server_process.py:

(ServerProcess._wait_for_data_and_update_buffers_using_select):

14:56 Changeset [116019] by eae@chromium.org

Unreviewed test expectations update for zoom event test due to slight change in rounding in hit testing code post the switch to FractionalLayoutUnits.

  • fast/events/zoom-dblclick-expected.txt:
  • fast/events/zoom-dblclick.html:
14:49 Changeset [116018] by tomz@codeaurora.org

Integrate IETC CSS : flexbox tests
https://bugs.webkit.org/show_bug.cgi?id=85210

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-05-03
Reviewed by Adam Barth.

Added 24 IETC Flexbox tests and reference tests. Three of these fail and have
new bugs written against them. Failing tests added to test_expectations.txt
for the various ports.

  • ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-baseline-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-center-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-center-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-center-002-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-center-002.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-end-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-end-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-start-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-start-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-align-stretch-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-direction-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-direction-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-002-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-002.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-003-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-003.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-004-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-004.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-005-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-flex-005.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-002-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-002.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-003-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-003.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-004-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-groups-004.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-layout-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-layout-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-layout-002-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-layout-002.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-layout-003-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-layout-003.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-ordinal-group-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-center-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-center-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-end-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-end-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-justify-001.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-start-001-expected.htm: Added.
  • ietestcenter/css3/flexbox/flexbox-pack-start-001.htm: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
14:47 Changeset [116017] by leviw@chromium.org

Unreviewed build fix for Mac WK2. Adding a mistakenly removed symbol back to WebCore.exp.in.

  • WebCore.exp.in:
14:47 Changeset [116016] by jhoneycutt@apple.com

WebFrameLoaderClient::dispatchWillSendSubmitEvent() needs to be
implemented for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=84304

Reviewed by Jessie Berlin.

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:

Declare willSendSubmitEvent on WKBundlePageFormClient.

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
From the String pair vector, create a map from control name to value.
Call the client's willSendSubmitEvent.

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:

Declare willSendSubmitEvent.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
Call the injected bundle form client's willSendSubmitEvent.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Un-stub willSendSubmitEvent.

  • Shared/APIClientTraits.cpp:

(WebKit):
Set the interface sizes for WKBundlePageFormClient; version 1 includes
willSendSubmitEvent.

  • Shared/APIClientTraits.h:

Declare a specialization for WKBundlePageFormClient.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:

Bump the WKBundlePageFormClient version number.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Added new files to project.

  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp: Added.

(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
Look for the "DidReceiveWillSendSubmitEvent" message. The message body
will be the dictionary of form control names and values passed to the
injected bundle's willSendSubmitEvent handler; look for the pairs
"textField" -> "text field" and "passwordField" -> "password field".
Check that "hiddenField" is not included.
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp: Added.

(TestWebKitAPI::willSendSubmitEvent):
Post a message to the TestWebKitAPI process with the dictionary of form
control names and values that we received.
(TestWebKitAPI::WillSendSubmitEventTest::WillSendSubmitEventTest):
(TestWebKitAPI::WillSendSubmitEventTest::didCreatePage):
Set up the page's form client.

  • TestWebKitAPI/Tests/WebKit2/auto-submitting-form.html: Added.
14:46 Changeset [116015] by lforschler@apple.com

New Tag.

14:44 Changeset [116014] by eae@chromium.org

Unreviewed chromium test expectations update, mark a column test as failing due to overflow.

  • platform/chromium/test_expectations.txt:
14:31 Changeset [116013] by leviw@chromium.org

Unreviewed build fix for Qt after 116009. No changes in behavior.

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):

14:18 Changeset [116012] by eae@chromium.org

Unreviewed test expectations change for chromium, skip subpixel tests until SUBPIXEL_LAYOUT is enabled.

  • platform/chromium/test_expectations.txt:
14:17 Changeset [116011] by wjmaclean@chromium.org

[chromium] Revise touchpad fling curve to use exponential curve, to improve feel and small fling performance.
https://bugs.webkit.org/show_bug.cgi?id=85530

Reviewed by Kenneth Russell.

Source/WebCore:

Existing unit tests updated for new curve.

Modifies TouchpadFLingGestureCurve to use an exponential, rather than polynomial, curve.
This change appears to improve the overall feel of touchpad fling, and substantially
improves small-fling performance.

  • platform/TouchpadFlingPlatformGestureCurve.cpp:

(WebCore::TouchpadFlingPlatformGestureCurve::create):
(WebCore):
(WebCore::position):
(WebCore::velocity):
(WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):

Source/WebKit/chromium:

  • tests/PlatformGestureCurveTest.cpp:
14:10 Changeset [116010] by rakuco@webkit.org

[EFL] Unreviewed gardening.

  • platform/efl/fast/html/details-position-expected.txt: Added.
  • platform/efl/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/efl/fast/replaced/width100percent-radio-expected.txt:
14:07 Changeset [116009] by leviw@chromium.org

[meta] Switch away from integers representing pixels for layout/event handling/rendering
https://bugs.webkit.org/show_bug.cgi?id=60318

Source/WebCore:

Patch by Levi Weintraub <leviw@chromium.org> and Emil A Eklund <eae@chromium.org> on 2012-04-23
Reviewed by Eric Seidel.

Swapping the LayoutUnit backend to FractionalLayoutUnit from int.

FractionalLayoutUnit is a new type that uses an integer to represent a fraction of a pixel.
We're also adding a feature flag -- ENABLE_SUBPIXEL_LAYOUT -- that toggles this fraction
between 1/1 and 1/60. Initially, all platforms will default to subpixel layout being off,
so FractionalLayoutUnits will effectively continue to act as integers.

With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
CSS values and applied zooming, and painting uses pixel-snapping to align these values
to pixels. See http://trac.webkit.org/wiki/LayoutUnit for details.

In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree
to prepare for this change. This included a number of functions in LayoutTypes.h and
the IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were
integers. Subsequent patches will remove unnecessary versions of these functions; see
http://webkit.org/b/84616 for tracking these changes.

Tests: fast/sub-pixel/client-width-height-snapping.html

fast/sub-pixel/layout-boxes-with-zoom.html
fast/sub-pixel/size-of-box-with-zoom.html

  • WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
  • WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::zoomAdjustedPixelValue): Using adjustFloatForAbsoluteZoom instead of int
to make use of extra precision before returning the pixel value.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
when sub-pixel layout is enabled.
(WebCore::CSSPrimitiveValue::customCssText): Returning integer values for pixels.

  • dom/Element.cpp:

(WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
adjusting to account for truncation when sub-pixel layout is enabled.

  • page/SpatialNavigation.cpp:

(WebCore::distanceDataForNode): Using FractionalLayoutUnit::abs instead of std::abs.

  • platform/FractionalLayoutUnit.h: Adding some missing operators and a flag around the

constant denominator to switch it between 1/1 and 1/60 depending on the feature flag.

  • platform/Length.h: Changing the default type for value to float, and adding intValue

since this more closely matches usage in a sub-pixel layout world.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint): Using minimumIntValueForLength in this platform code
instead of LayoutUnits.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

  • rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits

to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
FractionalLayoutUnit bounds.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Switch to
FractionalLayoutUnit's abs function instead of std::abs.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Add rounding for
setting the phase of the background geometry before applying modulo from the tile size.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Stop applying flex when
we have less than a pixel to distribute.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::backgroundClipRect): Replace PaintInfo::infiniteRect with the
LayoutRect equivalent.

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::rangeIntersectsRect): Using FractionalLayoutUnit::abs
instead of std::abs.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.

  • rendering/RenderObject.h:

(WebCore): Removing unnecessary adjustForAbsoluteZoom function.
(WebCore::RenderObject::outlineSize): Outlines remain ints.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::styleOrColLogicalWidth): Build fix. Using floats because
colWidthSum is a Length which uses floats.

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Explicit templatization
for max.

  • rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It

may be worth outputting float values in test expectations, but this isn't done with
the inline box tree yet, either.

  • rendering/RenderTreeAsText.h:

(WebCore): Adding a FractionalLayoutPoint operator.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetGeometry): Adding missing pixel snapping, and switching
absoluteContentBox to an IntRect, as this is what boundingBox returns.

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writePositionAndStyle): Adding an enclosingIntRect for consistency with old results.

LayoutTests:

Reviewed by Eric Seidel.

  • fast/sub-pixel: Added.
  • fast/sub-pixel/client-width-height-snapping-expected.txt: Added.
  • fast/sub-pixel/client-width-height-snapping.html: Added.
  • fast/sub-pixel/size-of-box-with-zoom-expected.html: Added.
  • fast/sub-pixel/size-of-box-with-zoom.html: Added.
  • fast/sub-pixel/layout-boxes-with-zoom-expected.html: Added.
  • fast/sub-pixel/layout-boxes-with-zoom.html: Added.
14:07 Changeset [116008] by eric@webkit.org

Remove dead code from build-webkit for working around old XCode dependency bug
https://bugs.webkit.org/show_bug.cgi?id=85535

Reviewed by Adam Barth.

Xcode used to have a bug whereby it didn't notice if you changed the #defines
passed on the command line to xcodebuild. I wrote code to work around this
while bringing up SVG support 5-6 years ago. I think we can finally remove this
code from build-webkit, since SVG is the only feature flag to ever use it
(modern in-progress features like MathML don't seem to be using the support)
an I suspect the XCode bug has long been fixed.

  • Scripts/build-webkit:
  • Scripts/webkitperl/features.pm:
14:01 Changeset [116007] by rakuco@webkit.org

[EFL] Unreviewed, remove expectation which was failing.

The current result matches the base expectation, so remove the
port-specific one.

  • platform/efl/fast/css/zoom-body-scroll-expected.txt: Removed.
13:55 Changeset [116006] by zmo@google.com

Unreviewed, rebaseline.

  • platform/chromium-mac/compositing/geometry/foreground-layer-expected.txt: Removed.
  • platform/chromium-mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/chromium-win/compositing/geometry/ancestor-overflow-change-expected.txt:
  • platform/chromium-win/compositing/geometry/foreground-layer-expected.txt: Removed.
  • platform/chromium-win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/chromium-win/compositing/overflow/clip-descendents-expected.txt:
  • platform/chromium/compositing/geometry/foreground-layer-expected.txt: Replaced.
  • platform/chromium/compositing/iframes/invisible-nested-iframe-show-expected.txt: Removed.
13:43 Changeset [116005] by andersca@apple.com

Move repaint counter drawing code out into a separate function
https://bugs.webkit.org/show_bug.cgi?id=85539

Reviewed by Simon Fraser.

The majority of code in TileCache::drawLayer deals with drawing the repaint counter. Move this code out
into a separate function to make it more clear what drawLayer does.

  • platform/graphics/ca/mac/TileCache.h:

(TileCache):

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::drawLayer):
(WebCore::TileCache::drawRepaintCounter):
(WebCore):

13:42 Changeset [116004] by fpizlo@apple.com

Unreviewed, unskipping fixed test.

  • platform/mac/Skipped:
13:39 PrefixedAPIs edited by ddorwin@chromium.org
Added Encrypted Media and link for Media Source. (diff)
13:32 Changeset [116003] by simon.fraser@apple.com

Compositing 'requiresOwnBackingStore' logic caused new clip rect assertions
https://bugs.webkit.org/show_bug.cgi?id=85455

Reviewed by Dean Jackson.

r114283 added logic that allows compositing layers to avoid allocating their own
backing store and to paint into an ancestor instead. However, that caused
assertions in RenderLayer::updateClipRects() about m_clipRectsRoot being
incorrect, because clip rect code assumed that compositing layers
always painted themselves.

Fixed by calling paintsIntoCompositedAncestor() in RenderLayer::clippingRoot(),
so that clip rect computation matches painting.

I wasn't able to easily make a test that reproduces the assertion in DRT.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clippingRoot):

13:29 Changeset [116002] by commit-queue@webkit.org

[Chromium] Use correct define in the features.gypi
https://bugs.webkit.org/show_bug.cgi?id=85520

Patch by Ben Goodger.

Patch by Dimitri Glazkov <dglazkov@chromium.org> on 2012-05-03
Reviewed by Tony Chang.

  • features.gypi: Replaced use_aura with a more appropriate chromeos
13:25 Changeset [116001] by timothy_horton@apple.com

REGRESSION(99539): SVG <img> disregards page scale and device scale
https://bugs.webkit.org/show_bug.cgi?id=77237
<rdar://problem/10767413>

Reviewed by Simon Fraser.

Rename SVGImageCache::SizeAndZoom to SVGImageCache::SizeAndScales, as it carries more than just zoom now.

Pass the product of the device and page scales through everything that takes a SVGImageCache::SizeAndScales,
using it to inflate the size of the buffer created in lookupOrCreateBitmapImageForRenderer,
and to inflate the destination rectangle passed to SVGImage::draw, which will cause a transformation
on the context being drawn into.

Invalidate the SVGImageCache entry on device/page scale changes in addition to zoom changes.

This patch does not cause SVGImageCache to take into account scale caused by CSS transforms; that is tracked
separately by https://bugs.webkit.org/show_bug.cgi?id=85335.

Tests: svg/as-image/image-respects-deviceScaleFactor.html

svg/as-image/image-respects-pageScaleFactor.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawSVGToImageBuffer):

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::~SVGImageCache):
(WebCore::SVGImageCache::removeRendererFromCache):
(WebCore::SVGImageCache::setRequestedSizeAndScales):
(WebCore::SVGImageCache::requestedSizeAndScales):
(WebCore::SVGImageCache::redraw):
(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):

  • svg/graphics/SVGImageCache.h:

(WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
(SizeAndScales):
(SVGImageCache):
(WebCore::SVGImageCache::ImageData::ImageData):
(ImageData):

Add tests ensuring that SVG used via <img> respects deviceScaleFactor and pageScaleFactor.

  • platform/chromium-linux/svg/as-image/image-respects-pageScaleFactor-expected.txt: Added.
  • platform/chromium-linux/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/chromium/test_expectations.txt:
  • platform/qt/Skipped:
  • platform/mac/svg/as-image/image-respects-deviceScaleFactor-expected.png: Added.
  • platform/mac/svg/as-image/image-respects-deviceScaleFactor-expected.txt: Added.
  • platform/mac/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/mac/svg/as-image/image-respects-pageScaleFactor-expected.txt: Added.
  • platform/efl/Skipped:
  • svg/as-image/image-respects-deviceScaleFactor.html: Added.
  • svg/as-image/image-respects-pageScaleFactor.html: Added.
13:04 Changeset [116000] by aestes@apple.com

InjectedBundleControllerMac.mm needs to include config.h
https://bugs.webkit.org/show_bug.cgi?id=85531

Reviewed by Andreas Kling.

  • TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
12:59 Changeset [115999] by rakuco@webkit.org

webkitpy: Use PlatformInfo whenever possible in server_process.py.
https://bugs.webkit.org/show_bug.cgi?id=85516

Reviewed by Eric Seidel.

Eliminate direct access to sys.platform wherever possible by using
PlatformInfo.is_win() instead.

  • Scripts/webkitpy/layout_tests/port/server_process.py:

(ServerProcess.init): Remove the executive parameter as it was
not passed by any caller, obtain a SystemHost from port_obj
instead.
(ServerProcess._log): Style, remove extra empty line.
(ServerProcess._start):
(ServerProcess.stop):
(ServerProcess.kill):

  • Scripts/webkitpy/layout_tests/port/server_process_unittest.py:

(TrivialMockPort.init): Create a MockSystemHost used by
ServerProcess.
(TestServerProcess.test_broken_pipe): Test different platforms.

12:41 Changeset [115998] by fsamuel@chromium.org

Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
https://bugs.webkit.org/show_bug.cgi?id=70609

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Make Viewport Attributes' layoutSize be a FloatRect to avoid rounding
too early, and the occasional off by one fixed layout dimensions.

  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(ViewportAttributes):

Source/WebKit/blackberry:

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::dumpConfigurationForViewport):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::dumpConfigurationForViewport):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::dumpConfigurationForViewport):

Source/WebKit/qt:

  • Api/qwebpage.cpp:

(QWebPage::viewportAttributesForSize):

  • Api/qwebpage.h:
  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::viewportAsText):

Source/WebKit2:

  • UIProcess/API/qt/qwebviewportinfo.cpp:

(QWebViewportInfo::layoutSize):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):
(WebKit::WebPage::viewportConfigurationAsText):

12:33 Changeset [115997] by jsbell@chromium.org

IndexedDB: Handle generated keys up to 253
https://bugs.webkit.org/show_bug.cgi?id=85114

Source/WebCore:

The spec defines the behavior for generated keys up to 253
(the maximum integer storable as an ECMAScript number) and
the error case when going beyond that. Ensure that we can
handle values up to that point and generate errors beyond.

Reviewed by Tony Chang.

Test: storage/indexeddb/key-generator.html

  • Modules/indexeddb/IDBBackingStore.h:

(IDBBackingStore):

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):

  • Modules/indexeddb/IDBLevelDBBackingStore.h:

(IDBLevelDBBackingStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.h:

(IDBObjectStoreBackendImpl):

LayoutTests:

Reviewed by Tony Chang.

  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/resources/key-generator.js:

(get defineTest):

12:00 Changeset [115996] by fpizlo@apple.com

Unreviewed. skip failing test.

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

  • platform/mac/Skipped:
11:57 Changeset [115995] by commit-queue@webkit.org

Add methods to create WebArrayBuffer/WebArrayBufferView from v8 objects
https://bugs.webkit.org/show_bug.cgi?id=84899

Patch by Antony Sargent <asargent@chromium.org> on 2012-05-03
Reviewed by Adam Barth.

  • public/WebArrayBuffer.h:

(WebArrayBuffer):

  • public/platform/WebArrayBufferView.h:

(v8):
(WebArrayBufferView):

  • src/WebArrayBuffer.cpp:

(WebKit):
(WebKit::WebArrayBuffer::createFromV8Value):

  • src/WebArrayBufferView.cpp:

(WebKit):
(WebKit::WebArrayBufferView::createFromV8Value):

11:47 Changeset [115994] by fpizlo@apple.com

Unreviewed, skipping flaky tests.

https://bugs.webkit.org/show_bug.cgi?id=85522
https://bugs.webkit.org/show_bug.cgi?id=85523
https://bugs.webkit.org/show_bug.cgi?id=85524
https://bugs.webkit.org/show_bug.cgi?id=85525

  • platform/mac/Skipped:
11:18 Changeset [115993] by mitz@apple.com

Removed dumpAsText() from this ref test, since that apparently confuses the test tool.

  • fast/writing-mode/flipped-blocks-inline-map-local-to-container.html:
11:15 Changeset [115992] by simon.fraser@apple.com

Remove RenderLayerCompositor::didStartAcceleratedAnimation()
https://bugs.webkit.org/show_bug.cgi?id=85514

Reviewed by Antti Koivisto.

Remove RenderLayerCompositor::didStartAcceleratedAnimation(), which is no longer
needed.

Code removal, no new tests.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

  • rendering/RenderLayerCompositor.cpp:
  • rendering/RenderLayerCompositor.h:
11:08 Changeset [115991] by kling@webkit.org

REGRESSION(r111387): CSSOM representation of 'background-image' values should be CSSPrimitiveValue.
<http://webkit.org/b/85500>

Reviewed by Antti Koivisto.

Source/WebCore:

Use the cloneForCSSOM() mechanism in CSSValue to expose CSSImageValue to bindings as a URI
primitive value. This matches the specced behavior of computed image values, and restores our
previous behavior without having CSSImageValue subclass CSSPrimitiveValue.

Also added a failsafe return after the isCSSOMSafe() assertion in the JSC bindings, since it's
better to expose an incorrect return value than an insecurely shared one, should we have or add
bugs in this code.

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cloneForCSSOM):

  • css/CSSImageValue.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::cloneForCSSOM):

LayoutTests:

Update fast/css/image-value-type.html to reflect that CSSImageValue are now exposed
as primitive values in the CSSOM.

  • fast/css/image-value-type-expected.txt:
  • fast/css/image-value-type.html:
10:54 Changeset [115990] by keishi@webkit.org

Crash in HTMLFormControlElement::m_fieldSetAncestor
https://bugs.webkit.org/show_bug.cgi?id=85453

Reviewed by Kent Tamura.

Source/WebCore:

Modified tests: fast/forms/datalist/datalist-child-validation.html

fast/forms/form-control-element-crash.html

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::removedFrom): Only set the invalid ancestor flag.
The element will be detached from the document so there is no need to update the style.
And the validation message will be hidden by the blur event.
(WebCore::HTMLFormControlElement::willValidate): Because of the change to removedFrom,
m_ancestorsValid may be false.

LayoutTests:

  • fast/forms/datalist/datalist-child-validation-expected.txt:
  • fast/forms/datalist/datalist-child-validation.html: Added tests that check the validation status of removed node.
  • fast/forms/form-control-element-crash-expected.txt:
  • fast/forms/form-control-element-crash.html: Replaced with a better, easier to understand test case from the cluster-fuzz.
10:50 Changeset [115989] by simon.fraser@apple.com

Keep overlap testing for compositing on pages with 3d transforms when possible
https://bugs.webkit.org/show_bug.cgi?id=62487

Source/WebCore:

Reviewed by Antti Koivisto.

Change RenderLayerCompositor to always use overlap testing when possible.

Rather than turn off overlap testing wholesale when encountering a non-affine
transform, or starting an accelerated transform animation, we constrain
the disabling of overlap testing to within overflow:hidden areas when possible.

Tests: compositing/layer-creation/overlap-animation.html

compositing/layer-creation/overlap-transforms.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setCompositedBounds): Whitespace fix.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::CompositingState::CompositingState):
(CompositingState): Add a member boolean to track whether we're testing overlap. Add a copy
constructor.
(WebCore::RenderLayerCompositor::updateCompositingLayers): Initialize the 'testing overlap'
setting based on m_compositingConsultsOverlap (though this will always be true until removed
in a future commit).
(WebCore::RenderLayerCompositor::updateBacking): No longer turn off overlap testing
when we see a non-affine transform.
(WebCore::RenderLayerCompositor::computeCompositingRequirements): No need for the 'struct'
in the arguments.
Consult compositingState.m_testingOverlap to see if we want to test overlap.
Use the new CompositingState copy ctor for childState, but set m_subtreeIsCompositing to false
as before.
If this layer is composited, look to see if need to disable over lap testing based on
the transform or an animation.
Just as we propagate m_subtreeIsCompositing, we have to propagate m_testingOverlap=false
for the rest of the traverse.
If we've just processed a layer which clips compositing descendants, we can go back
to testing for overlap.
(WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): No need to do anything
here now. It will be removed in future.
(WebCore::RenderLayerCompositor::hasNonAffineTransform): No longer check
perspective here, since that doesn't affect whether _this_ layer should disable
overlap testing. Checking for a non-affine transform is sufficient.
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
New method to check if AnimationController is running a transform animation.

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

LayoutTests:

Reviewed by Antti Koivisto.

Two new tests that check for layer creation outside of an overflow:hidden
stacking context.

Updated results for other tests whose results are affected by the
'compositingConsultsOverlap' flag; their layers are now constrained to
the viewport.

  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • compositing/geometry/foreground-layer-expected.txt:
  • compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt: Added.
  • compositing/layer-creation/overlap-animation.html: Added.
  • compositing/layer-creation/overlap-transforms-expected.txt: Added.
  • compositing/layer-creation/overlap-transforms.html: Added.
10:18 Changeset [115988] by commit-queue@webkit.org

Mutex failure when HashTable is memory moved in debug build
https://bugs.webkit.org/show_bug.cgi?id=84970

Patch by Yong Li <yoli@rim.com> on 2012-05-03
Reviewed by Rob Buis.

  1. Replace m_mutex with OwnPtr<m_mutex> so HashTable is still memory movable in debug build.
  2. Assert successes of pthread_mutex_init() and pthread_mutex_destroy().
  • wtf/HashTable.h:

(HashTable):
(WTF::::HashTable):
(WTF::::invalidateIterators):
(WTF::addIterator):
(WTF::removeIterator):

  • wtf/ThreadingPthreads.cpp:

(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):

10:10 Changeset [115987] by commit-queue@webkit.org

[EFL] CSS tests needs gardening
https://bugs.webkit.org/show_bug.cgi?id=85499

Unreviewed gardening.

Moved CSS tests from Skipped to test_expectations.txt and made the
reference to the appropriated bug. Also updated missing/wrong
baselines.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-03

  • platform/efl/Skipped:
  • platform/efl/css1/basic/class_as_selector-expected.png:
  • platform/efl/css1/basic/comments-expected.png:
  • platform/efl/css1/basic/containment-expected.png:
  • platform/efl/css1/box_properties/acid_test-expected.png:
  • platform/efl/css1/box_properties/border-expected.png:
  • platform/efl/css1/cascade/cascade_order-expected.png:
  • platform/efl/css1/cascade/important-expected.png:
  • platform/efl/css1/classification/display-expected.png:
  • platform/efl/css1/classification/list_style-expected.png:
  • platform/efl/css1/color_and_background/background-expected.png:
  • platform/efl/css1/color_and_background/background_attachment-expected.png:
  • platform/efl/css1/conformance/forward_compatible_parsing-expected.png:
  • platform/efl/css2.1/20110323/abspos-containing-block-initial-001-expected.png: Added.
  • platform/efl/css2.1/20110323/abspos-containing-block-initial-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-001-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-002-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-003-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-003-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-004-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-004-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-005-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-005-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-006-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-006-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-007-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-007-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-008-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-008-expected.txt: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-009-expected.png: Added.
  • platform/efl/css2.1/20110323/background-intrinsic-009-expected.txt: Added.
  • platform/efl/css2.1/20110323/border-collapse-offset-002-expected.png: Added.
  • platform/efl/css2.1/20110323/border-collapse-offset-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/border-spacing-applies-to-015-expected.png: Added.
  • platform/efl/css2.1/20110323/border-spacing-applies-to-015-expected.txt: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-001-expected.png: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-002-expected.png: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-003-expected.png: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-003-expected.txt: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-004-expected.png: Added.
  • platform/efl/css2.1/20110323/dynamic-top-change-004-expected.txt: Added.
  • platform/efl/css2.1/20110323/empty-inline-001-expected.png: Added.
  • platform/efl/css2.1/20110323/empty-inline-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/empty-inline-002-expected.png: Added.
  • platform/efl/css2.1/20110323/empty-inline-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/empty-inline-003-expected.png: Added.
  • platform/efl/css2.1/20110323/empty-inline-003-expected.txt: Added.
  • platform/efl/css2.1/20110323/outline-color-applies-to-008-expected.png: Added.
  • platform/efl/css2.1/20110323/outline-color-applies-to-008-expected.txt: Added.
  • platform/efl/css2.1/20110323/table-caption-001-expected.png: Added.
  • platform/efl/css2.1/20110323/table-caption-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/table-caption-002-expected.png: Added.
  • platform/efl/css2.1/20110323/table-caption-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/table-caption-horizontal-alignment-001-expected.png: Added.
  • platform/efl/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/table-caption-margins-001-expected.png: Added.
  • platform/efl/css2.1/20110323/table-caption-margins-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/table-caption-optional-001-expected.png: Added.
  • platform/efl/css2.1/20110323/table-caption-optional-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/table-caption-optional-002-expected.png: Added.
  • platform/efl/css2.1/20110323/table-caption-optional-002-expected.txt: Added.
  • platform/efl/css3/images/cross-fade-background-size-expected.txt: Added.
  • platform/efl/css3/images/cross-fade-blending-expected.png: Added.
  • platform/efl/css3/images/cross-fade-blending-expected.txt: Added.
  • platform/efl/css3/images/cross-fade-invalidation-expected.png: Added.
  • platform/efl/css3/images/cross-fade-invalidation-expected.txt: Added.
  • platform/efl/css3/images/cross-fade-simple-expected.png: Added.
  • platform/efl/css3/images/cross-fade-simple-expected.txt: Added.
  • platform/efl/css3/images/cross-fade-sizing-expected.png: Added.
  • platform/efl/css3/images/cross-fade-sizing-expected.txt: Added.
  • platform/efl/css3/images/cross-fade-tiled-expected.png: Added.
  • platform/efl/css3/images/cross-fade-tiled-expected.txt: Added.
  • platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.png: Added.
  • platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt: Added.
  • platform/efl/fast/css/child-style-can-override-visited-style-expected.png: Added.
  • platform/efl/fast/css/child-style-can-override-visited-style-expected.txt: Added.
  • platform/efl/fast/css/clip-text-in-scaled-div-expected.png: Added.
  • platform/efl/fast/css/clip-text-in-scaled-div-expected.txt: Added.
  • platform/efl/fast/css/color-correction-on-background-image-expected.txt: Added.
  • platform/efl/fast/css/color-correction-on-backgrounds-expected.txt: Added.
  • platform/efl/fast/css/color-correction-on-box-shadow-expected.txt: Added.
  • platform/efl/fast/css/color-correction-on-text-shadow-expected.txt: Added.
  • platform/efl/fast/css/color-correction-untagged-images-expected.txt: Added.
  • platform/efl/fast/css/invalidation-errors-2-expected.txt:
  • platform/efl/fast/css/invalidation-errors-expected.txt:
  • platform/efl/fast/css/shadow-multiple-expected.png:
  • platform/efl/fast/css/text-overflow-input-expected.png: Added.
  • platform/efl/fast/css/text-overflow-input-expected.txt: Added.
  • platform/efl/fast/css/text-rendering-expected.png: Removed.
  • platform/efl/fast/css/text-rendering-expected.txt: Added.
  • platform/efl/svg/css/composite-shadow-example-expected.txt: Removed.
  • platform/efl/svg/css/composite-shadow-with-opacity-expected.txt: Removed.
  • platform/efl/svg/css/group-with-shadow-expected.png: Added.
  • platform/efl/svg/css/stars-with-shadow-expected.png: Added.
  • platform/efl/test_expectations.txt:
  • platform/efl/transforms/svg-vs-css-expected.png:
  • platform/efl/transforms/svg-vs-css-expected.txt:
10:07 Changeset [115986] by commit-queue@webkit.org

webkitpy: Style checker broken when committing a PNG
https://bugs.webkit.org/show_bug.cgi?id=85504

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-03
Reviewed by Dirk Pranke.

  • Scripts/webkitpy/style/checkers/png.py:

(PNGChecker.init):

10:07 Changeset [115985] by cfleizach@apple.com

accessibility/misspelled-attributed-string.html test sometimes throws exceptions
https://bugs.webkit.org/show_bug.cgi?id=85081

Reviewed by Darin Adler.

Add in more range checking in case we get back ranges from spell checking that are wrong.

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(AXAttributeStringSetFont):
(AXAttributeStringSetColor):
(AXAttributeStringSetNumber):
(AXAttributeStringSetBlockquoteLevel):
(AXAttributeStringSetHeadingLevel):
(AXAttributeStringSetElement):

09:48 Changeset [115984] by pfeldman@chromium.org

Web Inspector: move canonical mime type calculation to Resource
https://bugs.webkit.org/show_bug.cgi?id=85507

Reviewed by Yury Semikhatsky.

Drive-by: small refactoring that prepares code for formatter extraction.

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

(WebInspector.DebuggerModel.prototype.createLiveLocation):
(WebInspector.DebuggerModel.prototype.rawLocationToUILocation):

  • inspector/front-end/DebuggerPresentationModel.js:

(WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):

  • inspector/front-end/NetworkManager.js:

(WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
(get WebInspector):

  • inspector/front-end/Resource.js:

(WebInspector.Resource.prototype.requestContent):
(WebInspector.Resource.prototype.canonicalMimeType):
(WebInspector.Resource.prototype._innerRequestContent.callback):
(WebInspector.Resource.prototype._innerRequestContent):

  • inspector/front-end/ResourceView.js:

(WebInspector.ResourceSourceFrame.prototype.requestContent):
(WebInspector.ResourceSourceFrame.prototype._contentChanged):

09:46 Changeset [115983] by yurys@chromium.org

Web Inspector: 'expires' value is incorrect for cookies
https://bugs.webkit.org/show_bug.cgi?id=85489

Reviewed by Pavel Feldman.

Fixed cookie 'expires' property type from integer to number so that
we don't lose precision when assembling Cookie parameter in InspectorResourceAgent.

  • inspector/Inspector.json:
09:42 Changeset [115982] by zmo@google.com

Unreviewed, rebaseline

  • platform/chromium-linux-x86/fast/js/dfg-double-vote-fuzz-expected.txt: Added.
09:32 Changeset [115981] by mitz@apple.com

highlight for Ruby text is mispositioned in the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=82684

Reviewed by Simon Fraser.

Source/WebCore:

Tests: fast/writing-mode/flipped-blocks-inline-map-local-to-container-expected.html

fast/writing-mode/flipped-blocks-inline-map-local-to-container.html

In flipped blocks writing modes, flipping was being applied twice to box descendants of
inline children of the flipped block, once during RenderBox::mapLocalToContainer, and then
again by RenderInline::mapLocalToContainer. The fix is to make the latter only apply the
flip to local coordinates originating in the inline or a descendant inline. This is done
by adding a parameter of type ApplyContainerFlipOrNot, which defaults to ApplyContainerFlip
but is reset to DoNotApplyContainerFlip in recursive calls into mapLocalToContainer().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter, passing
DoNotApplyContainerFlip when recursing into the container.

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

(WebCore::RenderInline::mapLocalToContainer): Added ApplyContainerFlipOrNot paramerer, and
made the flipping conditional on its value.

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter,
passing DoNotApplyContainerFlip when recursing into the container.
(WebCore::RenderObject::localToContainerQuad): Pass ApplyContainerFlip.
(WebCore::RenderObject::localToContainerPoint): Ditto.

  • rendering/RenderObject.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter.

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::mapLocalToContainer): Ditto.

  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::mapLocalToContainer): Ditto.

  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.

  • rendering/svg/RenderSVGModelObject.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::mapLocalToContainer): Ditto.

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::mapLocalToContainer): Ditto.

  • rendering/svg/RenderSVGText.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::mapLocalToContainer): Pass DoNotApplyContainerFlip when
recursing into the parent.

LayoutTests:

  • fast/writing-mode/flipped-blocks-inline-map-local-to-container-expected.html: Added.
  • fast/writing-mode/flipped-blocks-inline-map-local-to-container.html: Added.
09:29 Changeset [115980] by caseq@chromium.org

Unreviewed, adjusted platform specifiers for fast/js/dfg-double-vote-fuzz.html

  • platform/chromium/test_expectations.txt:
09:25 Changeset [115979] by pfeldman@chromium.org

Web Inspector: make Script a ContentProvider.
https://bugs.webkit.org/show_bug.cgi?id=85486

Reviewed by Yury Semikhatsky.

This allows us to get rid of the corresponding content provider wrapper.

  • inspector/front-end/ContentProviders.js:
  • inspector/front-end/RawSourceCode.js:

(WebInspector.RawSourceCode.prototype._createContentProvider):

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.contentURL):
(WebInspector.Script.prototype.requestContent.didGetScriptSource):
(WebInspector.Script.prototype.requestContent):

  • inspector/front-end/SnippetsModel.js:

(WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):

09:24 Changeset [115978] by philn@webkit.org

Unreviewed, fix another call to join(), similar to the ones landed
in r115975.

  • Scripts/webkitdirs.pm:

(jhbuildConfigurationChanged):

09:23 Changeset [115977] by rakuco@webkit.org

webkitpy: Remove sys.platform accesses in CrashLogs.
https://bugs.webkit.org/show_bug.cgi?id=85436

Reviewed by Dirk Pranke.

Instead of directly checking for sys.platform == 'darwin', use a
SystemHost and call PlatformInfo.is_mac().

  • Scripts/webkitpy/common/system/crashlogs.py:

(CrashLogs.init):
(CrashLogs.find_newest_log):
(CrashLogs._log_directory_darwin):
(CrashLogs._find_newest_log_darwin):

  • Scripts/webkitpy/common/system/crashlogs_unittest.py:

(CrashLogsTest.test_find_log_darwin):

  • Scripts/webkitpy/layout_tests/port/mac.py:

(MacPort._get_crash_log):

  • Scripts/webkitpy/layout_tests/port/test.py:

(TestDriver.run_test):

  • Scripts/webkitpy/tool/commands/queries.py:

(execute):

09:19 Changeset [115976] by caseq@chromium.org

Unreviewed gardening. Narrowed down platform specifiers for some tests, removed some entries.

  • platform/chromium/test_expectations.txt:
08:55 Changeset [115975] by commit-queue@webkit.org

[GTK] join() is wrongly used in webkitdirs.pm since r115532
https://bugs.webkit.org/show_bug.cgi?id=85501

Patch by Philippe Normand <pnormand@igalia.com> on 2012-05-03
Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(getJhbuildPath):
(buildAutotoolsProject):

08:40 Changeset [115974] by mifenton@rim.com

.: Rename attribute.

[BlackBerry] Add special attribute for alternate selection touch handling.
https://bugs.webkit.org/show_bug.cgi?id=85284

Reviewed by Rob Buis.

  • ManualTests/blackberry/selection-touch-override.html:

Source/WebKit/blackberry: [BlackBerry] Add special attribute for alternate selection touch handling.
https://bugs.webkit.org/show_bug.cgi?id=85284

Reviewed by Rob Buis.

Rename the custom attribute and make it a data- attribute.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):

08:15 Changeset [115973] by commit-queue@webkit.org

[Qt][WK2] Also update Qt::ImEnabled flag when updating the input method.
https://bugs.webkit.org/show_bug.cgi?id=85495

Patch by Michael Brüning <michael.bruning@nokia.com> on 2012-05-03
Reviewed by Simon Hausmann.

QInputMethod only issues a new inputMethodQuery if the Qt::ImEnabled
flag got updated as well.

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(WebKit::QtWebPageEventHandler::updateTextInputState):
(WebKit::QtWebPageEventHandler::doneWithGestureEvent):

08:11 Changeset [115972] by caio.oliveira@openbossa.org

Remove extra checks for empty string when parsing CSS value
https://bugs.webkit.org/show_bug.cgi?id=85480

Reviewed by Alexis Menard.

Source/WebCore:

Each parse value helper function was checking whether the value string was empty. For the
common case this check is already done by StylePropertySet::setProperty(). So this patch
make CSSParser::parseValue() assume the value string is not empty, and fix the other two
clients.

Test: fast/html/font-face-empty-should-not-crash.html

  • css/CSSParser.cpp:

(WebCore::parseColorValue): Replace the string empty check by an ASSERT() to document
function's expectations.
(WebCore::parseSimpleLengthValue): Ditto.
(WebCore::parseKeywordValue): Ditto.
(WebCore::CSSParser::parseFontFaceValue): This will be covered by the added test.
(WebCore::CSSParser::parseValue):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue): This is already covered by
transforms/cssmatrix-2d-interface.xhtml.

LayoutTests:

  • fast/html/font-face-empty-should-not-crash-expected.txt: Added.
  • fast/html/font-face-empty-should-not-crash.html: Added.
07:45 Changeset [115971] by commit-queue@webkit.org

Broken handling of pseudo-elements in selectors API
https://bugs.webkit.org/show_bug.cgi?id=83446

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-05-03
Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/dom/Window/querySelectorAll-with-pseudo-elements.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::SelectorChecker):
Setting the default value for the enum member m_mode to ResolvingStyle.

(WebCore::SelectorChecker::checkSelector):
Instead of verifying against the bool m_isCollectingRulesOnly, we now check whether or not
m_mode is set to ResolvingStyle.

(WebCore::SelectorChecker::checkOneSelector):
Instead of verifying against the bool m_isCollectingRulesOnly, we now check whether or not
m_mode is set to ResolvingStyle. Also, for the pseudo-elements case we check if its
value is set to QueryingRules in which case we return false.

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::mode):
Returns the mode (m_mode) value.

(WebCore::SelectorChecker::setMode):
Sets the mode (m_mode) to the passed enum value.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::collectMatchingRulesForList):
Retrieves SelectorChecker's mode value.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorQuery::SelectorQuery):
Sets SelectorChecker's mode to QueryingRules.

  • html/shadow/ContentSelectorQuery.cpp:

(WebCore::ContentSelectorQuery::ContentSelectorQuery):
Sets SelectorChecker's mode to CollectingRules.

LayoutTests:

  • fast/dom/Window/querySelectorAll-with-pseudo-elements-expected.txt: Added.
  • fast/dom/Window/querySelectorAll-with-pseudo-elements.html: Added.

New layout testcase added for verifying that the querySelectorAll() API returns zero
when querying for pseudo-elements selectors; as per the specification.

07:05 Changeset [115970] by commit-queue@webkit.org

[Qt] Tap-highlight blinks when activated.
https://bugs.webkit.org/show_bug.cgi?id=85481

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-03
Reviewed by Kenneth Rohde Christiansen.

Set the opacity on the page-overlay the first time it is requested to be drawn. Otherwiser
it will start fully opaque before fading in.

  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::setNeedsDisplay):

06:35 Changeset [115969] by pfeldman@chromium.org

Web Inspector: EXC_BAD_ACCESS in DOM breakpoint processing code.
https://bugs.webkit.org/show_bug.cgi?id=85482

Reviewed by Yury Semikhatsky.

0 check added since we are guaranteed to get immediate parent, but not the whole ancestor tree.

  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

06:24 Changeset [115968] by commit-queue@webkit.org

[EFL] [DRT] Update EFL baselines after r115846
https://bugs.webkit.org/show_bug.cgi?id=85474

Unreviewed, EFL rebaseline after changes in r115846.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-03

  • platform/efl/fast/block/float/032-expected.txt:
  • platform/efl/fast/block/float/overlapping-floats-with-overflow-hidden-expected.txt:
  • platform/efl/fast/block/float/shrink-to-avoid-float-complexity-expected.txt:
  • platform/efl/fast/block/lineboxcontain/parsing-invalid-expected.txt:
  • platform/efl/fast/block/margin-collapse/103-expected.txt:
  • platform/efl/fast/clip/008-expected.txt:
  • platform/efl/fast/clip/011-expected.txt:
  • platform/efl/fast/clip/012-expected.txt:
  • platform/efl/fast/html/details-no-summary4-expected.txt:
  • platform/efl/fast/html/details-open-javascript-expected.txt:
  • platform/efl/fast/html/details-open2-expected.txt:
  • platform/efl/fast/html/details-open4-expected.txt:
  • platform/efl/fast/replaced/replaced-breaking-expected.txt:
  • platform/efl/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/efl/fast/table/003-expected.txt:
  • platform/efl/fast/table/overflowHidden-expected.txt:
  • platform/efl/fast/table/text-field-baseline-expected.txt:
  • platform/efl/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/efl/http/tests/navigation/javascriptlink-frames-expected.png:
  • platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt:
06:16 Changeset [115967] by zandobersek@gmail.com

[Gtk] ImageDiff crashes when it can't open a display
https://bugs.webkit.org/show_bug.cgi?id=85476

Reviewed by Martin Robinson.

Replace gdk_init() initialization call with the g_type_init()
call. GdkPixbufLoader doesn't actually need the current call to be
made and this change will also remove crashes when ImageDiff
is started in an environment without a DISPLAY env.

  • DumpRenderTree/gtk/ImageDiff.cpp:

(main):

05:40 Changeset [115966] by mihnea@adobe.com

[CSSRegions]Correct fast/regions/region-style-inline-background-color.html
https://bugs.webkit.org/show_bug.cgi?id=85470

Reviewed by Andreas Kling.

Fix a typo in the original test and update the expectations.
The purpose of this test is to verify that region styling is NOT enabled for inline elements. The test was passing
because region styling rule was not applied due to incorrect region selector.

The corrected test makes sure that region styling rule has the right region selector and can be applied to the first region in the test file.

  • fast/regions/region-style-inline-background-color.html:
  • platform/chromium-win/fast/regions/region-style-inline-background-color-expected.txt:
  • platform/mac/fast/regions/region-style-inline-background-color-expected.txt:
05:39 Changeset [115965] by loislo@chromium.org

Web Inspector: compile time ambiguity happens when I try to assign a TypeBuilder object to an out argument.
https://bugs.webkit.org/show_bug.cgi?id=85462

It happens because we have type casting operators for both types RefPtr<*Type*> and PassRefPtr<*Type*>.
I think we can drop PassRefPtr type casting operator and use a named function 'release'.

Reviewed by Yury Semikhatsky.

  • inspector/CodeGeneratorInspector.py:
  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::buildObjectForSearchMatch):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):

  • inspector/InspectorPageAgent.cpp:

(WebCore::buildObjectForCookie):
(WebCore::buildObjectForSearchResult):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):
(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/ScriptCallFrame.cpp:

(WebCore::ScriptCallFrame::buildInspectorObject):

05:35 Changeset [115964] by yurys@chromium.org

Web Inspector: crash in InspectorResourceAgent::didReceiveWebSocketFrame
https://bugs.webkit.org/show_bug.cgi?id=85394

Reviewed by Pavel Feldman.

Pass string length explicitely when creating String object from non-null-terminated
char* strings.

  • inspector/InspectorResourceAgent.cpp:

(WebCore):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):

05:26 Changeset [115963] by pfeldman@chromium.org

Not reviewed: never surround InspectorInstrumentation:: with ENABLED(INSPECTOR)

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::dispatchChildRemovalEvents):

05:13 Changeset [115962] by zandobersek@gmail.com

ImageDiff should be run inside a properly established environment
https://bugs.webkit.org/show_bug.cgi?id=85292

Reviewed by Martin Robinson.

When creating the ImageDiff server process, pass along a freshly-set-up environment
in which the process should be executed in.

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort._start_image_diff_process):

05:08 Changeset [115961] by pfeldman@chromium.org

Web Inspector: migrate breakpoint manager to live locations.
https://bugs.webkit.org/show_bug.cgi?id=85136

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • Merges Breakpoint and UIBreakpoint to have single instance
  • Extracts storage from the breakpoint manager
  • Makes breakpoint manager use source mapping from the script, not the presentation model
  • Removes breakpoints collection from the UISourceCode

Unfortunately, there are too many inter-dependencies that require that these changes are done simultaneously.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype.breakpoint):
(WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
(WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype.debuggerReset):
(WebInspector.BreakpointManager.prototype._breakpointResolved):
(WebInspector.BreakpointManager.prototype._removeBreakpoint):
(WebInspector.BreakpointManager.prototype._uiLocationAdded):
(WebInspector.BreakpointManager.prototype._uiLocationRemoved):
(WebInspector.BreakpointManager.prototype.storage):
(WebInspector.BreakpointManager.Breakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype.primaryUILocation):
(WebInspector.BreakpointManager.Breakpoint.prototype._addResolvedLocation):
(WebInspector.BreakpointManager.Breakpoint.prototype.enabled):
(WebInspector.BreakpointManager.Breakpoint.prototype.setEnabled):
(WebInspector.BreakpointManager.Breakpoint.prototype.condition):
(WebInspector.BreakpointManager.Breakpoint.prototype.setCondition):
(WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype.remove):
(WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):
(WebInspector.BreakpointManager.Breakpoint.prototype._removeFromDebugger):
(WebInspector.BreakpointManager.Breakpoint.prototype._resetLocations):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
(WebInspector.BreakpointManager.Breakpoint.prototype._fakeBreakpointAtPrimaryLocation):
(WebInspector.BreakpointManager.Storage.get this):
(WebInspector.BreakpointManager.Storage):
(WebInspector.BreakpointManager.Storage.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.Storage.prototype._updateBreakpoint):
(WebInspector.BreakpointManager.Storage.prototype._removeBreakpoint):
(WebInspector.BreakpointManager.Storage.prototype._save):
(set WebInspector.BreakpointManager.Storage.Item):

  • inspector/front-end/BreakpointsSidebarPane.js:

(WebInspector.JavaScriptBreakpointsSidebarPane):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded.didRequestContent):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel):
(WebInspector.DebuggerModel.prototype.breakpointsActive):
(WebInspector.DebuggerModel.prototype.createLiveLocation):

  • inspector/front-end/DebuggerPresentationModel.js:

(WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
(WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource):
(WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype.editContent):
(WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
(WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
(WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
(WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
(WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
(WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.rawLocationToUILocation):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
(WebInspector.ScriptsPanel.prototype._debuggerPaused):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.contentChanged):

LayoutTests:

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • inspector/debugger/breakpoint-manager-expected.txt:
  • inspector/debugger/breakpoint-manager.html:
  • inspector/debugger/debugger-breakpoints-not-activated-on-reload.html:
  • inspector/debugger/scripts-panel.html:
  • inspector/debugger/source-frame-expected.txt:
  • inspector/debugger/source-frame.html:
  • platform/chromium/inspector/debugger/breakpoint-manager-expected.txt: Removed.
05:07 WebKitGTK/WebKit2Roadmap edited by carlosgc@webkit.org
Sort tasks by target version and status (diff)
05:00 WebKitGTK/WebKit2Roadmap edited by carlosgc@webkit.org
Update Roadmap after 1.9.1 release (diff)
04:36 Changeset [115960] by caseq@chromium.org

Unreviewed attemp to fix chromium win build broken at r115943.

  • notifications/NotificationClient.h:

(WebCore):

04:16 Changeset [115959] by kenneth@webkit.org

Document the QML WebViewExperimental API devicePixelRatio.

Rubberstamped by Simon Hausmann.

  • UIProcess/API/qt/qquickwebview.cpp:
04:14 Changeset [115958] by vestbo@webkit.org

[Qt] Allow the web process and WTR to be paused on startup

Makes it easier to debug the web process or run-webkit-tests -2, as you
have ample time to attach gdb to the process.

Reviewed by Simon Hausmann.

04:01 Changeset [115957] by ossy@webkit.org

Password protect "Stop build" button
https://bugs.webkit.org/show_bug.cgi?id=81982

Reviewed by Ryosuke Niwa.

Only authenticated users should be able to use stopBuild, stopAllBuilds, cancelPendingBuild
features to prevent killing builds on build.webkit.org by SPAM bots.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:
03:38 Changeset [115956] by commit-queue@webkit.org

Linker warnings due to duplicate symbols for SimplifyMarkupCommand.cpp on Windows
https://bugs.webkit.org/show_bug.cgi?id=85467

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-05-03
Reviewed by Ryosuke Niwa.

Removed the multiple inclusion of the file SimplifyMarkupCommand.cpp

No new tests required.

  • WebCore.vcproj/WebCore.vcproj:
03:37 Changeset [115955] by ahf@0x90.dk

Rename deviceDPI to devicePixelRatio https://bugs.webkit.org/show_bug.cgi?id=85049

Reviewed by Kenneth Rohde Christiansen.

This patch fixes an API test regression from r115948 in
tst_QQuickWebView::scrollRequest() by setting the device pixel ratio
for the test WebView to 1.5.

  • UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:

(tst_QQuickWebView::newWebView):

03:30 Changeset [115954] by commit-queue@webkit.org

[DRT] Remove the name of parameter, visibility, from the setPageVisibility stub implementations.
https://bugs.webkit.org/show_bug.cgi?id=85468

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-03
Reviewed by Nikolas Zimmermann.

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:

(LayoutTestController::setPageVisibility): Remove the name of parameter, visibility.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setPageVisibility): Remove the name of parameter, visibility.

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::setPageVisibility): Remove the name of parameter, visibility.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::setPageVisibility): Remove the name of parameter, visibility.

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::setPageVisibility): Remove the name of parameter, visibility.

03:02 Changeset [115953] by commit-queue@webkit.org

CSS clip: auto clips to box borders instead of removing clipping
https://bugs.webkit.org/show_bug.cgi?id=36772

Patch by Uday Kiran <udaykiran@motorola.com> on 2012-05-03
Reviewed by Andreas Kling.

Source/WebCore:

According to CSS 2.1 spec, http://www.w3.org/TR/CSS2/visufx.html#propdef-clip,
clip property with value 'auto' the element does not clip.
Also getPropertyValue for clip when auto is specified should return "auto"
and not "rect(0px 0px 0px 0px)".

Tests: css2.1/20110323/clip-001-expected.html

css2.1/20110323/clip-001.html

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyClip::applyValue):

LayoutTests:

CSS 2.1 test case added for clip:auto

  • css2.1/20110323/clip-001-expected.html: Added.
  • css2.1/20110323/clip-001.html: Added.
  • fast/css/getPropertyValue-clip.html: getPropertyValue for clip when auto is specified should return auto and not rect(0px 0px 0px 0px).
02:51 Changeset [115952] by slewis@apple.com

https://bugs.webkit.org/show_bug.cgi?id=85450 unbounded growth of JSDOMWindowShells loading pages in the same window
<rdar://problem/11320059> REGRESSION (r115083): PLT3 shows linear memory growth and gets slower with each run

Reviewed by Brady Eidson.

The API added for DOMWindowExtension, didCreateGlobalObjectForFrame, would create a global object
for every world, even those that did not need the callback. This had the side effect of creating a
JSDOMWindowShell that the associated world didn't necessarily know to clean up. Instead of creating
unnecessary objects change the API to globalObjectIsAvailableForFrame and do not pass the global object
in the API. The object can be accessed later by those worlds which require it.

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): rename API and remove globalObject parameter

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:

(InjectedBundlePageLoaderClient): ditto

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): ditto

Tools:

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:

(TestWebKitAPI):
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:

(TestWebKitAPI):
(DOMWindowExtensionBasic):
(TestWebKitAPI::DOMWindowExtensionBasic::didCreatePage):
(TestWebKitAPI::DOMWindowExtensionBasic::globalObjectIsAvailableForFrame):
(TestWebKitAPI::globalObjectIsAvailableForFrameCallback):

02:49 Changeset [115951] by antti@apple.com

Add temporary feature define for parsed stylesheet caching
https://bugs.webkit.org/show_bug.cgi?id=85413

Rubber-stamped by Nikolas Zimmermann.

While not an externally visible feature this is still a significant internal change.
It is good to have define in case someone has an urgent need to turn it off.

Caching is enabled by default on all platforms. The define should be removed after some bake time.

Source/WebCore:

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

Source/WTF:

  • wtf/Platform.h:
02:09 Changeset [115950] by zimmermann@webkit.org

Accumulation for values-animation is broken
https://bugs.webkit.org/show_bug.cgi?id=85158

Reviewed by Zoltan Herczeg.

Follow-up patch: Add const Foo& foo() const accessors to SVGAnimatedType,
to avoid the "Foo& foo = animated->foo()" idiom in all cases where we
don't need to mutate 'foo'. Use "const Foo& foo = animated->foo()" instead.
Inline all of these methods to avoid the function call overhead.

For to-animations we actually mutated the from value before, but it wasn't a
problem in practive, as we did that on every animation step. Fully avoid these
inconsitencies by never mutating the from/to types stored in SVGAnimateElement.

Cache toAtEndOfDurationType just like m_toType/m_fromType in SVGAnimateElement,
to avoid reconstructing it on every animation step.

No new tests, only design/performance fixes.

  • svg/SVGAnimateElement.cpp:

(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::SVGAnimateElement::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateElement::targetElementWillChange):

  • svg/SVGAnimateElement.h:

(SVGAnimateElement):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
(WebCore::SVGAnimateMotionElement::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
(WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):

  • svg/SVGAnimateMotionElement.h:

(SVGAnimateMotionElement):

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedBoolean.cpp:

(WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedColor.cpp:

(WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedEnumeration.cpp:

(WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedInteger.cpp:

(WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedIntegerOptionalInteger.cpp:

(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedLength.cpp:

(WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedLengthList.cpp:

(WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumber.cpp:

(WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberList.cpp:

(WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberOptionalNumber.cpp:

(WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPath.cpp:

(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPointList.cpp:

(WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPreserveAspectRatio.cpp:

(WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedRect.cpp:

(WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedString.cpp:

(WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedTransformList.cpp:

(WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedType.cpp:
  • svg/SVGAnimatedType.h:

(WebCore::SVGAnimatedType::angleAndEnumeration):
(SVGAnimatedType):
(WebCore::SVGAnimatedType::boolean):
(WebCore::SVGAnimatedType::color):
(WebCore::SVGAnimatedType::enumeration):
(WebCore::SVGAnimatedType::integer):
(WebCore::SVGAnimatedType::integerOptionalInteger):
(WebCore::SVGAnimatedType::length):
(WebCore::SVGAnimatedType::lengthList):
(WebCore::SVGAnimatedType::number):
(WebCore::SVGAnimatedType::numberList):
(WebCore::SVGAnimatedType::numberOptionalNumber):
(WebCore::SVGAnimatedType::path):
(WebCore::SVGAnimatedType::pointList):
(WebCore::SVGAnimatedType::preserveAspectRatio):
(WebCore::SVGAnimatedType::rect):
(WebCore::SVGAnimatedType::string):
(WebCore::SVGAnimatedType::transformList):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::startedActiveInterval):
(WebCore::SVGAnimationElement::updateAnimation):

  • svg/SVGAnimationElement.h:

(WebCore::SVGAnimationElement::adjustFromToListValues):
(WebCore::SVGAnimationElement::animateDiscreteType):
(SVGAnimationElement):

02:02 Changeset [115949] by zimmermann@webkit.org

2012-05-03 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix mac build, it was missing setPageVisibility/resetPageVisibility stub implementations.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::resetPageVisibility): (LayoutTestController::setPageVisibility):
01:54 Changeset [115948] by ahf@0x90.dk

Rename deviceDPI to devicePixelRatio https://bugs.webkit.org/show_bug.cgi?id=85049

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

No new tests added since this is a minor refactoring with no changes
that should affect tests.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setDevicePixelRatio):
(WebCore::Settings::devicePixelRatio):
(Settings):

Source/WebKit2:

Add experimental QML API to set and get the device pixel ratio.

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):

  • UIProcess/API/qt/qquickwebview_p.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):
(WebKit::WebPage::updatePreferences):

Tools:

Use 1.5 as device pixel ratio for the Qt MiniBrowser.

  • MiniBrowser/qt/qml/BrowserWindow.qml:
01:45 Changeset [115947] by zimmermann@webkit.org

Fix multiple begin values support - especially with seeking through setCurrentTime
https://bugs.webkit.org/show_bug.cgi?id=85372

Reviewed by Zoltan Herczeg.

Source/WebCore:

Multiple begin values aka. begin="0s; 2s" aren't correctly handled - resulting in broken & unexpected behavior.
Supporting seeking properly on documents containing such animations is very important, otherwise we can't reliable
test animations using either reftests or the SVG JS animation test framework.

Testcase:
<rect height="100" fill="green">

<animate attributeName="width" begin="0s; 2s" dur="8s" from="0" to="100" fill="freeze"/>

</rect>

What's expected?
Two times should be contained in the 'begin' times list in SVGSMILElement: m_beginTimes = { 0s, 2s }.
The initial first resolved interval is: m_intervalBegin=0.0s, m_intervalEnd=8.0s.

During t=0s..1.9999s the m_intervalBegin/m_intervalEnd are correct.
At t=2s, a new interval can be started. m_intervalEnd should be set to nextBeginTime, where nextBeginTime=2s.
The current interval should get cropped to: m_intervalBegin=0s, m_intervalEnd=2s. The following call to
resolveNextInterval() sees that elapsed >= m_intervalEnd, and thus moves on to the next interval.
m_intervalBegin should be 2s and m_intervalEnd=10s after that.

In trunk this behavior is only partly implemented and broken. Especially broken together with seeking via SVGSVGElement.setCurrentTime.
That's because we don't correctly seek to the right interval in case of multiple begin values, eg. if we sample an animation with
begin="0s; 3s" dur="6s" we always remain in the first interval and don't move on.

Fix all of these issues, making lots more tests work in Dr. Olaf Hofmanns SVG Animation test suite.

Tests: svg/animations/multiple-begin-additive-animation.html

svg/animations/multiple-begin-animation-discrete-expected.svg
svg/animations/multiple-begin-animation-discrete.svg
svg/animations/multiple-begin-animation-expected.svg
svg/animations/multiple-begin-animation.svg

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::begin):
(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::updateAnimations):

  • svg/animation/SMILTimeContainer.h:

(SMILTimeContainer):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::findInstanceTime):
(WebCore::SVGSMILElement::resolveInterval):
(WebCore::SVGSMILElement::resolveNextInterval):
(WebCore):
(WebCore::SVGSMILElement::checkRestart):
(WebCore::SVGSMILElement::seekToIntervalCorrespondingToTime):
(WebCore::SVGSMILElement::progress):

  • svg/animation/SVGSMILElement.h:

(SVGSMILElement):

LayoutTests:

  • svg/animations/multiple-begin-additive-animation-expected.txt: Added.
  • svg/animations/multiple-begin-additive-animation.html: Added.
  • svg/animations/multiple-begin-animation-discrete-expected.svg: Added.
  • svg/animations/multiple-begin-animation-discrete.svg: Added.
  • svg/animations/multiple-begin-animation-expected.svg: Added.
  • svg/animations/multiple-begin-animation.svg: Added.
  • svg/animations/resources/multiple-begin-additive-animation.svg: Added.
  • svg/animations/script-tests/multiple-begin-additive-animation.js: Added.

(checkBaseValues):
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(sample8):
(sample9):
(sample10):
(sample11):
(sample12):
(sample13):
(executeTest):

01:22 Changeset [115946] by commit-queue@webkit.org

[EFL][DRT] Implement the LayoutTestController's methods related to the Page Visibility API.
https://bugs.webkit.org/show_bug.cgi?id=85347

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-03
Reviewed by Nikolas Zimmermann.

Tools:

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:

(LayoutTestController::resetPageVisibility): Not implemented.
(LayoutTestController::setPageVisibility): Not implemented.

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::resetPageVisibility): Reset the page visibility.
(LayoutTestController::setPageVisibility): Set the page visibility.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::resetPageVisibility): Not implemented.
(LayoutTestController::setPageVisibility): Not implemented.

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::resetPageVisibility): Not implemented.
(LayoutTestController::setPageVisibility): Not implemented.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::resetPageVisibility): Not implemented.
(LayoutTestController::setPageVisibility): Not implemented.

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::resetPageVisibility): Not implemented.
(LayoutTestController::setPageVisibility): Not implemented.

LayoutTests:

  • platformrm/efl/Skipped: Remove one test case of the Page Visibility API.
01:03 Changeset [115945] by gyuyoung.kim@samsung.com

[CMAKE] Remove unneeded keyword in WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=85461

Reviewed by Eric Seidel.

DEFAULT keyword wasn't removed on Bug 72815.

  • Source/cmake/WebKitFeatures.cmake: Remove DEFAULT keyword in ENABLE_DRAG_SUPPORT field.
00:23 Changeset [115944] by danakj@chromium.org

[chromium] Don't add small opaque areas to the occlusion tracker's Region
https://bugs.webkit.org/show_bug.cgi?id=85297

Reviewed by Adrienne Walker.

Source/WebCore:

Don't add small opaque areas (smaller than 160x160) to the occlusion
tracker's Region objects to avoid high Region::unite() costs.

We would like Region to just be fast enough that this isn't a concern,
and there are patches in flight to do this, but at the moment, small
opaque areas add significant cost if there is many of them, for
potentially small gains since they do not cover entire tiles.

Comments in http://code.google.com/p/chromium/issues/detail?id=124687
motivate this approach for now, and point to around 160x160 being
a reasonable threshold.

Removes the opaque paint tracking flag while we're here. The flag is
no longer used, and was broken when we moved the "paint vs opaque
flag" distinction out to the layers.

Unit test: CCOcclusionTrackerTestMinimumTrackingSize

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

(WebCore::CCLayerTreeHost::paintLayerContents):

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

(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):

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

(WebCore::::CCOcclusionTrackerBase):
(WebCore::addOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):

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

(WebCore::CCOcclusionTrackerBase::setMinimumTrackingSize):
(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::preferredMinimumTrackingSize):

Source/WebKit/chromium:

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests):
(CCOcclusionTrackerTestMinimumTrackingSize):
(WebKitTests::CCOcclusionTrackerTestMinimumTrackingSize::runMyTest):

00:06 Changeset [115943] by jonlee@apple.com

Migrate permission functions to Notification from NotificationCenter
https://bugs.webkit.org/show_bug.cgi?id=80485
<rdar://problem/10965458>

Reviewed by Jian Li.

Source/WebCore:

  • notifications/Notification.idl: Add permission functions.
  • notifications/DOMWindowNotifications.idl: Wrap webkitNotifications as part of legacy API.
  • notifications/Notification.cpp: New permission functions are wrapped with ENABLE(NOTIFICATIONS)

(WebCore::Notification::taskTimerFired): Use the new permission functions to determine whether we can show the
notification.
(WebCore::Notification::permissionLevel):
(WebCore::Notification::permissionString): Declare three static locals for each of the values, and return
based on the permission enum.
(WebCore::Notification::requestPermission): Forward request to client.

  • notifications/Notification.h:
  • notifications/NotificationPermissionCallback.h: Added.

(NotificationPermissionCallback):
(WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):

  • notifications/NotificationPermissionCallback.idl: Added.
  • notifications/NotificationCenter.cpp: Wrap permission functions in ENABLE(LEGACY_NOTIFICATIONS)
  • notifications/NotificationCenter.h: Wrap permission functions in ENABLE(LEGACY_NOTIFICATIONS)
  • notifications/NotificationCenter.idl: Refactor conditionals to make the center available only when

ENABLE(LEGACY_NOTIFICATIONS) is on.

  • notifications/NotificationPresenter.h:

(WebCore::NotificationPresenter::requestPermission): Add new requestPermission() function for new
NotificationPermissionCallback type. Make it a stub implementation until all ports have adopted.

  • notifications/NotificationClient.h: Add another requestPermission() client call, wrapped in

ENABLE(NOTIFICATIONS) that accepts the NotificationPermissionCallback. Wrap the original one in
ENABLE(LEGACY_NOTIFICATIONS).

  • bindings/js/JSDesktopNotificationsCustom.cpp: Change to include the implementation only in

ENABLE(LEGACY_NOTIFICATIONS).

  • bindings/js/JSNotificationsCustom.cpp: Custom implementation of requestPermission().
  • bindings/v8/custom/V8NotificationCustom.cpp: Custom implementation of requestPermission().
  • notifications/WorkerContextNotifications.idl: Make webktNotifications available only in legacy API.
  • CMakeLists.txt: Add new callback idl.
  • DerivedSources.make: Add new callback idl.
  • DerivedSources.pri: Add new callback idl.
  • GNUmakefile.list.am: Add NotificationPermissionCallback files.
  • Target.pri: Include JSNotificationCustom.cpp, V8NotificationCustom.cpp
  • UseJSC.cmake: Include JSNotificationCustom.cpp
  • UseV8.cmake: Include V8NotificationCustom.cpp
  • WebCore.gypi: Include JSNotificationCustom.cpp, V8NotificationCustom.cpp, JSNotificationPermissionCallback.{h,cpp}
  • WebCore.vcproj/WebCore.vcproj: Include JSNotificationCustom.cpp, JSNotificationPermissionCallback.{h,cpp}
  • WebCore.exp.in: Export permissionString().
  • WebCore.xcodeproj/project.pbxproj: Add callback idl, h, and cpp files.

Source/WebKit/chromium:

  • src/NotificationPresenterImpl.h:

(NotificationPresenterImpl): Add stub implementation of requestPermission.
(WebKit::NotificationPresenterImpl::requestPermission):

Source/WebKit/mac:

  • WebCoreSupport/WebNotificationClient.h: *

WebCoreSupport/WebNotificationClient.mm: Add a separate callback
variable depending on the notifications API enabled.
(WebNotificationClient::requestPermission): Add
NotificationPermissionCallback version of the same
function. And refactor common code into private function.
(-[WebNotificationPolicyListener initWithCallback:]): Refactor to
take the NotificationPermissionCallback as a parameter.
(-[WebNotificationPolicyListener initWithVoidCallback:]): Add new
init method to handle legacy API.
(-[WebNotificationPolicyListener allow]): Invoke the callback for
both variables. If only one of the APIs is enabled, we are
guaranteed that the relevant callback variable exists. If both
APIs are supported, it is possible that _voidCallback will be nil
if the callback is NotificationPermissionCallback, so we need the
extra pointer check.
(-[WebNotificationPolicyListener deny]): Ditto.

Source/WebKit/qt:

  • WebCoreSupport/NotificationPresenterClientQt.h:

(NotificationPresenterClientQt): Add stub implementation of requestPermission.
(WebCore::NotificationPresenterClientQt::requestPermission):

Source/WebKit/win:

  • WebCoreSupport/WebDesktopNotificationsDelegate.cpp:

(WebDesktopNotificationsDelegate::requestPermission):

  • WebCoreSupport/WebDesktopNotificationsDelegate.h:

(WebDesktopNotificationsDelegate): Add stub implementation of requestPermission.

Source/WebKit2:

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest): Add version to support both kinds of
callbacks.
(WebKit::NotificationPermissionRequestManager::cancelRequest):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

  • WebProcess/Notifications/NotificationPermissionRequestManager.h: Add another map for new callback type.

(NotificationPermissionRequestManager):

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show): Add #ifdef to use replaceId() or tag() depending on which feature
has been enabled. In the case where both are enabled, we prefer tag() since that is in the latest spec.

  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:

(WebKit::WebNotificationClient::requestPermission):

  • WebProcess/WebCoreSupport/WebNotificationClient.h: Implement both client functions to request permissions.
Note: See TracTimeline for information about the timeline view.