Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
https://bugs.webkit.org/show_bug.cgi?id=125175

Reviewed by Darin Adler.

Source/WebCore:

In addition to highlighting the shape, also highlight the shape created
by shape-margin with a slightly more transparent color. This patch modifies
the shape info passed to the Inspector Overlay to include a path for both
the raw shape and the shape with margin.

Test: inspector-protocol/model/highlight-shape-outside-margin.html

* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
* inspector/InspectorOverlayPage.js:
(_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
* rendering/shapes/BoxShape.cpp:
(WebCore::addRoundedRect): Add a rounded rect to the path.
(WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
* rendering/shapes/BoxShape.h:
* rendering/shapes/PolygonShape.cpp:
(WebCore::addPolygon): Add a set of vertices as a polygon to the path.
(WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
* rendering/shapes/PolygonShape.h:
* rendering/shapes/RasterShape.h:
(WebCore::RasterShape::buildDisplayPaths): Ditto.
* rendering/shapes/RectangleShape.cpp:
(WebCore::RectangleShape::buildDisplayPaths): Ditto.
* rendering/shapes/RectangleShape.h:
* rendering/shapes/Shape.h:

LayoutTests:

Test that the shape and margin-shape are properly passed to the Inspector Overlay.
Arcs for rounded rectangles, circles, and ellipses are approximated using the same
bezier curve method present in Path.cpp.

* inspector-protocol/model/highlight-shape-outside-margin.html: Added.
* inspector-protocol/model/highlight-shape-outside.html: Updating shape-outside info model.
* inspector-protocol/resources/shape-info-helper.js: Adding utilities to compare alternate
  path formats.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/125559> Move JavaScriptCore off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit over
using the system availability macros directly. The original vision was that they'd serve
a cross-platform purpose but that never came to be.

Map from WebKit version to OS X version based on the mapping in WebKitAvailability.h.
All iOS versions are specified as 7.0 as that is when the JavaScriptCore C API was made
public.

Part of <rdar://problem/15512304>.

Reviewed by Anders Carlsson.

* API/JSBasePrivate.h:
* API/JSContextRef.h:
* API/JSContextRefPrivate.h:
* API/JSObjectRef.h:
* API/JSValueRef.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Give Unique StringImpls a meaningful data pointer
https://bugs.webkit.org/show_bug.cgi?id=125598

Reviewed by Michael Saboff.

Found by code inspection.  If there is a collision in an Identifier
table when comparing to a string literal we attempt to use the data
pointer (essentially this ends up being a null termination check).

Previously unique pointers just used the literal 1 as the data address
but this obviously fails when dereferenced.  Instead we now make the
data pointer point to the location of the buffer pointer itself.  As
the buffer pointer is initialised to 0, this satisfies the requirement
that the 0-length unique string is null terminated.

* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/125141> Modernize the JavaScriptCore API headers
<rdar://problem/15540121>

This consists of three main changes:
1) Converting the return type of initializer methods to instancetype.
2) Declaring properties rather than getters and setters.
3) Tagging C API methods with information about their memory management semantics.

Changing the declarations from getters and setters to properties also required
updating the headerdoc in a number of places.

Reviewed by Anders Carlsson.

* API/JSContext.h:
* API/JSContext.mm:
* API/JSManagedValue.h:
* API/JSManagedValue.mm:
* API/JSStringRefCF.h:
* API/JSValue.h:
* API/JSVirtualMachine.h:
* API/JSVirtualMachine.mm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCrypto keys should support structured clone
https://bugs.webkit.org/show_bug.cgi?id=125590

Reviewed by Oliver Hunt.

Source/WebCore: 

Tests: crypto/subtle/aes-postMessage.html
       crypto/subtle/hmac-postMessage.html
       crypto/subtle/postMessage-worker.html
       crypto/subtle/rsa-postMessage.html

* crypto/CryptoAlgorithmIdentifier.h:
(WebCore::CryptoAlgorithmIdentifier):
* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
adding a matching enum for structired clone serialization, it's as good a time as
any to update the order of values to match.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::countUsages):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::read):
(WebCore::CloneDeserializer::readHMACKey):
(WebCore::CloneDeserializer::readAESKey):
(WebCore::CloneDeserializer::readRSAKey):
(WebCore::CloneDeserializer::readCryptoKey):
(WebCore::CloneDeserializer::readTerminal):
Added serialization/deserialization for CryptoKey. This doesn't update version
number, because we don't currently store structured clones in persistent storage -
and even if we did, we wouldn't want to invalidate everything users already stored.

* crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::shared):
(WebCore::registryMutex):
(WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
(WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
(WebCore::CryptoAlgorithmRegistry::create):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
* crypto/CryptoKey.idl:
With structured clone, it is now possible to send a Key to a web worker. That's
of no practical use because the crypto API is not exposed in workers, but we
shouldn't crash anyway.

* crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::CryptoKeyAES):
(WebCore::CryptoKeyAES::isValidAESAlgorithm):
* crypto/keys/CryptoKeyAES.h:
Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
will assert.

* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/WebCoreCommon.props:
Added crypto/keys to search paths to avoid build breakage.

LayoutTests: 

* crypto/subtle/aes-postMessage-expected.txt: Added.
* crypto/subtle/aes-postMessage.html: Added.
* crypto/subtle/hmac-postMessage-expected.txt: Added.
* crypto/subtle/hmac-postMessage.html: Added.
* crypto/subtle/postMessage-worker-expected.txt: Added.
* crypto/subtle/postMessage-worker.html: Added.
* crypto/subtle/rsa-postMessage-expected.txt: Added.
* crypto/subtle/rsa-postMessage.html: Added.
* crypto/subtle/resources/postMessage-worker.js: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Store SHA1 hash in std::array
https://bugs.webkit.org/show_bug.cgi?id=125446

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-11
Reviewed by Darin Adler.

Change Vector to std::array and use typedef.

Source/JavaScriptCore:

* bytecode/CodeBlockHash.cpp:
(JSC::CodeBlockHash::CodeBlockHash):

Source/WebCore:

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::createDigest):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::HostTLSCertificateSet::computeCertificateHash):

Source/WTF:

* wtf/SHA1.cpp:
(WTF::SHA1::computeHash):
(WTF::SHA1::hexDigest):
(WTF::SHA1::computeHexDigest):
* wtf/SHA1.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=125324

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bindings/ScriptFunctionCall.cpp: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.cpp.
* bindings/ScriptFunctionCall.h: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.h.
* bindings/ScriptObject.cpp: Copied from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
* bindings/ScriptObject.h: Renamed from Source/WebCore/inspector/InspectorBaseAgent.h.
* bindings/ScriptValue.cpp: Renamed from Source/WebCore/bindings/js/ScriptValue.cpp.
* bindings/ScriptValue.h: Renamed from Source/WebCore/bindings/js/ScriptValue.h.
* inspector/InspectorAgentBase.h: Copied from Source/WebCore/inspector/InspectorAgentRegistry.h.
* inspector/InspectorAgentRegistry.cpp: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.cpp.
* inspector/InspectorBackendDispatcher.h: Renamed from Source/WebCore/inspector/InspectorBackendDispatcher.h.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
(Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):
* inspector/InspectorValues.cpp: Renamed from Source/WebCore/inspector/InspectorValues.cpp.
* inspector/InspectorValues.h: Renamed from Source/WebCore/inspector/InspectorValues.h.

Source/WebCore:

Part 1: Push down core inspector classes.

  - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
    down to JavaScriptCore and into the Inspector namespace.
  - Add forwarding headers for JavaScriptCore/inspector files.
  - Use the Inspector namespace where appropriate.
  - Rename InspectorBaseAgent to InspectorAgentBase for clarity.

Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.

  - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
  - Add forwarding headers
  - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.

Part 3: Push Down ScriptFunctionCall

  - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
  - Give constructor a function to all for a different JSC::call, because
    WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
  - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.

Part 4: Extract InspectorTypeBuilder helper functions

  - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
    its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
  - This moves TypeBuilder from namespace WebCore to namespace Inspector
  - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
    eventually the CodeGenerator script will do this for more then TypeBuilders
    and there will be "JS" TypeBuilders and "Web" TypeBuilders files.

No new tests. No change in functionality, just moving things around.

* CMakeLists.txt:
* ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
* ForwardingHeaders/bindings/ScriptObject.h: Added.
* ForwardingHeaders/bindings/ScriptValue.h: Added.
* ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
* ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
* ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
* ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
* ForwardingHeaders/inspector/InspectorValues.h: Added.
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::scriptValue):
(WebCore::IDBAny::IDBAny):
* Modules/indexeddb/IDBAny.h:
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::setValueReady):
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::lowerValue):
(WebCore::IDBKeyRange::upperValue):
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* Modules/indexeddb/IDBKeyRange.h:
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::generateIndexKeysForValue):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessInternal):
* Modules/indexeddb/IDBRequest.h:
* Modules/mediastream/CapabilityRange.cpp:
(WebCore::scriptValue):
(WebCore::CapabilityRange::min):
(WebCore::CapabilityRange::max):
* Modules/mediastream/CapabilityRange.h:
* Modules/mediastream/MediaTrackConstraint.h:
* Modules/mediastream/RTCIceCandidate.cpp:
* Modules/plugins/QuickTimePluginReplacement.cpp:
* Modules/plugins/QuickTimePluginReplacement.h:
* UseJSC.cmake:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/Dictionary.h:
(WebCore::Dictionary::getEventListener):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbKeyToScriptValue):
(WebCore::scriptValueToIDBKey):
* bindings/js/IDBBindingUtilities.h:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::scriptValueAsNode):
(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):
(WebCore::JSInjectedScriptHost::inspect):
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::functionCallHandlerFromAnyThread):
* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::currentState):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data):
(WebCore::handleInitMessageEvent):
* bindings/js/ScheduledAction.cpp:
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptArguments):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::executeScriptInWorld):
(WebCore::ScriptController::executeScript):
(WebCore::ScriptController::executeIfJavaScriptURL):
* bindings/js/ScriptController.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::updateCallStack):
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::runScript):
* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
(WebCore::handleException):
(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):
* bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
(WebCore::ScriptGlobalObject::ScriptGlobalObject):
* bindings/js/ScriptObject.h: Removed.
* bindings/js/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
(WebCore::ScriptProfile::buildInspectorObjectForHead):
(WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::objectByHeapObjectId):
(WebCore::ScriptProfiler::getHeapObjectId):
* bindings/js/ScriptProfiler.h:
* bindings/js/ScriptState.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::deserializeForInspector):
(WebCore::SerializedScriptValue::serialize):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/SerializedScriptValue.h:
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):
* bindings/js/WorkerScriptController.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjAnyAttribute):
* dom/CustomEvent.cpp:
(WebCore::CustomEvent::initCustomEvent):
* dom/CustomEvent.h:
(WebCore::CustomEvent::detail):
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):
* dom/MessageEvent.h:
(WebCore::MessageEvent::create):
(WebCore::MessageEvent::dataAsScriptValue):
* dom/PopStateEvent.h:
(WebCore::PopStateEvent::state):
* dom/ScriptElement.cpp:
* html/HTMLMediaElement.cpp:
* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/CodeGeneratorInspector.py:
(RawTypes.BaseType.get_raw_validator_call_text):
(RawTypes.Object.get_array_item_raw_c_type_text):
(RawTypes.Any.get_array_item_raw_c_type_text):
(RawTypes.Array.get_array_item_raw_c_type_text):
(CommandReturnPassModel.OptOutput.get_return_var_type):
(CommandReturnPassModel.OptOutput.get_output_parameter_type):
(TypeModel.ExactlyInt.get_input_param_type_text):
(TypeModel.ExactlyInt.get_opt_output_type_):
(TypeModel.init_class):
(TypeBindings.create_named_type_declaration.Helper):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Inspector):
(ArrayBinding.get_array_item_c_type_text):
(Generator.go):
(Generator.process_command):
* inspector/CodeGeneratorInspectorStrings.py:
(void):
(InspectorFrontend_h):
(InspectorBackendDispatchers_h):
* inspector/ConsoleMessage.cpp:
(WebCore::messageSourceValue):
(WebCore::messageTypeValue):
(WebCore::messageLevelValue):
(WebCore::ConsoleMessage::addToFrontend):
* inspector/ConsoleMessage.h:
* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::buildObjectForSearchMatch):
(WebCore::ContentSearchUtils::searchInTextByLines):
* inspector/ContentSearchUtils.h:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::InjectedScript):
(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::getInternalProperties):
(WebCore::InjectedScript::nodeForObjectId):
(WebCore::InjectedScript::releaseObject):
(WebCore::InjectedScript::wrapCallFrames):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapTable):
(WebCore::InjectedScript::wrapNode):
(WebCore::InjectedScript::findObjectById):
(WebCore::InjectedScript::inspectNode):
(WebCore::InjectedScript::releaseObjectGroup):
(WebCore::InjectedScript::nodeAsScriptValue):
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
(WebCore::InjectedScriptBase::InjectedScriptBase):
(WebCore::InjectedScriptBase::initialize):
(WebCore::InjectedScriptBase::injectedScriptObject):
(WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
(WebCore::InjectedScriptBase::makeCall):
(WebCore::InjectedScriptBase::makeEvalCall):
* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
(WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
(WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
(WebCore::InjectedScriptCanvasModule::markFrameEnd):
(WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
(WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
(WebCore::InjectedScriptCanvasModule::traceLog):
(WebCore::InjectedScriptCanvasModule::replayTraceLog):
(WebCore::InjectedScriptCanvasModule::resourceInfo):
(WebCore::InjectedScriptCanvasModule::resourceState):
* inspector/InjectedScriptCanvasModule.h:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::inspectImpl):
(WebCore::InjectedScriptHost::InspectableObject::get):
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::injectedScriptFor):
* inspector/InjectedScriptManager.h:
* inspector/InjectedScriptModule.cpp:
(WebCore::InjectedScriptModule::ensureInjected):
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::didCreateFrontendAndBackend):
(WebCore::InspectorAgent::inspect):
* inspector/InspectorAgent.h:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::SelectorProfile::toInspectorObject):
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorCanvasInstrumentation.h:
(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
* inspector/InspectorClient.cpp:
* inspector/InspectorClient.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
(WebCore::InspectableHeapObject::get):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::breakpointActionTypeForString):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::scriptToInspectorObject):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::clear):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorForwarding.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::create):
(WebCore::FrontendMenuProvider::disconnect):
(WebCore::FrontendMenuProvider::FrontendMenuProvider):
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
(WebCore::FrontendMenuProvider::contextMenuCleared):
(WebCore::InspectorFrontendHost::showContextMenu):
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.cpp:
(WebCore::InspectorInputAgent::InspectorInputAgent):
(WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
* inspector/InspectorInputAgent.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorOverlay.cpp:
* inspector/InspectorOverlay.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::createProfileHeader):
(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getCPUProfile):
(WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorProfilerAgent::getHeapObjectId):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
(WebCore::buildErrorRangeObject):
(WebCore::InspectorRuntimeAgent::parse):
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorStyleSheet::canBind):
* inspector/InspectorStyleTextEditor.cpp:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::setDOMCounters):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::sendEvent):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
* inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
(WebCore::InspectorAgentBase::InspectorAgentBase):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
* inspector/InspectorWorkerAgent.h:
* inspector/InstrumentingAgents.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/PageConsoleAgent.cpp:
(WebCore::InspectableNode::get):
* inspector/PageDebuggerAgent.cpp:
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
* inspector/PageRuntimeAgent.h:
* inspector/ScriptArguments.cpp:
(WebCore::ScriptArguments::create):
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::getFirstArgumentAsString):
* inspector/ScriptArguments.h:
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
* inspector/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
* inspector/ScriptDebugListener.h:
* inspector/TimelineRecordFactory.cpp:
* inspector/TimelineRecordFactory.h:
(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):
* inspector/WorkerConsoleAgent.cpp:
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerInspectorController.cpp:
* inspector/WorkerInspectorController.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
* inspector/WorkerRuntimeAgent.h:
* page/Console.cpp:
* page/ContentSecurityPolicy.cpp:
* page/Frame.cpp:
* page/PageConsole.cpp:
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
* testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
* testing/Internals.h:
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::createConnectEvent):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
* workers/WorkerThread.cpp:
* xml/XMLTreeViewer.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit:

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

Source/WebKit/blackberry:

* Api/WebPage.cpp:

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:

Source/WebKit/gtk:

* webkit/webkitwebview.cpp:

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
* WebCoreSupport/WebInspectorClient.mm:
* WebView/WebFrame.mm:
* WebView/WebView.mm:

Source/WebKit/win:

* WebFrame.cpp:
* WebView.cpp:

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performJavaScriptURLRequest):
* WebProcess/WebPage/WebInspector.cpp:
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebPage.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebGL] Fix build on GL ES 2.0 targets after r160119
https://bugs.webkit.org/show_bug.cgi?id=125541

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-12-11
Reviewed by Brent Fulgham.

GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.

No new tests, no change in functionality.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::texSubImage2D):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it possible to compare layout test results between various configurations of WebKit
https://bugs.webkit.org/show_bug.cgi?id=125212
<rdar://problem/15199108>

Reviewed by Darin Adler.

* Scripts/compare-webkit-configurations: Added.
Add a script that allows comparison between the "normal" WebKit configuration
used for testing and a different configuration (e.g. with accelerated drawing
turned on, with the remote layer tree enabled, or WebKit1 vs WebKit2), like so:

compare-webkit-configurations -2 --comparison=accelerated-drawing compositing/background-color

This script runs the tests once in the default configuration, ignoring
all test expectations, writing the results out to a temporary directory.

It then runs the tests again in the modified configuration, against the
just-written temporary results.

Ref tests are treated as pixel tests, with their pixel output dumped to disk.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
(initializeGlobalsFromCommandLineOptions):
Enable accelerated drawing if requested.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
Add --accelerated-drawing and --remote-layer-tree feature switches, which
are forwarded on to the test drivers.
Move those two and --complex-text into their own "feature switches" section.
Drive-by change "Mac OS X" to "OS X".
Add --treat-ref-tests-as-pixel-tests option, which treats ref tests
as traditional pixel tests (with PNGs dumped on disk), and
ignores e.g. -expected.html files.

* Scripts/webkitpy/port/base.py:
(Port.reference_files):
Pretend that there are no ref tests.
Since is_reference_html_file is intact, our mechanism to ignore
the expected files will continue working in this case.

* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line):
Forward --accelerated-drawing and --remote-layer-tree to DRT/WKTR.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestController.h:
(WTR::TestController::shouldUseRemoteLayerTree):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::updateThreadedScrollingForCurrentTest):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Parse and implement the three feature switches.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Type punning error in MD5.cpp
https://bugs.webkit.org/show_bug.cgi?id=125412

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-11
Reviewed by Darin Adler.

* wtf/MD5.cpp:
(WTF::toLittleEndian): Renamed, and use memcpy instead of casting.
(WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian.
(WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
check-webkit-style can't determine if a comma is part of an initialization list
https://bugs.webkit.org/show_bug.cgi?id=125537

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-11
Reviewed by Darin Adler.

The original check to make sure that initialization list lines start with
a comma didn't distinguish between commas that belong to the initialization
list and commas that are part of function calls. Because we don't want to
match parentheses with regular expressions, we should weaken this check to
only check for commas at the end of initialization list lines.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_member_initialization_list):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
<http://webkit.org/b/125329>

Reviewed by Darin Adler.

Source/WebCore:

No tests since this is a build fix for:

    $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"

* rendering/InlineBox.cpp:
* rendering/InlineBox.h:
- Replace ASSERT_DISABLED use with
  ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::~InlineFlowBox):
- Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
  #ifndef NDEBUG since this calls setHasBadParent().
(WebCore::InlineFlowBox::checkConsistency):
- Move ASSERT(!m_hasBadChildList) outside of
  #if CHECK_CONSISTENCY and change to
  ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).

* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::setHasBadChildList):
- Change #ifndef NDEBUG to
  #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
  m_hasBadChildList.

Source/WTF:

* wtf/Assertions.h: Define macro
ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether
ASSERT_WITH_SECURITY_IMPLICATION() is enabled.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Unreviewed link fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Corrected 64-bit linker symbols.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MessageReceiverMap should take MessageReceiver objects by reference
https://bugs.webkit.org/show_bug.cgi?id=125605

Reviewed by Tim Horton.

* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
* Platform/CoreIPC/MessageReceiverMap.h:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::addMessageReceiver):
* Shared/ChildProcess.h:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::addMessageReceiver):
* Shared/ChildProcessProxy.h:
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::addMessageReceiver):
* UIProcess/WebContext.h:
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::WebIconDatabase):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::WebCookieManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::WebGeolocationManager):
* WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
(WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::WebMediaCacheManager):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::WebNotificationManager):
* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::WebOriginDataManager):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::WebResourceCacheManager):
* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::StorageAreaMap):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::WebDatabaseManager):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Build fix after r159768.
https://bugs.webkit.org/show_bug.cgi?id=125467

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-11
Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKit/WebKitVersion.cmd:
Set PATH environment variable to include cygwin bin directory.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
check-webkit-style shouldn't check spacing in #if preprocessor lines
https://bugs.webkit.org/show_bug.cgi?id=125534

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-11
Reviewed by Ryosuke Niwa.

Preprocessor lines that start with #if shouldn't have to adhere to
the same spacing requirements that regular code does

* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_for_binary_ops):
(WebKitStyleTest.test_line_breaking):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add the CFNetwork implementation of the asynchronous ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=124440

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-11
Reviewed by Alexey Proskuryakov.

Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
The difference is those objects handle the network callback on a different queue.

Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.

The initialization of the request and connection is moved to the subclass to clean up initialization.

* WebCore.xcodeproj/project.pbxproj:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.cpp:
(WebCore::ResourceHandleClient::willCacheResponseAsync):
* platform/network/ResourceHandleClient.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::connectionWasCancelled):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::continueShouldUseCredentialStorage):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
(WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
(WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:


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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Build fix after r160464
https://bugs.webkit.org/show_bug.cgi?id=125615

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-12-11
Reviewed by Gyuyoung Kim.

Modify the 2nd parameter for calling WebContext::addMessageReceiver from "this" to "*this"
because the parameter type is modified from CoreIPC::MessageReceiver* to CoreIPC::MessageReceiver&

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
* UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
* UIProcess/WebVibrationProxy.cpp:
(WebKit::WebVibrationProxy::WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
* WebProcess/Battery/WebBatteryManager.cpp:
(WebKit::WebBatteryManager::WebBatteryManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
(WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::WebSoupRequestManager):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove some unneeded code noticed while looking at StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=125618

Reviewed by Andreas Kling.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.

* rendering/RenderImageResource.cpp: Removed unneeded nullImage and
usesImageContainerSize member functions.
(WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
through RenderImageResourceImage::nullImage.

* rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
and nullImage functions. Also removed unneeded includes.

* rendering/RenderImageResourceStyleImage.h: Removed unneeded
usesImageContainerSize override. Nobody was calling it.

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