Replace ScriptState with JSC::ExecState
https://bugs.webkit.org/show_bug.cgi?id=121336

Reviewed by Darin Adler.

* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBObjectStore.h:
* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/js/JSInjectedScriptManager.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/JSNodeFilterCondition.h:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptDebugServer.cpp:
* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptEventListener.cpp:
* bindings/js/ScriptEventListener.h:
* bindings/js/ScriptFunctionCall.cpp:
* bindings/js/ScriptFunctionCall.h:
* bindings/js/ScriptObject.cpp:
* bindings/js/ScriptObject.h:
* bindings/js/ScriptProfiler.cpp:
* bindings/js/ScriptProfiler.h:
* bindings/js/ScriptState.cpp:
* bindings/js/ScriptState.h:
* bindings/js/ScriptValue.cpp:
* bindings/js/ScriptValue.h:
* bindings/js/SerializedScriptValue.cpp:
* bindings/js/SerializedScriptValue.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/NodeFilter.cpp:
* dom/NodeFilter.h:
* dom/NodeFilterCondition.cpp:
* dom/NodeFilterCondition.h:
* dom/NodeIterator.cpp:
* dom/NodeIterator.h:
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
* dom/Traversal.cpp:
* dom/Traversal.h:
* dom/TreeWalker.cpp:
* dom/TreeWalker.h:
* inspector/ConsoleMessage.cpp:
* inspector/ConsoleMessage.h:
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptCanvasModule.cpp:
* inspector/InjectedScriptCanvasModule.h:
* inspector/InjectedScriptHost.cpp:
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptManager.cpp:
* inspector/InjectedScriptManager.h:
* inspector/InjectedScriptModule.cpp:
* inspector/InjectedScriptModule.h:
* inspector/InspectorAgent.cpp:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/PageConsoleAgent.cpp:
* inspector/PageDebuggerAgent.cpp:
* inspector/PageRuntimeAgent.cpp:
* inspector/PageRuntimeAgent.h:
* inspector/ScriptArguments.cpp:
* inspector/ScriptArguments.h:
* inspector/ScriptDebugListener.h:
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerRuntimeAgent.cpp:
* page/Console.cpp:
* page/Console.h:
* page/ContentSecurityPolicy.cpp:
* page/ContentSecurityPolicy.h:
* page/PageConsole.cpp:
* page/PageConsole.h:
* workers/WorkerGlobalScope.cpp:
* workers/WorkerGlobalScope.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Part 2 of Replace ScriptState with JSC::ExecState
https://bugs.webkit.org/show_bug.cgi?id=121336

* dom/Document.h:
There is no WebCore::JSC namespace!



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
There is no need for any custom bindings for Console
https://bugs.webkit.org/show_bug.cgi?id=121338

Reviewed by Joseph Pecoraro.

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Remove JSConsoleCustom.cpp from project files.

* bindings/js/JSConsoleCustom.cpp:
Removed.

* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
* page/Console.h:
Swap the order of the arguments to appease the bindings generator.

* page/Console.idl:
Add the [CallWith=ScriptState] attribute to pass the ExecState
and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
the right stringification.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename confusingly named "runtimeObject" functions
https://bugs.webkit.org/show_bug.cgi?id=121339

Source/WebCore:

Also CTTE: HTMLElement.

Reviewed by Sam Weinig.

* bindings/js/JSHTMLAppletElementCustom.cpp:
(WebCore::JSHTMLAppletElement::putDelegate): Renamed.
(WebCore::JSHTMLAppletElement::getCallData): Renamed.
* bindings/js/JSHTMLEmbedElementCustom.cpp:
(WebCore::JSHTMLEmbedElement::putDelegate): Renamed.
(WebCore::JSHTMLEmbedElement::getCallData): Renamed.
* bindings/js/JSHTMLObjectElementCustom.cpp:
(WebCore::JSHTMLObjectElement::putDelegate): Renamed.
(WebCore::JSHTMLObjectElement::getCallData): Renamed.

* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::isPluginElement): Changed to take HTMLElement&.
(WebCore::pluginInstance): Ditto.
(WebCore::pluginScriptObjectFromPluginViewBase): Updated for name and type change.
(WebCore::pluginScriptObject): Ditto.
(WebCore::pluginElementPropertyGetter): Ditto.
(WebCore::pluginElementCustomGetOwnPropertySlot): Ditto.
(WebCore::pluginElementCustomPut): Ditto.
(WebCore::pluginElementGetCallData): Ditto.

* bindings/js/JSPluginElementFunctions.h: Updated names and types.

* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
Updated for type change.
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod): Ditto.

Tools:

Reviewed by Sam Weinig.

* Scripts/do-webcore-rename: Updated to do this replace as usual.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix a few lingering ScriptStates.

Reviewed by Andy Estes.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::update):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
* bindings/cpp/WebNativeNodeFilterCondition.cpp:
(WebNativeNodeFilterCondition::acceptNode):
* bindings/cpp/WebNativeNodeFilterCondition.h:
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::create):
* dom/CustomElementConstructor.h:
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::registerElement):
* dom/CustomElementRegistry.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix attempt for WK2 build.

* WebProcess/Plugins/PluginView.cpp: Changed ScriptState to ExecState.
(WebKit::PluginView::performJavaScriptURLRequest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for EFL port.

* editing/efl/EditorEfl.cpp:
* platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::write):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSPropertyAnimation::ensurePropertyMap() is large
https://bugs.webkit.org/show_bug.cgi?id=121199

Reviewed by Darin Adler.

The bug was caused by repeated calls to Vector::append. Avoid it by storing pointers in a local array
and then adding them as we traverse them through to fill m_propertyToIdMap. Also reserve the full
initial capacity at once to avoid repeated calls to FastMalloc and FastFree.

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::instance):
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex):
(WebCore::CSSPropertyAnimationWrapperMap::indexFromPropertyID):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Renamed from ensurePropertyMap.
Also merged addShorthandProperties into it since they have to access local variables of the other.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r155738.
http://trac.webkit.org/changeset/155738
https://bugs.webkit.org/show_bug.cgi?id=121342

Broke many tests (Requested by ap on #webkit).

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSConsoleCustom.cpp: Added.
(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):
* bindings/js/ScriptState.h:
* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
* page/Console.h:
* page/Console.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename SpeculativeJIT::integerResult() to int32Result().

Rubber stamped by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithIMul):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::int32Result):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r155719?): http/tests/inspector/network/network-size-chunked.html and
http/tests/inspector/network/network-size-sync.html fail on bots
https://bugs.webkit.org/show_bug.cgi?id=121343

* platform/mac/TestExpectations: Marking these as failing.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Enable Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=121340

Reviewed by Anders Carlsson.

WebKitLibraries: 

* win/tools/vsprops/FeatureDefines.props: Activate feature.
* win/tools/vsprops/FeatureDefinesCairo.props: Ditto.

LayoutTests: 

* platform/win/TestExpectations: Enable some Page Visibility tests on Windows.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pick the correct overload when a const reference is passed to appendSlowCase.
https://bugs.webkit.org/show_bug.cgi?id=121326

Reviewed by Darin Adler.

Source/WTF:

* wtf/Vector.h:
(WTF::Vector::appendSlowCase):
Make sure that the pointer to the element isn't const so we'll pick the right expandCapacity overload.

Tools:

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceMasker always has an SVGMaskElement.
<https://webkit.org/b/121344>

Reviewed by Brent Fulgham.

This renderer is never anonymous. Tighten things up with a maskElement()
reference getter. Removed some unnecessary null checks and assertions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
<https://webkit.org/b/121345>

Reviewed by Brent Fulgham.

This renderer is never anonymous. Tighten things up with a maskElement()
reference getter. Removed some unnecessary type casts and assertions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
<https://webkit.org/b/121346>

Reviewed by Darin Adler

Codify the following:

- RenderSVGResourceGradient always has an SVGGradientElement.
- RenderSVGResourceLinearGradient always has an SVGLinearGradientElement.
- RenderSVGResourceRadialGradient always has an SVGRadialGradientElement.

None of these renderers are ever anonymous, so delete element() and provide
strongly typed reference getters instead.

Also made RenderSVGResourceGradient constructor protected since it should
never be instantiated directly.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use a better name than m_invertibleCTM
https://bugs.webkit.org/show_bug.cgi?id=121341

Reviewed by Andreas Kling.

Source/WebCore:

Rename isTransformInvertible to hasInvertibleTransform, and
m_invertibleCTM to m_hasInvertibleTransform.

* html/canvas/CanvasPathMethods.cpp:
(WebCore::CanvasPathMethods::moveTo):
(WebCore::CanvasPathMethods::lineTo):
(WebCore::CanvasPathMethods::quadraticCurveTo):
(WebCore::CanvasPathMethods::bezierCurveTo):
(WebCore::CanvasPathMethods::arcTo):
(WebCore::CanvasPathMethods::arc):
(WebCore::CanvasPathMethods::rect):
Updated for name change. Not really sure the name is good here,
because DOMPath doesn't have a transform at all; should switch
to a better name some day.

* html/canvas/CanvasPathMethods.h: Renamed, added a new constructor,
and made the virtual function private.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::scale):
(WebCore::CanvasRenderingContext2D::rotate):
(WebCore::CanvasRenderingContext2D::translate):
(WebCore::CanvasRenderingContext2D::transform):
(WebCore::CanvasRenderingContext2D::setTransform):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::clip):
(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::didDraw):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Updated for name change.

* html/canvas/CanvasRenderingContext2D.h: Updated for name change.
Also got rid of unneeded conditional around forward class declaration.

* html/canvas/DOMPath.h: Moved SVG-specific include into a
separate paragraph. Removed unneeded invocation  of WTF_MAKE_NONCOPYABLE,
which is already true since we inherit from RefCounted. Changed create
function argument to be a const*. Eliminated extra constructors that were
unneeded. Made the path-parsing create function SVG-only, rather than
compiling a useless empty one when compiling without SVG.

Tools:

* Scripts/do-webcore-rename: Updated to do this replace as we do.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceFilter always has an SVGFilterElement.
<https://webkit.org/b/121348>

Reviewed by Darin Adler.

This renderer is never anonymous. Tighten things up with a filterElement()
reference getter. Removed some unnecessary null checks and type casts.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
<https://webkit.org/b/121349>

Reviewed by Darin Adler.

This renderer is never anonymous. Tighten things up with a clipPathElement()
reference getter. Removed some unnecessary null checks and type casts.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderSVGModelObject renderers are never anonymous.
<https://webkit.org/b/121350>

Reviewed by Darin Adler.

Flip the switch, turning RenderSVGModelObject::element() into a reference.

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