Avoid setting style twice for generated image content.
<https://webkit.org/b/125128>

Take care of a FIXME I added in r158097 and avoid redundant work in
ImageContentData::createRenderer().

I changed the inheritance helper RenderImage::setPseudoStyle() into
a new createStyleInheritingFromPseudoStyle() function instead so it
can be used from both PseudoElement and ImageContentData.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-jsc-stress-tests should allow for tests that have a directory containing .js files nested within a directory containing the data
https://bugs.webkit.org/show_bug.cgi?id=125130

Reviewed by Geoffrey Garen.

* Scripts/run-jsc-stress-tests:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] WebProtectionSpace has a generic wrapper
https://bugs.webkit.org/show_bug.cgi?id=125125

Reviewed by Anders Carlsson.

Added WKNSURLProtectionSpace.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Allocate a WKNSURLProtectionSpace if the object is a
WebProtectionSpace.
* Shared/Cocoa/WKNSURLProtectionSpace.h: Added.
(WebKit::wrapper): Added. Returns a WebProtecitonSpace’s wrapper as an NSURLProtectionSpace.
* Shared/Cocoa/WKNSURLProtectionSpace.mm: Added.
(-[WKNSURLProtectionSpace copyWithZone:]): Retains self.
* UIProcess/Authentication/WebProtectionSpace.h:
(WebKit::WebProtectionSpace::protectionSpace): Added an accessor for the
WebCore::ProtectionSpace.
* WebKit2.xcodeproj/project.pbxproj: Added references to new files.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add ability to iterate over API::Array
https://bugs.webkit.org/show_bug.cgi?id=124533

Patch by Martin Hock <mhock@apple.com> on 2013-12-02
Reviewed by Sam Weinig.

* GNUmakefile.list.am:
* Shared/APIArray.h:
* Shared/FilterIterator.h:
* Shared/IteratorPair.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::toStringVector):
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):

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

* UIProcess/API/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS initWithContext:]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fixes for GCC-using ports after r159965 and later
https://bugs.webkit.org/show_bug.cgi?id=125136

GCC doesn't process API::ClientTraits template instantiations unless they're done
inside the API namespace.

* Shared/WebConnectionClient.h:
* UIProcess/Notifications/WebNotificationProvider.h:
* UIProcess/WebContextClient.h:
* UIProcess/WebContextConnectionClient.h:
* UIProcess/WebContextInjectedBundleClient.h:
* UIProcess/WebCookieManagerProxyClient.h:
* UIProcess/WebDatabaseManagerProxyClient.h:
* UIProcess/WebDownloadClient.h:
* UIProcess/WebFindClient.h:
* UIProcess/WebFormClient.h:
* UIProcess/WebGeolocationProvider.h:
* UIProcess/WebHistoryClient.h:
* UIProcess/WebIconDatabaseClient.h:
* UIProcess/WebLoaderClient.h:
* UIProcess/WebOriginDataManagerProxyChangeClient.h:
* UIProcess/WebPageContextMenuClient.h:
* UIProcess/WebPolicyClient.h:
* UIProcess/WebUIClient.h:
* WebProcess/InjectedBundle/InjectedBundleClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge mips and arm/sh4 paths in nativeForGenerator and privateCompileCTINativeCall functions.
https://bugs.webkit.org/show_bug.cgi?id=125067

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

* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTINativeCall):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add spatial navigation API in EFL port
https://bugs.webkit.org/show_bug.cgi?id=125002

Patch by Dariusz Frankiewicz <d.frankiewic@samsung.com> on 2013-12-03
Reviewed by Gyuyoung Kim.

API enables capability of turning on and off spatial navigation
and check is state.
Spatial navigation is the ability to navigate between focusable
elements by keyboard.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_spatial_navigation_enabled_set):
(ewk_settings_spatial_navigation_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Style Checker false pass.
https://bugs.webkit.org/show_bug.cgi?id=112456

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-03
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/style/checkers/changelog.py:
(ChangeLogChecker.check_entry):
simple regex fix to check "No new tests (...)."
* Scripts/webkitpy/style/checkers/changelog_unittest.py:
(ChangeLogCheckerTest.test_no_new_tests):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove get_test() and reference test names directly instead.
https://bugs.webkit.org/show_bug.cgi?id=124962

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-03
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.__init__):
(Base.get_basic_tests):
(assert_exp):
(MiscTests.test_multiple_results):
(MiscTests.test_category_expectations):
(MiscTests.test_get_modifiers):
(MiscTests.test_get_expectations_string):
(MiscTests.test_get_test_set):
(MiscTests.test_parse_warning):
(MiscTests.test_pixel_tests_flag.match):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Correct broken build on efl port with --no-netscape-plugin-api
configuration.
https://bugs.webkit.org/show_bug.cgi?id=123997

Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-12-03
Reviewed by Zoltan Herczeg.

Build failed on efl port with --no-netscape-plugin-api configuration
as ld did not found some methods. The configuration uses a minimal
empty implementation of the class, which is now extended with empty
method implementations.

* plugins/PluginPackageNone.cpp:
(WebCore::PluginPackage::createPackage):
  Returns NULL pointer.
(WebCore::PluginPackage::hash):
  Returns 0.
(WebCore::PluginPackage::equal):
  Returns true (equals).
(WebCore::PluginPackage::compare):
  Returns 0 (equals).
(WebCore::PluginPackage::~PluginPackage):
  Do nothing.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix EFL build with INPUT_TYPE_COLOR disabled.
https://bugs.webkit.org/show_bug.cgi?id=125065

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-03
Reviewed by Zoltan Herczeg.

* UIProcess/API/efl/ewk_color_picker.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Nix Upstream: Adding missing nix new files to WebCore
https://bugs.webkit.org/show_bug.cgi?id=124987

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-03
Reviewed by Benjamin Poulain.

No new tests needed.

* PlatformNix.cmake:
* platform/nix/ErrorsNix.cpp: Added.
* platform/nix/ErrorsNix.h: Added.
* platform/nix/FileSystemNix.cpp: Added.
* platform/nix/MIMETypeRegistryNix.cpp: Added.
* platform/nix/SharedTimerNix.cpp: Added.
* platform/nix/TemporaryLinkStubs.cpp: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Debug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965.
https://bugs.webkit.org/show_bug.cgi?id=125140

Reviewed by Csaba Osztrogonác.

* Shared/APIClient.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Guard JIT include.
https://bugs.webkit.org/show_bug.cgi?id=125063

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-03
Reviewed by Filip Pizlo.

* llint/LLIntThunks.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
testapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow>::size()
https://bugs.webkit.org/show_bug.cgi?id=121972

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-03
Reviewed by Michael Saboff.

The reason for the crash is that the wrong memory block is decommitted.
This can happen if no memory has been committed in the reserved block before the JSStack object is destroyed.
In the JSStack destructor, the pointer to decommit then points to the end of the block (or the start of the next), and the decommit size is zero.
If there is a block just after the block we are trying to decommit, this block will be decommitted, since Windows will decommit the whole block,
if the decommit size is zero (see VirtualFree). When somebody tries to read/write to this block later, we crash.

* interpreter/JSStack.cpp:
(JSC::JSStack::~JSStack): Don't decommit memory if nothing has been committed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an MathMLSelectElement class to implement <maction> and <semantics>.
<https://webkit.org/b/120058>

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-03
Reviewed by Chris Fleizach.

Source/WebCore:

Tests: mathml/presentation/maction-dynamic.html
       mathml/presentation/maction.html
       mathml/presentation/semantics.html

This adds a new MathMLSelectElement class to prepare the implementation
of the <maction> and <semantics> elements, for which only one "selected"
child is visible. We now simply display the first child of the
<semantics> element instead of hiding the annotations and this allows to
handle the use case of SVG-in-MathML as generated by Instiki when
bug 124128 is fixed ; Gecko's selection algorithm will be implemented
later (bug 100626). We now also rely on the @actiontype and @selection
attributes to select the visible <maction> child ; It remains to deal
with the user interaction (bug 85734).

* CMakeLists.txt: add the new files.
* GNUmakefile.list.am: ditto
* Target.pri: ditto
* WebCore.vcxproj/WebCore.vcxproj: ditto
* WebCore.vcxproj/WebCore.vcxproj.filters: ditto
* WebCore.xcodeproj/project.pbxproj: ditto
* css/mathml.css: remove the CSS rule for annotation/annotation-xml.
* mathml/MathMLAllInOne.cpp: add the new cpp file.
* mathml/MathMLSelectElement.cpp: Added.
(WebCore::MathMLSelectElement::MathMLSelectElement):
(WebCore::MathMLSelectElement::create):
(WebCore::MathMLSelectElement::createRenderer):
(WebCore::MathMLSelectElement::childShouldCreateRenderer):
(WebCore::MathMLSelectElement::finishParsingChildren):
(WebCore::MathMLSelectElement::childrenChanged):
(WebCore::MathMLSelectElement::attributeChanged):
(WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
* mathml/MathMLSelectElement.h: Added.
* mathml/mathattrs.in: add actiontype and selection attributes.
* mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.

LayoutTests:

New tests for the selection of the visible child in the <maction> and <semantics> elements.

* mathml/presentation/maction-dynamic-expected.html: Added.
* mathml/presentation/maction-dynamic.html: Added.
* mathml/presentation/maction-expected.html: Added.
* mathml/presentation/maction.html: Added.
* mathml/presentation/semantics-expected.html: Added.
* mathml/presentation/semantics.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove function from TextChecker
https://bugs.webkit.org/show_bug.cgi?id=125148

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-03
Reviewed by Darin Adler.

The process_file_data is used only from the unit tests, so it is simply moved there.

* Scripts/webkitpy/style/checkers/text.py:
(TextChecker.check):
* Scripts/webkitpy/style/checkers/text_unittest.py:
(TextStyleTestCase.process_file_data):
(TextStyleTestCase.assertNoError):
(TextStyleTestCase.assertError):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[css shapes] layout for new ellipse syntax
https://bugs.webkit.org/show_bug.cgi?id=124621

Source/WebCore:

Reviewed by Dirk Schulze.

Implement support for doing layout with the new ellipse shape syntax,
including basic animation support.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html

* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Convert new ellipse to a layout shape.
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend): Ignore ellipses with values that
    cannot be interpolated.
(WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
    either radiusX or radiusY, shared by clip-path and shape code paths.
(WebCore::BasicShapeEllipse::path):
* rendering/style/BasicShapes.h:

LayoutTests:

Add a new test for the new ellipse syntax. Also update existing shape-inside, animation, and clip-path tests to
test the new ellipse syntax for clipping and shape-inside.

Reviewed by Dirk Schulze.

* animations/resources/animation-test-helpers.js:
(parseBasicShape):
* css3/masking/clip-path-animation-expected.txt:
* css3/masking/clip-path-animation.html:
* css3/masking/clip-path-ellipse.html:
* fast/shapes/shape-inside/shape-inside-animation-expected.txt:
* fast/shapes/shape-inside/shape-inside-animation.html:
* fast/shapes/shape-inside/shape-inside-ellipse-padding.html:
* fast/shapes/shape-inside/shape-inside-ellipse.html:
* fast/shapes/shape-inside/shape-inside-empty-expected.html:
* fast/shapes/shape-inside/shape-inside-empty.html:
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix EFL build error in WK2 (159965)
https://bugs.webkit.org/show_bug.cgi?id=125153

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-03
Reviewed by Darin Adler.

* Shared/APIClient.h:

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