[Qt] Reduce memory pressure at link time with less compromise on speed of linking

Reviewed by Csaba Osztrogonác.

Revert r131718 that made us pass -fno-keep-memory to the linker for any
i386 builds. The downside of passing that option is that it slows down
the process of linking and as Ossy determined, release builds do _not_
take as much memory (2.x GB) for linking but much less (~350MB).

However there is one condition where even release builds do take up too
much memory, and that is when Qt is configured with
-separate-debug-info, because it adds a -g next to -O2. The recent
introduction of loading qt_build_config enabled us to read qmodule.pri,
which adds the -g if Qt is configured with -separate-debug-info. So
instead of playing with -fno-keep-memory (which is a last resort
measure for debug builds) we should tweak our existing mechanism of
dealing with the debug info:

production_build.prf tries to ensure that we use -g only in static
libraries that contain API facing code, so that we get nice backtraces
at least into the API layer. For other static libraries such as WebCore
we skip -g via CONFIG += no_debug_info. One of the conditions for
enabling this tweak is CONFIG(debug, debug|release). This patch adds
contains(QT_CONFIG,separate_debug_info) to the conditions.

The patch also extend the CONFIG += no_debug_info part with the removal
of no_separate_debug_info. There is no point in running an extra
build step to strip out debug info into a separate file if at the same
time we tell the compiler to not generate any debug info altogether.

* qmake/mkspecs/features/production_build.prf:
* qmake/mkspecs/features/unix/default_post.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Don't use the C API internally in WebKitHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=96779

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
* UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewMouseTargetChanged):
(webkitWebViewPopulateContextMenu):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, do not make UseV8.cmake executable.

* UseV8.cmake: Removed property svn:executable.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Don't use the C API internally in PolicyClient classes
https://bugs.webkit.org/show_bug.cgi?id=96781

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
(webkitNavigationPolicyDecisionCreate):
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPolicyClient.cpp:
(decidePolicyForNavigationActionCallback):
(decidePolicyForNewWindowActionCallback):
(decidePolicyForResponseCallback):
(attachPolicyClientToView):
* UIProcess/API/gtk/WebKitPolicyClient.h:
* UIProcess/API/gtk/WebKitPolicyDecision.cpp:
(_WebKitPolicyDecisionPrivate):
(webkitPolicyDecisionFinalize):
(webkitPolicyDecisionSetListener):
(webkit_policy_decision_use):
(webkit_policy_decision_ignore):
(webkit_policy_decision_download):
* UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPrivate.cpp:
(wkEventMouseButtonToWebKitMouseButton):
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
(webkitResponsePolicyDecisionCreate):
* UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Don't use the C API internally in WebKitURIResponse
https://bugs.webkit.org/show_bug.cgi?id=96782

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkitURIResponseSetCertificateInfo):
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(setCertificateToMainResource):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Don't use the C API internally in WebKitWebResource
https://bugs.webkit.org/show_bug.cgi?id=96783

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitWebResource.cpp:
(_WebKitWebResourcePrivate):
(webkitWebResourceCreate):
(webkitWebResourceGetFrame):
(ResourceGetDataAsyncData):
(resourceDataCallback):
(webkit_web_resource_get_data):
(webkit_web_resource_get_data_finish):
* UIProcess/API/gtk/WebKitWebResourcePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(setCertificateToMainResource):
(webkitWebViewResourceLoadStarted):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Improved support for silent builds

Reviewed by Tor Arne Vestbø.

Silence our extra compilers when CONFIG+=silent is set.

* qmake/mkspecs/features/default_post.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening

Skipping a test, remove unnecessary expected files.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-10-18

* platform/qt-5.0/fast/forms/box-shadow-override-expected.png: Removed.
* platform/qt-5.0/fast/forms/box-shadow-override-expected.txt: Removed.
* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Styles] Forcibly invoke property names suggestion box for empty prefix
https://bugs.webkit.org/show_bug.cgi?id=99711

Reviewed by Vsevolod Vlasov.

Suggestions should be returned unconditionally for CSS property names, regardless of the prefix.

* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.requestCSSNameCompletions):
(WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
* inspector/front-end/CSSKeywordCompletions.js:
(WebInspector.CSSKeywordCompletions.forProperty):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip http/tests/security/xss-DENIED-xsl-external-entity.xml.

It seems to be passing consistently now.

* platform/efl/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Really remove the svn:executable property from Source/WebCore/UseV8.cmake

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
treeScopeOfParent doesn't return the TreeScope of the parent
https://bugs.webkit.org/show_bug.cgi?id=98207

Reviewed by Hajime Morita.

A minor clean up. Remove treeScopeOfParent() in Element.cpp.

No tests needed, this is just a clean up.

* dom/Element.cpp:
(WebCore::Element::removedFrom):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Rebaseline http/tests/plugins/ after r129972
https://bugs.webkit.org/show_bug.cgi?id=99672

Unreviewed. Plugin feature is enabled on EFL WK2 port after r129972.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-10-18

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Add CustomFilterOperation serialization in ArgumentCoder.
https://bugs.webkit.org/show_bug.cgi?id=98733

Patch by Huang Dongsung <luxtella@company100.net> on 2012-10-18
Reviewed by Noam Rosenthal.

Source/WebCore:

Change CustomFilterOperation::parameters() to const function, because
this method is a getter and a const instance needs to call this method.

No new tests because there is no change in behavior.

* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::parameters):

Source/WebKit2:

Add ArgumentCoders for CustomFilterOperation and all dependent classes.
Coordinated Graphics will use this css shaders serialization when it enables CSS
Shaders.

No new tests, code path is not activated yet.

* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Added.
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Added.
(WebCore):
(CoreIPC):
* Shared/CoordinatedGraphics/WebCustomFilterProgram.h: Added.
(WebKit):
(WebCustomFilterProgram):
    WebCustomFilterProgram is made to serialize the data of a
    StyleCustomFilterProgram to the UI process.
(WebKit::WebCustomFilterProgram::create):
(WebKit::WebCustomFilterProgram::WebCustomFilterProgram):
* Shared/ShareableSurface.cpp:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Target.pri:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
* WebKit2.pri:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Don't use the C API internally in WebKitWindowProperties
https://bugs.webkit.org/show_bug.cgi?id=96785

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateNewPage):
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkitWindowPropertiesUpdateFromWebWindowFeatures):
* UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening. Remove pixel expectation for a test that's actually a reftest.

* platform/efl/fast/forms/datalist/update-range-with-datalist-expected.png: Removed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: add X-WebKit-CSP header into inspector.html
https://bugs.webkit.org/show_bug.cgi?id=99710

Reviewed by Vsevolod Vlasov.

A simple sanity measure.

* inspector/front-end/inspector.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix GTK+ debug build.

* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkitWebResourceCreate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Update pixel expectation for a datalist test.

* platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-expected.png:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium rebaselines.

* platform/chromium-linux/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Removed.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Added.
* platform/chromium-win/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Added.


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