X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fbindings%2Ftests%2Fresults%2FV8TestInterfaceEventTarget.cpp;h=006b6a4efed1a2217d84a859c890d52910f726eb;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=28857c96a71f2a955543848ab90baf0be0d5f252;hpb=ff3e2503a20db9193d323c1d19c38c68004dec4a;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/bindings/tests/results/V8TestInterfaceEventTarget.cpp b/src/third_party/WebKit/Source/bindings/tests/results/V8TestInterfaceEventTarget.cpp index 28857c9..006b6a4 100644 --- a/src/third_party/WebKit/Source/bindings/tests/results/V8TestInterfaceEventTarget.cpp +++ b/src/third_party/WebKit/Source/bindings/tests/results/V8TestInterfaceEventTarget.cpp @@ -1,71 +1,43 @@ -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// This file has been auto-generated by code_generator_v8.pm. DO NOT MODIFY! +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY! #include "config.h" #include "V8TestInterfaceEventTarget.h" -#include "RuntimeEnabledFeatures.h" -#include "bindings/v8/ExceptionState.h" -#include "bindings/v8/V8DOMConfiguration.h" -#include "bindings/v8/V8ObjectConstructor.h" +#include "bindings/core/v8/ExceptionState.h" +#include "bindings/core/v8/V8DOMConfiguration.h" +#include "bindings/core/v8/V8HiddenValue.h" +#include "bindings/core/v8/V8ObjectConstructor.h" #include "core/dom/ContextFeatures.h" #include "core/dom/Document.h" +#include "core/frame/LocalDOMWindow.h" +#include "platform/RuntimeEnabledFeatures.h" #include "platform/TraceEvent.h" #include "wtf/GetPtr.h" #include "wtf/RefPtr.h" -namespace WebCore { +namespace blink { static void initializeScriptWrappableForInterface(TestInterfaceEventTarget* object) { if (ScriptWrappable::wrapperCanBeStoredInObject(object)) - ScriptWrappable::setTypeInfoInObject(object, &V8TestInterfaceEventTarget::wrapperTypeInfo); + ScriptWrappable::fromObject(object)->setTypeInfo(&V8TestInterfaceEventTarget::wrapperTypeInfo); else ASSERT_NOT_REACHED(); } -} // namespace WebCore +} // namespace blink -// In ScriptWrappable::init, the use of a local function declaration has an issue on Windows: -// the local declaration does not pick up the surrounding namespace. Therefore, we provide this function -// in the global namespace. -// (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/feedback/details/664619/the-namespace-of-local-function-declarations-in-c) -void webCoreInitializeScriptWrappableForInterface(WebCore::TestInterfaceEventTarget* object) +void webCoreInitializeScriptWrappableForInterface(blink::TestInterfaceEventTarget* object) { - WebCore::initializeScriptWrappableForInterface(object); + blink::initializeScriptWrappableForInterface(object); } -namespace WebCore { -const WrapperTypeInfo V8TestInterfaceEventTarget::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestInterfaceEventTarget::domTemplate, V8TestInterfaceEventTarget::derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEventTarget::installPerContextEnabledMethods, &V8EventTarget::wrapperTypeInfo, WrapperTypeObjectPrototype, false }; +namespace blink { +const WrapperTypeInfo V8TestInterfaceEventTarget::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestInterfaceEventTarget::domTemplate, V8TestInterfaceEventTarget::derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEventTarget::installConditionallyEnabledMethods, &V8EventTarget::wrapperTypeInfo, WrapperTypeObjectPrototype, WillBeGarbageCollectedObject }; namespace TestInterfaceEventTargetV8Internal { @@ -73,92 +45,79 @@ template void V8_USE(T) { } } // namespace TestInterfaceEventTargetV8Internal -const WrapperTypeInfo V8TestInterfaceEventTargetConstructor::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestInterfaceEventTargetConstructor::domTemplate, V8TestInterfaceEventTarget::derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEventTarget::installPerContextEnabledMethods, 0, WrapperTypeObjectPrototype, false }; +const WrapperTypeInfo V8TestInterfaceEventTargetConstructor::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestInterfaceEventTargetConstructor::domTemplate, V8TestInterfaceEventTarget::derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEventTarget::installConditionallyEnabledMethods, 0, WrapperTypeObjectPrototype, WillBeGarbageCollectedObject }; static void V8TestInterfaceEventTargetConstructorCallback(const v8::FunctionCallbackInfo& info) { if (!info.IsConstructCall()) { - throwTypeError(ExceptionMessages::failedToConstruct("Name", "Please use the 'new' operator, this DOM object constructor cannot be called as a function."), info.GetIsolate()); + V8ThrowException::throwTypeError(ExceptionMessages::constructorNotCallableAsFunction("Name"), info.GetIsolate()); return; } - if (ConstructorMode::current() == ConstructorMode::WrapExistingObject) { + if (ConstructorMode::current(info.GetIsolate()) == ConstructorMode::WrapExistingObject) { v8SetReturnValue(info, info.Holder()); return; } - - Document* document = currentDocument(info.GetIsolate()); - ASSERT(document); - - // Make sure the document is added to the DOM Node map. Otherwise, the TestInterfaceEventTarget instance - // may end up being the only node in the map and get garbage-collected prematurely. - toV8(document, info.Holder(), info.GetIsolate()); - - RefPtr impl = TestInterfaceEventTarget::createForJSConstructor(*document); + Document& document = *toDocument(currentExecutionContext(info.GetIsolate())); + RefPtrWillBeRawPtr impl = TestInterfaceEventTarget::createForJSConstructor(document); v8::Handle wrapper = info.Holder(); - - V8DOMWrapper::associateObjectWithWrapper(impl.release(), &V8TestInterfaceEventTargetConstructor::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfiguration::Dependent); + V8DOMWrapper::associateObjectWithWrapper(impl.release(), &V8TestInterfaceEventTargetConstructor::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfiguration::Independent); v8SetReturnValue(info, wrapper); } -v8::Handle V8TestInterfaceEventTargetConstructor::domTemplate(v8::Isolate* isolate, WrapperWorldType currentWorldType) +v8::Handle V8TestInterfaceEventTargetConstructor::domTemplate(v8::Isolate* isolate) { - // This is only for getting a unique pointer which we can pass to privateTemplate. - static int privateTemplateUniqueKey; + static int domTemplateKey; // This address is used for a key to look up the dom template. V8PerIsolateData* data = V8PerIsolateData::from(isolate); - v8::Local result = data->privateTemplateIfExists(currentWorldType, &privateTemplateUniqueKey); + v8::Local result = data->existingDOMTemplate(&domTemplateKey); if (!result.IsEmpty()) return result; - TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); - v8::EscapableHandleScope scope(isolate); + TRACE_EVENT_SCOPED_SAMPLING_STATE("blink", "BuildDOMTemplate"); result = v8::FunctionTemplate::New(isolate, V8TestInterfaceEventTargetConstructorCallback); - v8::Local instanceTemplate = result->InstanceTemplate(); instanceTemplate->SetInternalFieldCount(V8TestInterfaceEventTarget::internalFieldCount); result->SetClassName(v8AtomicString(isolate, "TestInterfaceEventTarget")); - result->Inherit(V8TestInterfaceEventTarget::domTemplate(isolate, currentWorldType)); - data->setPrivateTemplate(currentWorldType, &privateTemplateUniqueKey, result); - - return scope.Escape(result); + result->Inherit(V8TestInterfaceEventTarget::domTemplate(isolate)); + data->setDOMTemplate(&domTemplateKey, result); + return result; } -static void configureV8TestInterfaceEventTargetTemplate(v8::Handle functionTemplate, v8::Isolate* isolate, WrapperWorldType currentWorldType) +static void installV8TestInterfaceEventTargetTemplate(v8::Handle functionTemplate, v8::Isolate* isolate) { functionTemplate->ReadOnlyPrototype(); v8::Local defaultSignature; - defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "TestInterfaceEventTarget", V8EventTarget::domTemplate(isolate, currentWorldType), V8TestInterfaceEventTarget::internalFieldCount, + defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "TestInterfaceEventTarget", V8EventTarget::domTemplate(isolate), V8TestInterfaceEventTarget::internalFieldCount, 0, 0, 0, 0, 0, 0, - isolate, currentWorldType); - v8::Local ALLOW_UNUSED instanceTemplate = functionTemplate->InstanceTemplate(); - v8::Local ALLOW_UNUSED prototypeTemplate = functionTemplate->PrototypeTemplate(); + isolate); + v8::Local instanceTemplate ALLOW_UNUSED = functionTemplate->InstanceTemplate(); + v8::Local prototypeTemplate ALLOW_UNUSED = functionTemplate->PrototypeTemplate(); // Custom toString template - functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::current()->toStringTemplate()); + functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::from(isolate)->toStringTemplate()); } -v8::Handle V8TestInterfaceEventTarget::domTemplate(v8::Isolate* isolate, WrapperWorldType currentWorldType) +v8::Handle V8TestInterfaceEventTarget::domTemplate(v8::Isolate* isolate) { - V8PerIsolateData* data = V8PerIsolateData::from(isolate); - V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWorldType).find(&wrapperTypeInfo); - if (result != data->templateMap(currentWorldType).end()) - return result->value.newLocal(isolate); - - TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); - v8::EscapableHandleScope handleScope(isolate); - v8::Local templ = v8::FunctionTemplate::New(isolate, V8ObjectConstructor::isValidConstructorMode); - configureV8TestInterfaceEventTargetTemplate(templ, isolate, currentWorldType); - data->templateMap(currentWorldType).add(&wrapperTypeInfo, UnsafePersistent(isolate, templ)); - return handleScope.Escape(templ); + return V8DOMConfiguration::domClassTemplate(isolate, const_cast(&wrapperTypeInfo), installV8TestInterfaceEventTargetTemplate); +} + +bool V8TestInterfaceEventTarget::hasInstance(v8::Handle v8Value, v8::Isolate* isolate) +{ + return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, v8Value); +} + +v8::Handle V8TestInterfaceEventTarget::findInstanceInPrototypeChain(v8::Handle v8Value, v8::Isolate* isolate) +{ + return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrapperTypeInfo, v8Value); } -bool V8TestInterfaceEventTarget::hasInstance(v8::Handle jsValue, v8::Isolate* isolate) +TestInterfaceEventTarget* V8TestInterfaceEventTarget::toNativeWithTypeCheck(v8::Isolate* isolate, v8::Handle value) { - return V8PerIsolateData::from(isolate)->hasInstanceInMainWorld(&wrapperTypeInfo, jsValue) - || V8PerIsolateData::from(isolate)->hasInstanceInNonMainWorld(&wrapperTypeInfo, jsValue); + return hasInstance(value, isolate) ? fromInternalPointer(blink::toInternalPointer(v8::Handle::Cast(value))) : 0; } EventTarget* V8TestInterfaceEventTarget::toEventTarget(v8::Handle object) @@ -166,12 +125,19 @@ EventTarget* V8TestInterfaceEventTarget::toEventTarget(v8::Handle ob return toNative(object); } -v8::Handle V8TestInterfaceEventTarget::createWrapper(PassRefPtr impl, v8::Handle creationContext, v8::Isolate* isolate) +v8::Handle wrap(TestInterfaceEventTarget* impl, v8::Handle creationContext, v8::Isolate* isolate) +{ + ASSERT(impl); + ASSERT(!DOMDataStore::containsWrapper(impl, isolate)); + return V8TestInterfaceEventTarget::createWrapper(impl, creationContext, isolate); +} + +v8::Handle V8TestInterfaceEventTarget::createWrapper(PassRefPtrWillBeRawPtr impl, v8::Handle creationContext, v8::Isolate* isolate) { ASSERT(impl); ASSERT(!DOMDataStore::containsWrapper(impl.get(), isolate)); if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { - const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObject(impl.get()); + const WrapperTypeInfo* actualInfo = ScriptWrappable::fromObject(impl.get())->typeInfo(); // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapperTypeInfo. These will both have // the same object de-ref functions, though, so use that as the basis of the check. RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction); @@ -181,14 +147,16 @@ v8::Handle V8TestInterfaceEventTarget::createWrapper(PassRefPtr(impl, &wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent); return wrapper; } -void V8TestInterfaceEventTarget::derefObject(void* object) +void V8TestInterfaceEventTarget::derefObject(ScriptWrappableBase* internalPointer) { - fromInternalPointer(object)->deref(); +#if !ENABLE(OILPAN) + fromInternalPointer(internalPointer)->deref(); +#endif // !ENABLE(OILPAN) } template<> @@ -197,4 +165,4 @@ v8::Handle toV8NoInline(TestInterfaceEventTarget* impl, v8::Handle