[WinCairo] testapi.exe is not built.
https://bugs.webkit.org/show_bug.cgi?id=136369

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-02
Reviewed by Alex Christensen.

The testapi project should be of type Application.

* JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj: Change project type to Application.
* JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj: Ditto.
* JavaScriptCore.vcxproj/testapi/testapiCommonCFLite.props: Compile and link fix.
* JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj: Change project type to Application.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prevent decoded images from being destroyed when they're in use.
https://bugs.webkit.org/show_bug.cgi?id=136259.

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2014-09-02
Reviewed by Darin Adler.

Try to fix a regression introduced by r172790. Before the patch,
CachedImage does not release its Image object if it still has clients.
However this behavior was changed due to removal of CachedResource::isSafeToMakePurgeable(),
which implied a call to CachedResource::hasClients(). This patch restores
the behavior by adding a check to hasClients() in CachedImage::destroyDecodedData().

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::destroyDecodedData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CachedResourceLoader should check redirections to reuse or not cached resources
https://bugs.webkit.org/show_bug.cgi?id=131757

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-02
Reviewed by Antti Koivisto.

Source/WebCore:

Added cache-control redirection check to properly determine revalidation policy.
Tightened redirection cache-control header check by testing for no-cache and must-revalidate directives.
Added redirection freshness check.

Test: http/tests/cache/cache-redirections.html

* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::canReuse): Removed redirection check (now handled by CachedResource::redirectChainAllowsReuse).
* loader/cache/CachedResource.cpp:
(WebCore::currentAge): Moved from WebCore::CachedResource::currentAge method to static function. Added response and responseTimestamp as parameters.
(WebCore::CachedResource::CachedResource): Initialized redirection chain status (no redirection and expiracy date set to never).
(WebCore::CachedResource::isExpired): Updated according new currentAge/freshnessLifetime method parameters.
(WebCore::CachedResource::freshnessLifetime): Added response as parameter.
(WebCore::CachedResource::willSendRequest): Computes whether a redirection can be cached, and if cached for how long it will remain fresh.
(WebCore::CachedResource::redirectChainAllowsReuse): Return false if any of the redirection in the redirection chain cannot be cached or expired.
* loader/cache/CachedResource.h: Added cache chain member that stores whether the redirection chain can be cached and if so when it will be expired.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Added check of the redirection chain.

LayoutTests:

Added test checks that fresh redirections allow reuse of cached resoure and expired or not cacheable redirections trigger reloading of resources.

* http/tests/cache/cache-redirections-expected.txt: Added.
* http/tests/cache/cache-redirections.html: Added.
* http/tests/cache/resources/cache-control-redirect.php: Added.
* http/tests/cache/resources/cacheable-random-text.php: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
check-webkit-style should complain about C++ comments in Platform.h
https://bugs.webkit.org/show_bug.cgi?id=133802

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-09-02
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_platformh_comments):
(_process_lines):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_platformh_comment):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce CSS_BASIC_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=136403

Reviewed by Darin Adler.

toCSSBasicFoo() will help to detect wrong type casting. So this patch generates it, and use it
instead of static_cast<const CSSBasicFoo*>().

No new tests no behavior changes.

* css/BasicShapeFunctions.cpp:
(WebCore::basicShapeForValue):
* css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInset::equals):
* css/CSSBasicShapes.h:


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