https://bugs.webkit.org/show_bug.cgi?id=98313
ScrollingStateNode should keep a Vector of children instead of child 
pointers

Reviewed by Simon Fraser.

This patch re-names ScrollingStateNode::cloneNode() to 
ScrollingStateNode::cloneAndResetNode(). The new function resets the 
change properties of the current node after cloning it, and it also 
takes care of cloning children, which the old function did not do.

m_firstChild and m_nextSibling are gone. Use the m_children Vector 
instead.
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::cloneAndResetChildNodes):
(WebCore::ScrollingStateNode::appendChild):
* page/scrolling/ScrollingStateNode.h:
(ScrollingStateNode):
(WebCore::ScrollingStateNode::parent):
(WebCore::ScrollingStateNode::setParent):

Reset the change properties and clone children in cloneAndResetNode()
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::cloneAndResetNode):
* page/scrolling/ScrollingStateScrollingNode.h:

Yay, this function can be vastly simplified now that we don't have 
those messy child and sibling pointers.
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::commit):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove support for ENABLE(LEGACY_WEBKIT_BLOB_BUILDER)
https://bugs.webkit.org/show_bug.cgi?id=98301

Reviewed by Eric Seidel.

Source/WebCore:

According to anonymous usage statistics, the APIs guarded by
ENABLE(LEGACY_WEBKIT_BLOB_BUILDER) are used on approximately 0.006% of
web pages. Given that this feature is only enabled in GTK and Chromium,
it seems likely that we should remove it.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.features.am:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/WebKitBlobBuilder.idl: Removed.
* page/DOMWindow.idl:

Source/WebKit/chromium:

* features.gypi:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
OpaqueJSString doesn't optimally handle 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=98300

Reviewed by Geoffrey Garen.

Change OpaqueJSString to store and manage a String instead of a UChar buffer.
The member string is a copy of any string used during creation.

* API/OpaqueJSString.cpp:
(OpaqueJSString::create):
(OpaqueJSString::identifier):
* API/OpaqueJSString.h:
(OpaqueJSString::characters):
(OpaqueJSString::length):
(OpaqueJSString::string):
(OpaqueJSString::OpaqueJSString):
(OpaqueJSString):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium/win rebaseline for r130329.

* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, remove 2 tests that were moved in http://trac.webkit.org/changeset/130150.

http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html and
http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html were
refactored away.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plugins are killed after 45 seconds if showing keychain "Allow/Deny" dialog
https://bugs.webkit.org/show_bug.cgi?id=85138
<rdar://problem/11406430>

Reviewed by Andreas Kling.

Remove the watchdog that would kill a plug-in if we've been waiting for a sync reply from it for more than 45 seconds.
It's unlikely that someone is going to wait 45 seconds for Safari to recover from a plug-in hang, and the timeout is
causing problems with plug-ins (see the bugzilla bug for more information).

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::Connection):
(CoreIPC::Connection::waitForSyncReply):
* Platform/CoreIPC/Connection.h:
(Client):
(Connection):
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* UIProcess/Plugins/PluginProcessManager.cpp:
* UIProcess/Plugins/PluginProcessManager.h:
(PluginProcessManager):
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/WebConnectionToWebProcess.cpp:
* UIProcess/WebConnectionToWebProcess.h:
(WebConnectionToWebProcess):
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::PluginProcessConnection):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/WebConnectionToUIProcess.cpp:
* WebProcess/WebConnectionToUIProcess.h:
(WebConnectionToUIProcess):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
(WebProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[soup] WebKit crashes when doing a http request
https://bugs.webkit.org/show_bug.cgi?id=98055

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-10-03
Reviewed by Martin Robinson.

On i386, (d->m_firstRequest.timeoutInterval() * 1000) results in 0 if
timeoutInterval() is INT_MAX. So, set default timeout to 0 to avoid
calling soup_add_timeout with a 0 value.

Also, if resource handle is deleted before "request-started" signal is
emitted, soupMessage handle points to a deleted object, and a crash
occurs. So, reset soupMessage handle data in
cleanupSoupRequestOperation so it won't happen anymore.

Lastly, if timeout occurs before request is completed, handle is
deleted, and crash occurs in sendRequestCallback due to an early
destroyed handle. To avoid that, call handle->cancel in
requestTimeoutCallback. There is no need to call
cleanupSoupRequestOperation anymore since handle->cancel will trigger
sendRequestCallback, and as handle is deleted,
cleanupSoupRequestOperation will be called automatically.

No new tests yet, tests will be added with the patch in bug 74802.

* platform/network/ResourceRequestBase.cpp:
(WebCore):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::cleanupSoupRequestOperation):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::requestTimeoutCallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Make inspector directly useable in GtkLauncher/MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=98310

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2012-10-03
Reviewed by Martin Robinson.

Make MiniBrowser/GtkLauncher define the path to the inspector
resources by setting the WEBKIT_INSPECTOR_PATH environment
variable pointing to the copy of the inspector resources in
the build directory. If the environment variable is already
defined, its value is not overwritten. The path is derived
from the WEBKIT_EXEC_PATH macro defined in the makefiles.

* GNUmakefile.am:
* GtkLauncher/main.c:
(main):
* MiniBrowser/gtk/main.c:
(main):

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