Add ElementTraversal::next/previousSibling
https://bugs.webkit.org/show_bug.cgi?id=119681

Reviewed by Andreas Kling.

Add nextSibling/previousSibling/lastWithin to ElementTraversal namespace.
        
- Use them to replace internal use of Element::next/previousElementSibling DOM API for traversal.
- Replace some Node::nextSibling() usage with ElementTraversal::nextSibling() for tighter code.
- Replace ElementTraversal::nextSkippingChildren where it is used to traverse over immediate children only.

* css/SelectorChecker.cpp:
(WebCore::isFirstChildElement):
(WebCore::isLastChildElement):
(WebCore::isFirstOfType):
(WebCore::isLastOfType):
(WebCore::countElementsBefore):
(WebCore::countElementsOfTypeBefore):
(WebCore::countElementsAfter):
(WebCore::countElementsOfTypeAfter):
* dom/Element.cpp:
(WebCore::Element::lastElementChild):
(WebCore::Element::previousElementSibling):
(WebCore::Element::nextElementSibling):
* dom/Element.h:
* dom/ElementTraversal.h:
(WebCore::ElementTraversal::lastElementWithinTemplate):
(WebCore::ElementTraversal::lastWithin):
(WebCore::ElementTraversal::traverseNextSiblingElementTemplate):
(WebCore::ElementTraversal::nextSibling):
(WebCore::ElementTraversal::traversePreviousSiblingElementTemplate):
(WebCore::ElementTraversal::previousSibling):
* editing/ApplyStyleCommand.cpp:
(WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
(WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem):
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::mergeWithNeighboringLists):
* editing/markup.cpp:
(WebCore::createContextualFragment):
* html/HTMLCollection.cpp:
(WebCore::firstMatchingChildElement):
(WebCore::nextMatchingSiblingElement):
(WebCore::HTMLCollection::traverseNextElement):
(WebCore::HTMLCollection::traverseForwardToOffset):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::childrenChanged):
(WebCore::HTMLFieldSetElement::legend):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::finishParsingChildren):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::containsJavaApplet):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter):
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveTree):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::title):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] TestWebKitAPI fails to link.
https://bugs.webkit.org/show_bug.cgi?id=119619

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-08-12
Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Export needed symbol.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Curl] Crash when starting second download.
https://bugs.webkit.org/show_bug.cgi?id=119620

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-08-12
Reviewed by Brent Fulgham.

When a second download is started, a crash sometimes occurs in Curl.
This happens because the Curl easy handle is deleted and removed from the Curl multi handle twice.
This is solved by adding an array to keep track of active downloads to avoid double deletion.

* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownloadManager::CurlDownloadManager): Removed active download count member.
(WebCore::CurlDownloadManager::getActiveDownloadCount): Use active download array to return active download count.
(WebCore::CurlDownloadManager::updateHandleList): Remove Curl handles before adding, in case Curl reuses handles.
(WebCore::CurlDownloadManager::addToCurl): Add Curl handle to active download array.
(WebCore::CurlDownloadManager::removeFromCurl): Check if Curl handle is in active download array to avoid double deletion.
(WebCore::CurlDownloadManager::downloadThread): Removed active download count member.
* platform/network/curl/CurlDownload.h: Added array of active downloads member, and removed download count member.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Revert r153912 because it broke some track tests.

Rubber-stamped by Antti Koivisto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Curl] Cookie is not set when url string is unicode.
https://bugs.webkit.org/show_bug.cgi?id=119545

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-08-12
Reviewed by Brent Fulgham.

When the method setCookiesFromDOM is called with an unicode url parameter, the cookie is not correctly set.
We need to convert the cookie string to 8 bit, before passing it to the Curl api function.

* platform/network/curl/CookieJarCurl.cpp:
(WebCore::setCookiesFromDOM): Convert cookie string to 8 bit, if needed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Don't load GAIL when using GTK 3.2 or greater
https://bugs.webkit.org/show_bug.cgi?id=72735

Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2013-08-12
Reviewed by Carlos Garcia Campos.

Source/WebKit/gtk:

* tests/testatk.c:
(initializeTestingFramework):
(main):

Source/WebKit2:

* UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Shadows don't support viewport units
https://bugs.webkit.org/show_bug.cgi?id=119649

Reviewed by Darin Adler.

Source/WebCore:

We don't yet support viewport units in shadows, so
fail parsing if we see one. The bug to fix this
completely is: https://webkit.org/b/119650

Test: fast/css/shadow-viewport-units.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseShadow): Fail if we get one of
vh, vw, vmin, vmax.

LayoutTests:

Test that exercises a viewport unit in text-shadow to make sure we don't parse it.

* fast/css/shadow-viewport-units-expected.txt: Added.
* fast/css/shadow-viewport-units.html: Added.


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