[V8] Binding Integrity crash in V8MediaStream::createWrapper
https://bugs.webkit.org/show_bug.cgi?id=109211

Reviewed by Adam Barth.

Patch suppresses a chrome crasher.

* Modules/mediastream/MediaStream.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git.svn_revision doesn't fetch the same revision as svn.svn_revision
https://bugs.webkit.org/show_bug.cgi?id=108684

Reviewed by Dirk Pranke.

Always call git log on the checkout root.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.svn_revision):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Cleanup command-line defines
https://bugs.webkit.org/show_bug.cgi?id=109213

Reviewed by Xan Lopez.

.:

* GNUmakefile.am: Remove references to flags that are now provided
by autotoolsconfig.h
* configure.ac: Add new AC_DEFINE invocations for flags that were
before manually appended to the compiler CPPFLAGS and clump all
AC_DEFINE invocations together.

Source/WebCore:

* GNUmakefile.am: Remove references to flags that are now handled
via autotoolsconfig.h.

Source/WebKit/gtk:

* GNUmakefile.am: Remove references to flags that are now provided
by autotoolsconfig.h

Source/WebKit2:

* GNUmakefile.am:  Remove references to flags that are now
provided by autotoolsconfig.h.

Tools:

* TestWebKitAPI/config.h: Include the autotoolsconfig.h header to pick
up defines from autoconf.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Temporary fix for Win EWS bots.
Don't build DRT since it has already been built in the build step.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed Visual Studio 2010 build fixes after r142179.

* JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in: Correct changed symbols
* JavaScriptCore.vcxproj/JavaScriptCoreExports.def: Removed autogenerated file.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix syntax error in runtests.py.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix an incorrect comment from r142163

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-07

* wtf/MainThread.h:
I accidentally copied PLATFORM(IOS) instead of USE(WEB_THREAD) for the #ifdef closing.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Objective-C API: testapi.mm should use ARC
https://bugs.webkit.org/show_bug.cgi?id=107838

Reviewed by Mark Rowe.

Removing the changes to the Xcode project file and moving the equivalent flags into 
the ToolExecutable xcconfig file.

* Configurations/ToolExecutable.xcconfig:
* JavaScriptCore.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add layout test verifying role, subrole, and role description for all HTML elements and ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=109027

Patch by James Craig <jcraig@apple.com> on 2013-02-07
Reviewed by Chris Fleizach.

New layout test verifies AXRole, AXSubrole, and AXRoleDescription for all HTML elements and ARIA roles.

* platform/mac/accessibility/role-subrole-roledescription-expected.txt: Added.
* platform/mac/accessibility/role-subrole-roledescription.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve logging of MediaPlayerPrivateAVFoundation Notifications.
https://bugs.webkit.org/show_bug.cgi?id=109223

Reviewed by Eric Carlson.

Convert the existing Notification enum to an expandable macro. Then add a
Logging-only function which stringifies the enums.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore):
(WebCore::notificationName):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
https://bugs.webkit.org/show_bug.cgi?id=107566

Patch by Hans Muller <hmuller@adobe.com> on 2013-02-07
Reviewed by David Hyatt.

Source/WebCore:

Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
line. In other words, don't bother creating offset edges that can't define the polygon's
first fit location.

Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html

* rendering/ExclusionPolygon.cpp:
(WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.

LayoutTests:

Added a simple polygonal shape-inside test where only a subset of the polygon edges
should contribute to each line's offset edges.

* fast/exclusions/shape-inside/shape-inside-first-fit-004-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-first-fit-004.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Another temporary EWS bot fix. It'll totally work this time.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix two exports of WebCore symbols on iOS
https://bugs.webkit.org/show_bug.cgi?id=109238

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-07
Reviewed by David Kilzer.

* WebCore.exp.in: Export wkCTFontTransformGlyphs but not
wkCGContextDrawsWithCorrectShadowOffsets on iOS.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Add the last blending step
https://bugs.webkit.org/show_bug.cgi?id=104012

Source/WebCore:

The resulting blended color in mix() is now weighted according to
the original element's backdrop alpha value.

Reviewed by Dean Jackson.

Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html

* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):

LayoutTests:

Added a test to check the correct blending in presence of a transparent backdrop.

Reviewed by Dean Jackson.

* css3/filters/custom/custom-filter-blend-fractional-destination-alpha-expected.html: Added.
* css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html: Added.
* platform/mac/TestExpectations: This test is currently skipped on Mac for slight color
differences, please see the relevant bug: http://webkit.org/b/107487


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use new speech bubble artwork for captions menu button
https://bugs.webkit.org/show_bug.cgi?id=109215

Reviewed by Eric Carlson.

Rather than call into RenderTheme to display this button, embed artwork
into the CSS. This means we can remove some uncalled methods in
RenderTheme.

* css/mediaControlsQuickTime.css:
(video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
* rendering/RenderTheme.h: Remove unused function.
* rendering/RenderThemeMac.h: Ditto.
* rendering/RenderThemeMac.mm: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Add a flag to enable native form validation message
https://bugs.webkit.org/show_bug.cgi?id=109134

Reviewed by Adam Barth.

* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures): Add enableNativeValidationMessage and
isNativeValidationMessageEnabled.
* src/WebRuntimeFeatures.cpp:
(WebKit): Add nativeValidationMessageEnabled.
(WebKit::WebRuntimeFeatures::enableNativeValidationMessage): Added.
(WebKit::WebRuntimeFeatures::isNativeValidationMessageEnabled): Addedd.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
Fill Page::PageClients::validationMessageClient if the flag is true.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce SQLTransactionBackend and SQLTransactionBackendSync.
https://bugs.webkit.org/show_bug.cgi?id=109109.

Reviewed by Anders Carlsson.

- Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
  and SQLTransactionBackendSync respectively.
- Added back SQLTransaction and SQLTransactionSync as new files, and have
  their classes extends their respective backends. This is a stop gap
  measure to keep things working until the front-end and back-end can be
  properly split.
  Note: these files will be committed in a subsequent commit to ensure
  that the patching goes smoothly.
- Where needed, I made use of new SQLTransaction::from() and
  SQLTransactionSync::from() static methods that "get" the front-end
  transactions from the back-ends. This is also a stop gap measure to
  keep things working until the proper refactoring is complete.
- Fixed up pre-existing style checker violations that are now detected
  on code that were touched during my renaming.
- Added the back-end files to all the build files.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::scheduleTransactionStep):
* Modules/webdatabase/Database.h:
(Database):
* Modules/webdatabase/DatabaseBackend.h:
(DatabaseBackend):
* Modules/webdatabase/DatabaseTask.cpp:
(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
* Modules/webdatabase/DatabaseTask.h:
(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
(DatabaseBackendAsync::DatabaseTransactionTask):
* Modules/webdatabase/SQLTransaction.cpp: Removed.
* Modules/webdatabase/SQLTransaction.h: Removed.
* Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
(WebCore::SQLTransactionBackend::~SQLTransactionBackend):
(WebCore::SQLTransactionBackend::executeSQL):
(WebCore::SQLTransactionBackend::enqueueStatement):
(WebCore::SQLTransactionBackend::debugStepName):
(WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
(WebCore::SQLTransactionBackend::performNextStep):
(WebCore::SQLTransactionBackend::performPendingCallback):
(WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
(WebCore::SQLTransactionBackend::acquireLock):
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::deliverTransactionCallback):
(WebCore::SQLTransactionBackend::scheduleToRunStatements):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::getNextStatement):
(WebCore::SQLTransactionBackend::runCurrentStatement):
(WebCore::SQLTransactionBackend::handleCurrentStatementError):
(WebCore::SQLTransactionBackend::deliverStatementCallback):
(WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::deliverSuccessCallback):
(WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
(WebCore::SQLTransactionBackend::handleTransactionError):
(WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
* Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
(SQLTransactionBackend):
* Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
(WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
(WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
(WebCore::SQLTransactionBackendSync::executeSQL):
(WebCore::SQLTransactionBackendSync::begin):
(WebCore::SQLTransactionBackendSync::execute):
(WebCore::SQLTransactionBackendSync::commit):
(WebCore::SQLTransactionBackendSync::rollback):
* Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
(SQLTransactionBackendSync):
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::getDatabaseIdentifier):
(WebCore::SQLTransactionCoordinator::processPendingTransactions):
(WebCore::SQLTransactionCoordinator::acquireLock):
(WebCore::SQLTransactionCoordinator::releaseLock):
(WebCore::SQLTransactionCoordinator::shutdown):
* Modules/webdatabase/SQLTransactionCoordinator.h:
(SQLTransactionCoordinator):
(WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
(CoordinationInfo):
* Modules/webdatabase/SQLTransactionSync.cpp: Removed.
* Modules/webdatabase/SQLTransactionSync.h: Removed.
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
https://bugs.webkit.org/show_bug.cgi?id=109109.

Reviewed by Anders Carlsson.

Adding back the new SQLTransaction and SQLTransactionSync files.

No new tests.

* Modules/webdatabase/SQLTransaction.cpp: Added.
(WebCore::SQLTransaction::create):
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::from):
* Modules/webdatabase/SQLTransaction.h: Added.
(SQLTransaction):
* Modules/webdatabase/SQLTransactionSync.cpp: Added.
(WebCore::SQLTransactionSync::create):
(WebCore::SQLTransactionSync::SQLTransactionSync):
(WebCore::SQLTransactionSync::from):
* Modules/webdatabase/SQLTransactionSync.h: Added.
(SQLTransactionSync):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Non-scrollable divs and non-scrollable iframes can scroll with touch
https://bugs.webkit.org/show_bug.cgi?id=109087

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
       fast/events/touch/gesture/touch-gesture-noscroll-iframe.html

When finding a candidate for a scrollable node in
EventHandler::handleGestureScrollUpdate(), select the document node
if it is reached before any scrollable element when walking up the DOM
tree. Also ensure that calling RenderLayer::scrollBy() for a document
node does not result in scrolling if the element is not scrollable.

* page/EventHandler.cpp:
(WebCore::closestScrollableNodeCandidate):
(WebCore::EventHandler::handleGestureScrollUpdate):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollBy):

LayoutTests:

Two new layout tests added to demonstrate that the changes to
RenderLayer::scrollBy() and closestScrollableNodeCandidate() in
EventHandler.cpp are both necessary to ensure that non-scrollable
divs and non-scrollable iframes cannot be scrolled with touch.

* fast/events/touch/gesture/touch-gesture-noscroll-div-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-div.html: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-iframe-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-iframe.html: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-div-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-iframe-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Flings should not bubble up to enclosing scrollables when main-thread touch scrolling
https://bugs.webkit.org/show_bug.cgi?id=108719

Reviewed by Eric Seidel.

In the event of a main-thread touch fling, dispatch a series of
GestureScrollUpdateWithoutPropagation events defined in
https://bugs.webkit.org/show_bug.cgi?id=108849 (instead of
GestureScrollUpdate events) so that the fling does not
propagate to enclosing scrollables.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollBy):


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