WebKit-https.git
8 years agowebkit-patch: fix 'upload' command with Bugzilla 4.2.5
ddkilzer@apple.com [Mon, 6 May 2013 19:49:08 +0000 (19:49 +0000)]
webkit-patch: fix 'upload' command with Bugzilla 4.2.5
<http://webkit.org/b/115667>

Reviewed by Dirk Pranke.

* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._check_create_bug_response): Update regex to work with
Bugzilla 3.2.3 and 4.2.5.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
(test__check_create_bug_response): Add new test that covers both
old and new <title> variations.

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

8 years ago[BlackBerry] Ensure document is attached before accessing its FrameSelection
commit-queue@webkit.org [Mon, 6 May 2013 19:38:10 +0000 (19:38 +0000)]
[BlackBerry] Ensure document is attached before accessing its FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=115565

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR 312101
We need to make sure that the node and document
are attached before accessing the FrameSelection. This was
handled earlier but not all call paths were covered.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::isActiveTextEdit):
(WebKit):
* WebKitSupport/InputHandler.h:

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

8 years agoRemove more code that was only needed for younger/older shadow trees
antti@apple.com [Mon, 6 May 2013 19:37:44 +0000 (19:37 +0000)]
Remove more code that was only needed for younger/older shadow trees
https://bugs.webkit.org/show_bug.cgi?id=115662

Reviewed by Andreas Kling.

This is dead code.

* WebCore.exp.in:
* dom/ComposedShadowTreeWalker.cpp:
(WebCore::nodeCanBeDistributed):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
* dom/EventPathWalker.cpp:
(WebCore::EventPathWalker::moveToParent):
* html/shadow/ContentDistributor.cpp:
(WebCore::ScopeContentDistribution::ScopeContentDistribution):
(WebCore::ScopeContentDistribution::registerInsertionPoint):
(WebCore::ScopeContentDistribution::unregisterInsertionPoint):
(WebCore):
(WebCore::ScopeContentDistribution::hasInsertionPoint):
(WebCore::ContentDistributor::invalidate):
* html/shadow/ContentDistributor.h:
(ScopeContentDistribution):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::contains):
(WebCore::resolveReprojection):
(WebCore::collectInsertionPointsWhereNodeIsDistributed):
* html/shadow/InsertionPoint.h:
* testing/Internals.cpp:
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

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

8 years ago[BlackBerry] Do not spellcheck when composition is active.
commit-queue@webkit.org [Mon, 6 May 2013 19:36:29 +0000 (19:36 +0000)]
[BlackBerry] Do not spellcheck when composition is active.
https://bugs.webkit.org/show_bug.cgi?id=115562

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR331344
Typing can trigger rechecking since layout changes. Ensure
extra work is only done when we need it, and that it won't
be triggered when composition is active. If the user hasn't
finished a word yet, it is likely future key events will be
arriving, so checking the string at this point is extraneous.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):

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

8 years ago[BlackBerry] Reduce the spellcheck checking range
commit-queue@webkit.org [Mon, 6 May 2013 19:31:37 +0000 (19:31 +0000)]
[BlackBerry] Reduce the spellcheck checking range
https://bugs.webkit.org/show_bug.cgi?id=115479

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR332773
Previously we were spellchecking the entire field on focus. If relayouting
occurred we rechecked this region, which is very costly. Switch to check
only a small region around the caret in both cases, which should alleviate
much of the delays experienced in very large contenteditable fields. This
allows for faster key input response and less time processing these requests
on the WebKit thread.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
* WebKitSupport/SpellingHandler.cpp:
(WebKit):
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
* WebKitSupport/SpellingHandler.h:
(SpellingHandler):

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

8 years ago[BlackBerry] Use a more descriptive timer name
commit-queue@webkit.org [Mon, 6 May 2013 19:29:52 +0000 (19:29 +0000)]
[BlackBerry] Use a more descriptive timer name
https://bugs.webkit.org/show_bug.cgi?id=115481

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

Changing m_timer to m_iterationDelayTimer.

* WebKitSupport/SpellingHandler.cpp:
(BlackBerry::WebKit::SpellingHandler::SpellingHandler):
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
* WebKitSupport/SpellingHandler.h:
(SpellingHandler):

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

8 years ago[BlackBerry] Update HTML5 progress bar UX.
commit-queue@webkit.org [Mon, 6 May 2013 19:13:30 +0000 (19:13 +0000)]
[BlackBerry] Update HTML5 progress bar UX.
https://bugs.webkit.org/show_bug.cgi?id=115284.

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

BlackBerry PR 331729.
Internally Reviewed by Jeff Rogers.

Use GL render to paint progress bar to meet UX specs.
Also change the slider range to GL render.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore):
(WebCore::RenderThemeBlackBerry::paintSliderTrack):
(WebCore::RenderThemeBlackBerry::paintProgressTrackRect):
(WebCore::drawProgressTexture):
(WebCore::RenderThemeBlackBerry::paintProgressBar):
* platform/blackberry/RenderThemeBlackBerry.h:
(RenderThemeBlackBerry):

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

8 years ago[CSS Exclusions] remove unused -webkit-wrap property
commit-queue@webkit.org [Mon, 6 May 2013 19:11:58 +0000 (19:11 +0000)]
[CSS Exclusions] remove unused -webkit-wrap property
https://bugs.webkit.org/show_bug.cgi?id=102105

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-05-06
Reviewed by Darin Adler.

Source/WebCore:

Remove -webkit-wrap property and all mentions. This property doesn't
exist in the spec anymore, and was never implemented more than just
parsing the property.

* WebCore.order:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
(WebCore):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Delete tests for the -webkit-wrap property.

* fast/exclusions/css-exclusions-disabled.html: Remove use of -webkit-wrap.
* fast/exclusions/script-tests/wrap-parsing.js: Removed.
* fast/exclusions/wrap-parsing-expected.txt: Removed.
* fast/exclusions/wrap-parsing.html: Removed.
* svg/css/style-change-crash-expected.txt: Removed.
* svg/css/style-change-crash.html: Removed.

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

8 years agoBuild with GCC 4.8 fails because of -Wmaybe-uninitialized
abecsi@webkit.org [Mon, 6 May 2013 18:49:10 +0000 (18:49 +0000)]
Build with GCC 4.8 fails because of -Wmaybe-uninitialized
https://bugs.webkit.org/show_bug.cgi?id=115648

Reviewed by Michael Saboff.

Initialize values in Options::setOption since from
there we end up calling OptionRange::init with
uninitialized members.

* runtime/Options.cpp:

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

8 years agoUnreviewed. AppleWin VS2010 build fix.
roger_fong@apple.com [Mon, 6 May 2013 18:46:55 +0000 (18:46 +0000)]
Unreviewed. AppleWin VS2010 build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

8 years ago[WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
zandobersek@gmail.com [Mon, 6 May 2013 18:44:25 +0000 (18:44 +0000)]
[WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
https://bugs.webkit.org/show_bug.cgi?id=115654

Reviewed by Andreas Kling.

Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.

* UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
the now-removed member variable.
(WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
supplements vector.
(WebKit::WebContext::disconnectProcess): Ditto.
* UIProcess/WebContext.h:
(WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
(WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
accessing the private m_context directly.
(WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
(WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
(WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
(WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.

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

8 years ago <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
ap@apple.com [Mon, 6 May 2013 18:40:29 +0000 (18:40 +0000)]
    <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
        https://bugs.webkit.org/show_bug.cgi?id=115483

        Reviewed by Darin Adler.

        * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
        in multiple places, so it's easier to pre-compute it.

        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
        (WebKit::loadSandboxProfile): Ditto.
        (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
        (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
        (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
        a path.

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

8 years agoHandle removeItem and clear in LocalStorageDatabase
andersca@apple.com [Mon, 6 May 2013 18:38:44 +0000 (18:38 +0000)]
Handle removeItem and clear in LocalStorageDatabase
https://bugs.webkit.org/show_bug.cgi?id=115664

Reviewed by Darin Adler.

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::removeItem):
Call itemDidChange with a null value, indicating that we want to remove this item.

(WebKit::LocalStorageDatabase::clear):
Clear items, set m_shouldClearItems and schedule a database update.

(WebKit::LocalStorageDatabase::updateDatabase):
If m_shouldClearItems is true, clear all items.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::removeItem):
Call through to the local storage database.

(WebKit::StorageManager::StorageArea::clear):
Ditto.

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

8 years ago[Flakiness Dashboard] Stop decoding SnowLeopard builder names into platforms
zandobersek@gmail.com [Mon, 6 May 2013 18:13:35 +0000 (18:13 +0000)]
[Flakiness Dashboard] Stop decoding SnowLeopard builder names into platforms
https://bugs.webkit.org/show_bug.cgi?id=115661

Reviewed by Ryosuke Niwa.

The Apple Mac Snow Leopard builders are no long present so there's no need to try to decode such
builders into the APPLE_MAC_SNOW_LEOPARD platforms. Instead, check for the Mountain Lion builders
and decode their names into the APPLE_MAC_MOUNTAIN_LION platforms.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 18:12:01 +0000 (18:12 +0000)]
Unreviewed EFL gardening.

Add EFL-specific result for fast/events/event-attribute.html as global expectation
was changed in r149088.

* platform/efl/fast/events/event-attribute-expected.txt: Added.

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

8 years agoWrite storage changes to disk
andersca@apple.com [Mon, 6 May 2013 18:10:10 +0000 (18:10 +0000)]
Write storage changes to disk
https://bugs.webkit.org/show_bug.cgi?id=115660

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
Initialize new member variables.

(WebKit::LocalStorageDatabase::tryToOpenDatabase):
Disable database threading checks.

(WebKit::LocalStorageDatabase::importItems):
Only import the items once.

(WebKit::LocalStorageDatabase::setItem):
Call itemDidChange.

(WebKit::LocalStorageDatabase::itemDidChange):
Record the change and schedule a database update.

(WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
Use WorkQueue::dispatchAfterDelay to schedule a datbase update.

(WebKit::LocalStorageDatabase::updateDatabase):
Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
another database update for the remaining items.

* UIProcess/Storage/LocalStorageDatabase.h:
Add new member variables.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::setItem):
Call LocalStorageDatabase::setItem.

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

8 years ago[BlackBerry] Update HTML5 progress bar UX.
commit-queue@webkit.org [Mon, 6 May 2013 18:05:34 +0000 (18:05 +0000)]
[BlackBerry] Update HTML5 progress bar UX.
https://bugs.webkit.org/show_bug.cgi?id=115284.

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

BlackBerry PR 331729.
Internally Reviewed by Jeff Rogers.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore):
(WebCore::createLinearGradient):
(WebCore::RenderThemeBlackBerry::paintSliderTrack):
(WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
(WebCore::RenderThemeBlackBerry::paintProgressBar):
* platform/blackberry/RenderThemeBlackBerry.h:
(RenderThemeBlackBerry):

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 18:03:12 +0000 (18:03 +0000)]
Unreviewed EFL gardening.

Rebaseline several test cases for EFL port.

* platform/efl/editing/input/scroll-to-edge-if-line-break-at-end-of-document-contenteditable-expected.txt: Added.
* platform/efl/editing/selection/extend-inside-transforms-backward-expected.png: Added.
* platform/efl/editing/selection/extend-inside-transforms-backward-expected.txt: Added.
* platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.png:
* platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:56:00 +0000 (17:56 +0000)]
Unreviewed EFL gardening.

Mark several test cases as failing after r149292 due to missing repaint rect
dumping.

* platform/efl/TestExpectations:

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

8 years ago[Flakiness Dashboard] Remove everything Chromium from the builders.json-generating...
zandobersek@gmail.com [Mon, 6 May 2013 17:55:57 +0000 (17:55 +0000)]
[Flakiness Dashboard] Remove everything Chromium from the builders.json-generating script
https://bugs.webkit.org/show_bug.cgi?id=114603

Reviewed by Ryosuke Niwa.

* TestResultServer/generate_builders_json.py:
(insert_builder_and_test_data): Only process the 'layout-tests' steps, but force the name that's used
to represent these to be 'layout-test', for backwards compatibility.
(main): Remove all the build.chromium.org masters.
* TestResultServer/generate_builders_json_unittest.py: Clean up the Chromium-related test cases and update other ones.
(GenerateBuildersJsonTest.test_generate_json_data.dummy_fetch_json):
(GenerateBuildersJsonTest):
(GenerateBuildersJsonTest.test_generate_json_data):
* TestResultServer/static-dashboards/builders.jsonp: Updated after changes to the script, now only lists the
test-running builders from the webkit.org master.

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

8 years ago[Flakiness Dashboard] Update expected outcome in a couple of unit tests after r148778
zandobersek@gmail.com [Mon, 6 May 2013 17:49:55 +0000 (17:49 +0000)]
[Flakiness Dashboard] Update expected outcome in a couple of unit tests after r148778
https://bugs.webkit.org/show_bug.cgi?id=114988

Reviewed by Ryosuke Niwa.

* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: Update the expected platforms list, the Chromium
and Apple Mac Snow Leopard platforms were removed with the Apple Mac Mountain Lion platform being added.
* TestResultServer/static-dashboards/loader_unittests.js: Update the list of the expected loaded expectations platforms,
mac-snowleopard isn't loaded anymore due to the support for the platform being removed, while the mac-wk2 is loaded twice,
once for the Apple Mac Lion and once for the Apple Mac Mountain Lion platform.

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

8 years agoCherry-pick fixes to bignum from upstream
commit-queue@webkit.org [Mon, 6 May 2013 17:49:52 +0000 (17:49 +0000)]
Cherry-pick fixes to bignum from upstream
https://bugs.webkit.org/show_bug.cgi?id=115658

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-05-06
Reviewed by Darin Adler.

Cherry-picked the following change lists:

Fix bug in bignum implementation
http://codereview.chromium.org/13454019

Make VS2005 project files compile without errors
http://codereview.chromium.org/6286135

* wtf/dtoa/bignum.cc:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:48:24 +0000 (17:48 +0000)]
Unreviewed EFL gardening.

Skip repaint test that regressed after r149292.

* platform/efl/TestExpectations:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:46:59 +0000 (17:46 +0000)]
Unreviewed EFL gardening.

Skip repaint test that regressed after r149292.

* platform/efl/TestExpectations:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:44:17 +0000 (17:44 +0000)]
Unreviewed EFL gardening.

Rebaseline several repaint test cases after r149292.

* fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
* fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
* fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
* fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
* fast/repaint/layer-full-repaint-expected.txt:
* fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
* fast/repaint/reflection-table-layout-expected.txt:
* fast/repaint/selection-gap-absolute-child-expected.txt:
* fast/repaint/selection-gap-fixed-child-expected.txt:
* fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
* fast/repaint/selection-gap-flipped-fixed-child-expected.txt:
* fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
* fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
* fast/repaint/transform-table-layout-expected.txt:
* platform/efl/fast/images/repaint-subrect-grid-expected.txt:
* svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:

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

8 years ago[Flakiness Dashboard] Remove the remaining traces of platform modifier unions
zandobersek@gmail.com [Mon, 6 May 2013 17:44:16 +0000 (17:44 +0000)]
[Flakiness Dashboard] Remove the remaining traces of platform modifier unions
https://bugs.webkit.org/show_bug.cgi?id=114954

Reviewed by Ryosuke Niwa.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(processExpectationsForPlatform): Remove the platform tree traversal that checked for presence of the platform
modifier unions in the list of modifiers.
(generatePageForExpectationsUpdate): Only filter through the modifiers that do not represent build types or bug references.
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: Adjust the test cases for the realModifiers unit test.

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

8 years ago[Flakiness Dashboard] Simplify builder-name-based platform recognition
zandobersek@gmail.com [Mon, 6 May 2013 17:32:50 +0000 (17:32 +0000)]
[Flakiness Dashboard] Simplify builder-name-based platform recognition
https://bugs.webkit.org/show_bug.cgi?id=114957

Reviewed by Ryosuke Niwa.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(determineBuilderPlatform): Renamed from nonChromiumPlatform.
(chromiumPlatform): Removed, unnecessary.
(platformAndBuildType): With Chromium builders are gone, meaning determineBuilderPlatform can be called by default
to determine the platform of the builder. No need to check for 'DBG' substring in the builder name to determine whether
the builder operates with debug builds, no webkit.org builders are named this way.
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(platformAndBuildTypes): Remove Chromium-specific test cases, reducing the number of expected assertions this test will make.

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:15:17 +0000 (17:15 +0000)]
Unreviewed EFL gardening.

Skip remaining Shadow DOM test and new accessibility test introduced in
r115659.

* platform/efl/TestExpectations:

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

8 years agoChange HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
mikhail.pozdnyakov@intel.com [Mon, 6 May 2013 16:41:38 +0000 (16:41 +0000)]
Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
https://bugs.webkit.org/show_bug.cgi?id=115410

Reviewed by Darin Adler.

The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
avoid extra ref/unrefing on return from HashMap methods that transfer
ownership, such as take.

* wtf/HashTable.h:
(WTF::IdentityHashTranslator::equal):
* wtf/HashTraits.h:

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

8 years agoJSC ARM traditional failing on Octane NavierStokes test
rgabor@webkit.org [Mon, 6 May 2013 16:37:41 +0000 (16:37 +0000)]
JSC ARM traditional failing on Octane NavierStokes test
https://bugs.webkit.org/show_bug.cgi?id=115626

Reviewed by Zoltan Herczeg.

Change the ARM traditional assembler to use double precision on value
conversions.

* assembler/ARMAssembler.h:

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

8 years ago[WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
zandobersek@gmail.com [Mon, 6 May 2013 16:17:40 +0000 (16:17 +0000)]
[WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
https://bugs.webkit.org/show_bug.cgi?id=115625

Reviewed by Andreas Kling.

Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.

* UIProcess/API/C/WKContext.cpp:
(WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.
* UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
(WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
the private m_context directly.
(WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
(WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
(WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
(WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
(WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
(WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
(WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.
* UIProcess/WebBatteryManagerProxy.h:
(WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
the now-removed member variable.
(WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
supplements vector.
(WebKit::WebContext::disconnectProcess): Ditto.
* UIProcess/WebContext.h:
(WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.

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

8 years ago[texmap] draw content if graphics layer displays a video
commit-queue@webkit.org [Mon, 6 May 2013 15:43:36 +0000 (15:43 +0000)]
[texmap] draw content if graphics layer displays a video
https://bugs.webkit.org/show_bug.cgi?id=114742

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-05-06
Reviewed by Noam Rosenthal.

Bug #86410 focuses on having composited/accelerated video using the
TextureMapper. But the video is not rendered fast by using the
repaint() method. In the case of the TextureMapper it is required to
call a content display as fast as possible.

This patch adds the class TextureMapperPlatformLayer::Client with the
method setLayerNeedsDisplay(). The GraphicsLayerTextureMapper
implements this new class and the new method calls
setContentsNeedsDisplay(), causing a faster content display when
requested.

No new tests. Covered by existing tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setContentsToMedia): sets itself
as the TextureMapperPlatformLayer's client
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(WebCore::GraphicsLayerTextureMapper::setLayerNeedsDisplay):
TextureMapperPlatformLayer::Client::setLayerNeedsDisplay implementation
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperPlatformLayer.h:
(Client): New class
(WebCore::TextureMapperPlatformLayer::TextureMapperPlatformLayer):
(WebCore::TextureMapperPlatformLayer::setClient): client setter
(WebCore::TextureMapperPlatformLayer::setLayerNeedsDisplay): facade
for client's method

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

8 years ago[CSS Exclusions] shape-inside rounded rectangle tests fail when subpixel layout is...
hmuller@adobe.com [Mon, 6 May 2013 15:28:10 +0000 (15:28 +0000)]
[CSS Exclusions] shape-inside rounded rectangle tests fail when subpixel layout is disabled
https://bugs.webkit.org/show_bug.cgi?id=115490

Second round of changes to restore platform/mac exclusion tests that started failing when
subpixel layout was turned off. This set of changes just restores four ref-tests that place
a single square Ahem character cell within a circle or an ellipse. When subpixel layout isn't
enabled the expected origin of the character is adjusted.

Reviewed by Dirk Schulze.

* fast/exclusions/shape-inside/shape-inside-circle-expected.html:
* fast/exclusions/shape-inside/shape-inside-circle-padding-expected.html:
* fast/exclusions/shape-inside/shape-inside-ellipse-expected.html:
* fast/exclusions/shape-inside/shape-inside-ellipse-padding-expected.html:
* fast/exclusions/shape-inside/shape-inside-ellipse.html:
* platform/mac/TestExpectations:

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

8 years agoImprove the performance of RenderDeprecatedFlexibleBox.
hyatt@apple.com [Mon, 6 May 2013 15:23:10 +0000 (15:23 +0000)]
Improve the performance of RenderDeprecatedFlexibleBox.
https://bugs.webkit.org/show_bug.cgi?id=115543.

Optimize deprecated flexible box layout to be much faster. This patch implements
the following optimizations in the deprecated flexible box:

(1) Defer repainting of children until they have been placed into their final
positions. This is done by collecting all of the old frame rects into a Vector
and then doing a walk after layout is finished to repaint any of the children if
they moved from that position. This code matches the new RenderFlexibleBox's system
for repainting moved children.

(2) Implement support for layout deltas. We keep a Vector of layout deltas for each
child as we shift them around, and every time we lay a child out again, we apply that
child's current layout delta to avoid repainting at the new position. RenderFlexibleBox
does not have support for layout deltas yet, so we'll need to implement this in the
new flexbox code as well.

(3) Optimize flexible objects to avoid laying them out unflexed. When laying out
horizontal and vertical boxes now, we lay out the inflexible items first. We then
check to see if the inflexible extent of all those children has changed.

If this extent didn't change, and the flexible items either don't need layout or there
is only one flexing item, then we avoid laying out the item in an unflexed state
and simply lay out one time with the flex applied instead. The new RenderFlexibleBox
does not have these optimizations and would benefit from them in the block-direction box
case (it uses preferred logical widths in the inline-direction box case, and so avoided
layouts in that direction already).

Reviewed by Beth Dakin.

* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::appendChildFrameRects):
Cache all of the old child frame rects so that we can compare them with the final
positions for repaintDuringLayoutIfMoved. This collection is identical to what the
new flexbox code does.

(WebCore::appendChildLayoutDeltas):
Build up a vector that tracks layout deltas. We apply these layout deltas every
time we lay out a child so that any repainting done during layout ignores our shifted
position and just keeps using the old position. The new flexbox does not have this
code yet.

(WebCore::repaintChildrenDuringLayoutIfMoved):
After final placement of children, we do a single pass over all of the children and
repaint them if they shifted their positions. This matches how the new flexbox works.

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
Collect the frame rects and layout deltas, and defer repainting of children to the
end of layout.

(WebCore::gatherFlexChildrenInfo):
Don't clear flex overrides when gathering flex information. Add additional information
such as the number of flexing items so that we can use it to optimize flex layout.

(WebCore::layoutChildIfNeededApplyingDelta):
A helper for applying your current layout delta for a child when laying that child out.

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
Both methods are patched to aggregate layout deltas as children move around during
the multiple passes. In addition we now optimize layout in a couple of cases, such
as when the inflexible space stays the same (thus giving a flexible object the
same amount of available space, avoiding a need to lay out unflexed first).

(WebCore::RenderDeprecatedFlexibleBox::placeChild):
Patched to add to our cached layout delta for that child when we do a movement.

* rendering/RenderDeprecatedFlexibleBox.h:
Changes to method signatures.

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

8 years ago[EFL] Shadow DOM should be disabled at compile time
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 13:54:58 +0000 (13:54 +0000)]
[EFL] Shadow DOM should be disabled at compile time
https://bugs.webkit.org/show_bug.cgi?id=115635

Reviewed by Andreas Kling.

Disable Shadow DOM at compile time for EFL port. Shadow DOM code
is being removed from the tree.

* Source/cmake/OptionsEfl.cmake:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 13:27:00 +0000 (13:27 +0000)]
Unreviewed EFL gardening.

Remove duplicate Shadow DOM test cases from TestExpectation files.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

8 years agoUnreviewed. Remove duplicate tests from EFL TestExpectation files.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 12:50:45 +0000 (12:50 +0000)]
Unreviewed. Remove duplicate tests from EFL TestExpectation files.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

8 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 12:40:03 +0000 (12:40 +0000)]
Unreviewed EFL gardening.

Skip Shadow DOM tests for EFL port as the feature is being removed.

* platform/efl/TestExpectations:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 6 May 2013 11:14:58 +0000 (11:14 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding new failure expectations and adjusting an old one.

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

8 years agoUnreviewed GTK gardening. Rebaselining after r148720, r149088 and r149407.
zandobersek@gmail.com [Mon, 6 May 2013 10:45:41 +0000 (10:45 +0000)]
Unreviewed GTK gardening. Rebaselining after r148720, r149088 and r149407.

* platform/gtk/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
* platform/gtk/fast/images/crossfade-client-not-removed-crash-expected.txt: Added.
* platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Added.
* platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt:

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

8 years agoAdded two files I neglected to commit in r149589.
aestes@apple.com [Mon, 6 May 2013 10:32:41 +0000 (10:32 +0000)]
Added two files I neglected to commit in r149589.

* TestWebKitAPI/Tests/mac/CloseNewWindowInNavigationPolicyDelegate.mm: Added.
* TestWebKitAPI/Tests/mac/OpenNewWindow.html: Added.

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

8 years agoREGRESSION (r125592): Reproducible crash in DOMWindow::open when a delegate closes...
aestes@apple.com [Mon, 6 May 2013 10:29:44 +0000 (10:29 +0000)]
REGRESSION (r125592): Reproducible crash in DOMWindow::open when a delegate closes the new window in decidePolicyForNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=115609

Reviewed by Oliver Hunt.

Source/WebCore:

When a window created by window.open() is navigated, the embedder might
close it in decidePolicyForNavigationAction. If this happens, we end up
with a pointer to a deleted Frame.

Fix this by keeping a strong reference to the Frame created by
createWindow(). We can later determine if the window was closed by
checking if the new Frame has a detached Page.

Added an API test: WebKit1.CloseNewWindowInNavigationPolicyDelegate.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):

Tools:

Added an API test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/CloseNewWindowInNavigationPolicyDelegate.mm: Added.
(+[TestDelegate shared]):
(-[TestDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(-[TestDelegate webView:createWebViewWithRequest:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/OpenNewWindow.html: Added.

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

8 years ago[GTK] Move GeolocationProviderGeoclue into libPlatform
zandobersek@gmail.com [Mon, 6 May 2013 09:46:58 +0000 (09:46 +0000)]
[GTK] Move GeolocationProviderGeoclue into libPlatform
https://bugs.webkit.org/show_bug.cgi?id=115591

Reviewed by Martin Robinson.

Source/Platform:

* GNUmakefile.am: List the Source/WebCore/platform/geoclue directory under platform_webcore_cppflags.
Add Geoclue dependency CPPFLAGS to the list of libPlatform's CPPFLAGS.

Source/WebCore:

No new tests - no new functionality.

* GNUmakefile.am: Remove the Source/WebCore/platform/geoclue directory from the webkitgtk_cppflags list.
* GNUmakefile.list.am: Move the GeolocationProviderGeoclue(Client) sources under platform_sources.

Source/WebKit/gtk:

* GNUmakefile.am: Add platform_webcore_cppflags to the list of libwebkitgtk's CPPFLAGS.

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

8 years ago[Qt][Win] Unreviewed buildfix after r149579.
zarvai@inf.u-szeged.hu [Mon, 6 May 2013 08:41:01 +0000 (08:41 +0000)]
[Qt][Win] Unreviewed buildfix after r149579.

* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addQtWebKitPluginPath):

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

8 years agoManage the presentation of the snapshotted plug-in using JavaScript
graouts@apple.com [Mon, 6 May 2013 08:24:58 +0000 (08:24 +0000)]
Manage the presentation of the snapshotted plug-in using JavaScript
https://bugs.webkit.org/show_bug.cgi?id=115548

Reviewed by Dean Jackson.

Source/WebCore:

* Resources/plugIns.js:
(createOverlay):
Implement the createOverlay(shadowRoot, titleText, subtitleText) method
that is called from WebCore (HTMLPlugInImageElement::didAddUserAgentShadowRoot)
to allow the injected script to customize the shadow root for a snapshotted
plug-in. This is a default implementation, clients are expected to customize
this by providing their own JS file with enhanced behavior.

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
Since we no longer have a default shadow tree generated in C++, it makes little
sense for clients to extend the default snapshotted plug-in stylesheet, so we
only insert it if no custom one is provided by the chrome client.

* css/plugIns.css:
Better styling of the default snapshotted plug-in overlay look by using CSS
flex boxes. Also using more explicit selector as an optimization.

* dom/Document.cpp:
(WebCore::Document::ensurePlugInsInjectedScript):
Expose a new method to allow HTMLPlugInImageElement instances to ensure that
the JavaScript code required to customize the snapshotted plug-in's shadow root
is indeed injected in the current document. The actual injection would only
happen once per document so all snapshotted plug-ins share the same scripting
context.

* dom/Document.h:
Expose the new ensurePlugInsInjectedScript method and the m_hasInjectedPlugInsScript
property used to ensure injection happens only once per document.

* html/HTMLPlugInImageElement.cpp:
(WebCore::titleText):
(WebCore::subtitleText):
Store the localized strings for each mime-type in a static hash map as it can be
costly to retrieve them each time from the client. It is expected the chrome client
will want to provide localized strings taking into account the snapshotted plug-in's
mime-type, so we're adding this as a parameter.
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
Dispatch a "resize" event to the shadow root to notify the injected script that the
snapshotted plug-in's metrics have changed and to allow the overlay to update itself
as a result.
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
Remove all the DOM generation code in favor of an approach where we create a shared
DOM scripting world in which we inject JavaScript code that will perform the same
task but will additionally be provided by the client in order to provide a completely
custom overlay for the snapshotted plug-in. The sole contract is for the JavaScript
to implement a createOverlay(shadowRoot, titleText, subtitleText) method.
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
Renamed method to be generic to the overlay as opposed to text labels and use the
element with CSS class name "snapshot-overlay" as the comparison node.

* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement):
Removing a couple of unused members since we no longer generate the shadow DOM from C++
and rename the partOfSnapshotLabel method to partOfSnapshotOverlay.

* page/ChromeClient.h:
(WebCore::ChromeClient::plugInStartLabelTitle):
(WebCore::ChromeClient::plugInStartLabelSubtitle):
(WebCore::ChromeClient::plugInExtraScript):
Pass in the mime-type to plugInStartLabelTitle and plugInStartLabelSubtitle and expose
a new plugInExtraScript method to allow the chrome client to provide a custom JS file
for the management of the shadow root.

* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::handleEvent):
Update the terminology from "label" to "overlay" per the changes made in HTMLPlugInImageElement.

Source/WebKit2:

Expose a new plugInExtraScript method to support the injection of
a JS file from the chrome client to customize the rendering of a
snapshotted plug-in's shadow tree. Additionally, it is expected
the chrome client will want to provide localized strings taking
into account the snapshotted plug-in's mime-type, so we're adding
this as a parameter to both plugInStartLabelTitle and
plugInStartLabelSubtitle methods.

* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
(WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
(WebKit::InjectedBundlePageUIClient::plugInExtraScript):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
(InjectedBundlePageUIClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::plugInStartLabelTitle):
(WebKit::WebChromeClient::plugInStartLabelSubtitle):
(WebKit::WebChromeClient::plugInExtraScript):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

Tools:

Take into account the new plugInExtraScript method added to support
the injection of a JS file from the chrome client to customize the
rendering of a snapshotted plug-in's shadow tree.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):

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

8 years agoREGRESSION(r140907) - Backport blink r149612 to fix vertical-align and rowspan issue
commit-queue@webkit.org [Mon, 6 May 2013 07:32:33 +0000 (07:32 +0000)]
REGRESSION(r140907) - Backport blink r149612 to fix vertical-align and rowspan issue
https://bugs.webkit.org/show_bug.cgi?id=115611

Source/WebCore:

Patch by Julien Chaffraix.
Patch by Robert Hogan <robert@webkit.org> on 2013-05-06
Reviewed by Benjamin Poulain.

Backport phttps://src.chromium.org/viewvc/blink?view=rev&revision=149612 from
https://chromiumcodereview.appspot.com/14105010

Fix the rows' height computation with vertical-align: baseline and rowspan.
r140907 was careful in avoiding updating the baseline descent for
spanning cells. However it still added the non-spanning cells baseline
descent to the spanning cells' row height computation.
This change avoids the previous issue by not adding the baseline
descent in this case.

Test: fast/table/baseline-align-rowspan.html

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

Patch by Robert Hogan <robert@webkit.org> on 2013-05-06
Reviewed by Benjamin Poulain.

* fast/table/baseline-align-rowspan-expected.txt: Added.
* fast/table/baseline-align-rowspan.html: Added.

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

8 years agoWEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
cfleizach@apple.com [Mon, 6 May 2013 05:43:48 +0000 (05:43 +0000)]
WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
https://bugs.webkit.org/show_bug.cgi?id=115621

Reviewed by Alexey Proskuryakov.

Allow access to the location where 3rd party speech synthesizers are stored.

* WebProcess/com.apple.WebProcess.sb.in:

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

8 years agoRemove Vector::prepend
andersca@apple.com [Mon, 6 May 2013 04:10:14 +0000 (04:10 +0000)]
Remove Vector::prepend
https://bugs.webkit.org/show_bug.cgi?id=115618

Reviewed by Geoffrey Garen.

Source/WebCore:

Replace calls to Vector::prepend with either Vector::insert,
or a combination of Vector::append and Vector::reverse.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::scrollToGlobalPoint):
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::addStops):
* css/CSSValueList.h:
(WebCore::CSSValueList::prepend):
* dom/Document.cpp:
(WebCore::Document::iconURLs):
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::prependContext):
* editing/VisibleUnits.cpp:
(WebCore::previousBoundary):
(WebCore::nextBoundary):
* history/HistoryItem.cpp:
(WebCore::HistoryItem::padDailyCountsForNewVisit):
(WebCore::HistoryItem::collapseDailyVisitsToWeekly):
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::addInspectedObject):
* platform/graphics/SVGGlyph.cpp:
(WebCore::charactersWithArabicForm):

Source/WTF:

Given the performance characteristics of prepending something to a Vector, not having prepend
will hopefully make developers think about whether prepending is necessary at all. For example,
the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.

* wtf/HexNumber.h:
(WTF::appendUnsignedAsHex):
(WTF::appendUnsignedAsHexFixedSize):
* wtf/Vector.h:
(Vector):

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

8 years agoRemove empty function SQLiteFileSystem::registerSQLiteVFS() and its callers
weinig@apple.com [Mon, 6 May 2013 00:22:54 +0000 (00:22 +0000)]
Remove empty function SQLiteFileSystem::registerSQLiteVFS() and its callers
https://bugs.webkit.org/show_bug.cgi?id=115619

Reviewed by Dan Bernstein.

* Modules/webdatabase/DatabaseTracker.cpp:
* platform/sql/SQLiteFileSystem.cpp:
* platform/sql/SQLiteFileSystem.h:
* storage/StorageTracker.cpp:

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

8 years agoAX: aria-checked not exposed correctly on menuitemcheckbox or menuitemradio roles
cfleizach@apple.com [Sun, 5 May 2013 23:25:46 +0000 (23:25 +0000)]
AX: aria-checked not exposed correctly on menuitemcheckbox or menuitemradio roles
https://bugs.webkit.org/show_bug.cgi?id=115499

Reviewed by Tim Horton.

Source/WebCore:

Expose isChecked() for menu item objects.
Return the Mac-platform specific value that you find on menu items for "checked" menu items.

Test: platform/mac/accessibility/aria-menuitem-checked-value.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isChecked):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

* platform/mac/accessibility/aria-menuitem-checked-value-expected.txt: Added.
* platform/mac/accessibility/aria-menuitem-checked-value.html: Added.

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

8 years ago[wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
timothy_horton@apple.com [Sun, 5 May 2013 22:11:53 +0000 (22:11 +0000)]
[wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
https://bugs.webkit.org/show_bug.cgi?id=115577
<rdar://problem/13762583>

Reviewed by Darin Adler.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
Invalidate the page overlay layers' device scale factor when
TiledCoreAnimationDrawingArea is notified that it has changed.

* WebCore.exp.in:
Export GraphicsLayer::noteDeviceOrPageScaleFactorChangedIncludingDescendants

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

8 years agoRemove the Vector::append overload that takes a Vector
andersca@apple.com [Sun, 5 May 2013 19:03:49 +0000 (19:03 +0000)]
Remove the Vector::append overload that takes a Vector
https://bugs.webkit.org/show_bug.cgi?id=115535

Reviewed by Andreas Kling.

Source/WebCore:

Use Vector::appendVector instead.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::putIndexDataForRecord):
* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeStringWithLength):
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
(WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
(WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
(WebCore::IDBLevelDBCoding::IndexDataKey::encode):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::clear):
(WebCore::AudioContext::scheduleNodeDeletion):
* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addTableCellChild):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::cells):
* css/RuleFeature.cpp:
(WebCore::RuleFeatureSet::add):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::addToMatchedPropertiesCache):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
* dom/Range.cpp:
(WebCore::Range::getBorderAndTextQuads):
* html/FormController.cpp:
(WebCore::FormController::getReferencedFilePaths):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setLineDash):
* html/parser/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
* html/track/WebVTTToken.h:
(WebCore::WebVTTToken::addNewClass):
(WebCore::WebVTTToken::addNewAnnotation):
* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::preferredLanguages):
* platform/FileChooser.cpp:
(WebCore::FileChooserSettings::acceptTypes):
* platform/SharedBufferChunkReader.cpp:
(WebCore::SharedBufferChunkReader::nextChunk):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::getSitesInMediaCache):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateSublayerList):
* platform/mac/PasteboardMac.mm:
(WebCore::createWritableTypesForImage):
(WebCore::writableTypesForImage):
(WebCore::Pasteboard::writeSelectionForTypes):
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::generateUniqueBoundaryString):
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::defaultPluginDirectories):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRunsForSegment):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::splitColumn):
* svg/SVGGlyphMap.h:
(WebCore::SVGGlyphMap::collectGlyphsForString):
* xml/XPathNodeSet.h:
(WebCore::XPath::NodeSet::append):

Source/WebKit2:

Use Vector::appendVector instead.

* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURL):
* NetworkProcess/SchedulableLoader.cpp:
(WebKit::SchedulableLoader::SchedulableLoader):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::dispatchMessages):
* UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
(WebKit::PluginInfoStore::pluginsDirectories):

Source/WTF:

The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
replace calls to it with calls to appendVector.

* wtf/Vector.h:
(Vector):

Tools:

Use Vector::appendVector instead.

* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(concatenateAttributeAndValue):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::concatenateAttributeAndValue):

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

8 years agoTry to fix the Windows build.
andersca@apple.com [Sun, 5 May 2013 17:48:25 +0000 (17:48 +0000)]
Try to fix the Windows build.

Make plugIns.js have a non-zero length.

* Resources/plugIns.js:

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

8 years agoFix incorrect ChangeLog dates on previous commit.
dino@apple.com [Sun, 5 May 2013 05:20:46 +0000 (05:20 +0000)]
Fix incorrect ChangeLog dates on previous commit.

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

8 years agoAnimations and Transitions should not start when globally suspended
dino@apple.com [Sun, 5 May 2013 04:43:05 +0000 (04:43 +0000)]
Animations and Transitions should not start when globally suspended
https://bugs.webkit.org/show_bug.cgi?id=114915

Reviewed by Sam Weinig.

.:

Export AnimationController::isSuspended().

* Source/autotools/symbols.filter:

Source/WebCore:

When the Document's AnimationController was suspended, we still
started new transitions and animations. Change this so that
animations enter a paused-but-new state, where they are frozen
until the AnimationController resumes. At that time, it is as
if they had just appeared: any delay counts down before
the animation starts.

For transitions, the change in value must still happen, but
it does so immediately. No transitionend event should be fired.
This produces a slightly confusing behaviour, because any
in-progress transitions are suspended, but any new style changes
happen instantly. This might sound contradictory, but in general
suspending the document is a rare (and dangerous) thing to do.

Previously, the Document would call resumeAnimations as it loaded,
effectively starting all the animations. This meant if you suspended
animations before loading a document, it was ignored as soon as the
load finished. Now there is a separate method startAnimationsIfNotSuspended
which checks to see if the document is suspended as it loads.

In order to handle this case, I added a new state to the Animation
machinery: AnimationStatePausedNew. This is an animation that was created
in the suspended state.

Tests: animations/added-while-suspended.html
       transitions/started-while-suspended.html

* WebCore.exp.in: Export AnimationController::isSuspended().

* dom/Document.cpp:
(WebCore::Document::implicitClose):
    resumeAnimationsForDocument() -> startAnimationsIfNotSuspended()

* page/animation/AnimationBase.cpp:
(WebCore::nameForState): New name for AnimationStatePausedNew.
(WebCore::AnimationBase::updateStateMachine): Handle new state AnimationStatePausedNew. The
    most important change is that when go from PausedNew to Running, we jump back into
    the New state and continue from there.
(WebCore::AnimationBase::updatePlayState): suspended -> isSuspended
* page/animation/AnimationBase.h: New state: AnimationStatePausedNew
(WebCore::AnimationBase::waitingToStart): Add AnimationStatePausedNew.
(WebCore::AnimationBase::paused): Add AnimationStatePausedNew.
(WebCore::AnimationBase::isNew): Add AnimationStatePausedNew.

* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialise m_suspended.
(WebCore::AnimationControllerPrivate::clear): suspended -> isSuspended
(WebCore::AnimationControllerPrivate::updateAnimations): Ditto.
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): Ditto.
(WebCore::AnimationControllerPrivate::suspendAnimations): Update m_suspended.
(WebCore::AnimationControllerPrivate::resumeAnimations): Ditto.
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): New method that will
    only resume animations if we were not globally suspended.
(WebCore::AnimationController::isSuspended): New method.
(WebCore::AnimationController::suspendAnimations): Add logging.
(WebCore::AnimationController::resumeAnimations): Add logging.
(WebCore::AnimationController::suspendAnimationsForDocument): Add logging.
(WebCore::AnimationController::resumeAnimationsForDocument): Add logging.
(WebCore::AnimationController::startAnimationsIfNotSuspended): Calls private method.
* page/animation/AnimationController.h:
(AnimationController): Add isSuspended() and animationsForDocumentMayStart().
* page/animation/AnimationControllerPrivate.h:
(WebCore::AnimationControllerPrivate::isSuspended): New method.
(AnimationControllerPrivate): Add m_isSuspended member.

* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation): Moved from header - initialise m_isSuspended.
(WebCore::CompositeAnimation::updateTransitions): Do not create ImplicitAnimation if suspended.
(WebCore::CompositeAnimation::updateKeyframeAnimations): Move to AnimationStatePausedNew if suspended.
(WebCore::CompositeAnimation::suspendAnimations): m_suspended -> m_isSuspended
(WebCore::CompositeAnimation::resumeAnimations): Ditto.
* page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::isSuspended): Renamed from suspended()

* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate): If we're in the AnimationStatePausedNew state, then
    we need to go to the first frame (to handle fill mode).

* testing/Internals.cpp:
(WebCore::Internals::animationsAreSuspended): New exposed method to reflect AnimationController.
* testing/Internals.h: Add animationsAreSuspended.
* testing/Internals.idl: Ditto.

Source/WebKit:

Export AnimationController::isSuspended

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

The WebView private API cssAnimationsSuspended did not necessarily
reflect the reality of the Frame's AnimationController value because it
was caching rather than asking directly. While the WebCore part of this
patch ensured loading the Document wouldn't resume all animations, it
is still better to ask directly.

* WebView/WebView.mm:
(-[WebView cssAnimationsSuspended]): Call into AnimationController.
(-[WebView setCSSAnimationsSuspended:]): Ditto.
* WebView/WebViewData.h: Remove cssAnimationsSuspended boolean.
* WebView/WebViewData.mm: Ditto.
(-[WebViewPrivate init]):

Source/WebKit/win:

Export AnimationController::isSuspended

* WebKit.vcproj/WebKitExports.def.in:

LayoutTests:

Two new tests. Add an animation or transition to
the document when the global animation controller is suspended.
In the animation case, nothing should happen until the
animations are resumed. In the transition case, the style
change should happen immediately and not fire any events.

* animations/added-while-suspended-expected.txt: Added.
* animations/added-while-suspended.html: Added.
* animations/suspend-transform-animation.html: Make sure to resume suspended animations
    before quitting the test.
* transitions/started-while-suspended-expected.txt: Added.
* transitions/started-while-suspended.html: Added.
* transitions/suspend-transform-transition.html: Make sure to resume suspended animations
    before quitting the test.

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

8 years agoFix * placement in a few functions as noticed by Mark Rowe.
weinig@apple.com [Sun, 5 May 2013 02:39:51 +0000 (02:39 +0000)]
Fix * placement in a few functions as noticed by Mark Rowe.

Rubber-stamped by Dan Bernstein.

* WebProcess/WebPage/PageBanner.h:
(PageBanner):
* WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::create):
(WebKit::PageBanner::PageBanner):

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

8 years agoMove PopupMenuMac and SearchPopupMenuMac to Source/WebKit/mac
weinig@apple.com [Sun, 5 May 2013 02:35:08 +0000 (02:35 +0000)]
Move PopupMenuMac and SearchPopupMenuMac to Source/WebKit/mac
matching where they are in WebKit2.

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/PopupMenuMac.h: Removed.
* platform/mac/PopupMenuMac.mm: Removed.
* platform/mac/SearchPopupMenuMac.h: Removed.
* platform/mac/SearchPopupMenuMac.mm: Removed.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* WebCoreSupport/PopupMenuMac.h: Copied from WebCore/platform/mac/PopupMenuMac.h.
* WebCoreSupport/PopupMenuMac.mm: Copied from WebCore/platform/mac/PopupMenuMac.mm.
* WebCoreSupport/SearchPopupMenuMac.h: Copied from WebCore/platform/mac/SearchPopupMenuMac.h.
* WebCoreSupport/SearchPopupMenuMac.mm: Copied from WebCore/platform/mac/SearchPopupMenuMac.mm.
* WebCoreSupport/WebChromeClient.mm:

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

8 years agoREGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate...
weinig@apple.com [Sun, 5 May 2013 02:32:24 +0000 (02:32 +0000)]
REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
<rdar://problem/13702008>
https://bugs.webkit.org/show_bug.cgi?id=115607

Reviewed by Benjamin Poulain.

Source/WebKit2:

API Test: WebKit2.CloseThenTerminate

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Don't try to reset the state if the page is closed, it won't work and its not worth it.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
Add test that calls WKPageClose, follow by WKPageTerminate. If it crashes, its not working.

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

8 years agoGet rid of special cases in AddIncludesForTypeInImpl
ch.dumez@sisa.samsung.com [Sun, 5 May 2013 01:53:46 +0000 (01:53 +0000)]
Get rid of special cases in AddIncludesForTypeInImpl
https://bugs.webkit.org/show_bug.cgi?id=115602

Reviewed by Benjamin Poulain.

Get rid of the special cases in AddIncludesForTypeInImpl subroutine in the
JS bindings generator. Those are no longer needed and special cases should
be avoided in the generator.

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForTypeInImpl):

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

8 years ago[BlackBerry] Clean up unused spellcheck code
commit-queue@webkit.org [Sun, 5 May 2013 01:47:47 +0000 (01:47 +0000)]
[BlackBerry] Clean up unused spellcheck code
https://bugs.webkit.org/show_bug.cgi?id=115560

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-04
Reviewed by Benjamin Poulain.
Internally reviewed by Mike Lattanzio

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
* Api/WebPage.h:
* WebKitSupport/InputHandler.cpp:
* WebKitSupport/InputHandler.h:
(InputHandler):

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

8 years agoGet rid of AddIncludesForSVGAnimatedType in bindings generator
ch.dumez@sisa.samsung.com [Sun, 5 May 2013 01:34:59 +0000 (01:34 +0000)]
Get rid of AddIncludesForSVGAnimatedType in bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115603

Reviewed by Benjamin Poulain.

Remove AddIncludesForSVGAnimatedType subroutine from the bindings generator
as it is a special case which is no longer needed.

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

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

8 years agoUpdate code generators to handle a new JavaScript file for snapshotted plug-ins
graouts@apple.com [Sat, 4 May 2013 21:44:41 +0000 (21:44 +0000)]
Update code generators to handle a new JavaScript file for snapshotted plug-ins
https://bugs.webkit.org/show_bug.cgi?id=115596

Reviewed by Dean Jackson.

In preparation for https://webkit.org/b/115548, adding a new JS file at
Resources/plugIns.js that we will use to provide presentation for the
snapshotted plug-ins overlay.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Resources/plugIns.js: Added.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

8 years agoUnreviewed, rolling out r149563.
akling@apple.com [Sat, 4 May 2013 20:29:32 +0000 (20:29 +0000)]
Unreviewed, rolling out r149563.
http://trac.webkit.org/changeset/149563
https://bugs.webkit.org/show_bug.cgi?id=115587

Broke LLInt build.

* wtf/text/StringImpl.h:
(StringImpl):

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

8 years agoREGRESSION(r142647): Flaky Test: fast/frames/crash-remove-iframe-during-object-before...
akling@apple.com [Sat, 4 May 2013 20:25:13 +0000 (20:25 +0000)]
REGRESSION(r142647): Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
<http://webkit.org/b/115322>
<rdar://problem/13810719>

Reviewed by Anders Carlsson.

Don't cache the FrameView::renderView() in a local since updating Widgets may blow it away.

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):

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

8 years agoRemove GraphicsContext::strokeArc(), which is unused.
akling@apple.com [Sat, 4 May 2013 20:22:01 +0000 (20:22 +0000)]
Remove GraphicsContext::strokeArc(), which is unused.

From Blink r149608 by <jbroman@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149608>

This is no longer used since almost a year ago, when HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) was inlined.

* platform/graphics/GraphicsContext.h:
* platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/wince/GraphicsContextWinCE.cpp:

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

8 years agoRemove unused CSSSelector::isCustomPseudoType().
akling@apple.com [Sat, 4 May 2013 20:10:12 +0000 (20:10 +0000)]
Remove unused CSSSelector::isCustomPseudoType().

From Blink r149574 by <dominicc@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149574>

* css/CSSSelector.h:
* css/CSSSelector.cpp:

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

8 years agoNo need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
commit-queue@webkit.org [Sat, 4 May 2013 19:36:34 +0000 (19:36 +0000)]
No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
https://bugs.webkit.org/show_bug.cgi?id=115587

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-04
Reviewed by Andreas Kling.

No need to declare LLInt::Data as friend class of WTF::StringImpl,
it does not use any private method/data member of the latter.

* wtf/text/StringImpl.h:
(StringImpl):

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

8 years agoGet rid of -[NSMutableDictionary _webkit_setObject:forUncopiedKey:]
andersca@apple.com [Sat, 4 May 2013 19:04:27 +0000 (19:04 +0000)]
Get rid of -[NSMutableDictionary _webkit_setObject:forUncopiedKey:]
https://bugs.webkit.org/show_bug.cgi?id=115592

Reviewed by Beth Dakin.

Using CFDictionarySetValue to set a key without having to copy it is not supported. Use NSMapTable with strong pointers instead.

* Misc/WebNSDictionaryExtras.h:
* Misc/WebNSDictionaryExtras.m:
* Panels/WebPanelAuthenticationHandler.h:
(NSURLAuthenticationChallenge):
* Panels/WebPanelAuthenticationHandler.m:
(-[WebPanelAuthenticationHandler init]):
(-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
(-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
(-[WebPanelAuthenticationHandler startAuthentication:window:]):
(-[WebPanelAuthenticationHandler cancelAuthentication:]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView destroyPlugin]):
(-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=115574
bdakin@apple.com [Sat, 4 May 2013 18:46:20 +0000 (18:46 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=115574
Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null

Reviewed by Darin Adler.

Don't call addToPage() on a null banner.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setHeaderPageBanner):
(WebKit::WebPage::setFooterPageBanner):

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

8 years agoRemove ShadowRoot's previous/next ShadowRoot pointers.
akling@apple.com [Sat, 4 May 2013 16:29:05 +0000 (16:29 +0000)]
Remove ShadowRoot's previous/next ShadowRoot pointers.
<http://webkit.org/b/115588>

Reviewed by Anders Carlsson.

ShadowRoot no longer inherits from DoublyLinkedListNode<ShadowRoot> because that code wasn't
doing anything anymore. Shrinks ShadowRoot by two pointers.

* dom/ElementShadow.h:
* dom/ShadowRoot.cpp:
(SameSizeAsShadowRoot):
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
* dom/ShadowRoot.h:

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

8 years agoRenderObject: don't change GraphicsContext state when not drawing dashed/dotted lines.
akling@apple.com [Sat, 4 May 2013 15:27:45 +0000 (15:27 +0000)]
RenderObject: don't change GraphicsContext state when not drawing dashed/dotted lines.

From Blink r149546 by <jbroman@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149546>

Previously, there was asymmetry between changing and restoring state (certain state
would be restored only if thickness was positive, i.e. a line was actually drawn.)

* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

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

8 years agoUnreviewed.
zandobersek@gmail.com [Sat, 4 May 2013 15:18:29 +0000 (15:18 +0000)]
Unreviewed.

* Scripts/webkitpy/common/config/contributors.json: Correcting my igalia.com email address.

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

8 years agoRemove CSS selector profiler branches from ElementRuleCollector loop.
akling@apple.com [Sat, 4 May 2013 15:03:26 +0000 (15:03 +0000)]
Remove CSS selector profiler branches from ElementRuleCollector loop.
<http://webkit.org/b/115581>

Reviewed by Antti Koivisto.

Templatize the method so we don't have to check for active inspector frontends on every
pass through the loop.

Time spent in this loop goes down from 0.5% to 0.2% on iTunes Store, WebCore binary size
goes up 480 bytes (sorry Benjamin, I'll make it up to you.)

* css/ElementRuleCollector.h:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList):

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

8 years agoUnreviewed. Adding Radu Stavila as an Adobe contributor, working on CSSRegions.
mihnea@adobe.com [Sat, 4 May 2013 14:00:57 +0000 (14:00 +0000)]
Unreviewed. Adding Radu Stavila as an Adobe contributor, working on CSSRegions.

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

8 years ago[GTK] Catch select.error exceptions in parse_output_lines
zandobersek@gmail.com [Sat, 4 May 2013 07:54:40 +0000 (07:54 +0000)]
[GTK] Catch select.error exceptions in parse_output_lines
https://bugs.webkit.org/show_bug.cgi?id=115253

Reviewed by Gustavo Noronha Silva.

Catch any select.error exceptions when waiting for the file descriptor to become readable when parsing the
output lines in common.parse_output_lines. These are currently being thrown when running the GTK unit tests on
builders, but are not fatal. Because of that they are at the moment only logged (writing out the file descriptor,
error code and the error message) and the loop is re-entered.

* gtk/common.py:
(parse_output_lines):

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

8 years ago[GTK] Set up the TestWebCore in TestWebKitAPI
zandobersek@gmail.com [Sat, 4 May 2013 07:50:19 +0000 (07:50 +0000)]
[GTK] Set up the TestWebCore in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=115237

Reviewed by Gustavo Noronha Silva.

Set up the WebCore unit test program, consisting of the unit tests under the TestWebKitAPI/Tests/WebCore directory.
Again the approach of specifying libtool libraries multiple times in the TestWebCore program's LDFLAGS is used as
a workaround for the layer violations and circular dependencies between various static libraries. Linking against
either libwebkitgtk or libwebkit2gtk shared libraries is avoided due to the unit tests covering WebCore, which
shouldn't rely on neither of the two distributable libraries (hence the dirty workaround).

* TestWebKitAPI/GNUmakefile.am:

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

8 years agoREGRESSION(r140907): Incorrect baseline on cells after updating vertical-align
robert@webkit.org [Sat, 4 May 2013 07:44:44 +0000 (07:44 +0000)]
REGRESSION(r140907): Incorrect baseline on cells after updating vertical-align
https://bugs.webkit.org/show_bug.cgi?id=115432

Reviewed by Julien Chaffraix.

Source/WebCore:

If a cell changes vertical-align any intrinsic padding it has is now redundant. It
needs to calculate its new height from RenderTableRow::layout() and then find its
new intrinsic padding in RenderTableSection::layoutRows().

Test: fast/table/correct-baseline-after-style-change.html

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange):

LayoutTests:

* fast/table/correct-baseline-after-style-change-expected.html: Added.
* fast/table/correct-baseline-after-style-change.html: Added.

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

8 years agoThere should be a runtime option to constrain what functions get DFG compiled
msaboff@apple.com [Sat, 4 May 2013 07:30:35 +0000 (07:30 +0000)]
There should be a runtime option to constrain what functions get DFG compiled
https://bugs.webkit.org/show_bug.cgi?id=115576

Reviewed by Mark Hahnenberg.

Added OptionRange to Options to allow checking that something is within an option
or not.  The new OptionClass supports range strings in the form of [!]<low>[:<high>].
If only one value is given, then it will be used for both low and high.  A leading
'!' inverts the check.  If no range is given, then checking for a value within a range
will always return true.  Added the option "bytecodeRangeToDFGCompile" that takes an
OptionRange string to select the bytecode range of code blocks to DFG compile.

* dfg/DFGDriver.cpp:
(JSC::DFG::compile): Added new check for bytecode count within bytecodeRangeToDFGCompile
range.
* runtime/Options.cpp:
(JSC::parse): Added overloaded parse() for OptionRange.
(JSC::OptionRange::init): Parse range string and then initialize the range.
(JSC::OptionRange::isInRange): Function used by consumer to check if a value is within
the specified range.
(JSC::Options::dumpOption): Added code to dump OptionRange options.
* runtime/Options.h:
(OptionRange): New class.
(JSC::OptionRange::operator= ): This is really used as a default ctor for use within
the Option static array initialization.
(JSC::OptionRange::rangeString): This is used for debug.  It assumes that the char*
passed into OptionRange::init is valid when this function is called.

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

8 years ago <rdar://problem/13806836> Tweak sandbox profile.
ap@apple.com [Sat, 4 May 2013 07:23:13 +0000 (07:23 +0000)]
    <rdar://problem/13806836> Tweak sandbox profile.

        Reviewed by Dan Bernstein.

        * WebProcess/com.apple.WebProcess.sb.in:

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

8 years agoincorrect repainting when a table has a transform
commit-queue@webkit.org [Sat, 4 May 2013 03:49:25 +0000 (03:49 +0000)]
incorrect repainting when a table has a transform
https://bugs.webkit.org/show_bug.cgi?id=109867

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-05-03
Reviewed by Simon Fraser.

Source/WebCore:

Disable LayoutState when table, tableRow or tableSection render
objects have transforms or reflections.

Tests: fast/repaint/reflection-table-layout.html
       fast/repaint/transform-table-layout.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):

LayoutTests:

Create tests that resize an element inside a display: table element.
Compare to a reference html file where the element has a static size.
In the first test, the table like element has a transform. In the
second, it has a reflection.

* fast/repaint/reflection-table-layout-expected.html: Added.
* fast/repaint/reflection-table-layout.html: Added.
* fast/repaint/transform-table-layout-expected.html: Added.
* fast/repaint/transform-table-layout.html: Added.

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

8 years agoRemove concept of younger and older shadow trees
antti@apple.com [Sat, 4 May 2013 03:43:12 +0000 (03:43 +0000)]
Remove concept of younger and older shadow trees
https://bugs.webkit.org/show_bug.cgi?id=115570

Reviewed by Andreas Kling.

Source/WebCore:

Younger and older shadow trees are an obscure corner of the Shadow DOM spec.

Support only one shadow tree per element. This simplifies many things.

* dom/ComposedShadowTreeWalker.cpp:
(WebCore::ComposedShadowTreeWalker::traverseChild):
(WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
(WebCore):
(WebCore::ComposedShadowTreeWalker::traverseParent):
(WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
* dom/ComposedShadowTreeWalker.h:
(WebCore::ComposedShadowTreeWalker::assertPrecondition):
(ComposedShadowTreeWalker):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
(WebCore::ChildFrameDisconnector::collectFrameOwners):
(WebCore::assertConnectedSubrameCountIsConsistent):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
* dom/Element.cpp:
(WebCore::Element::authorShadowRoot):
(WebCore::Element::userAgentShadowRoot):
(WebCore::Element::ensureUserAgentShadowRoot):
* dom/Element.h:
(Element):
(WebCore::Element::hasAuthorShadowRoot):
* dom/Element.idl:
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot):

Allow only one ShadowRoot per ElementShadow. Remove linked list handling.

(WebCore::ElementShadow::removeAllShadowRoots):
(WebCore::ElementShadow::attach):
(WebCore::ElementShadow::detach):
(WebCore::ElementShadow::childNeedsStyleRecalc):
(WebCore::ElementShadow::needsStyleRecalc):
(WebCore::ElementShadow::recalcStyle):
(WebCore::ElementShadow::removeAllEventListeners):
* dom/ElementShadow.h:
(WebCore::ElementShadow::shadowRoot):
(ElementShadow):
(WebCore::ElementShadow::host):
(WebCore::Node::shadowRoot):
(WebCore):
* dom/Node.cpp:
(WebCore):
(WebCore::Node::showNodePathForThis):
(WebCore::traverseTreeAndMark):
(WebCore::showSubTreeAcrossFrame):
* dom/Node.h:
(Node):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::insertedInto):
* dom/ShadowRoot.h:
(ShadowRoot):

    Remove LinkedList base.

* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
(WebCore::ContentDistributor::ensureSelectFeatureSet):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::FocusNavigationScope):
(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::uploadButton):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::buildShadowTree):
* testing/Internals.cpp:
(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::shadowRoot):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

LayoutTests:

* editing/text-iterator/basic-iteration-expected.txt:
* editing/text-iterator/script-tests/basic-iteration.js:
(addShadowTreeWithDivElement):
* fast/forms/resources/common-spinbutton-change-and-input-events.js:
(testSpinButtonChangeAndInputEvents):
* fast/forms/resources/common-spinbutton-click-in-iframe.js:
(getSpinButton):

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

8 years agoSunSpider 1.0: 3d-morph: use epsilon to check result
commit-queue@webkit.org [Sat, 4 May 2013 02:11:49 +0000 (02:11 +0000)]
SunSpider 1.0: 3d-morph: use epsilon to check result
https://bugs.webkit.org/show_bug.cgi?id=115553

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-05-03
Reviewed by George Staikos.

SunSpider/3d-morph should be more lenient in validating its results, since they depend on Math.sin, which isn't formally specified.

* tests/sunspider-1.0/3d-morph.js:

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

8 years agoCreate a script to import W3C tests
commit-queue@webkit.org [Sat, 4 May 2013 02:07:30 +0000 (02:07 +0000)]
Create a script to import W3C tests
https://bugs.webkit.org/show_bug.cgi?id=111513

Patch by Rebecca Hauck <rhauck@adobe.com> on 2013-05-03
Reviewed by Dirk Pranke.

Script to automate the import of W3C tests into WebKit.
For the full description of how it works, see the comments
at the top of test_importer.py.

* Scripts/import-w3c-tests: Added.
* Scripts/webkitpy/w3c/__init__.py: Added.
* Scripts/webkitpy/w3c/test_converter.py: Added.
(TestConverter):
(TestConverter.__init__):
(TestConverter.load_prefixed_prop_list):
(TestConverter.load_file):
(TestConverter.convert_for_webkit):
(TestConverter.convert_testharness_paths):
(TestConverter.convert_prefixed_properties):
(TestConverter.scrub_unprefixed_props):
(TestConverter.replace_tag):
* Scripts/webkitpy/w3c/test_converter_unittest.py: Added.
(TestConverterTest):
(TestConverterTest.testLoadPrefixedPropList):
(TestConverterTest.test_convertForWebkitNothingToConvert):
(test_convertForWebkitHarnessOnly):
(test_convertForWebkitPropsOnly):
(test_convertForWebkitHarnessAndProps):
(test_convertTestHarnessPaths):
(test_convertPrefixedProperties):
(verifyTestHarnessPaths):
(verifyPrefixedProperties):
(generateTestContent):
* Scripts/webkitpy/w3c/test_importer.py: Added.
(main):
(parse_args):
(validate_import_directory):
(TestImporter):
(TestImporter.__init__):
(TestImporter.do_import):
(TestImporter.get_changeset):
(TestImporter.scan_source_directory):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.get_test_status):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):
* Scripts/webkitpy/w3c/test_importer_unittest.py: Added.
(TestImporterTest):
(TestImporterTest.test_ImportDirWithNoTests):
* Scripts/webkitpy/w3c/test_parser.py: Added.
(TestParser):
(TestParser.__init__):
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.get_reftests):
(TestParser.is_jstest):
(TestParser.get_support_files):
* Scripts/webkitpy/w3c/test_parser_unittest.py: Added.
(TestParserTest):
(TestParserTest.test_analyzeTestReftestOneMatch):
(test_analyzeTestReftestMultipleMatches):
(test_analyzeTestReftestMatchAndMismatch):
(test_analyzeTestReftestWithRefSupportFiles):
(test_analyzeJSTest):
(test_analyzePixelTestAllTrue):
(test_analyzePixelTestAllFalse):
(test_analyzeNonHTMLFile):

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

8 years agoSimplify the #ifdefs in GraphicsContext3D.h
mrobinson@webkit.org [Sat, 4 May 2013 00:03:05 +0000 (00:03 +0000)]
Simplify the #ifdefs in GraphicsContext3D.h
https://bugs.webkit.org/show_bug.cgi?id=115568

Reviewed by Daniel Bates.

* platform/graphics/GraphicsContext3D.h:
(GraphicsContext3D): Combine #ifdefs paths that have a common
implementation. This reduces the #ifdef paths from many to just three.
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::platformTexture): Move the implementation
here to simplify the header.
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::platformTexture): Ditto.
(WebCore):

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

8 years agoUnreviewed. Update Viatcheslav Ostapenko's email in contributors.json.
ch.dumez@sisa.samsung.com [Fri, 3 May 2013 23:50:02 +0000 (23:50 +0000)]
Unreviewed. Update Viatcheslav Ostapenko's email in contributors.json.

* Scripts/webkitpy/common/config/contributors.json:

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

8 years ago[Qt] Build with --video-track fails because String(AtomicString) is ambiguous
commit-queue@webkit.org [Fri, 3 May 2013 23:44:41 +0000 (23:44 +0000)]
[Qt] Build with --video-track fails because String(AtomicString) is ambiguous
https://bugs.webkit.org/show_bug.cgi?id=115551

Patch by Brendan Long <b.long@cablelabs.com> on 2013-05-03
Reviewed by Benjamin Poulain.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup):
Change String(textTrack->kind()) to textTrack->kind().string(), and same thing with language.

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

8 years ago[GStreamer] GStreamer log crashes in MediaPlayerPrivateGStreamerBase because of unini...
commit-queue@webkit.org [Fri, 3 May 2013 23:12:05 +0000 (23:12 +0000)]
[GStreamer] GStreamer log crashes in MediaPlayerPrivateGStreamerBase because of uninitialized category
https://bugs.webkit.org/show_bug.cgi?id=115575

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-05-03
Reviewed by Philippe Normand.

No new tests needed.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
Using extern debug category.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
Declaring debug category as not static.

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

8 years ago[BlackBerry] Page rendering scale is changed after go back and forward
zhajiang@rim.com [Fri, 3 May 2013 22:19:15 +0000 (22:19 +0000)]
[BlackBerry] Page rendering scale is changed after go back and forward
https://bugs.webkit.org/show_bug.cgi?id=115573

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-05-03.
Reviewed by Rob Buis.
Internally reviewed by Jeff Rogers.

PR: 326886
When navigating back from page A with viewport to page B without
viewport, we didn't call setViewMode(); therefore, we didn't change
the fixed layout size which was set by page A. In that case, WebCore
would just pick up page A's fixed layout size to layout page B which
caused this issue.
Expecting zoomToInitialScaleOnLoad() or other functions to setViewMode()
later is not a good way, because zoomToInitialScaleOnLoad() has never
been called in this case. So we should always call setViewMode() to set
fixed layout size when a new page is committed.

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

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

8 years ago[WinCairo] Unreviewed VS2010 Build Correction.
bfulgham@webkit.org [Fri, 3 May 2013 22:14:42 +0000 (22:14 +0000)]
[WinCairo] Unreviewed VS2010 Build Correction.

* WebCore.vcxproj/WebCore.vcxproj: Exclude CG-only
SubimageCacheWithTimer.cpp from WinCairo build.

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

8 years ago[Cairo] Anti-aliasing should not be always disabled for lines
commit-queue@webkit.org [Fri, 3 May 2013 22:12:54 +0000 (22:12 +0000)]
[Cairo] Anti-aliasing should not be always disabled for lines
https://bugs.webkit.org/show_bug.cgi?id=109535

Patch by Viatcheslav Ostapenko <viatchslav.o@samsung.com> on 2013-05-03
Reviewed by Martin Robinson.

Source/WebCore:

Don't disable antialiasing for text lines because it produces ugly picture if
page is scaled.

Test: fast/css3-text/css3-text-decoration/text-decoration-line-scaled.html

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawLineOnCairoContext):

LayoutTests:

Add pixel test with scaled text lines.

* fast/css3-text/css3-text-decoration/text-decoration-line-scaled.html: Added.
* platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.png: Added.
* platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.txt: Added.

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

8 years agoRemove unnecessary include HTMLNames.h from RenderThemeGtk.cpp
dbates@webkit.org [Fri, 3 May 2013 21:41:54 +0000 (21:41 +0000)]
Remove unnecessary include HTMLNames.h from RenderThemeGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=115571

Reviewed by Martin Robinson.

* platform/gtk/RenderThemeGtk.cpp:

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

8 years ago[Mac] setMetadataURL incorrectly treats path bytes as Latin-1
ap@apple.com [Fri, 3 May 2013 20:56:53 +0000 (20:56 +0000)]
[Mac] setMetadataURL incorrectly treats path bytes as Latin-1
https://bugs.webkit.org/show_bug.cgi?id=115557

Reviewed by Sam Weinig.

* platform/mac/FileSystemMac.mm: (WebCore::setMetaData): Use the correct constructor.

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

8 years agoPDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
timothy_horton@apple.com [Fri, 3 May 2013 20:56:44 +0000 (20:56 +0000)]
PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
https://bugs.webkit.org/show_bug.cgi?id=115544
<rdar://problem/13801789>

Reviewed by Alexey Proskuryakov.

Commit changes to the active annotation (if there is one) before
returning the live PDF data, so that said changes are represented
in the exported or printed output.

* WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
(SimplePDFPlugin): Make liveData virtual.

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

8 years agoWeb process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
timothy_horton@apple.com [Fri, 3 May 2013 20:56:22 +0000 (20:56 +0000)]
Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
https://bugs.webkit.org/show_bug.cgi?id=115056
<rdar://problem/13719543>

Reviewed by Simon Fraser.

Null-check m_page. In theory, we shouldn't get here, because we stop
the timer at the only point where m_page is cleared, but crash logs say
we're still crashing here.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):

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

8 years agoRemove some "what" comments from FindController
timothy_horton@apple.com [Fri, 3 May 2013 20:55:53 +0000 (20:55 +0000)]
Remove some "what" comments from FindController
https://bugs.webkit.org/show_bug.cgi?id=115546

Reviewed by Andreas Kling.

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::countStringMatches):
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::willMoveToWebPage):
(WebKit::FindController::mouseEvent):
Remove or reword some comments.

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

8 years agoMove pixelSnappedLayoutOverflowRect and maxLayoutOverflow from RenderBox
abucur@adobe.com [Fri, 3 May 2013 20:48:00 +0000 (20:48 +0000)]
Move pixelSnappedLayoutOverflowRect and maxLayoutOverflow from RenderBox
https://bugs.webkit.org/show_bug.cgi?id=115550

Reviewed by Simon Fraser.

The patch moves pixelSnappedLayoutOverflowRect and maxLayoutOverflow out
of RenderBox somewhere logically closer to their usage place.

pixelSnappedLayoutOverflowRect - moved to RenderView because it's called only
for RenderView at this moment.
There are other places when the overflow rect is pixel snapped but only after
the rect is adjusted for writing modes or inflated.

maxLayoutOverflow - moved to RenderTreeAsText.cpp as a static function because
it's used only there.

Tests: no new functional change.

* rendering/RenderBox.h: The functions declarations are removed.
* rendering/RenderTreeAsText.cpp:
(WebCore::maxLayoutOverflow):
* rendering/RenderView.h:
(WebCore::RenderView::pixelSnappedLayoutOverflowRect):

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

8 years agoStyleResolver: Have "list of matched rules" API vend internal types instead of CSSOM...
akling@apple.com [Fri, 3 May 2013 20:43:27 +0000 (20:43 +0000)]
StyleResolver: Have "list of matched rules" API vend internal types instead of CSSOM wrappers.
<http://webkit.org/b/115563>

Reviewed by Antti Koivisto.

Source/WebCore:

Change styleRulesForElement() and pseudoStyleRulesForElement() to return Vectors of StyleRuleBase
instead of CSSRuleLists. This defers instantiating CSSOM wrappers until they're actually needed
for exposure to web API.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules):

    Create a StaticCSSRuleList and populate it with CSSOM wrappers for the matched rules.
    This is the one place where we expose this functionality to the web.

* css/ElementRuleCollector.h:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):

    Collect internal StyleRuleBase pointers here instead of creating wrappers.

* css/StyleResolver.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleRulesForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):

    Vend said pointers.

* editing/EditingStyle.cpp:
(WebCore::styleFromMatchedRulesForElement):

    Dodge CSSOM wrapper instantiation (Woop woop!)

* inspector/InspectorCSSAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildObjectForRule):

    Split buildObjectForRule() into two versions, one for CSSStyleRule and one for StyleRule.
    The CSSStyleRule one doesn't need a special path for parent-less rules, since those always
    come in through the StyleRule interface instead. This factoring can be improved further
    after this change.

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

    Tweaked for changes in StyleResolver API.

Source/WebKit/qt:

* Api/qwebelement.cpp:
(QWebElement::styleProperty):

    Tweaked for changes in StyleResolver API.

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

8 years ago REGRESSION (r145042): Downloading a file sometimes results in could not create
ap@apple.com [Fri, 3 May 2013 20:29:53 +0000 (20:29 +0000)]
    REGRESSION (r145042): Downloading a file sometimes results in could not create
        a sandbox extension Console message and file stays as a .download file
        https://bugs.webkit.org/show_bug.cgi?id=115559
        <rdar://problem/13785101>

        Reviewed by Sam Weinig.

        CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation()
        creates a string with maximum possible buffer size. This was confusing resolveSymlinksInPath().

        * platform/cf/FileSystemCF.cpp: (WebCore::fileSystemRepresentation):
        Change fileSystemRepresentation to be less surprising. Really, we should rip apart
        CString and update callers to use better defined semantics, but this is the one function
        that repeatedly causes problems in practice.

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

8 years agoCSSRule style declarations getters shouldn't be const.
akling@apple.com [Fri, 3 May 2013 20:27:39 +0000 (20:27 +0000)]
CSSRule style declarations getters shouldn't be const.
<http://webkit.org/b/115572>

Reviewed by Antti Koivisto.

Accessing the CSSStyleDeclaration for a CSSRule is a potentially mutating operation,
and should not be const.

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::style):
* css/CSSFontFaceRule.h:
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::style):
* css/CSSPageRule.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::style):
* css/CSSStyleRule.h:
(CSSStyleRule):
* css/WebKitCSSFilterRule.cpp:
(WebCore::WebKitCSSFilterRule::style):
* css/WebKitCSSFilterRule.h:
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::style):
* css/WebKitCSSKeyframeRule.h:
(WebKitCSSKeyframeRule):
* css/WebKitCSSViewportRule.cpp:
(WebCore::WebKitCSSViewportRule::style):
* css/WebKitCSSViewportRule.h:

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

8 years agoUse NotNull tag for placement new in WebCore.
akling@apple.com [Fri, 3 May 2013 19:31:15 +0000 (19:31 +0000)]
Use NotNull tag for placement new in WebCore.
<http://webkit.org/b/115569>

Reviewed by Antti Koivisto.

Avoid emitting null checks where we use placement new to construct objects into safe locations.

* css/StylePropertySet.cpp:
(WebCore::ImmutableStylePropertySet::create):
* dom/Element.cpp:
(WebCore::ShareableElementData::createWithAttributes):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::init):
(WebCore::createQualifiedName):
* dom/make_names.pl:
(printNamesCppFile):
* platform/ThreadGlobalData.h:
(WebCore::threadGlobalData):
* platform/graphics/GlyphPage.h:
(WebCore::GlyphPage::createForMixedFontData):

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