WebKit-https.git
7 years agoAdd html-parser-threaded perf test now that the threaded parser is enabled by default
eric@webkit.org [Tue, 5 Mar 2013 19:07:26 +0000 (19:07 +0000)]
Add html-parser-threaded perf test now that the threaded parser is enabled by default
https://bugs.webkit.org/show_bug.cgi?id=111200

Reviewed by Ryosuke Niwa.

PerformanceTests:

The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.

* Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
* Skipped: Unfortunately this new test is still skipped too.

Tools:

Had to teach run-perf-tests to ignore one more warning.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Clean up WebWidget / WebLayerTreeView interactions
commit-queue@webkit.org [Tue, 5 Mar 2013 19:07:01 +0000 (19:07 +0000)]
[chromium] Clean up WebWidget / WebLayerTreeView interactions
https://bugs.webkit.org/show_bug.cgi?id=109125

Patch by James Robinson <jamesr@chromium.org> on 2013-03-05
Reviewed by Adrienne Walker.

Source/Platform:

This deprecates most of the calls on WebLayerTreeViewClient since these interactions are handled
entirely on the embedder side of the interface now.

* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
* chromium/public/WebLayerTreeViewClient.h:
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::willBeginFrame):
(WebKit::WebLayerTreeViewClient::didBeginFrame):
(WebKit::WebLayerTreeViewClient::applyScrollAndScale):
(WebKit::WebLayerTreeViewClient::layout):
(WebKit::WebLayerTreeViewClient::didRecreateOutputSurface):
(WebKit::WebLayerTreeViewClient::createInputHandler):
(WebKit::WebLayerTreeViewClient::createOutputSurface):
(WebKit::WebLayerTreeViewClient::willCommit):
(WebKit::WebLayerTreeViewClient::didCommit):
(WebKit::WebLayerTreeViewClient::didCommitAndDrawFrame):
(WebKit::WebLayerTreeViewClient::didCompleteSwapBuffers):

Source/WebKit/chromium:

This removes most of the compositing control flow logic from WebViewImpl since
it is now handled in the embedding layer (by the implementation of WebViewClient/WebWidgetClient).

* public/WebViewClient.h:
* public/WebWidget.h:
(WebKit):
(WebKit::WebWidget::animate):
(WebWidget):
(WebKit::WebWidget::didExitCompositingMode):
(WebKit::WebWidget::createInputHandler):
(WebKit::WebWidget::applyScrollAndScale):
(WebKit::WebWidget::instrumentBeginFrame):
(WebKit::WebWidget::instrumentWillBeginFrame):
(WebKit::WebWidget::instrumentDidCancelFrame):
(WebKit::WebWidget::instrumentDidBeginFrame):
(WebKit::WebWidget::instrumentWillComposite):
* src/WebHelperPluginImpl.cpp:
* src/WebHelperPluginImpl.h:
(WebHelperPluginImpl):
* src/WebPagePopupImpl.cpp:
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::instrumentWillBeginFrame):
(WebKit::WebViewImpl::instrumentDidBeginFrame):
(WebKit::WebViewImpl::instrumentDidCancelFrame):
(WebKit::WebViewImpl::instrumentWillComposite):
(WebKit):
(WebKit::WebViewImpl::updateBatteryStatus):
(WebKit::WebViewImpl::animate):
(WebKit::WebViewImpl::didExitCompositingMode):
* src/WebViewImpl.h:
* tests/WebLayerTreeViewTestCommon.h:
(MockWebLayerTreeViewClient):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate list of builders for test results server
jochen@chromium.org [Tue, 5 Mar 2013 19:05:28 +0000 (19:05 +0000)]
Update list of builders for test results server
https://bugs.webkit.org/show_bug.cgi?id=111166

Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/builders.jsonp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Move basic dependency installation to a script
commit-queue@webkit.org [Tue, 5 Mar 2013 18:30:58 +0000 (18:30 +0000)]
[GTK] Move basic dependency installation to a script
https://bugs.webkit.org/show_bug.cgi?id=110692

Patch by Martin Robinson  <mrobinson@igalia.com> and Tomas Popela <tpopela@redhat.com> on 2013-03-05
Reviewed by Gustavo Noronha Silva.

* gtk/install-dependencies: Added. A Script which installs all dependencies
necessary for building for Debian-based distributions and Fedora.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFollow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files...
weinig@apple.com [Tue, 5 Mar 2013 18:29:23 +0000 (18:29 +0000)]
Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoElevate accessors of C-SPI API variants to Objective-C SPI
weinig@apple.com [Tue, 5 Mar 2013 18:26:41 +0000 (18:26 +0000)]
Elevate accessors of C-SPI API variants to Objective-C SPI
https://bugs.webkit.org/show_bug.cgi?id=111453
<rdar://problem/13340357>

Reviewed by Alexey Proskuryakov.

* Shared/mac/ObjCObjectGraphCoders.mm:
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
* UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
* UIProcess/API/mac/WKProcessGroup.mm:
* UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
* UIProcess/API/mac/WKView.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(-[WKWebProcessPlugInController _bundleRef]):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
Add access to C-SPI WebKit types as Objective-C SPI.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Exclusions] shape-outside on floats for polygon shapes
commit-queue@webkit.org [Tue, 5 Mar 2013 18:19:36 +0000 (18:19 +0000)]
[CSS Exclusions] shape-outside on floats for polygon shapes
https://bugs.webkit.org/show_bug.cgi?id=98676

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-03-05
Reviewed by David Hyatt.

Source/WebCore:

Implement support for polygonal shape-outside on floats. The basic
tack taken here is to keep using the bounding box of the shape to
position the float, but to compute the offset (caused by the shape)
from the bounding box for each line when creating and positioning
other inline content.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html

* rendering/ExclusionShapeInfo.cpp:
(WebCore):
(WebCore::::computedShape): Add new template parameter.
(WebCore::::logicalTopOffset): Add new template parameter.
(WebCore::::computeSegmentsForLine): Move here from
    ExclusionShapeInsideInfo, since ExclusionShapeOutsideInfo needs it
    as well. Make virtual since there is slightly different behavior
    between each class even though the vast majority of the code is
    common.
* rendering/ExclusionShapeInfo.h:
(WebCore):
(WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
    computeSegmentsForLine is virtual, the destructor must be virtual
    as well.
(ExclusionShapeInfo): Add new data members to support
    computeSegmentsForLine.
(WebCore::ExclusionShapeInfo::shapeLogicalRight): Fix bug, the logical
    right is based off of maxX, not y. (it's a logical bounding box!)
(WebCore::ExclusionShapeInfo::logicalLineTop): Moved from
    ExclusionShapeInsideInfo for use by computeSegmentsForLine and
    lineOverlapsShapeBounds.
(WebCore::ExclusionShapeInfo::logicalLineBottom): Moved from
    ExclusionShapeInsideInfo for use by computeSegmentsForLine and
    lineOverlapsShapeBounds.
(WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds): Moved from
    ExclusionShapeInsideInfo for use by computeSegmentsForLine.
* rendering/ExclusionShapeInsideInfo.cpp: Moved common code from
    computeSegmentsForLine into ExclusionShapeInfo.
* rendering/ExclusionShapeInsideInfo.h:
(WebCore): Moved some methods to ExclusionShapeInfo.
(ExclusionShapeInsideInfo): Update for new template parameter.
(WebCore::ExclusionShapeInsideInfo::compyteSegmentsForLine): Override
    superclass method to clear the segment ranges. Segement ranges
    aren't used by shape outside, and have some complex dependencies
    that make it very hard to try and move up into ExclusionShapeInfo.
(WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Update
    for new template parameter.
* rendering/ExclusionShapeOutsideInfo.cpp:
(WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Add polygons as a
    supported shape.
(WebCore::ExclusionShapeOutsideInfo::computeSegmentsForLine): Override
    superclass method to not recompute if it isn't needed (this isn't
    straightfoward for shape inside, which is why it isn't common),
    and to save the left and right offsets caused by the shape
    outside, since that's all that is needed to properly do layout in
    the case of floats.
* rendering/ExclusionShapeOutsideInfo.h:
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Reformat to
    be on a single line, like most other methods of it's type in
    WebKit headers.
(ExclusionShapeOutsideInfo): Update for new template parameter.
(WebCore::ExclusionShapeOutsideInfo::logicalLeftOffsetForLine):
    Accessor method to get the left offset between the shape and the
    shape's bounding box.
(WebCore::ExclusionShapeOutsideInfo::logicalRightOffsetForLine):
    Accessor method to get the left offset between the shape and the
    shape's bounding box.
(WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
    Update for new template parameter.
* rendering/RenderBlock.cpp:
(WebCore::::collectIfNeeded): Save the last float encountered so that
    the shape outside offset can be accounted for.
(WebCore::RenderBlock::logicalLeftOffsetForLine): Account for the
    shape outside offset on the outermost float.
(WebCore::RenderBlock::logicalRightOffsetForLine): Account for the
    shape outside offset on the outermost float.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
    Initialize the lastFloat member.
(WebCore::RenderBlock::FloatIntervalSearchAdapter::lastFloat): Get the
    last float encountered.
(FloatIntervalSearchAdapter): Add a pointer to the last float
    encountered. Note that the variable is mutable because
    collectIfNeeded is declared as a const method even though it isn't
    (it uses loopholes to update m_offset and m_heightRemaining).
    Instead of trying to come up with a hack to stick with the
    loopholes, I decided to be explicit about it.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Take
    into account the offset from any polygonal shape outside.
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Add a FIXME
    because the current code will not work properly with stacked
    floats that have polygonal shape outside.

LayoutTests:

Simple test for floats with polygonal shape-outside.

* fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon-expected.html: Added.
* fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChromium DumpRenderTree dumps a core every time it's run (Linux/Debug)
jamesr@google.com [Tue, 5 Mar 2013 18:18:45 +0000 (18:18 +0000)]
Chromium DumpRenderTree dumps a core every time it's run (Linux/Debug)
https://bugs.webkit.org/show_bug.cgi?id=111440

Reviewed by Adrienne Walker.

Remove unnecessary WebCompositorSupport::shutdown call

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[New Multicolumn] Autogenerate regions for columns.
hyatt@apple.com [Tue, 5 Mar 2013 18:05:44 +0000 (18:05 +0000)]
[New Multicolumn] Autogenerate regions for columns.
https://bugs.webkit.org/show_bug.cgi?id=111363

Reviewed by Dean Jackson.

In CSS Regions, we lay out the regions first, and then
we put the flow thread into the regions. This model doesn't
really work for multicolumn layout, which needs to be able
to auto-generate new regions lazily in response to the flow
thread asking for regions at particular offsets.

With the multi-column model, where the regions can't just occur
anywhere, its ok not to lay them out before the flow thread, as
long as we have at least given them the correct size.

This patch changes the layout algorithm for columns to:
(1) Size any existing regions (without worrying about placement).
(2) Lay out the flow thread (generating and sizing regions lazily
that need to be created).
(3) Lay out the regions (to give them correct placement and to
compute overflow correctly for the multi-column block that contains
the regions).

There are no new tests, since there are no behavioral changes. This
is just groundwork for being able to add new sets in response to
spans, balancing, and nested pagination contexts.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::layoutBlockChild):
* rendering/RenderBlock.h:
(RenderBlock):
Since we want to be able to call determineLogicalLeftPositionForChild
to place the flow thread properly, and we don't want to apply a layout
delta (flow threads repaint themselves), we parameterize the method
here so that it can be called without applying a layout delta.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionToThread):
(WebCore::RenderFlowThread::removeRegionFromThread):
These methods are only used by RenderMultiColumnFlowThread, since
RenderNamedFlowThread overrides them. Remove the code that invalidates
the flow threads region set as regions come and go, since that is now
going to be expected with auto-generation.

(WebCore::RenderFlowThread::validateRegions):
Refactor the code in RenderFlowThread::layout that validates the regions
into its own method, so that we can re-validate regions at any time
after generating new ones.

(WebCore::RenderFlowThread::layout):
Changed to move the region validation code into its own function that is
now called from here.

(WebCore::RenderFlowThread::updateLogicalWidth):
Don't assert if a region set needs layout.

(WebCore::RenderFlowThread::computeLogicalHeight):
Ditto. Don't assert if a region set needs layout. That's expected now.

(WebCore::RenderFlowThread::regionAtBlockOffset):
Add code to regionAtBlockOffset to auto-generate regions up to
the offset. This ensures the region that is being asked for
exists.

(WebCore::RenderFlowThread::pageLogicalTopForOffset):
(WebCore::RenderFlowThread::pageLogicalWidthForOffset):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
These functions are no longer const, since the act of asking for
pagination offsets can cause us to generate new regions.

(WebCore::RenderFlowThread::mapFromFlowToRegion):
Modified to turn auto-generation off, since this is not really
a "layout-time" function.

(WebCore::RenderFlowThread::logicalWidthChangedInRegions):
Modified to not assert if a region set needs layout, since that is
expected now.

* rendering/RenderFlowThread.h:
Changes to remove const from the methods that can trigger region
auto-generation.

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::styleDidChange):
Make sure to propagate style changes down into the regions. I don't know
of any correctness bugs around this, but I figured I'd be thorough.

(WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
We no longer build a column set aggressively. We wait for the flow thread
to ask us for a region at a particular offset, and only then do we
build the set.

(WebCore::RenderMultiColumnBlock::addChild):
Now that we lay out the flow thread as a special excluded child, we don't
care about the ordering of it relative to the region children.

(WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
We now lay out the flow thread as a special excluded child (like the legend
of a fieldset).

* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
Add new overrides like layoutSpecialExcludedChild.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
Set the flow thread to the initial column width even when no regions exist
yet. This way we ensure the width is right even when we don't have any
regions yet.

(WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
This method handles autogenerating the new region for a given offset.
Right now it's simplistic, since we only have one column set. This method
will be enhanced in future patches when we start supporting multiple column
sets.

* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
Adding new method declarations like autoGenerateRegionsToBlockOffset.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
Since regions lay out after flow threads, we don't need to make
setFlowThreadPortionRect virtual any longer. We can just get our column set's
width correct immediately. This is the same logic, just moved into updateLogicalWidth().

* rendering/RenderMultiColumnSet.h:
Remove setFlowThreadPortionRect override, since the function can just be simple
and non-virtual in RenderRegion now.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::layoutBlock):
Don't ever invalidate region sets in response to our size changing during layout. Since
our size is always determined outside of layout now, we don't need to do any of
these checks.

* rendering/RenderRegion.h:
(WebCore::RenderRegion::setFlowThreadPortionRect):
Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Authentication credentials lost when opening a new tab
commit-queue@webkit.org [Tue, 5 Mar 2013 18:05:24 +0000 (18:05 +0000)]
[BlackBerry] Authentication credentials lost when opening a new tab
https://bugs.webkit.org/show_bug.cgi?id=111445

PR 286627

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-05
Reviewed by Rob Buis.
Internally Reviewed by Lianghui Chen.

Prevent changing the private mode boolean value in didChangeSettings if the value
hasn't changed.

Setting the private mode value of credentialstorage every time didChangeSettings gets
called causes the session credential mapping to be cleared on every tab change in
non-private mode.

Tested changing tabs after logging into a site using the HTTP Basic Auth protocol to see
if the credentials are cleared. Also ensured the functionality of private mode is not changed.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] FatFinger pairs the wrong element with fatfinger rect part.
commit-queue@webkit.org [Tue, 5 Mar 2013 17:54:31 +0000 (17:54 +0000)]
[BlackBerry] FatFinger pairs the wrong element with fatfinger rect part.
https://bugs.webkit.org/show_bug.cgi?id=111444

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-03-05
Reviewed by Rob Buis.

Internal PR 266214
Internally reviewed by Genevieve Mak.

Instead of subtracting with the element region, we should get the remaining
rect by find the intersect region of element region and fatfinger detection
region.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::checkForClickableElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago Make AsyncFileReader work without ScriptExecutionContext
ap@apple.com [Tue, 5 Mar 2013 17:42:47 +0000 (17:42 +0000)]
    Make AsyncFileReader work without ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=111376

        Reviewed by Anders Carlsson.

        * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.

        * dom/ScriptExecutionContext.cpp:
        * dom/ScriptExecutionContext.h:
        Removed fileThread(). Creating a thread for every context that acesses files appears
        wasteful and unnecessary.

        * fileapi/AsyncFileStream.h:
        * fileapi/AsyncFileStream.cpp:
        (WebCore::createFileThread): FileThread is now a singleton.
        (WebCore::fileThread): Ditto.
        (WebCore::AsyncFileStream::AsyncFileStream):
        (WebCore::AsyncFileStream::create):
        (WebCore::didStart):
        (WebCore::AsyncFileStream::startOnFileThread):
        (WebCore::AsyncFileStream::stop):
        (WebCore::derefProxyOnMainThread):
        (WebCore::AsyncFileStream::stopOnFileThread):
        (WebCore::didGetSize):
        (WebCore::AsyncFileStream::getSizeOnFileThread):
        (WebCore::didOpen):
        (WebCore::AsyncFileStream::openForReadOnFileThread):
        (WebCore::AsyncFileStream::openForWriteOnFileThread):
        (WebCore::didRead):
        (WebCore::AsyncFileStream::readOnFileThread):
        (WebCore::didWrite):
        (WebCore::AsyncFileStream::writeOnFileThread):
        (WebCore::didTruncate):
        (WebCore::AsyncFileStream::truncateOnFileThread):
        Use callOnMainThread() instead of posting messages through a context. We never used
        other threads, and don't plan to.

        * loader/ResourceLoader.cpp:
        * loader/ResourceLoader.h:
        We no longer need this pseudo-client call to create an AsyncFileStream, now that
        we don't need to get a ScriptExecutionContext somewhere.

        * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
        strongly typed arguments. Closely based on CrossThreadTask.h.

        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.

        * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144770 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate the localizable strings file.
jberlin@webkit.org [Tue, 5 Mar 2013 17:35:38 +0000 (17:35 +0000)]
Update the localizable strings file.

Rubber-stamped by Anders Carlsson.

* English.lproj/Localizable.strings:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144769 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago <rdar://problem/13345116> REGRESSION: Child processes get access to user...
ap@apple.com [Tue, 5 Mar 2013 17:32:37 +0000 (17:32 +0000)]
    <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
        and temporary directories instead of private ones

        Reviewed by Sam Weinig.

        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
        Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
        containers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144768 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r144708.
commit-queue@webkit.org [Tue, 5 Mar 2013 17:26:48 +0000 (17:26 +0000)]
Unreviewed, rolling out r144708.
http://trac.webkit.org/changeset/144708
https://bugs.webkit.org/show_bug.cgi?id=111447

random assertion crashes in inspector tests on qt+mac bots
(Requested by kling on #webkit).

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

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData):
* runtime/PropertyMapHashTable.h:
(PropertyTable):
(JSC::PropertyTable::PropertyTable):
(JSC):
(JSC::PropertyTable::~PropertyTable):
(JSC::PropertyTable::copy):
* runtime/PropertyTable.cpp: Removed.
* runtime/Structure.cpp:
(JSC::Structure::dumpStatistics):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::pin):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::copyPropertyTableForPinning):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
(JSC::Structure::despecifyAllFunctions):
(JSC::Structure::putSpecificValue):
(JSC::Structure::remove):
(JSC::Structure::createPropertyMap):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::visitChildren):
(JSC::Structure::checkConsistency):
* runtime/Structure.h:
(JSC):
(JSC::Structure::putWillGrowOutOfLineStorage):
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):
(JSC::Structure::checkOffsetConsistency):
(Structure):
* runtime/StructureInlines.h:
(JSC::Structure::get):
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144767 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: aria-label does not override text content on iOS
cfleizach@apple.com [Tue, 5 Mar 2013 17:24:30 +0000 (17:24 +0000)]
AX: aria-label does not override text content on iOS
https://bugs.webkit.org/show_bug.cgi?id=111222

Reviewed by David Kilzer.

Source/WebCore:

Make iOS use the same text alternative computation that Mac is using. The main difference
is that description and title need to be concatenated, because iOS doesn't have two attributes
to return those values.

Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
(-[WebAccessibilityObjectWrapper accessibilityHint]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:

LayoutTests:

* platform/iphone-simulator/accessibility/aria-label-with-internal-text-expected.txt: Added.
* platform/iphone-simulator/accessibility/aria-label-with-internal-text.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144766 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix.
kov@webkit.org [Tue, 5 Mar 2013 17:08:18 +0000 (17:08 +0000)]
Unreviewed build fix.

.:

* GNUmakefile.am: remove bad path for generate-feature-defines-files from EXTRA_DIST.

Tools:

* GNUmakefile.am: add generate-feature-defines-files scripts to EXTRA_DIST.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
ddkilzer@apple.com [Tue, 5 Mar 2013 16:58:53 +0000 (16:58 +0000)]
BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
<http://webkit.org/b/106742>

Fixes the following build failures:

    Undefined symbols for architecture i386:
      "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
          __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
      NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
          __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
    ld: symbol(s) not found for architecture i386

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
- Fix definition of ENABLE_ENCRYPTED_MEDIA_V2_macosx to match
  other FeatureDefines.xcconfig files.
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: registered new MIME type application/font-woff for WOFF fonts.
commit-queue@webkit.org [Tue, 5 Mar 2013 16:58:13 +0000 (16:58 +0000)]
Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
https://bugs.webkit.org/show_bug.cgi?id=111418

The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
http://www.iana.org/assignments/media-types/application/font-woff

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-03-05
Reviewed by Pavel Feldman.

* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager):
(WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144763 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Grid Layout] Add parsing for grid-{end|after}
jchaffraix@webkit.org [Tue, 5 Mar 2013 16:27:54 +0000 (16:27 +0000)]
[CSS Grid Layout] Add parsing for grid-{end|after}
https://bugs.webkit.org/show_bug.cgi?id=111372

Reviewed by Tony Chang.

Source/WebCore:

Test: fast/css-grid-layout/grid-item-end-after-get-set.html

This change adds the proper support for grid-{end|after}. It doesn't update
grid-{row|column} to be a shorthand for both grid-{before|start} and grid-{after|end}
though.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Added the new properties to our known properties. Also added
support for getComputedStyle.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Added parsing for the new properties.

* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
The new properties are not inherited.

* css/CSSPropertyNames.in:
Added the new properties.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Added code to handle applying them to our style.

* rendering/style/RenderStyle.h:
* rendering/style/StyleGridItemData.cpp:
(WebCore::StyleGridItemData::StyleGridItemData):
* rendering/style/StyleGridItemData.h:
(WebCore::StyleGridItemData::operator==):
(StyleGridItemData):
Updated our representation to store the new properties.

LayoutTests:

* fast/css-grid-layout/grid-item-end-after-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-item-end-after-get-set.html: Added.
Note that some of the test fails as we don't treat grid-{row|column} as a shorthand.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144762 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed follow-up to r144756, fix broken inspector-less build.
caseq@chromium.org [Tue, 5 Mar 2013 16:06:19 +0000 (16:06 +0000)]
Unreviewed follow-up to r144756, fix broken inspector-less build.

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willWriteHTML):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImprove robustness of WebSQL quota management.
mark.lam@apple.com [Tue, 5 Mar 2013 15:54:13 +0000 (15:54 +0000)]
Improve robustness of WebSQL quota management.
https://bugs.webkit.org/show_bug.cgi?id=110600.

Reviewed by Geoffrey Garen.

Source/WebCore:

1. Introduced the OriginLock for synchronizing write access to the
   database origin directory. This allows us to more accurately
   compute the disk usage.

   The OriginLock uses a mutex to provide mutual exclusion between
   threads and a file lock for mutual exclusion between processes.
   The file lock part is conditional on USE(FILE_LOCK).

   The mutex mutual exclusion also serves to ensure that only 1 thread
   can write to a sqlite database at one time.

2. Change the SQLTransactionCoordinator to only allow one write
   transaction to an origin instead of one write transaction per
   database. This is needed in order to accurately compute the
   disk usage. It is also necessary so that the OriginLock does not
   deadlock itself (as would be the case if concurrent write transactions
   to different databases in the same origin are allowed).

3. Fix DatabaseTracker::getMaxSizeForDatabase() to check for when
   disk usage may exceed the quota, and ensure that we will return
   an appropriate max database size.

   Disk usage can exceed the usage if it is already near the quota limit
   but have not exceeded it yet. If a new database is opened in that
   origin, it may bump the usage above the quota, but should not
   continually repeat this. Subsequent attempts to open a database
   will find that the quota is already exhausted and fail.

   There is still a race condition pertaining to the tracker database
   getting out of sync that may still enable runaway growth in the
   database sizes. That issue only manifest in a multi-process
   environment, and will be fixed in another changeset.

4. Fixed a bug in SQLStatement to check if the errorCallback exists
   before invoking it.

No new layout tests. A quota-test.html was attached to bugzilla for manual
testing of multi-tab concurrent consumption of storage resource, and also
to test handling situations when the user deletes the database files while
the script is still using the database.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::deleteOriginLockFor):
(WebCore::DatabaseTracker::deleteOrigin):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/OriginLock.cpp: Added.
(WebCore::OriginLock::lockFileNameForPath):
(WebCore::OriginLock::OriginLock):
(WebCore::OriginLock::~OriginLock):
(WebCore::OriginLock::lock):
(WebCore::OriginLock::unlock):
* Modules/webdatabase/OriginLock.h: Added.
* Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::performCallback):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
(WebCore::SQLTransactionBackend::acquireOriginLock):
(WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
* Modules/webdatabase/SQLTransactionBackend.h:
(SQLTransactionBackend):
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::getDatabaseIdentifier):
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* config.h:
* platform/FileSystem.h:
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::lockFile):
(WebCore::unlockFile):

LayoutTests:

* storage/websql/multiple-databases-garbage-collection.js:
- This test runs 2 transactions on 2 databases (1 each). The 2 databases
  are named "persistent" and "forgotten". The test executes the
  transaction on "persistent" first, but expects the transaction on
  "forgotten" to finish first. This is because "forgotten"'s transaction
  is a smaller one. The new changes to SQLTransactionCoordinator now
  ensures that a write transaction must completes before another is
  started for databases in the same origin. Hence, the previously expected
  result will no longer be true.

  Regardless, the purpose of the test is not to test the order of
  completion but that resources are reclaimed. So, I'm changing the test
  to start the "forgotten" transaction first followed by the "persistent"
  transaction. This ensures that the test will yield consistent results
  even when run on ports that may allow more than one write transaction
  to run at the same time.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144760 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
loislo@chromium.org [Tue, 5 Mar 2013 15:29:16 +0000 (15:29 +0000)]
Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
https://bugs.webkit.org/show_bug.cgi?id=111431

Reviewed by Yury Semikhatsky.

class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
Style names were changed accordingly.

* inspector/front-end/Popover.js:
(WebInspector.PopoverContentHelper):
(WebInspector.PopoverContentHelper.prototype.contentTable):
(WebInspector.PopoverContentHelper.prototype._createCell):
(WebInspector.PopoverContentHelper.prototype.appendTextRow):
(WebInspector.PopoverContentHelper.prototype.appendElementRow):
(WebInspector.PopoverContentHelper.prototype.appendStackTrace):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.generateMainThreadBarPopupContent):
(WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
(WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
(WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
* inspector/front-end/popover.css:
(.popover-details):
(.popover-function-name):
(.popover-stacktrace-title):
(.popover-details-row-title):
(.popover-details-row-data):
(.popover-details-title):
* inspector/front-end/timelinePanel.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144759 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][MiniBrowser] Improve the update of touch indicators
abecsi@webkit.org [Tue, 5 Mar 2013 15:00:00 +0000 (15:00 +0000)]
[Qt][MiniBrowser] Improve the update of touch indicators
https://bugs.webkit.org/show_bug.cgi?id=111429

Reviewed by Jocelyn Turcotte.

MiniBrowserApplication::sendTouchEvent sends an empty list
to BrowserWindow::updateVisualMockTouchPoints if the control
button is released, in which case the touch indicators should
be hidden so that we never end up with a leftover indicator
sticking on the screen.
This patch also simplifies the lookup of the indicator items by
replacing the findChild search in the item tree with a QHash
that stores the touch ID's and the pointers to the corresponding
indicator items.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::updateVisualMockTouchPoints):
* MiniBrowser/qt/BrowserWindow.h:
(BrowserWindow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144758 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: remove "Live native memory chart" experiment
yurys@chromium.org [Tue, 5 Mar 2013 14:54:08 +0000 (14:54 +0000)]
Web Inspector: remove "Live native memory chart" experiment
https://bugs.webkit.org/show_bug.cgi?id=111432

Reviewed by Alexander Pavlov.

Removed support for live native memory chart.

* English.lproj/localizedStrings.js:
* inspector/front-end/NativeMemorySnapshotView.js:
* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/nativeMemoryProfiler.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144757 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: remove length parameter from Parse HTML timeline event
caseq@chromium.org [Tue, 5 Mar 2013 14:09:20 +0000 (14:09 +0000)]
Web Inspector: remove length parameter from Parse HTML timeline event
https://bugs.webkit.org/show_bug.cgi?id=111421

Reviewed by Yury Semikhatsky.

Source/WebCore:

- remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
- drive-by style fixes.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::pumpPendingSpeculations):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willWriteHTMLImpl):
(WebCore::InspectorInstrumentation::didWriteHTMLImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willWriteHTML):
(WebCore::InspectorInstrumentation::didWriteHTML):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willWriteHTML):
(WebCore::InspectorTimelineAgent::didWriteHTML):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createParseHTMLData):
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):

LayoutTests:

- removed length field from ParseHTML data in expectations.

* inspector/timeline/timeline-parse-html-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144756 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Add a renderer process memory size test.
commit-queue@webkit.org [Tue, 5 Mar 2013 14:06:28 +0000 (14:06 +0000)]
Web Inspector: Add a renderer process memory size test.
https://bugs.webkit.org/show_bug.cgi?id=111337

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-05
Reviewed by Yury Semikhatsky.

The test checks that the renderer process memory size
is obtained from the browser and reported to the inspector
frontend correctly.

* src/js/Tests.js:
(.TestSuite.prototype.testRendererProcessNativeMemorySize.checkFuzzyValue):
(.TestSuite.prototype.testRendererProcessNativeMemorySize.step2):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144755 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: allow each profiler panel to have own landing page
commit-queue@webkit.org [Tue, 5 Mar 2013 13:58:11 +0000 (13:58 +0000)]
Web Inspector: allow each profiler panel to have own landing page
https://bugs.webkit.org/show_bug.cgi?id=111298

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-05
Reviewed by Yury Semikhatsky.

Refactor profiler landing page to allow different profiler panels to have own landing pages.
  - MultiProfileLauncherView is inherited from ProfileLauncherView
  - Native memory distribution profiler has got a custom page.

No new tests: code refactoring.

* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype.get profile):
(WebInspector.HeapSnapshotView.prototype.get baseProfile):
(WebInspector.HeapSnapshotView.prototype._profiles):
* inspector/front-end/NativeMemorySnapshotView.js:
* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):
(WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
(WebInspector.ProfileLauncherView.prototype._updateControls):
(WebInspector.ProfileLauncherView.prototype.profileStarted):
(WebInspector.ProfileLauncherView.prototype.profileFinished):
(WebInspector.MultiProfileLauncherView):
(WebInspector.MultiProfileLauncherView.prototype.addProfileType):
(WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
(WebInspector.NativeProfileLauncherView):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._createLauncherView):
(WebInspector.CPUProfilerPanel):
(WebInspector.CSSSelectorProfilerPanel):
(WebInspector.HeapProfilerPanel):
(WebInspector.CanvasProfilerPanel):
(WebInspector.MemoryChartProfilerPanel):
(WebInspector.MemoryChartProfilerPanel.prototype._createLauncherView):
(WebInspector.NativeMemoryProfilerPanel):
* inspector/front-end/profilesPanel.css:
(.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144754 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
eustas@chromium.org [Tue, 5 Mar 2013 13:33:41 +0000 (13:33 +0000)]
Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
https://bugs.webkit.org/show_bug.cgi?id=111427

Reviewed by Alexander Pavlov.

Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.

* inspector/front-end/CSSMetadata.js:
Added JSDocs, avoided possible NPEs.
* inspector/front-end/StylesSidebarPane.js:
Fixed JSDocs, removed unused assignment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144753 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
g.czajkowski@samsung.com [Tue, 5 Mar 2013 13:29:37 +0000 (13:29 +0000)]
[WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
https://bugs.webkit.org/show_bug.cgi?id=81042

Reviewed by Enrica Casucci.

Source/WebKit2:

Expose WK2 setting to enable/disabled asynchronous spell checking.
It's used by WebKitTestRunner to reset the setting at the beginning
of the test.
WebKit2 ports might be interested in this setting if they are going
to enable this feature.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAsynchronousSpellCheckingEnabled):
(WKPreferencesGetAsynchronousSpellCheckingEnabled):
* UIProcess/API/C/WKPreferences.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetAsynchronousSpellCheckingEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Add setAsynchronousSpellCheckingEnabled implementation for
WebKitTestRunner to have the possibility to test asynchronous
spell checking implementation from bug 109577.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAsynchronousSpellCheckingEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):

LayoutTests:

Gardening of the asynchronous spell checking tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
Some tests need to be skipped as they require features not
implemented for EFL yet (pasteboard, grammar checking, text replacement).

* platform/gtk-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
Skip asynchronous spell checking for GTK+, Mac, Qt unless
they implement TextChecker::requestCheckingOfText.

* platform/wk2/TestExpectations:
Remove asynchronous spell checking tests from global wk2's
as they are passing for EFL.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144752 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
ddkilzer@apple.com [Tue, 5 Mar 2013 13:29:23 +0000 (13:29 +0000)]
BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
<http://webkit.org/b/110050>

Fixes the following build failures:

    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:741:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->rowIndexRange(rowRange);
                                 ^~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
        virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
                                                             ^
    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:742:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->columnIndexRange(columnRange);
                                    ^~~~~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
        virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
                                                                ^
    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:804:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->rowIndexRange(rowRange);
                                 ^~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
        virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
                                                             ^
    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:818:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->columnIndexRange(columnRange);
                                    ^~~~~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
        virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
                                                    ^
    4 errors generated.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityRowRange]):
(-[WebAccessibilityObjectWrapper accessibilityColumnRange]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Clean up animated scroll/zoom code in WebPagePrivate
commit-queue@webkit.org [Tue, 5 Mar 2013 12:53:35 +0000 (12:53 +0000)]
[BlackBerry] Clean up animated scroll/zoom code in WebPagePrivate
https://bugs.webkit.org/show_bug.cgi?id=111373

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

Internally reviewed by Jakob Petsovits.
Internal PR 285468.

Have WebPageClient pass the final scale and position to WebPage when a zoom/scroll
animation finishes, rather than keeping those values as instance variables in
WebPagePrivate.

Rename some functions & variables to reflect that they are used for both block zoom
and generic zoom/scroll animations.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
(BlackBerry::WebKit::WebPage::zoomAnimationFinished):
(BlackBerry::WebKit::WebPagePrivate::resetBlockZoom):
(BlackBerry::WebKit::WebPage::blockZoom):
(BlackBerry::WebKit::WebPagePrivate::animateToScaleAndDocumentScrollPosition):
* Api/WebPage.h:
* Api/WebPageClient.h:
* Api/WebPage_p.h:
(WebPagePrivate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: [refactoring] set frame identifiers in timeline records early, do...
caseq@chromium.org [Tue, 5 Mar 2013 12:23:37 +0000 (12:23 +0000)]
Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
https://bugs.webkit.org/show_bug.cgi?id=111345

Reviewed by Pavel Feldman.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::setFrameIdentifier):
(WebCore):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::commitFrameRecord):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
(TimelineRecordEntry):
(InspectorTimelineAgent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMediaStream API: Add the getStreamById method on RTCPeerConnection
tommyw@google.com [Tue, 5 Mar 2013 11:34:38 +0000 (11:34 +0000)]
MediaStream API: Add the getStreamById method on RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=111311

Reviewed by Adam Barth.

Source/Platform:

Added an initial initialize method which doesn't take an id;
the id will be generated for you.

* chromium/public/WebMediaStream.h:
(WebMediaStream):

Source/WebCore:

Adding the missing method on RTCPeerConnection defined here:
http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId

Existing tests have been extended to cover patch.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getStreamById):
(WebCore):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* platform/chromium/support/WebMediaStream.cpp:
(WebKit::WebMediaStream::initialize):
(WebKit):
* platform/mediastream/MediaStreamSource.cpp:
(WebCore::MediaStreamSource::setReadyState):

Tools:

Changing mocks to be more realistic.

* DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp:
(WebTestRunner::MockWebRTCPeerConnectionHandler::addStream):
(WebTestRunner::MockWebRTCPeerConnectionHandler::removeStream):
* DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp:
(WebTestRunner::WebUserMediaClientMock::requestUserMedia):

LayoutTests:

* fast/mediastream/MediaStream-add-remove-tracks.html:
* fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
* fast/mediastream/RTCPeerConnection-AddRemoveStream.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144748 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: allow retrieval of composited layers in a given DOM subtree
graouts@apple.com [Tue, 5 Mar 2013 11:31:28 +0000 (11:31 +0000)]
Web Inspector: allow retrieval of composited layers in a given DOM subtree
https://bugs.webkit.org/show_bug.cgi?id=111312

Source/WebCore:

Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
to gather all composited layers associated with nodes in the subtree of which
the provided node is the root.

In order to gather the layers in the subtree, we first traverse the node's
renderer's RenderObject hierarchy and whenever we encounter a RenderObject
that has a RenderLayer, we then traverse that renderLayer's RenderLayer
hierarchy. This allows for a quick path through the relevant objects we're
gathering.

Layers gathered will push the node to which they're associated, allowing a
nodeId for this layer to be listed in the Layer object sent to the front-end.
It is crucial to be able to provide a nodeId as well as a layerId for a Layer
object in order to be able to correctly assess mutations in the layer tree.
For instance, it is expected that a node's layer be replaced by a new layer
to represent a slightly different rendering of its content, but the front-end
should be able to represent this layer as an object for which only certain
attributes have changed (like the "paintCount" property).

Layer objects also indicate whether they're associated to a node hosted in a
shadow tree (the optional "isInShadowTree" property) in order for the front-end
to be able to only show this layer if the option to show nodes hosted in shadow
tree is enabled.

Finally, since we're only gathering composited layers, we're removing the
"isLayerComposited" property and removing the optional flag on the "paintCount",
"memory" and "compositedBounds" properties.

Reviewed by Simon Fraser.

Test: inspector-protocol/layers/layers-for-node.html

* inspector/Inspector.json:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::idForNode):
* inspector/InspectorLayerTreeAgent.h:
(InspectorLayerTreeAgent):

LayoutTests:

New test for the LayerTree.layersForNode() method.

Reviewed by Simon Fraser.

* inspector-protocol/layers/layers-for-node-expected.txt: Added.
* inspector-protocol/layers/layers-for-node.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144747 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
caseq@chromium.org [Tue, 5 Mar 2013 10:53:38 +0000 (10:53 +0000)]
Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
https://bugs.webkit.org/show_bug.cgi?id=111344

- create web socket related records in a manner consistent with the rest of timeline.

Reviewed by Pavel Feldman.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateWebSocket):
(WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorTimelineAgent::didDestroyWebSocket):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][EFL] Add requestCheckingOfString implementation.
g.czajkowski@samsung.com [Tue, 5 Mar 2013 10:38:48 +0000 (10:38 +0000)]
[WK2][EFL] Add requestCheckingOfString implementation.
https://bugs.webkit.org/show_bug.cgi?id=108172

Reviewed by Hajime Morrita.

Provide implementation of 'requestCheckingOfString' for WK2-EFL.
It uses the unified text checker feature.

* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit::TextChecker::requestCheckingOfString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Crash when MathML used in CSS Regions
abucur@adobe.com [Tue, 5 Mar 2013 10:27:35 +0000 (10:27 +0000)]
[CSS Regions] Crash when MathML used in CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=110686

Reviewed by David Hyatt.

Source/WebCore:

The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
This causes an infinite recursion and triggers a stack overflow.

The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
on the destructor. This class is used when computing the preferred height for the children of a MathML block.

Test: fast/regions/mathml-crash.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
state flag. The innermost flow threads need to manage their descendants flag values.
* rendering/RenderView.cpp:
(WebCore::FragmentationDisabler::FragmentationDisabler):
(WebCore):
(WebCore::FragmentationDisabler::~FragmentationDisabler):
* rendering/RenderView.h:
(FragmentationDisabler):
(WebCore):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):

LayoutTests:

Add a test to verify regions and MathML do not crash.

* fast/regions/mathml-crash-expected.txt: Added.
* fast/regions/mathml-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCleanup: Move HitTestLocation and HitTestResult into separate files.
mkwst@chromium.org [Tue, 5 Mar 2013 10:05:41 +0000 (10:05 +0000)]
Cleanup: Move HitTestLocation and HitTestResult into separate files.
https://bugs.webkit.org/show_bug.cgi?id=111294

Reviewed by Allan Sandfeld Jensen.

HitTestLocation and HitTestResult currently both live in
HitTestResult.h. That makes things more difficult to understand than
they should be, and violates the one-class-one-file principle that
WebKit generally follows. Happily, it's fairly trivial to fix.

This should have no visible change; it's strictly an internal
refactoring. It doesn't even touch any implementation code: we're
just moving bits from one place to another.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
    Hey, look: a new file! Let's add it to six different build systems! :)
* rendering/HitTestLocation.cpp: Added.
(WebCore):
(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::~HitTestLocation):
(WebCore::HitTestLocation::operator=):
(WebCore::HitTestLocation::move):
(WebCore::HitTestLocation::intersectsRect):
(WebCore::HitTestLocation::intersects):
(WebCore::HitTestLocation::rectForPoint):
* rendering/HitTestLocation.h: Added.
(WebCore):
(HitTestLocation):
(WebCore::HitTestLocation::point):
(WebCore::HitTestLocation::roundedPoint):
(WebCore::HitTestLocation::region):
(WebCore::HitTestLocation::isRectBasedTest):
(WebCore::HitTestLocation::isRectilinear):
(WebCore::HitTestLocation::boundingBox):
(WebCore::HitTestLocation::topPadding):
(WebCore::HitTestLocation::rightPadding):
(WebCore::HitTestLocation::bottomPadding):
(WebCore::HitTestLocation::leftPadding):
(WebCore::HitTestLocation::transformedPoint):
(WebCore::HitTestLocation::transformedRect):
* rendering/HitTestResult.cpp:
* rendering/HitTestResult.h:
    Move all this code from HitTestResult.* to HitTestLocation.*.
* rendering/RenderBlock.cpp:
    Include HitTestLocation.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144743 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRefactor UserGestureIndicator::Token to be a top-level class
jochen@chromium.org [Tue, 5 Mar 2013 09:30:47 +0000 (09:30 +0000)]
Refactor UserGestureIndicator::Token to be a top-level class
https://bugs.webkit.org/show_bug.cgi?id=111412

Reviewed by Nico Weber.

This will allow for forward declaring the class in a public WebKit
API header. The goal is to enable the embedder to hold on to a
UserGestureToken.

* dom/UserGestureIndicator.cpp:
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::currentToken):
* dom/UserGestureIndicator.h:
(UserGestureToken):
(WebCore::UserGestureToken::~UserGestureToken):
(WebCore):
(UserGestureIndicator):
* page/DOMTimer.h:
(DOMTimer):
* page/EventHandler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144742 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove redundant code in Document::updateHoverActiveState.
mkwst@chromium.org [Tue, 5 Mar 2013 09:15:59 +0000 (09:15 +0000)]
Remove redundant code in Document::updateHoverActiveState.
https://bugs.webkit.org/show_bug.cgi?id=111303

Reviewed by Darin Adler.

Document::updateHoverActiveState currently looks for touchrelease events
and explictly clears out the hover state for all nodes between the
currently hovered node and the top of the hover chain. This is actually
redundant with the logic in the rest of the function; we can simplify by
setting the Element* we're working with to 0, which causes the later
loops to do the necessary work.

There should be no web-visible effect from this change; it should simply
make this function less complex.

Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
    Set innerElementInDocument to 0 rather than walking the hover chain
    and clearing it when we see a touchrelease event. The rest of the
    code in this function will have the same effect.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144741 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd content shell bots to garden-o-matic for general failurse
jochen@chromium.org [Tue, 5 Mar 2013 08:46:24 +0000 (08:46 +0000)]
Add content shell bots to garden-o-matic for general failurse
https://bugs.webkit.org/show_bug.cgi?id=111168

Reviewed by Adam Barth.

All but the WebKit (Content Shell) Android bot is stable enough. While
they're not green yet, there must not be any non-layout test failures on
them.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
(.):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144739 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[V8] Remove unused custom indexedPropertyGetter
commit-queue@webkit.org [Tue, 5 Mar 2013 08:31:43 +0000 (08:31 +0000)]
[V8] Remove unused custom indexedPropertyGetter
https://bugs.webkit.org/show_bug.cgi?id=111409

Patch by Koji Hara <kojih@chromium.org> on 2013-03-05
Reviewed by Kentaro Hara.

Remove unused custom indexedPropertyGetter.
There are 9 custom indexedPropertyGetter, including an unused one(NamedNodeMap).
This commit assures all existing custom indexedPropertyGetter(for V8) are used.

No new tests. Simple refactoring.

* bindings/v8/custom/V8NamedNodeMapCustom.cpp: Remove indexedPropertyGetter

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, EFL gardening.
sudarsana.nagineni@linux.intel.com [Tue, 5 Mar 2013 08:30:57 +0000 (08:30 +0000)]
Unreviewed, EFL gardening.

Skip failing tests on EFL bots.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144737 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed; updating test expectations.
kinuko@chromium.org [Tue, 5 Mar 2013 08:14:21 +0000 (08:14 +0000)]
Unreviewed; updating test expectations.

fast/regions/seamless-iframe-flowed-into-regions.html is failing not only with debug build.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144736 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoShadowRoot needs guardRef() and guardDeref()
morrita@google.com [Tue, 5 Mar 2013 08:08:15 +0000 (08:08 +0000)]
ShadowRoot needs guardRef() and guardDeref()
https://bugs.webkit.org/show_bug.cgi?id=109777

Reviewed by Dimitri Glazkov.

This change moves m_guardRefCount from Document to TreeScope,
which allows ShadowRoot to be guarded by guardRef() mechanism as
Document. After r137524, Node referes TreeScope instead of
Document. This is natural consequence of the change: It no longer
makes sense to guardRef() Document pointer from Node.

Detail:

- Document::m_guardRefCount and related funcdtions are moved to TreeScope
- Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
  TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
- Moved guardRef() and guardDeref() calls to TreeScope and Node.
  Note that there are two "guarded" TreeScope references. One is
  Node::m_treeScope and another is TreeScope::m_parentTreeScope.
  The guarded-ref management is now encapsulated in these two classes.

No new tests. Covered by existing tests.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::dispose): Extracted from removedLastRef()
* dom/Document.h:
(WebCore::Node::isTreeScope):
(WebCore::Node::Node):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
(WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):
* dom/Node.h:
(WebCore::Node::setTreeScope):
* dom/Element.cpp:
(WebCore::Element::ensureAttr): This has been wrong and is fixed in this revision since the incorrectness is unveiled by this change.
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
(WebCore::ShadowRoot::dispose): Added.
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::dispose): Added.
(WebCore::TreeScope::setParentTreeScope):
(WebCore::TreeScope::deletionHasBegun):
(WebCore::TreeScope::beginDeletion):
(WebCore::TreeScope::refCount): Added.
* dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
(WebCore::TreeScope::guardRef): Pulled up from Document.
(WebCore::TreeScope::guardDeref): Ditto.
(WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
(WebCore::TreeScope::deletionHasBegun): Added.
(WebCore::TreeScope::beginDeletion): Added.
(WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144735 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago2013-03-04 Kinuko Yasuda <kinuko@chromium.org>
kinuko@chromium.org [Tue, 5 Mar 2013 07:59:34 +0000 (07:59 +0000)]
2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed, adding crashing test to the expectations.

        * platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144734 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] remove deprecated WebTestRunner::setFocus API
jochen@chromium.org [Tue, 5 Mar 2013 07:56:43 +0000 (07:56 +0000)]
[chromium] remove deprecated WebTestRunner::setFocus API
https://bugs.webkit.org/show_bug.cgi?id=111354

Reviewed by James Robinson.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestDelegate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144733 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agogetPropertyValue for -webkit-text-stroke returns null, should compute the shorthand...
commit-queue@webkit.org [Tue, 5 Mar 2013 07:44:47 +0000 (07:44 +0000)]
getPropertyValue for -webkit-text-stroke returns null, should compute the shorthand value
https://bugs.webkit.org/show_bug.cgi?id=111018

Patch by Uday Kiran <udaykiran@motorola.com> on 2013-03-04
Reviewed by Alexander Pavlov.

Source/WebCore:

Test: fast/css/getPropertyValue-webkit-text-stroke.html

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):

LayoutTests:

Added test for getPropertyValue("-webkit-text-stroke").

* fast/css/getPropertyValue-webkit-text-stroke-expected.txt: Added.
* fast/css/getPropertyValue-webkit-text-stroke.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRun the bindings generation tests on EWS and CQ bots
jochen@chromium.org [Tue, 5 Mar 2013 07:42:51 +0000 (07:42 +0000)]
Run the bindings generation tests on EWS and CQ bots
https://bugs.webkit.org/show_bug.cgi?id=111358

Reviewed by Adam Barth.

The tests are super fast and not flaky.

* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_bindings_tests_command):
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort.run_webkit_tests_command):
(MockPort):
(MockPort.run_bindings_tests_command):
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):
* Scripts/webkitpy/tool/steps/steps_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agogetPropertyValue for -webkit-columns returns null, should compute the shorthand value
commit-queue@webkit.org [Tue, 5 Mar 2013 07:33:23 +0000 (07:33 +0000)]
getPropertyValue for -webkit-columns returns null, should compute the shorthand value
https://bugs.webkit.org/show_bug.cgi?id=111011

Patch by Uday Kiran <udaykiran@motorola.com> on 2013-03-04
Reviewed by Alexander Pavlov.

Source/WebCore:

Test: fast/css/getPropertyValue-columns.html

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):

LayoutTests:

Added test for getPropertyValue("-webkit-columns").

* fast/css/getPropertyValue-columns-expected.txt: Added.
* fast/css/getPropertyValue-columns.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Do not accumulate file system files, add them to workspace immediately
vsevik@chromium.org [Tue, 5 Mar 2013 07:31:56 +0000 (07:31 +0000)]
Web Inspector: Do not accumulate file system files, add them to workspace immediately
https://bugs.webkit.org/show_bug.cgi?id=111325

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemProjectDelegate.prototype.populate.fileLoaded):
(WebInspector.FileSystemProjectDelegate.prototype.populate):
* inspector/front-end/IsolatedFileSystem.js:
(WebInspector.IsolatedFileSystem.prototype.innerCallback):
(WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):

LayoutTests:

* inspector/file-system-project.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144729 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed Windows build fix attempt.
kinuko@chromium.org [Tue, 5 Mar 2013 07:20:26 +0000 (07:20 +0000)]
Unreviewed Windows build fix attempt.

floor method is ambigious so explicitly specify the type.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateCompressedTexFuncData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: cellForColumnAndRow fails for tables with hidden table cells
cfleizach@apple.com [Tue, 5 Mar 2013 07:13:46 +0000 (07:13 +0000)]
AX: cellForColumnAndRow fails for tables with hidden table cells
https://bugs.webkit.org/show_bug.cgi?id=110050

Reviewed by Tim Horton.

Source/WebCore:

If a table had hidden cells, then accessibility code was being confused in a few ways.
1) The cellForColumnAndRow method would return the wrong information since that was
   using the RenderTableSection to retrieve a cell, which did not have the same data as the AXTable
2) The way we were adding children made it impossible to determine column and row range because we
   would skip rows that had hidden children
3) AccessibilityARIAGrid and AccessibilityTable were using different methods for cellForColumnAndRow

The fix does a few things to make things right:
1) Always add an accessibility row, even if there are no visible cells in that row.
2) Have one method for AXTable and AXARIAGrid for cellForColumnAndRow.
3) Change cellForColumnAndRow to query the accessibility children rather than the RenderTableSection in determining the row, col info.
4) cellForColumnAndRow should use unsigned values instead of int values.

Test: accessibility/table-with-hidden-head-section.html

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore):
* accessibility/AccessibilityARIAGrid.h:
(AccessibilityARIAGrid):
* accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::rowIndexRange):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):
* accessibility/AccessibilityARIAGridCell.h:
(AccessibilityARIAGridCell):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::cellForColumnAndRow):
* accessibility/AccessibilityTable.h:
(WebCore):
(AccessibilityTable):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):
* accessibility/AccessibilityTableCell.h:
(AccessibilityTableCell):
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetColumnAtIndex):
(webkitAccessibleTableGetRowAtIndex):
(webkitAccessibleTableGetColumnExtentAt):
(webkitAccessibleTableGetRowExtentAt):
(webkitAccessibleTableGetColumnHeader):
(webkitAccessibleTableGetRowHeader):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* rendering/RenderTableSection.h:
(RenderTableSection):
(WebCore::RenderTableSection::rowRendererAt):

Source/WebKit/chromium:

* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::cellColumnIndex):
(WebKit::WebAccessibilityObject::cellColumnSpan):
(WebKit::WebAccessibilityObject::cellRowIndex):
(WebKit::WebAccessibilityObject::cellRowSpan):

LayoutTests:

* accessibility/table-with-hidden-head-section-expected.txt: Added.
* accessibility/table-with-hidden-head-section.html: Added.
* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144727 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agogetAttribute does not behave correctly for mixed-case attributes on HTML elements
commit-queue@webkit.org [Tue, 5 Mar 2013 06:57:55 +0000 (06:57 +0000)]
getAttribute does not behave correctly for mixed-case attributes on HTML elements
https://bugs.webkit.org/show_bug.cgi?id=105713

Patch by Arpita Bahuguna <a.bah@samsung.com> on 2013-03-04
Reviewed by Andreas Kling.

Source/WebCore:

getAttribute() and getAttributeNode() APIs do not convert the
passed attribute name to lowercase before comparing against the
existing attributes.
The specification however states that the passed name should
be converted to ASCII lowercase before checking for the existence
of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]

Test: fast/dom/Element/getAttribute-case-insensitivity.html

* dom/Element.h:
(WebCore::ElementData::getAttributeItemIndex):
getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
which specifies whether the attribute's case should be ignored
before comparison. But inspite of this param's value we still carry
out a case sensitive search.
Have modified the same to convert the passed attribute's name to
lowercase if 'shouldIgnoreAttributeCase' is true.

LayoutTests:

* fast/dom/Element/getAttribute-case-insensitivity-expected.txt: Added.
* fast/dom/Element/getAttribute-case-insensitivity.html: Added.
Layout test added for verifying that getAttribute() and getAttributeNode()
APIs convert the passed attribute name to lowercase before comparing
against the existing attributes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144726 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Add runtime flag for font load events
commit-queue@webkit.org [Tue, 5 Mar 2013 06:35:55 +0000 (06:35 +0000)]
[Chromium] Add runtime flag for font load events
https://bugs.webkit.org/show_bug.cgi?id=111296

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-03-04
Reviewed by Kent Tamura.

Add a runtime feature flag for FontLoader interface (disabled by default),
and enable ENABLE_FONT_LOAD_EVENTS build flag for chromium.

Source/WebCore:

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled):
(WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled):

Source/WebKit/chromium:

* features.gypi:
* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableFontLoadEvents):
(WebKit):
(WebKit::WebRuntimeFeatures::isFontLoadEventsEnabled):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144725 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[V8] Add LayoutTests for SerializedScriptValue Int32/Uint32 cases
jsbell@chromium.org [Tue, 5 Mar 2013 06:31:42 +0000 (06:31 +0000)]
[V8] Add LayoutTests for SerializedScriptValue Int32/Uint32 cases
https://bugs.webkit.org/show_bug.cgi?id=111364

Reviewed by Kentaro Hara.

A lack of layout tests for SerializedScriptValue special cases let
crbug.com/179280 slip in and out un-noticed. Rectify the situation.

* platform/chromium/fast/storage/serialized-script-value-expected.txt:
* platform/chromium/fast/storage/serialized-script-value.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144724 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWEBGL_compressed_texture_atc implementation
commit-queue@webkit.org [Tue, 5 Mar 2013 06:14:18 +0000 (06:14 +0000)]
WEBGL_compressed_texture_atc implementation
https://bugs.webkit.org/show_bug.cgi?id=110496

Patch by Brandon Jones <bajones@google.com> on 2013-03-04
Reviewed by Kenneth Russell.

Source/WebCore:

Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html

Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
the format that I am aware of. Should enable mobile ports to expose the format, however.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::getName):
(WebCore::WebGLCompressedTextureATC::create):
(WebCore::WebGLCompressedTextureATC::supported):
* html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(WebGLCompressedTextureATC):
* html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
* html/canvas/WebGLRenderingContext.h:
(WebCore):
(WebGLRenderingContext):
* platform/graphics/Extensions3D.h:

LayoutTests:

* webgl/conformance/extensions/webgl-compressed-texture-atc-expected.txt: Added.
* webgl/conformance/extensions/webgl-compressed-texture-atc.html: Added.
* webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-atc.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144723 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Exceptions when WebInspector run in hosted mode.
eustas@chromium.org [Tue, 5 Mar 2013 06:12:18 +0000 (06:12 +0000)]
Web Inspector: Exceptions when WebInspector run in hosted mode.
https://bugs.webkit.org/show_bug.cgi?id=111326

Reviewed by Pavel Feldman.

Source/WebCore:

There is bug in commands code generation in InspectorBackend.js
As a consequence all protocol enums have wrong names and cause
exception when refererenced.

Currently protocol enums are referenced only from NetworkManager.

Test: inspector/inspector-backend-commands-generation.html

* inspector/front-end/InspectorBackend.js:
(InspectorBackendClass.prototype.loadFromJSONIfNeeded):
Use static method to generate code.
(InspectorBackendClass._generateCommands):
Extracted from loadFromJSONIfNeeded. Typo fixed.

LayoutTests:

Test runtime commands code generator output.

* inspector/inspector-backend-commands-generation-expected.txt: Added.
* inspector/inspector-backend-commands-generation.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144722 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/Platform: Add audio hardware support for multi-channel by implementing AudioDe...
crogers@google.com [Tue, 5 Mar 2013 06:04:26 +0000 (06:04 +0000)]
Source/Platform: Add audio hardware support for multi-channel by implementing AudioDestinationNode.maxChannelCount
https://bugs.webkit.org/show_bug.cgi?id=111385

Reviewed by James Robinson.

* chromium/public/Platform.h:
(WebKit::Platform::audioHardwareOutputChannels):

Source/WebCore: Add audio hardware support for multi-channel output by implementing AudioDestinationNode.maxChannelCount
https://bugs.webkit.org/show_bug.cgi?id=111385

Reviewed by James Robinson.

See specification details for .maxChannelCount:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode

* Modules/webaudio/AudioDestinationNode.h:
(WebCore::AudioDestinationNode::maxChannelCount):
* Modules/webaudio/AudioDestinationNode.idl:
* Modules/webaudio/AudioNode.h:
Implement .maxChannelCount attribute.

(AudioNode):
* Modules/webaudio/DefaultAudioDestinationNode.h:
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::initialize):
(WebCore::DefaultAudioDestinationNode::createDestination):
(WebCore::DefaultAudioDestinationNode::enableInput):
Call to createDestination() now takes no argument.
Instead we maintain a member variable for the input device ID.
(WebCore::DefaultAudioDestinationNode::maxChannelCount):
(WebCore::DefaultAudioDestinationNode::setChannelCount):
Check port-specific hardware support for maxChannelCount(),
and allow setting the channel count based on what the hardware
supports.

* platform/audio/AudioDestination.h:
(AudioDestination):
* platform/audio/chromium/AudioDestinationChromium.cpp:
(WebCore::AudioDestination::maxChannelCount):
(WebCore::AudioDestinationChromium::render):
Call into chromium WebKit API: audioHardwareOutputChannels().

* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestination::maxChannelCount):
Add basic implementation for maxChannelCount() only supporting stereo output.

* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestination::maxChannelCount):
Add basic implementation for maxChannelCount() only supporting stereo output.
Later, the mac port can support more than this with some small improvements to AudioDestinationMac.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144720 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agorun-webkit-tests should support --profile and --profiler= just like run-perf-tests...
eric@webkit.org [Tue, 5 Mar 2013 05:55:06 +0000 (05:55 +0000)]
run-webkit-tests should support --profile and --profiler= just like run-perf-tests does
https://bugs.webkit.org/show_bug.cgi?id=111384

Reviewed by Ryosuke Niwa.

Sometimes I want to know why various LayoutTests are slow
without having to convert them into PerformanceTests in order
to use our fancy profiling.  The Driver already knows how to
do the right thing, we just need to expose the options to the user.

Handling of these options is already unittested in the perftests_unittest.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144719 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBUILD FIX (r144662): Import JSBase.h in WebFrameLoadDelegate.h
ddkilzer@apple.com [Tue, 5 Mar 2013 05:27:04 +0000 (05:27 +0000)]
BUILD FIX (r144662): Import JSBase.h in WebFrameLoadDelegate.h
<http://webkit.org/b/111269>

Fixes the following build failure:

    In file included from Source/WebKit/ios/DefaultDelegates/WebDefaultFrameLoadDelegate.m:11:
    In file included from Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h:29:
    Source/WebKit/mac/WebView/WebFrameLoadDelegate.h:41:5: error: 'JSC_OBJC_API_ENABLED' is not defined, evaluates to 0 [-Werror,-Wundef]
    #if JSC_OBJC_API_ENABLED
        ^
    Source/WebKit/mac/WebView/WebFrameLoadDelegate.h:207:5: error: 'JSC_OBJC_API_ENABLED' is not defined, evaluates to 0 [-Werror,-Wundef]
    #if JSC_OBJC_API_ENABLED
        ^
    2 errors generated.

* WebView/WebFrameLoadDelegate.h: Include JSBase.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144717 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agocheck-webkit-style says "Have to enable auto props in the subversion config file"
commit-queue@webkit.org [Tue, 5 Mar 2013 05:24:10 +0000 (05:24 +0000)]
check-webkit-style says "Have to enable auto props in the subversion config file"
https://bugs.webkit.org/show_bug.cgi?id=107724

Patch by Alan Cutter <alancutter@chromium.org> on 2013-03-04
Reviewed by Tony Chang.

Added a standard svn config file for WebKit developers to use.
Updated the style and commit queue bot build scripts to load this file.

* EWSTools/GoogleComputeEngine/build-commit-queue.sh:
* EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh:
* EWSTools/configure-svn-config.sh: Copied from Tools/EWSTools/GoogleComputeEngine/build-commit-queue.sh.
* svn-config: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144716 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRebaseline 4 virtual/softwarecompositing tests.
kinuko@chromium.org [Tue, 5 Mar 2013 05:23:45 +0000 (05:23 +0000)]
Rebaseline 4 virtual/softwarecompositing tests.

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-expected.png:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/vertical-scroll-composited-expected.png:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/vertical-scroll-composited-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/reflections/animation-inside-reflection-expected.png:
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/layer-due-to-layer-children-expected.png:
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/vertical-scroll-composited-expected.png:
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/reflections/animation-inside-reflection-expected.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144715 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBackground HTML parser can rewind the tokenizer after end-of-file
abarth@webkit.org [Tue, 5 Mar 2013 04:57:15 +0000 (04:57 +0000)]
Background HTML parser can rewind the tokenizer after end-of-file
https://bugs.webkit.org/show_bug.cgi?id=111365

Reviewed by Eric Seidel.

Source/WebCore:

Prior to this patch, it was possible to call didFailSpeculation after
processing the end-of-file token because checkForSpeculationFailure
didn't zero out m_tokenizer in some control paths.

This patch renames checkForSpeculationFailure to validateSpeculations
and ensures that it always takes ownership of the main thread's
HTMLTokenizer.

This patch also adds a number of ASSERTs to make sure the parser state
machine stays in the correct configuration (e.g., that we don't have a
main thread tokenizer while we're supposed to be tokenizing on the
background thread).

Test: fast/parser/document-write-fighting-eof.html

* html/parser/BackgroundHTMLInputStream.cpp:
(WebCore::BackgroundHTMLInputStream::rewindTo):
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::append):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::validateSpeculations):
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::pumpPendingSpeculations):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):

LayoutTests:

* fast/parser/document-write-fighting-eof.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144714 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake sure that clearOwnerNode also clears StyleResolver references (via didMutate).
commit-queue@webkit.org [Tue, 5 Mar 2013 04:37:32 +0000 (04:37 +0000)]
Make sure that clearOwnerNode also clears StyleResolver references (via didMutate).
https://bugs.webkit.org/show_bug.cgi?id=109446

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-03-04
Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/css/stylesheet.innerHTML-calls-didmutate.html

* css/CSSStyleSheet.h:

LayoutTests:

* fast/css/stylesheet.innerHTML-calls-didmutate-expected.txt: Added.
* fast/css/stylesheet.innerHTML-calls-didmutate.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Rolled Chromium DEPS to r185990. Requested by
jamesr@google.com [Tue, 5 Mar 2013 03:49:29 +0000 (03:49 +0000)]
Unreviewed.  Rolled Chromium DEPS to r185990.  Requested by
jamesr_ via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-04

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144712 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewd build fix after r144701.
haraken@chromium.org [Tue, 5 Mar 2013 03:40:47 +0000 (03:40 +0000)]
Unreviewd build fix after r144701.

* platform/EventTracer.cpp:
(WebCore::EventTracer::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144711 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix some style issues in RenderLayerCompositor
commit-queue@webkit.org [Tue, 5 Mar 2013 03:23:35 +0000 (03:23 +0000)]
Fix some style issues in RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=111369

Patch by Min Qin <qinmin@chromium.org> on 2013-03-04
Reviewed by Simon Fraser.

Just style fix, no test needed

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRevert changes to RenderLayer::scrollByRecursively() that were added for gesture...
tdanderson@chromium.org [Tue, 5 Mar 2013 03:17:34 +0000 (03:17 +0000)]
Revert changes to RenderLayer::scrollByRecursively() that were added for gesture-scrolling
https://bugs.webkit.org/show_bug.cgi?id=111007

Reviewed by Simon Fraser.

Due to http://trac.webkit.org/changeset/144519 landing, the changes made to RenderLayer in
http://trac.webkit.org/changeset/142057,
http://trac.webkit.org/changeset/140177, and
http://trac.webkit.org/changeset/142195
are no longer necessary (as RenderLayer::scrollByRecursively() is not used for
gesture-scrolling) and should be reverted.

No change in behavior, so no new tests needed.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollByRecursively):
* rendering/RenderLayer.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144709 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnused Structure property tables waste 14MB on Membuster.
akling@apple.com [Tue, 5 Mar 2013 03:05:27 +0000 (03:05 +0000)]
Unused Structure property tables waste 14MB on Membuster.
<http://webkit.org/b/110854>
<rdar://problem/13292104>

Reviewed by Geoffrey Garen.

Turn PropertyTable into a GC object and have Structure drop unpinned tables when marking.
14 MB progression on Membuster3.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:

    Added PropertyTable.cpp.

* runtime/PropertyTable.cpp: Added.
(JSC::PropertyTable::create):
(JSC::PropertyTable::clone):
(JSC::PropertyTable::PropertyTable):
(JSC::PropertyTable::destroy):
(JSC::PropertyTable::~PropertyTable):
(JSC::PropertyTable::visitChildren):

    Moved marking of property table values here from Structure::visitChildren().

* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get):

    Move m_cell to a local before using it multiple times. This avoids a multiple-access race when
    Structure::checkOffsetConsistency() is used in assertions on the main thread while a marking thread
    zaps the property table.

* runtime/Structure.h:
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):
* runtime/StructureInlines.h:
(JSC::Structure::propertyTable):

    Added a getter for the Structure's PropertyTable that ASSERTs GC currently isn't active.
    Because GC can zap an unpinned property table at any time, it's not entirely safe to access it.
    Renamed the variable itself to m_propertyTableUnsafe to force call sites into explaining themselves.

(JSC::Structure::putWillGrowOutOfLineStorage):
(JSC::Structure::checkOffsetConsistency):

    Moved these out of Structure.h to break header dependency cycle between Structure/PropertyTable.

* runtime/Structure.cpp:
(JSC::Structure::visitChildren):

    Null out m_propertyTable if the table is unpinned. This'll cause the table to get GC'd.

* runtime/JSGlobalData.h:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):

    Add a global propertyTableStructure.

* runtime/PropertyMapHashTable.h:
(PropertyTable):
(JSC::PropertyTable::createStructure):
(JSC::PropertyTable::copy):

    Make PropertyTable a GC object.

* runtime/Structure.cpp:
(JSC::Structure::dumpStatistics):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::pin):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::copyPropertyTableForPinning):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
(JSC::Structure::despecifyAllFunctions):
(JSC::Structure::putSpecificValue):
(JSC::Structure::remove):
(JSC::Structure::createPropertyMap):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::checkConsistency):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144708 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix after r144701.
haraken@chromium.org [Tue, 5 Mar 2013 02:48:49 +0000 (02:48 +0000)]
Unreviewed build fix after r144701.

* platform/EventTracer.cpp:
(WebCore::EventTracer::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r143643): Buttons containing floats render differently
commit-queue@webkit.org [Tue, 5 Mar 2013 02:46:44 +0000 (02:46 +0000)]
REGRESSION (r143643): Buttons containing floats render differently
https://bugs.webkit.org/show_bug.cgi?id=110933

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-04
Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/forms/button-with-float.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
Also include new flexbox as a renderer that needs to enclose
overhanging floats. Flex boxes establish a block formatting context,
so they need to contain floats:
http://dev.w3.org/csswg/css3-flexbox/#flex-items

LayoutTests:

* css3/flexbox/float-inside-flexitem-expected.html: Added.
* css3/flexbox/float-inside-flexitem.html: Added.
* fast/forms/button-with-float-expected.html: Added.
* fast/forms/button-with-float.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144706 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Switch to new webkit_support::CreateLayerTreeView interface
commit-queue@webkit.org [Tue, 5 Mar 2013 02:34:27 +0000 (02:34 +0000)]
[chromium] Switch to new webkit_support::CreateLayerTreeView interface
https://bugs.webkit.org/show_bug.cgi?id=111285

Patch by James Robinson <jamesr@chromium.org> on 2013-03-04
Reviewed by Adrienne Walker.

This removes the need for WebCompositorSupport::initialize and exposes
slightly fewer entry points across the repository boundary.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::webCompositorThread):
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::initializeLayerTreeView):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd PerformanceTest for document startup via iframe append/remove
eric@webkit.org [Tue, 5 Mar 2013 01:58:41 +0000 (01:58 +0000)]
Add PerformanceTest for document startup via iframe append/remove
https://bugs.webkit.org/show_bug.cgi?id=111389

Reviewed by Kentaro Hara.

We'd like pages with lots of iframes to be fast.
This test shows that at least for V8/Chromium we spend
all our time booting v8.

On my 32-core linux machine I see about 70 runs/sec in
Release and 5 runs/sec in Debug.

* DOM/iframe-append-remove.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144704 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSupport WebSpeech - Speech Synthesis
cfleizach@apple.com [Tue, 5 Mar 2013 01:54:34 +0000 (01:54 +0000)]
Support WebSpeech - Speech Synthesis
https://bugs.webkit.org/show_bug.cgi?id=106742

Build fix.

* Modules/speech/SpeechSynthesis.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144703 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r144595.
rafaelw@chromium.org [Tue, 5 Mar 2013 01:45:30 +0000 (01:45 +0000)]
Unreviewed, rolling out r144595.
http://trac.webkit.org/changeset/144595
https://bugs.webkit.org/show_bug.cgi?id=90341

Causing multiple crashes in fast/dom/Element/* tests (hits
assert in Attr.cp:215)

Source/WebCore:

* dom/Element.cpp:
(WebCore::Element::setAttributeNode):

LayoutTests:

* fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt: Removed.
* fast/dom/Element/setAttributeNode-case-insensitivity.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144702 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Implement TRACE_EVENT macros for sampling profiling
haraken@chromium.org [Tue, 5 Mar 2013 01:42:20 +0000 (01:42 +0000)]
[chromium] Implement TRACE_EVENT macros for sampling profiling
https://bugs.webkit.org/show_bug.cgi?id=110932

Reviewed by Adam Barth.

We are implementing TRACE_EVENT macros for sampling profiling.
It works in the following mechanism:

- Chromium defines global state variables for sampling profiling.
(i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)

- WebKit gets the addresses of the global state variables at the
initialization step. (i.e. EventTracer::initialize())

- WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE()
macros every time WebKit changes its state. (e.g. DOM attribute
getters/setters/methods)

- A sampling thread running in Chrome reads the global states
periodically and visualizes the profiling results into about://tracing.

This patch implements (1) a WebKit API to get the addresses of
the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.

Source/Platform:

* chromium/public/Platform.h:
(Platform):
(WebKit::Platform::getTraceSamplingState):

Source/WebCore:

No tests. The sampling profiler is not enabled in Chrome by default.
I manually inserted TRACE_EVENT_SAMPLING_STATE() macros and
confirmed that the sampling profiling is working as expected.

* platform/EventTracer.cpp:
(WebCore::EventTracer::initialize):
(WebCore::EventTracer::getTraceCategoryEnabledFlag):
(WebCore):
* platform/EventTracer.h:
(WebCore):
(EventTracer):
* platform/chromium/EventTracerChromium.cpp:
(WebCore):
(WebCore::EventTracer::initialize):
* platform/chromium/TraceEvent.h:

Source/WebKit/chromium:

* src/WebKit.cpp:
(WebKit::initializeWithoutV8):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144701 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Tue, 5 Mar 2013 01:17:07 +0000 (01:17 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: touch-gesture-noscroll-body-* are failing on mac.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144700 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Get rid of some AppleWin VS2010 build warnings.
roger_fong@apple.com [Tue, 5 Mar 2013 01:16:59 +0000 (01:16 +0000)]
Unreviewed. Get rid of some AppleWin VS2010 build warnings.

* DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePluginCommon.props:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144699 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSupport WebSpeech - Speech Synthesis
cfleizach@apple.com [Tue, 5 Mar 2013 01:13:23 +0000 (01:13 +0000)]
Support WebSpeech - Speech Synthesis
https://bugs.webkit.org/show_bug.cgi?id=106742

Reviewed by Simon Fraser.

Source/JavaScriptCore:

Enable speech synthesis for the Mac.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable speech synthesis for the Mac.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Enable speech synthesis for the Mac.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Enable speech synthesis for the Mac.

* Configurations/FeatureDefines.xcconfig:

LayoutTests:

Unskip speech synthesis tests.

* fast/dom/script-tests/constructed-objects-prototypes.js:
(constructorPropertiesOnWindow):
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144698 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBUILD FIX (r144657): Fix DumpRenderTree build failure on iOS
ddkilzer@apple.com [Tue, 5 Mar 2013 00:55:32 +0000 (00:55 +0000)]
BUILD FIX (r144657): Fix DumpRenderTree build failure on iOS

    Tools/DumpRenderTree/ios/AccessibilityControllerIOS.mm:95:29: error: class method '+stringWithJSStringRef:' not found (return type defaults to 'id') [-Werror,-Wobjc-method-access]
        NSString *idAttribute = [NSString stringWithJSStringRef:idAttributeRef];
                                ^         ~~~~~~~~~~~~~~~~~~~~~
    1 error generated.

* DumpRenderTree/ios/AccessibilityControllerIOS.mm: Import
AccessibilityCommonMac.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144697 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago<link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
commit-queue@webkit.org [Tue, 5 Mar 2013 00:42:32 +0000 (00:42 +0000)]
<link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
https://bugs.webkit.org/show_bug.cgi?id=109061

Patch by Ruslan Abdikeev <aruslan@chromium.org> on 2013-03-04
Reviewed by Adam Barth.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

Test: fast/dom/icon-url-list-apple-touch.html

Added iconTypes parameter to Document::iconURLs().
Added Document::shortcutIconURLs() with original semantics of iconURLs().
Fixed IconController.cpp to provide iconTypesMask to iconURLs().
Renamed iconTypes to iconTypesMask to make the meaning clearer.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::shortcutIconURLs):
(WebCore):
(WebCore::Document::iconURLs):
* dom/Document.h:
(Document):
* loader/icon/IconController.cpp:
(WebCore::IconController::iconURL):
(WebCore::IconController::urlsForTypes):
* testing/Internals.cpp:
(WebCore::Internals::iconURLs):
(WebCore::Internals::shortcutIconURLs):
(WebCore):
(WebCore::Internals::allIconURLs):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Added test for apple-touch-icon in allIconURLs().
Changed iconURLs() to shortcutIconURLs().

* fast/dom/icon-url-change.html:
* fast/dom/icon-url-list-apple-touch-expected.txt: Added.
* fast/dom/icon-url-list-apple-touch.html: Added.
* fast/dom/icon-url-list.html:
* fast/dom/icon-url-property.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144696 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUI process storage areas should hold on to storage maps
andersca@apple.com [Tue, 5 Mar 2013 00:31:18 +0000 (00:31 +0000)]
UI process storage areas should hold on to storage maps
https://bugs.webkit.org/show_bug.cgi?id=111374

Reviewed by Beth Dakin.

Pass the session storage quota size through to the storage area constructor and
create a StorageMap with the given quota size.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):
(WebKit::StorageManager::StorageArea::create):
(WebKit::StorageManager::StorageArea::StorageArea):
(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::createSessionStorageNamespaceInternal):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144695 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCache partitioning does not affect iframe MainResources
jpfau@apple.com [Tue, 5 Mar 2013 00:22:27 +0000 (00:22 +0000)]
Cache partitioning does not affect iframe MainResources
https://bugs.webkit.org/show_bug.cgi?id=111022

Reviewed by David Kilzer.

Source/WebCore:

Set the partition of a main resource request if in a subframe.

Test: http/tests/cache/partitioned-cache-iframe.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):

LayoutTests:

These tests results are for the case in which the cache is not
partitioned, as no shipping ports have cache partitioning enabled

* http/tests/cache/partitioned-cache-iframe-expected.txt: Added.
* http/tests/cache/partitioned-cache-iframe.html: Added.
* http/tests/cache/resources/random-cached-iframe.cgi: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144694 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix after r144675.
rakuco@webkit.org [Mon, 4 Mar 2013 23:51:59 +0000 (23:51 +0000)]
Unreviewed build fix after r144675.

Work around picky/old C++ compilers by separating the '>>' in
nested templates with a space.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144693 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Mon, 4 Mar 2013 23:51:25 +0000 (23:51 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: Marking all html5lib/generated/ as crashing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144692 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMore work on UI side storage
andersca@apple.com [Mon, 4 Mar 2013 23:47:23 +0000 (23:47 +0000)]
More work on UI side storage
https://bugs.webkit.org/show_bug.cgi?id=111370

Reviewed by Andreas Kling.

Add a DispatchStorageEvent message and begin hooking it up.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):
(WebKit::StorageManager::StorageArea::setItem):
(WebKit):
(WebKit::StorageManager::StorageArea::dispatchEvents):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::findStorageArea):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
* UIProcess/Storage/StorageManager.messages.in:
* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::setItem):
(WebKit::StorageAreaProxy::dispatchStorageEvent):
(WebKit):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):
* WebProcess/Storage/StorageAreaProxy.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144691 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: user agent shadow roots for plugins should be 'accessible'
cfleizach@apple.com [Mon, 4 Mar 2013 23:45:59 +0000 (23:45 +0000)]
AX: user agent shadow roots for plugins should be 'accessible'
https://bugs.webkit.org/show_bug.cgi?id=111339

Reviewed by Tim Horton.

If a plugin element uses a user agent shadow element, we should make that shadow element
into a button with the title and subtitle put together, and use that as the label. This
will probably be the best accessibility experience.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCSS3 calc: identify divide by zero cases at parse time
commit-queue@webkit.org [Mon, 4 Mar 2013 23:45:05 +0000 (23:45 +0000)]
CSS3 calc: identify divide by zero cases at parse time
https://bugs.webkit.org/show_bug.cgi?id=80411

Patch by Alan Cutter <alancutter@chromium.org> on 2013-03-04
Reviewed by Tony Chang.

Added tests to check whether divide by 0 cases are caught.

* css3/calc/catch-divide-by-0-expected.txt: Added.
* css3/calc/catch-divide-by-0.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Form controls on composited layers are not painted properly
alokp@chromium.org [Mon, 4 Mar 2013 23:36:25 +0000 (23:36 +0000)]
[chromium] Form controls on composited layers are not painted properly
https://bugs.webkit.org/show_bug.cgi?id=111366

Reviewed by James Robinson.

Set PlatformContextSkia::m_drawingToImageBuffer which is used as a hint to properly blend GDI-painted bitmap.

* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144688 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGive ViewportConstraints classes copy constructors
simon.fraser@apple.com [Mon, 4 Mar 2013 23:25:14 +0000 (23:25 +0000)]
Give ViewportConstraints classes copy constructors
https://bugs.webkit.org/show_bug.cgi?id=111367

Reviewed by Beth Dakin.

Downstream code requires that ViewportConstraints objects have
copy constructors, so add them.

Also clean up some redundant initialization of stack objects
in RenderLayerCompositor.

No behavior change.

* page/scrolling/ScrollingConstraints.h:
(WebCore::ViewportConstraints::ViewportConstraints):
(ViewportConstraints):
(WebCore::FixedPositionViewportConstraints::FixedPositionViewportConstraints):
(FixedPositionViewportConstraints):
(WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
(StickyPositionViewportConstraints):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. AppleWin build fix.
roger_fong@apple.com [Mon, 4 Mar 2013 23:12:03 +0000 (23:12 +0000)]
Unreviewed. AppleWin build fix.

* html/parser/XSSAuditor.cpp:
(WebCore::isSemicolonSeparatedAttribute):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCSSParser: Avoid temporary String when parsing hex colors.
akling@apple.com [Mon, 4 Mar 2013 23:09:29 +0000 (23:09 +0000)]
CSSParser: Avoid temporary String when parsing hex colors.
<http://webkit.org/b/111341>

Reviewed by Anders Carlsson.

Templatize CSSParser::fastParseColor() so we can pass a CSSParserString as the color name.
This avoids creating a temporary WTF::String from the parser string.

* css/CSSParser.cpp:
(WebCore::CSSParser::fastParseColor):
* css/CSSParser.h:
* css/CSSParserValues.h:
(CSSParserString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144682 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Grid Layout] Add parsing for grid-{start|before}
jchaffraix@webkit.org [Mon, 4 Mar 2013 23:07:45 +0000 (23:07 +0000)]
[CSS Grid Layout] Add parsing for grid-{start|before}
https://bugs.webkit.org/show_bug.cgi?id=110988

Reviewed by Tony Chang.

Source/WebCore:

Test: fast/css-grid-layout/grid-item-start-before-get-set.html

Refactored how we store internally grid-{row|column} to be based on grid-{before|start}.
This is required as grid-{row|column} are shorthands for resp. grid-{before|after} and grid-{start|end}
in the specification and will also be in the code. That means a lot of methods were renamed to be more
aligned with the new design.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Added the code to parse, apply and get back the new properties. Also
some renaming after the internal naming change below.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::maximumIndexInDirection):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
(WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
* rendering/style/RenderStyle.h:
* rendering/style/StyleGridItemData.cpp:
(WebCore::StyleGridItemData::StyleGridItemData):
* rendering/style/StyleGridItemData.h:
(WebCore::StyleGridItemData::operator==):
Updated the naming now that we manipulate grid-{before|start} instead of grid-{row|column}.

LayoutTests:

* fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
Extended the test to make sure that both grid-column (resp. grid-row) and grid-start (resp. grid-before) are
in sync.

* fast/css-grid-layout/grid-item-start-before-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-item-start-before-get-set.html: Added
Add this test for grid-{start|before}, similar to LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix: wrap references to PluginInfoStore with
jer.noble@apple.com [Mon, 4 Mar 2013 22:44:20 +0000 (22:44 +0000)]
Unreviewed build fix: wrap references to PluginInfoStore with
guards for platforms which do not enable NETSCAPE_PLUGIN_AP.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
* UIProcess/WebContext.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWebSpeech: change voiceURI to voice
cfleizach@apple.com [Mon, 4 Mar 2013 22:41:13 +0000 (22:41 +0000)]
WebSpeech: change voiceURI to voice
https://bugs.webkit.org/show_bug.cgi?id=110773

Reviewed by Tim Horton.

Source/WebCore:

Change the voiceURI property to a voice property that takes a SpeechSynthesisVoice.
This was recently added to the errata of the WebSpeech spec.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html

* Modules/speech/SpeechSynthesisUtterance.cpp:
(WebCore):
(WebCore::SpeechSynthesisUtterance::voice):
(WebCore::SpeechSynthesisUtterance::setVoice):
* Modules/speech/SpeechSynthesisUtterance.h:
(SpeechSynthesisUtterance):
* Modules/speech/SpeechSynthesisUtterance.idl:
* Modules/speech/SpeechSynthesisVoice.h:
(WebCore::SpeechSynthesisVoice::platformVoice):
(SpeechSynthesisVoice):
* platform/PlatformSpeechSynthesisUtterance.cpp:
(WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
* platform/PlatformSpeechSynthesisUtterance.h:
(WebCore::PlatformSpeechSynthesisUtterance::voice):
(WebCore::PlatformSpeechSynthesisUtterance::setVoice):
(PlatformSpeechSynthesisUtterance):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):

LayoutTests:

* platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Added.
* platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144679 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFilename passed to FormData.append() takes precedence over filename in
commit-queue@webkit.org [Mon, 4 Mar 2013 22:28:11 +0000 (22:28 +0000)]
Filename passed to FormData.append() takes precedence over filename in
File.
https://bugs.webkit.org/show_bug.cgi?id=111255

Patch by Victor Costan <costan@gmail.com> on 2013-03-04
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/local/formdata/send-form-data-with-filename.html

* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems): changed to implement the
behavior in the XMLHttpRequest W3C spec.

LayoutTests:

(runTest):
* http/tests/local/formdata/send-form-data-with-filename-expected.txt: Added.
* http/tests/local/formdata/send-form-data-with-filename.html: Added.
* http/tests/local/formdata/send-form-data-with-sliced-file-expected.txt: Updated
to reflect the behavior specified in the XMLHttpRequest W3C spec.
* platform/wk2/TestExpectations: newly added test doesn't work in
WebKit2 because beginDragWithFiles is not implemented

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144677 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCreate and destroy storage areas in the UI process
andersca@apple.com [Mon, 4 Mar 2013 22:25:57 +0000 (22:25 +0000)]
Create and destroy storage areas in the UI process
https://bugs.webkit.org/show_bug.cgi?id=111361

Reviewed by Sam Weinig.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):
Keep track of listener connection and storage area ID pairs.

(WebKit::StorageManager::StorageArea::~StorageArea):
Assert that we don't have any listeners left.

(WebKit::StorageManager::StorageArea::addListener):
Add the pair to the set of listeners.

(WebKit::StorageManager::StorageArea::removeListener):
Remove the pair from the set of listeners.

(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
Given an origin, look up or create the storage area.

(WebKit::StorageManager::createStorageArea):
Create the storage area if it doesn't already exist.

(WebKit::StorageManager::destroyStorageArea):
Look up the storage area and destroy it.

* UIProcess/Storage/StorageManager.h:
Add a map of open storage areas.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCanvas and DOM go out of sync
commit-queue@webkit.org [Mon, 4 Mar 2013 22:16:46 +0000 (22:16 +0000)]
Canvas and DOM go out of sync
https://bugs.webkit.org/show_bug.cgi?id=107701

Patch by Alexis Hetu <sugoi@chromium.org> on 2013-03-04
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/canvas/canvas-overflow-hidden-animation.html

Added an update of the current compositor from the layer's stacking
container when the layer itself isn't a stacking container.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
Added an update of the stacking container of the owning layer of the
layer backing when the owning layer isn't a stacking container itself.

LayoutTests:

Added a new layout test for moving an object (a div) within a div that
has the "overflow:hidden" property.

* fast/canvas/canvas-overflow-hidden-animation-expected.html: Added.
* fast/canvas/canvas-overflow-hidden-animation.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144674 268f45cc-cd09-0410-ab3c-d52691b4dbfc