[GTK] Avoid unnecessary string duplications in FileSystemGtk
https://bugs.webkit.org/show_bug.cgi?id=127469

Reviewed by Martin Robinson.

We are using fileSystemRepresentation() everywhere internally
which returns a CString that always duplicates the string.
Add unescapedFilename() internal helper function that returns a
GUniquePtr and used it everywhere instead of fileSystemRepresentation().

* platform/gtk/FileSystemGtk.cpp:
(WebCore::unescapedFilename):
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileStat):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::directoryName):
(WebCore::listDirectory):
(WebCore::openFile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[SOUP] Remove soupURIToKURL
https://bugs.webkit.org/show_bug.cgi?id=127104

Reviewed by Martin Robinson.

Source/WebCore:

In favor of a URL constructor receiving a SoupURI. Also add a
method to URL to create a soupURI.

* GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
* PlatformEfl.cmake: Ditto.
* PlatformGTK.cmake: Ditto.
* platform/URL.h: Add URL constructor receiving a SoupURI and
createSoupURI() to create a new soupURI for the URL.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::setCookiesFromDOM): Use URL::createSoupURI().
(WebCore::cookiesForSession): Ditto.
(WebCore::getRawCookies): Ditto.
(WebCore::deleteCookie): Ditto.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Use the new URL constructor instead of
soupURIToKURL.
(WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
* platform/network/soup/ResourceRequest.h: Rename soupURI as
createSoupURI to make it clear that the method returns a newly
created SoupURI.
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
(WebCore::ResourceRequest::updateSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
constructor instead of soupURIToKURL.
(WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage): Use the new
URL constructor instead of soupURIToKURL.
* platform/network/soup/SoupURIUtils.cpp: Removed.
* platform/network/soup/SoupURIUtils.h: Removed.
* platform/soup/URLSoup.cpp: Added.
(WebCore::URL::URL):
(WebCore::URL::createSoupURI):

Tools:

* TestWebKitAPI/GNUmakefile.am: Add soup cppflags to WebCore unit
tests, because URL.h now includes GUniquePtrSoup.h.
* TestWebKitAPI/CMakeLists.txt: Ditto.
* WebKitTestRunner/PlatformEfl.cmake: Add soup cppflags to WTR,
because URL.h now includes GUniquePtrSoup.h.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add API to allow setting the process model in WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=125463

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-01-28
Reviewed by Carlos Garcia Campos.

Implements accessors in WebKitWebContext for the process model.
The default behavior is unchanged, and a single web process is
used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
as the process model will make use one web process for each
WebKitWebView. This also enables the network process. Setting
the process model must be done as early as possible, before the
very first web process is spawned.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebContext.cpp:
Add accessors in the API to get/set the process model.
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
* UIProcess/API/gtk/WebKitWebContext.h:
Define the WebKitProcessModel enum.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
Add new public API bits to the documentation.

Tools:

* MiniBrowser/gtk/main.c:
(main):
Enable multiple process mode if the MINIBROWSER_MULTIPROCESS
environment variable is defined and not empty.
* TestWebKitAPI/GNUmakefile.am:
Add new TestMultiprocess test case.
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
Add new TestMultiprocess test case.
* TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp: Added.
(loadChanged):
(testMultipleSecondaryProcesses):
(initializeWebExtensions):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(methodCallCallback):
Implement the GetProcessIdentifier D-Bus method.
(makeBusName):
Choose a different bus name when the web extension is used
from TestMultiprocess.
(webkit_web_extension_initialize_with_user_data):
Use makeBusName() to choose the bus name.

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