Cannot animate "points" attribute for <svg:polygon>
https://bugs.webkit.org/show_bug.cgi?id=21371

Reviewed by Antti Koivisto.

Source/WebCore:

Ensure we use animated list of points for SVG <polygon> and <polyline> elements
when we build the path used to draw them, otherwise the animated changes won't
be rendered and the base value will be used.

Tests: svg/animations/polygon-set.svg
       svg/animations/polyline-set.svg

* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):

LayoutTests:

New tests covering the actual application of the animated value
for the "points" attribute of the SVG <polygon> and <polyline> elements.

* svg/animations/polygon-set-expected.svg: Added.
* svg/animations/polygon-set.svg: Added.
* svg/animations/polyline-set-expected.svg: Added.
* svg/animations/polyline-set.svg: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't paint simple text runs outside the paint rect
https://bugs.webkit.org/show_bug.cgi?id=124651

Reviewed by Anders Carlsson.
        
This speeds up partial paints for long text paragraphs. 
Also add the same optimization for hit testing.

* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
        
    Iterate over the run range that needs painting.

(WebCore::SimpleLineLayout::hitTestFlow):
        
    Iterate over the line range that needs painting.

* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::Range::Range):
(WebCore::SimpleLineLayout::Range::begin):
(WebCore::SimpleLineLayout::Range::end):
        
    Add Range type.

(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):
        
    Optimize case where runCount==lineCount. In this case we can just directly jump
    to the right run/line.

(WebCore::SimpleLineLayout::RunResolver::begin):
(WebCore::SimpleLineLayout::RunResolver::end):
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
        
    Get the range corresponding to a rect. This currently cares about y coordinates only.

(WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::LineResolver::rangeForRect):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] <video> and <audio> should be accessible.
https://bugs.webkit.org/show_bug.cgi?id=124494

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2013-11-20
Reviewed by Gyuyoung Kim.

Source/WebCore:

Adding descriptions of media-element controls.

* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::localizedMediaControlElementString):

LayoutTests:

Added new accessibility baseline for accessibility/media-elemen.html.

* platform/efl-wk1/TestExpectations: test is no longer failing.
* platform/efl-wk2/TestExpectations: test is no longer failing.
* platform/efl/accessibility/media-element-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Moved stray urls from svn.py and statusserver.py into common.config.urls
https://bugs.webkit.org/show_bug.cgi?id=124650

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-11-20
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVNRepository):
* Scripts/webkitpy/common/config/urls.py:
* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(_generate_results_dict):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
https://bugs.webkit.org/show_bug.cgi?id=124635

Reviewed by Tim Horton.

Source/WebCore:

getOrEstablishIDBDatabaseMetadata() should not have to take a database name parameter because the
server connection should already know what database name it represents.

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::openInternalAsync):

* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
(WebCore::IDBFactoryBackendLevelDB::open):

Source/WebKit2:

Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess.

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::establishConnection):
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::fromSecurityOrigin):
* Shared/SecurityOriginData.h:

* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::WebIDBServerConnection):
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[armv7][arm64] Speculative build fix after r159545.
https://bugs.webkit.org/show_bug.cgi?id=124646

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-20
Reviewed by Filip Pizlo.

* assembler/ARMv7Assembler.h:
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::memoryFence):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::memoryFence):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL gardening

* platform/efl/TestExpectations: Add new test expectations for failing tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove bogus assertions in updateNameForTreeScope and updateNameForDocument
https://bugs.webkit.org/show_bug.cgi?id=124639

Reviewed by Darin Adler.

Removed assertions. We can't assert that the element in a tree scope or a document
since these two functions are called from removedFrom.

* dom/Element.cpp:
(WebCore::Element::updateNameForTreeScope):
(WebCore::Element::updateNameForDocument):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename IDBMetadata.h to IDBDatabaseMetadata.h
https://bugs.webkit.org/show_bug.cgi?id=124668

Reviewed by Dean Jackson.

* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBDatabase.h:
* Modules/indexeddb/IDBDatabaseBackend.h:

* Modules/indexeddb/IDBDatabaseMetadata.h: Renamed from Source/WebCore/Modules/indexeddb/IDBMetadata.h.
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):

* Modules/indexeddb/IDBIndex.h:
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/IDBTransaction.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
* inspector/InspectorIndexedDBAgent.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Alphabetization followup to r159567

Reviewed by style-bot  :(

* Modules/indexeddb/IDBDatabaseBackend.h:
* Modules/indexeddb/IDBIndex.h:
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* inspector/InspectorIndexedDBAgent.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move LineWidth.{h,cpp} into rendering/line
<https://webkit.org/b/124448>

Reviewed by David Hyatt.

In r159354 I introduced line directory. Now it's time to move the helper classes of RenderBlockLineLayout into 'line' subdirectory.

No new tests, no behavior change.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* rendering/line/LineWidth.cpp: Renamed from Source/WebCore/rendering/LineWidth.cpp.
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::fitsOnLine):
(WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
(WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::LineWidth::commit):
(WebCore::LineWidth::applyOverhang):
(WebCore::LineWidth::fitBelowFloats):
(WebCore::LineWidth::setTrailingWhitespaceWidth):
(WebCore::LineWidth::updateCurrentShapeSegment):
(WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
(WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
* rendering/line/LineWidth.h: Renamed from Source/WebCore/rendering/LineWidth.h.
(WebCore::LineWidth::currentWidth):
(WebCore::LineWidth::uncommittedWidth):
(WebCore::LineWidth::committedWidth):
(WebCore::LineWidth::availableWidth):
(WebCore::LineWidth::addUncommittedWidth):
(WebCore::LineWidth::shouldIndentText):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r159551.
http://trac.webkit.org/changeset/159551
https://bugs.webkit.org/show_bug.cgi?id=124669

made many tests asserts (Requested by anttik on #webkit).

* html/HTMLDetailsElement.h:
* html/HTMLMediaElement.cpp:
(HTMLMediaElement::selectNextSourceChild):
* html/HTMLMetaElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::isDisabledFormControl):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::detailsElement):
* html/HTMLSummaryElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::caption):
(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableSectionElement.h:
* html/HTMLTagNames.in:
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::summaryElement):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handleFallbackContent):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
* page/DragController.cpp:
(WebCore::DragController::canProcessDrag):
* page/Frame.cpp:
(WebCore::Frame::searchForLabelsBeforeElement):
* page/SpatialNavigation.cpp:
(WebCore::frameOwnerElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix CPU(ARM_TRADITIONAL) build after r159545.
https://bugs.webkit.org/show_bug.cgi?id=124649

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-20
Reviewed by Michael Saboff.

Add missing memoryFence, load8 and store8 implementations in macro assembler.

* assembler/ARMAssembler.h:
(JSC::ARMAssembler::dmbSY):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::load8):
(JSC::MacroAssemblerARM::store8):
(JSC::MacroAssemblerARM::memoryFence):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Remove Chromium as user agent and claim to be Safari in OS X
https://bugs.webkit.org/show_bug.cgi?id=124229

Reviewed by Martin Robinson.

http://www.duolingo.com/ doesn't get render correctly because it uses
Chrome/Chromium specific variables, added after it was forked. Because
of this, it is necessary to remove the Chrome/Chromium identification
in the user agent. Also, from now on, by default, The GTK+ port will
claim to be Safari in OS X to avoid loading wrong resources.

* platform/gtk/UserAgentGtk.cpp:
(WebCore::standardUserAgent):


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