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

Timeline



May 7, 2012:

11:59 PM Changeset in webkit [116399] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[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.
11:56 PM Changeset in webkit [116398] by pfeldman@chromium.org
  • 5 edits in trunk

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):

11:30 PM Changeset in webkit [116397] by pfeldman@chromium.org
  • 5 edits in trunk

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:
10:59 PM Changeset in webkit [116396] by commit-queue@webkit.org
  • 3 edits in trunk

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:
10:45 PM Changeset in webkit [116395] by Simon Fraser
  • 3 edits
    3 adds in trunk

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.
10:14 PM Changeset in webkit [116394] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

10:00 PM Changeset in webkit [116393] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed build fix: didOpenFileSystem hides overloaded virtual function

  • src/WorkerAsyncFileSystemChromium.cpp:
9:12 PM Changeset in webkit [116392] by eae@chromium.org
  • 6 edits in trunk/Source/WebCore

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):

9:11 PM Changeset in webkit [116391] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed build fix: adding missing include.

  • src/AsyncFileSystemChromium.cpp:
9:10 PM Changeset in webkit [116390] by tkent@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

[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.
8:49 PM Changeset in webkit [116389] by commit-queue@webkit.org
  • 9 edits
    10 adds in trunk

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.
8:34 PM Changeset in webkit [116388] by kinuko@chromium.org
  • 39 edits
    1 copy
    1 move
    3 adds in trunk

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.
8:05 PM Changeset in webkit [116387] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[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.

7:52 PM Changeset in webkit [116386] by ojan@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

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.
7:47 PM Changeset in webkit [116385] by abarth@webkit.org
  • 5 edits in trunk/Source

[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:
7:22 PM Changeset in webkit [116384] by commit-queue@webkit.org
  • 14 edits
    5 adds in trunk

[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:
6:53 PM Changeset in webkit [116383] by tkent@chromium.org
  • 3 edits
    2 deletes in trunk/Source/WebKit/chromium

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.
6:32 PM Changeset in webkit [116382] by aestes@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

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.
6:14 PM Changeset in webkit [116381] by Lucas Forschler
  • 12 edits in tags/Safari-534.57.4

Merge fixes for radars: 11331161, 11331164, 11331169.

6:11 PM Changeset in webkit [116380] by Lucas Forschler
  • 1 copy in tags/Safari-534.57.4

New tag.

6:09 PM Changeset in webkit [116379] by Lucas Forschler
  • 5 edits in branches/safari-534.57-branch/Source

Versioning.

6:08 PM FeatureFlags edited by tkent@chromium.org
Add IFRAME_SEAMLESS (diff)
5:34 PM Changeset in webkit [116378] by fpizlo@apple.com
  • 11 edits in branches/dfgopt/Source/JavaScriptCore

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):

5:11 PM Changeset in webkit [116377] by danakj@chromium.org
  • 5 edits in trunk/Source

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):

5:09 PM Changeset in webkit [116376] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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):

5:05 PM Changeset in webkit [116375] by tony@chromium.org
  • 3 edits
    3 adds in trunk/Source/WebKit/chromium

[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.
4:56 PM Changeset in webkit [116374] by zmo@google.com
  • 7 edits in trunk

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.
4:39 PM Changeset in webkit [116373] by commit-queue@webkit.org
  • 5 edits
    6 adds in trunk

: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.
4:35 PM Changeset in webkit [116372] by oliver@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

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.

4:33 PM Changeset in webkit [116371] by jchaffraix@webkit.org
  • 14 edits in trunk/Source

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.

4:32 PM Changeset in webkit [116370] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

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

failing until we enable the feature.

4:32 PM Changeset in webkit [116369] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

4:30 PM Changeset in webkit [116368] by enrica@apple.com
  • 6 edits in trunk/Source/WebCore

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):

4:22 PM Changeset in webkit [116367] by aestes@apple.com
  • 8 edits in trunk/Source

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:
4:15 PM Changeset in webkit [116366] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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.

4:07 PM Changeset in webkit [116365] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

[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.

4:06 PM Changeset in webkit [116364] by noel.gordon@gmail.com
  • 2 edits in trunk/Source/WebCore

[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().

4:02 PM Changeset in webkit [116363] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix release build.

4:00 PM Changeset in webkit [116362] by danakj@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[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):

3:52 PM Changeset in webkit [116361] by oliver@apple.com
  • 7 edits in trunk

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:
3:29 PM Changeset in webkit [116360] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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:
3:21 PM Changeset in webkit [116359] by enne@google.com
  • 9 edits in trunk/Source

[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):

3:15 PM Changeset in webkit [116358] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

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

Patch by Raymond Toy <Raymond Toy> 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.
3:07 PM Changeset in webkit [116357] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

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
3:02 PM Changeset in webkit [116356] by eric@webkit.org
  • 13 edits in trunk

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:
2:57 PM Changeset in webkit [116355] by aestes@apple.com
  • 10 edits in trunk/LayoutTests

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:
2:40 PM Changeset in webkit [116354] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Fix compositing expectations to not include leopard.

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
2:30 PM Changeset in webkit [116353] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

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.
1:41 PM Changeset in webkit [116352] by alexis.menard@openbossa.org
  • 4 edits in trunk

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:
1:40 PM Changeset in webkit [116351] by commit-queue@webkit.org
  • 18 edits
    1 copy
    2 adds
    1 delete in trunk/Source

[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):

1:37 PM Changeset in webkit [116350] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[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):

1:37 PM Changeset in webkit [116349] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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:
1:23 PM Changeset in webkit [116348] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[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):

1:23 PM Changeset in webkit [116347] by ojan@chromium.org
  • 4 edits
    2 adds in trunk/Tools

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.
1:21 PM Changeset in webkit [116346] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

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:
1:19 PM Changeset in webkit [116345] by fpizlo@apple.com
  • 20 edits in branches/dfgopt/Source/JavaScriptCore

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):

1:17 PM Changeset in webkit [116344] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[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):

1:16 PM Changeset in webkit [116343] by rwlbuis@webkit.org
  • 4 edits in trunk/Source/WebCore

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):

1:14 PM Changeset in webkit [116342] by commit-queue@webkit.org
  • 6 edits
    5 deletes in trunk/Source

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.
1:10 PM Changeset in webkit [116341] by commit-queue@webkit.org
  • 4 edits in trunk

[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:
1:06 PM Changeset in webkit [116340] by aestes@apple.com
  • 2 edits
    2 deletes in trunk/LayoutTests

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 PM Changeset in webkit [116339] by enne@google.com
  • 2 edits in trunk/Source/WebCore

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 PM Changeset in webkit [116338] by jonlee@apple.com
  • 8 edits in trunk/Tools

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 PM Changeset in webkit [116337] by commit-queue@webkit.org
  • 148 edits
    3 adds in trunk

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 PM Changeset in webkit [116336] by pilgrim@chromium.org
  • 18 edits
    1 copy in trunk/Source

[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 PM Changeset in webkit [116335] by abarth@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

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 AM Changeset in webkit [116334] by wjmaclean@chromium.org
  • 6 edits
    5 adds in trunk/Source

[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 AM Changeset in webkit [116333] by jsbell@chromium.org
  • 4 edits in trunk/Source

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 AM Changeset in webkit [116332] by shawnsingh@chromium.org
  • 5 edits in trunk/Source

[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 AM Changeset in webkit [116331] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

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 AM Changeset in webkit [116330] by noel.gordon@gmail.com
  • 2 edits in trunk/Source/WebCore

[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 AM Changeset in webkit [116329] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.2/Source

Versioning.

11:32 AM Changeset in webkit [116328] by commit-queue@webkit.org
  • 5 edits in trunk

[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 AM Changeset in webkit [116327] by Lucas Forschler
  • 1 copy in tags/Safari-536.10.2

New Tag.

11:30 AM Changeset in webkit [116326] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.1/Source

Fix versioning for 536.10.1.

11:27 AM Changeset in webkit [116325] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

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 AM Changeset in webkit [116324] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.1/Source

Versioning.

11:24 AM Changeset in webkit [116323] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark

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

11:16 AM Changeset in webkit [116322] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

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

expected failure.

10:56 AM Changeset in webkit [116321] by tommyw@google.com
  • 9 edits in trunk/Source

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 AM Changeset in webkit [116320] by mitz@apple.com
  • 3 edits in trunk/Websites/webkit.org

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 AM Changeset in webkit [116319] by nduca@chromium.org
  • 18 edits in trunk/Source

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 AM Changeset in webkit [116318] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[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 AM Changeset in webkit [116317] by tommyw@google.com
  • 9 edits in trunk/Source

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 AM Changeset in webkit [116316] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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 AM Changeset in webkit [116315] by tommyw@google.com
  • 6 edits
    2 adds in trunk

[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 AM Changeset in webkit [116314] by Lucas Forschler
  • 1 copy in branches/safari-536-branch

New branch.

9:26 AM Changeset in webkit [116313] by commit-queue@webkit.org
  • 6 edits in trunk

[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> 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:
8:05 AM Changeset in webkit [116312] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening, fix failure expectation for test.

  • platform/efl/test_expectations.txt:
8:02 AM Changeset in webkit [116311] by adam.bergkvist@ericsson.com
  • 6 edits in trunk/Source/WebCore

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:
8:01 AM Changeset in webkit [116310] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[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:
7:46 AM Changeset in webkit [116309] by mihnea@adobe.com
  • 3 edits
    2 adds
    18 deletes in trunk/LayoutTests

[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.
7:32 AM Changeset in webkit [116308] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

[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):

7:10 AM Changeset in webkit [116307] by alexis.menard@openbossa.org
  • 2 edits
    4 adds in trunk/LayoutTests

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.
7:06 AM Changeset in webkit [116306] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

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):

6:38 AM Changeset in webkit [116305] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

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):

5:58 AM Changeset in webkit [116304] by Csaba Osztrogonác
  • 8 edits
    8 deletes in trunk

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):

5:30 AM Changeset in webkit [116303] by kbalazs@webkit.org
  • 2 edits in trunk/Tools

Unreviewed Qt build fix.

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

  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):

5:30 AM Changeset in webkit [116302] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/efl

[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:
5:15 AM Changeset in webkit [116301] by kbalazs@webkit.org
  • 2 edits in trunk/Tools

Unreviewed build fix after r116299.

  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):

4:59 AM Changeset in webkit [116300] by alexis.menard@openbossa.org
  • 5 edits in trunk/LayoutTests

[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:
4:49 AM Changeset in webkit [116299] by kbalazs@webkit.org
  • 8 edits
    10 adds in trunk

[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):

4:43 AM Changeset in webkit [116298] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

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

Reviewed by Zoltan Herczeg.

  • rendering/RenderBlock.h:

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

4:34 AM Changeset in webkit [116297] by commit-queue@webkit.org
  • 2 edits
    4 deletes in trunk/LayoutTests

[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:
4:26 AM Changeset in webkit [116296] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[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> 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):

4:21 AM Changeset in webkit [116295] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

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

  • platform/chromium/test_expectations.txt:
4:13 AM Changeset in webkit [116294] by eric@webkit.org
  • 2 edits in trunk/Tools

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:
3:30 AM Changeset in webkit [116293] by apavlov@chromium.org
  • 4 edits in trunk/Source/WebCore

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):

3:07 AM Changeset in webkit [116292] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, more compositing test timeouts.

  • platform/chromium/test_expectations.txt:
2:56 AM Changeset in webkit [116291] by Antti Koivisto
  • 29 edits
    6 adds in trunk

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.
2:47 AM Changeset in webkit [116290] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

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):

2:46 AM Changeset in webkit [116289] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

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

  • platform/chromium/test_expectations.txt:
2:31 AM Changeset in webkit [116288] by adam.bergkvist@ericsson.com
  • 2 edits in trunk/Tools

Added myself as a committer.

Not reviewed.

  • Scripts/webkitpy/common/config/committers.py:
2:29 AM Changeset in webkit [116287] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

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

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):

2:21 AM Changeset in webkit [116286] by Simon Hausmann
  • 2 edits in trunk

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

  • Source/sync.profile:
2:20 AM Changeset in webkit [116285] by commit-queue@webkit.org
  • 8 edits in trunk

[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:
2:17 AM Changeset in webkit [116284] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

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

  • platform/chromium/test_expectations.txt:
1:57 AM Changeset in webkit [116283] by kinuko@chromium.org
  • 13 edits in trunk/Source

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):

1:42 AM Changeset in webkit [116282] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Revert the previous.

Not reviewed.

Apparently r116235 was already rolled out.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::determineScope):

1:13 AM Changeset in webkit [116281] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

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):

12:39 AM Changeset in webkit [116280] by kinuko@chromium.org
  • 23 edits
    1 copy in trunk/Source

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):

May 6, 2012:

11:52 PM Changeset in webkit [116279] by hayato@chromium.org
  • 2 edits in trunk/Tools

[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):

11:45 PM Changeset in webkit [116278] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[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
11:36 PM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Update target version after 1.9.2 (diff)
11:05 PM Changeset in webkit [116277] by morrita@google.com
  • 48 edits
    2 moves in trunk

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.
11:02 PM Changeset in webkit [116276] by caseq@chromium.org
  • 27 edits
    6 deletes in trunk

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.
10:54 PM Changeset in webkit [116275] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

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:
10:38 PM Changeset in webkit [116274] by abarth@webkit.org
  • 8 edits
    4 adds in trunk

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:
10:33 PM Changeset in webkit [116273] by kinuko@chromium.org
  • 11 edits in trunk/Source

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):

10:24 PM Changeset in webkit [116272] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed expectations update for overflow-positioning.html.

  • platform/chromium/test_expectations.txt:
10:05 PM Changeset in webkit [116271] by hbono@chromium.org
  • 3 edits
    4 copies in branches/chromium/1084

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

9:41 PM Changeset in webkit [116270] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[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):

9:39 PM Changeset in webkit [116269] by haraken@chromium.org
  • 16 edits in trunk/Source/WebCore

[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):

9:34 PM Changeset in webkit [116268] by abarth@webkit.org
  • 10 edits in trunk

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:
9:15 PM Changeset in webkit [116267] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[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):

9:11 PM Changeset in webkit [116266] by mary.wu@torchmobile.com.cn
  • 2 edits in trunk/Tools

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:
9:09 PM Changeset in webkit [116265] by mary.wu@torchmobile.com.cn
  • 8 edits in trunk/Source

[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):

8:43 PM Changeset in webkit [116264] by fpizlo@apple.com
  • 6 edits in branches/dfgopt/Source/JavaScriptCore

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):

8:13 PM Changeset in webkit [116263] by bashi@chromium.org
  • 5 edits in trunk

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.
7:53 PM Changeset in webkit [116262] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for r116260.

COMPILE_ASSERT() does not expect a string in its second parameter.

  • platform/graphics/TextRun.cpp:

(WebCore):

7:24 PM Changeset in webkit [116261] by rakuco@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Gardening. Skip more failing tests.

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
7:19 PM Changeset in webkit [116260] by rwlbuis@webkit.org
  • 3 edits in trunk/Source/WebCore

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):

7:10 PM Changeset in webkit [116259] by keishi@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[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):

6:50 PM Changeset in webkit [116258] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk/Source

[BlackBerry] Autofill backing store implementation upstream
https://bugs.webkit.org/show_bug.cgi?id=85575

Patch by Jonathan Dong <Jonathan Dong> 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):

6:41 PM Changeset in webkit [116257] by mitz@apple.com
  • 3 edits
    9 adds in trunk

.: 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.
6:31 PM Changeset in webkit [116256] by kov@webkit.org
  • 2 edits in trunk

[GTK] Enable WebKit2 build by default (again)
https://bugs.webkit.org/show_bug.cgi?id=85750

  • configure.ac: enable wk2 build by default.
6:11 PM Changeset in webkit [116255] by morrita@google.com
  • 3 edits
    2 adds in trunk

[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.
5:53 PM Changeset in webkit [116254] by abarth@webkit.org
  • 9 edits
    4 adds in trunk

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.
5:45 PM Changeset in webkit [116253] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

5:26 PM Changeset in webkit [116252] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix the build after r116246.

  • DumpRenderTree/LayoutTestController.cpp: Remove an unused function.
5:14 PM Changeset in webkit [116251] by eric@webkit.org
  • 2 edits in trunk/Tools

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:
4:28 PM Changeset in webkit [116250] by commit-queue@webkit.org
  • 7 edits in trunk

[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:
4:26 PM Changeset in webkit [116249] by eric@webkit.org
  • 3 edits in trunk/WebKitLibraries

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:
3:57 PM Changeset in webkit [116248] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

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):

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

[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.

3:43 PM Changeset in webkit [116246] by gyuyoung.kim@samsung.com
  • 33 edits in trunk

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:
3:33 PM Changeset in webkit [116245] by tomz@codeaurora.org
  • 3 edits in trunk/Tools

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):

3:19 PM Changeset in webkit [116244] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk

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.

3:12 PM Changeset in webkit [116243] by tkent@chromium.org
  • 7 edits in trunk/Source

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.

3:06 PM Changeset in webkit [116242] by enne@google.com
  • 4 edits
    1 add in trunk/Source/WebKit/chromium

[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):

3:05 PM Changeset in webkit [116241] by commit-queue@webkit.org
  • 4 edits in trunk

[BlackBerry] Enable credential persistance and auto fill
https://bugs.webkit.org/show_bug.cgi?id=85572

Patch by Jonathan Dong <Jonathan Dong> 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):

3:05 PM Changeset in webkit [116240] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.9.2

Tagging the WebKitGTK+ 1.9.2 release.

2:19 PM Changeset in webkit [116239] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
1:20 PM Changeset in webkit [116238] by kevino@webkit.org
  • 6 edits in trunk/Source/WebCore

[wx] Unreviewed. Build fixes for recent trunk changes.

7:54 AM Changeset in webkit [116237] by caseq@chromium.org
  • 13 edits in trunk/Source

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):

3:51 AM Changeset in webkit [116236] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Build fix.

Not reviewed.

  • css/PropertySetCSSStyleDeclaration.cpp:
3:29 AM Changeset in webkit [116235] by Antti Koivisto
  • 27 edits
    6 adds in trunk

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.
12:17 AM Changeset in webkit [116234] by Martin Robinson
  • 2 edits in trunk/Source/WebKit/gtk

Fix the GTK+ TextureMapper accelerated compositing build.

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize): Properly access the private data
structure of the WebKitWebView.

Note: See TracTimeline for information about the timeline view.