Remove run-test-webkit-api
https://bugs.webkit.org/show_bug.cgi?id=118145

Reviewed by Csaba Osztrogonác.

Having two scripts doing the same thing is confusing. There are also cases failing
on run-test-webkit-api since it does not restart a new process for each test.

* Scripts/run-test-webkit-api: Removed.
* Scripts/webkitdirs.pm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add preferences property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=128337

Reviewed by Sam Weinig.

Also use RetainPtr for processClass and preferences so we won't leak them.

* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration processClass]):
(-[WKWebViewConfiguration setProcessClass:]):
(-[WKWebViewConfiguration preferences]):
(-[WKWebViewConfiguration setPreferences:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Add Console support to JSContext Inspection
https://bugs.webkit.org/show_bug.cgi?id=127941

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
Add new files.

* inspector/agents/InspectorConsoleAgent.cpp: Renamed from Source/WebCore/inspector/InspectorConsoleAgent.cpp.
* inspector/agents/InspectorConsoleAgent.h: Added.
New agent moved from WebCore. Rename a method to work in JS only context.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Instantiate ConsoleAgent.

* inspector/agents/JSGlobalObjectConsoleAgent.h: Copied from Source/WebCore/inspector/PageInjectedScriptHost.h.
* inspector/agents/JSGlobalObjectConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptHost.h.
(Inspector::JSGlobalObjectConsoleAgent::JSGlobalObjectConsoleAgent):
(Inspector::JSGlobalObjectConsoleAgent::setMonitoringXHREnabled):
(Inspector::JSGlobalObjectConsoleAgent::addInspectedNode):
(Inspector::JSGlobalObjectConsoleAgent::addInspectedHeapObject):
JSGlobalObject implementation.

* inspector/agents/JSGlobalObjectDebuggerAgent.h:
* inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
(Inspector::JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent):
(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
Use ConsoleAgent to report logs.

* inspector/ConsoleMessage.cpp: Renamed from Source/WebCore/inspector/ConsoleMessage.cpp.
* inspector/ConsoleMessage.h: Renamed from Source/WebCore/inspector/ConsoleMessage.h.
* inspector/ConsoleTypes.h: Copied from Source/WebCore/inspector/ConsoleAPITypes.h.
* inspector/IdentifiersFactory.cpp: Renamed from Source/WebCore/inspector/IdentifiersFactory.cpp.
* inspector/IdentifiersFactory.h: Renamed from Source/WebCore/inspector/IdentifiersFactory.h.
* inspector/ScriptArguments.cpp: Renamed from Source/WebCore/inspector/ScriptArguments.cpp.
* inspector/ScriptArguments.h: Renamed from Source/WebCore/inspector/ScriptArguments.h.
* inspector/ScriptCallFrame.cpp: Renamed from Source/WebCore/inspector/ScriptCallFrame.cpp.
* inspector/ScriptCallFrame.h: Renamed from Source/WebCore/inspector/ScriptCallFrame.h.
* inspector/ScriptCallStack.cpp: Renamed from Source/WebCore/inspector/ScriptCallStack.cpp.
* inspector/ScriptCallStack.h: Renamed from Source/WebCore/inspector/ScriptCallStack.h.
* inspector/ScriptCallStackFactory.cpp: Renamed from Source/WebCore/bindings/js/ScriptCallStackFactory.cpp.
* inspector/ScriptCallStackFactory.h: Renamed from Source/WebCore/bindings/js/ScriptCallStackFactory.h.
* inspector/protocol/Console.json: Renamed from Source/WebCore/inspector/protocol/Console.json.
* inspector/scripts/generate-combined-inspector-json.py:

Source/WebCore:

  - Move InspectorConsoleAgent and dependencies to JavaScriptCore
    and into the Inspector namespace.
  - Update Console Message enum types to enum classes and update
    all users to the new, simpler names.
  - Since we are updating addConsoleMessage callsites anyways, add
    ASCIILiteral where appropriate.
  - Add WebConsoleAgent base of Page/Worker ConsoleAgent to implement
    what could not be pushed into JavaScriptCore.

* CMakeLists.txt:
* DerivedSources.make:
* ForwardingHeaders/inspector/ConsoleMessage.h: Added.
* ForwardingHeaders/inspector/ConsoleTypes.h: Added.
* ForwardingHeaders/inspector/IdentifiersFactory.h: Added.
* ForwardingHeaders/inspector/ScriptArguments.h: Added.
* ForwardingHeaders/inspector/ScriptCallFrame.h: Added.
* ForwardingHeaders/inspector/ScriptCallStack.h: Added.
* ForwardingHeaders/inspector/ScriptCallStackFactory.h: Added.
* ForwardingHeaders/inspector/agents/InspectorConsoleAgent.h: Added.
* GNUmakefile.am:
* GNUmakefile.list.am:
Add / remove files from builds.

* inspector/WebConsoleAgent.h:
* inspector/WebConsoleAgent.cpp: Added.
(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::setMonitoringXHREnabled):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::didFinishXHRLoading):
(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):
(WebCore::WebConsoleAgent::addInspectedHeapObject):
Implement what could not be pushed down into JavaScriptCore.

* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::webConsoleAgent):
(WebCore::InstrumentingAgents::setWebConsoleAgent):
Hold a WebConsoleAgent instead of InspectorConsoleAgent.

* Modules/indexeddb/IDBCursor.cpp:
* Modules/indexeddb/IDBDatabase.cpp:
* Modules/indexeddb/IDBTransaction.cpp:
* Modules/quota/DOMWindowQuota.cpp:
(WebCore::DOMWindowQuota::webkitStorageInfo):
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):
* Modules/webaudio/AudioContext.cpp:
* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::setPanningModel):
* Modules/webdatabase/DatabaseBase.cpp:
(WebCore::DatabaseBase::logErrorMessage):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::logErrorMessage):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
(WebCore::WebSocket::send):
(WebCore::WebSocket::close):
(WebCore::WebSocket::setBinaryType):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::didFailSocketStream):
* Modules/websockets/WebSocketHandshake.cpp:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSDOMBinding.cpp:
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallWith):
* bindings/scripts/test/JS/JSTestObj.cpp:
* css/CSSParser.cpp:
(WebCore::CSSParser::logError):
* css/MediaList.cpp:
(WebCore::addResolutionWarningMessageToConsole):
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::addMessage):
* dom/Document.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScript):
(WebCore::ScriptElement::notifyFinished):
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
* dom/ViewportArguments.cpp:
(WebCore::viewportErrorMessageLevel):
(WebCore::reportViewportWarning):
* fileapi/Blob.cpp:
* fileapi/WebKitBlobBuilder.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::validateInteractively):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseAttribute):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::printWarningToConsole):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
* inspector/CommandLineAPIHost.cpp:
* inspector/CommandLineAPIHost.h:
(WebCore::CommandLineAPIHost::init):
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorConsoleAgent.h: Removed.
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::addProfile):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::isConsoleAssertMessage):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleAgentEnabled):
* inspector/InspectorInstrumentation.h:
* inspector/InspectorLayerTreeAgent.cpp:
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::buildInitiatorObject):
* inspector/InspectorTimelineAgent.cpp:
* inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::clearMessages):
(WebCore::PageConsoleAgent::addInspectedNode):
* inspector/PageConsoleAgent.h:
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog):
* inspector/PageInjectedScriptHost.h:
* inspector/PageInjectedScriptManager.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::WebConsoleAgent::~WebConsoleAgent):
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
(WebCore::WorkerConsoleAgent::addInspectedNode):
* inspector/WorkerConsoleAgent.h:
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::breakpointActionLog):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::reportLocalLoadFailed):
(WebCore::FrameLoader::handleBeforeUnloadEvent):
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
(WebCore::createWindow):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
* loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::logWarning):
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::abort):
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
* page/ChromeClient.h:
* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::log):
(WebCore::Console::warn):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::table):
(WebCore::Console::clear):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::groupEnd):
* page/Console.h:
* page/ConsoleTypes.h: Removed.
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::ContentSecurityPolicy::logToConsole):
* page/DOMSecurityPolicy.cpp:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::printErrorMessage):
* page/DOMWindow.h:
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFailAccessControlCheck):
* page/PageConsole.cpp:
(WebCore::PageConsole::printMessageSourceAndLevelPrefix):
(WebCore::PageConsole::addMessage):
* page/PageConsole.h:
* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
* platform/CrossThreadCopier.h:
* rendering/shapes/ShapeInfo.cpp:
(WebCore::checkShapeImageOrigin):
* svg/SVGDocumentExtensions.cpp:
(WebCore::reportMessage):
(WebCore::SVGDocumentExtensions::reportWarning):
(WebCore::SVGDocumentExtensions::reportError):
* testing/Internals.cpp:
(WebCore::Internals::consoleMessageArgumentCounts):
* workers/DefaultSharedWorkerRepository.cpp:
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
* workers/SharedWorkerGlobalScope.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
* workers/WorkerGlobalScope.h:
* workers/WorkerMessagingProxy.cpp:
* workers/WorkerReportingProxy.h:
* xml/XMLHttpRequest.cpp:
(WebCore::logConsoleError):
(WebCore::XMLHttpRequest::send):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):

Source/WebInspectorUI:

* UserInterface/InspectorJSBackendCommands.js:
* UserInterface/InspectorWebBackendCommands.js:
ConsoleAgent moved to JavaScript section.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::addMessageToConsole):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
(stringForMessageLevel):
(WebChromeClient::addMessageToConsole):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

* inspector-protocol/page/deny-X-FrameOption-expected.txt:
Update with better line/column numbers now.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector
https://bugs.webkit.org/show_bug.cgi?id=128338

Reviewed by Sam Weinig.

* WebProcess/ios/WebProcessIOS.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for multiple sources for AutoInstaller
https://bugs.webkit.org/show_bug.cgi?id=124848

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-02-06
Reviewed by Ryosuke Niwa.

The autoinstaller in the webkitpy currently fails if the download source of a package is unavailable.
This patch adds support for multiple sources to the script. The sources are provided in three environment variables.
If it exists, the script will look at a local cache. If not, it will try to download the package from the original url.
If it fails, it gets a mirror from the corresponding environment variable.(One for sourceforge.org and one for pypi.python.org)

* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._copy_unpackaged_files_from_local_cache):  If the package is not packaged in its original form,
this method will copy it to the scratch directory. Otherwise it would be deleted from the cache, which we do not want.
(AutoInstaller._prepare_package): If the package is not zipped or tarred, and the file is in the cache, the
_copy_unpackaged_files_from_local_cache function is called.
(AutoInstaller._parse_colon_separated_mirrors_from_env): This will read the mirrors from the environment variables if possible,
and prepares them for further use.
(AutoInstaller):
(AutoInstaller._replace_domain_with_next_mirror): If the original download url fails, it is replaced by a mirror provided
in the environment variables. The function identifies the original source, and replaces it with a mirror. If it can't be done,
the return url will be None, indicating that no mirrors are provided, or none of them could be reached.
(AutoInstaller._download_to_stream): The timeout for one try is now limited to 30 seconds. Without this, the script waited for
roughly 4 minutes before retrying. After three failiures the script will try to switch to a mirror.
(AutoInstaller._check_package_in_local_autoinstall_cache): This method searches the cache for the currently downloaded module.
If it's found there, its path is returned.
(AutoInstaller._download):  Before downloading the module, it is looked up in the cache. If it's not found there,
the script will continue with the download, and cache the module.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Remove duplicate call to RunLoop::initializeMainRunLoop
https://bugs.webkit.org/show_bug.cgi?id=128328

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-06
Reviewed by Dan Bernstein.

* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView initWithFrame:configuration:]):
(-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, fix build error on 64bit debug build

Apply static_cast<long long> to int64_t variable when '%lli' is used.

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::clearObjectStore):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::setActive):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSManagedValue should automatically call removeManagedReference:withOwner: upon dealloc
https://bugs.webkit.org/show_bug.cgi?id=124053

Reviewed by Geoffrey Garen.

* API/JSManagedValue.h:
* API/JSManagedValue.mm:
(+[JSManagedValue managedValueWithValue:andOwner:]):
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue dealloc]):
(-[JSManagedValue didAddOwner:]):
(-[JSManagedValue didRemoveOwner:]):
* API/JSManagedValueInternal.h: Added.
* API/JSVirtualMachine.mm:
(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):
* API/WebKitAvailability.h:
* API/tests/testapi.mm:
(-[TextXYZ click]):
* JavaScriptCore.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Windows Build Fix after r163568.

Remove old symbol export. It is now const. Waiting for bot to produce new symbol.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Heap::writeBarrier shouldn't be static
https://bugs.webkit.org/show_bug.cgi?id=127807

Reviewed by Geoffrey Garen.

Currently it looks up the Heap in which to fire the write barrier by using
the cell passed to it. Almost every call site already has a reference to the
VM or the Heap itself. It seems wasteful to look it up all over again.

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopyWriteBarrier.h:
(JSC::CopyWriteBarrier::set):
* heap/Heap.cpp:
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::writeBarrier):
* jit/JITOperations.cpp:
* jit/JITWriteBarrier.h:
(JSC::JITWriteBarrierBase::set):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* runtime/Arguments.h:
* runtime/JSWeakMap.cpp:
* runtime/MapData.cpp:
(JSC::MapData::ensureSpaceForAppend):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
* runtime/Structure.h:
* runtime/WriteBarrier.h:
* runtime/WriteBarrierInlines.h: Added.

Source/WebCore:

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the setter definition from r163514.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-06

* UIProcess/API/Cocoa/WKWebViewPrivate.h:


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

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _remoteObjectRegistry]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make adoption agency use the task queue
https://bugs.webkit.org/show_bug.cgi?id=109445

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/parser/adoption-agency-crash-01.html
       fast/parser/adoption-agency-crash-02.html
       fast/parser/adoption-agency-crash-03.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::insert):
(WebCore::executeInsertTask):
(WebCore::executeReparentTask):
(WebCore::executeInsertAlreadyParsedChildTask):
(WebCore::executeTakeAllChildrenTask):
(WebCore::executeTask):
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::executeQueuedTasks):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::reparent):
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
(WebCore::HTMLConstructionSite::takeAllChildren):
(WebCore::HTMLConstructionSite::fosterParent):
* html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
(WebCore::HTMLConstructionSiteTask::oldParent):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

LayoutTests:

* TestExpectations:
* fast/parser/adoption-agency-crash-01-expected.txt: Added.
* fast/parser/adoption-agency-crash-01.html: Added.
* fast/parser/adoption-agency-crash-02-expected.txt: Added.
* fast/parser/adoption-agency-crash-02.html: Added.
* fast/parser/adoption-agency-crash-03-expected.txt: Added.
* fast/parser/adoption-agency-crash-03.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.

Rubber-stamped by Zalan Bujtas.

* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix iOS builds after r163574

* API/JSManagedValue.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Rounded Insets Let Content Overlap Shape
https://bugs.webkit.org/show_bug.cgi?id=127852

Reviewed by Bem Jones-Bey.

Source/WebCore:

Using LengthSize to FloatSize conversion from LengthSize.h lead to miscalculated
inset border radius, when the border radius was defined by percentages. This patch
fixes the behavior and removes the incorrect conversion.

Test: fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html

* css/LengthFunctions.cpp:
(WebCore::floatSizeForLengthSize): Add new helper function for LengthSize to FloatSize conversion.
* css/LengthFunctions.h:
* platform/LengthSize.h: Remove floatSize conversion.
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Use new helper function to calculate the right with for the inset border radius.

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
https://bugs.webkit.org/show_bug.cgi?id=128310

Reviewed by Alexey Proskuryakov.

Be more careful about using axObjectCache() directly since it can return null.
I audited the usage cases of this method and ensured the ptr was not null in cases
where I thought we might get hit by this.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::parentObject):
(WebCore::AccessibilityNodeObject::menuForMenuButton):
(WebCore::AccessibilityNodeObject::menuButtonForMenu):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
(WebCore::AccessibilityObject::findMatchingObjects):
(WebCore::AccessibilityObject::elementAccessibilityHitTest):
(WebCore::AccessibilityObject::axObjectCache):
(WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
(WebCore::AccessibilityObject::accessibilityIsIgnored):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::isTabItemSelected):
(WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
(WebCore::AccessibilityRenderObject::nodeIsTextControl):
(WebCore::AccessibilityRenderObject::activeDescendant):
(WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
(WebCore::AccessibilityRenderObject::observableObject):
(WebCore::AccessibilityRenderObject::textChanged):
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::addChildScrollbar):
(WebCore::AccessibilityScrollView::webAreaObject):
(WebCore::AccessibilityScrollView::parentObject):
(WebCore::AccessibilityScrollView::parentObjectIfExists):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS][WebKit2] Remove JoinExistingSession from plist
https://bugs.webkit.org/show_bug.cgi?id=128318
<rdar://problem/15971612>

Reviewed by Tim Horton.

Remove JoinExistingSession key that is not available on iOS.

* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] WebKit2 can't access the GPU
https://bugs.webkit.org/show_bug.cgi?id=128345
<rdar://problem/15976084>

Reviewed by Tim Horton.

Add an entitlement to allow web process to access GPU.

* Configurations/WebContent-iOS.entitlements: Added.
* Configurations/WebContentService.Development.xcconfig:
* Configurations/WebContentService.xcconfig:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r163558.
http://trac.webkit.org/changeset/163558
https://bugs.webkit.org/show_bug.cgi?id=128350

Breaks scrolling on certain websites (Requested by bfulgham on
#webkit).

* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
* page/WheelEventDeltaTracker.h:

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