LOCAL_CFLAGS += -include "WebCorePrefixAndroid.h"
LOCAL_CFLAGS += -fvisibility=hidden
+ifeq ($(ENABLE_VIDEO),true)
+LOCAL_CFLAGS += -DENABLE_VIDEO=1
+else
+LOCAL_CFLAGS += -DENABLE_VIDEO=0
+endif
+
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -Darm
endif
ifneq ($(TARGET_SIMULATOR),true)
LOCAL_SHARED_LIBRARIES += libdl
endif
+LOCAL_SHARED_LIBRARIES += libv8
# Build the list of static libraries
-LOCAL_STATIC_LIBRARIES := libxml2 libv8
+LOCAL_STATIC_LIBRARIES := libxml2
# Redefine LOCAL_SRC_FILES to be all the WebKit source files
LOCAL_SRC_FILES := $(WEBKIT_SRC_FILES)
wtf/Assertions.cpp \
wtf/ByteArray.cpp \
wtf/CurrentTime.cpp \
+ wtf/DateMath.cpp \
wtf/FastMalloc.cpp \
wtf/HashTable.cpp \
wtf/MainThread.cpp \
$(intermediates)/pcre/pcre_tables.o : $(CHARTABLES)
# We do not add $(CHARTABLES) to LOCAL_GENERATED_SOURCES because the chartables.c file
-# is explicitly #included in pcre_tables.cpp.
\ No newline at end of file
+# is explicitly #included in pcre_tables.cpp.
# Set up the target identity
LOCAL_MODULE := libv8
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
intermediates := $(call local-intermediates-dir)
LOCAL_CPP_EXTENSION := .cc
ifeq ($(TARGET_ARCH),arm)
LOCAL_SRC_FILES += \
- src/assembler-arm.cc \
- src/builtins-arm.cc \
- src/codegen-arm.cc \
- src/cpu-arm.cc \
- src/disasm-arm.cc \
- src/frames-arm.cc \
- src/ic-arm.cc \
- src/jump-target-arm.cc \
- src/macro-assembler-arm.cc \
- src/regexp-macro-assembler-arm.cc \
- src/register-allocator-arm.cc \
- src/stub-cache-arm.cc \
- src/virtual-frame-arm.cc
+ src/arm/assembler-arm.cc \
+ src/arm/builtins-arm.cc \
+ src/arm/codegen-arm.cc \
+ src/arm/cpu-arm.cc \
+ src/arm/disasm-arm.cc \
+ src/arm/frames-arm.cc \
+ src/arm/ic-arm.cc \
+ src/arm/jump-target-arm.cc \
+ src/arm/macro-assembler-arm.cc \
+ src/arm/regexp-macro-assembler-arm.cc \
+ src/arm/register-allocator-arm.cc \
+ src/arm/stub-cache-arm.cc \
+ src/arm/virtual-frame-arm.cc
endif
ifeq ($(TARGET_ARCH),x86)
LOCAL_SRC_FILES += \
- src/assembler-ia32.cc \
- src/builtins-ia32.cc \
- src/codegen-ia32.cc \
- src/cpu-ia32.cc \
- src/disasm-ia32.cc \
- src/frames-ia32.cc \
- src/ic-ia32.cc \
- src/jump-target-ia32.cc \
- src/macro-assembler-ia32.cc \
- src/regexp-macro-assembler-ia32.cc \
- src/register-allocator-ia32.cc \
- src/stub-cache-ia32.cc \
- src/virtual-frame-ia32.cc
+ src/ia32/assembler-ia32.cc \
+ src/ia32/builtins-ia32.cc \
+ src/ia32/codegen-ia32.cc \
+ src/ia32/cpu-ia32.cc \
+ src/ia32/disasm-ia32.cc \
+ src/ia32/frames-ia32.cc \
+ src/ia32/ic-ia32.cc \
+ src/ia32/jump-target-ia32.cc \
+ src/ia32/macro-assembler-ia32.cc \
+ src/ia32/regexp-macro-assembler-ia32.cc \
+ src/ia32/register-allocator-ia32.cc \
+ src/ia32/stub-cache-ia32.cc \
+ src/ia32/virtual-frame-ia32.cc
endif
ifeq ($(TARGET_OS),linux)
# Generate libraries.cc
GEN1 := $(intermediates)/libraries.cc $(intermediates)/libraries-empty.cc
-$(GEN1): SCRIPT := $(LOCAL_PATH)/tools/js2c.py
+$(GEN1): SCRIPT := $(LOCAL_PATH)/v8/tools/js2c.py
$(GEN1): $(LOCAL_JS_LIBRARY_FILES)
@echo "Generating libraries.cc"
@mkdir -p $(dir $@)
-fno-exceptions
ifeq ($(TARGET_ARCH),arm)
- LOCAL_CFLAGS += -DARM
+ LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM
+endif
+
+ifeq ($(TARGET_ARCH),x86)
+ LOCAL_CLFAGS += -DV8_TARGET_ARCH_IA32
endif
LOCAL_C_INCLUDES += $(LOCAL_PATH)/v8/src
-include $(BUILD_STATIC_LIBRARY)
+include $(BUILD_SHARED_LIBRARY)
LOCAL_CPP_EXTENSION := .cc
-LOCAL_STATIC_LIBRARIES := libv8
+LOCAL_SHARED_LIBRARIES := libv8
LOCAL_C_INCLUDES += $(LOCAL_PATH)/v8/include
bindings/v8/V8AbstractEventListener.cpp \
bindings/v8/V8Collection.cpp \
bindings/v8/V8DOMMap.cpp \
- bindgins/v8/V8EventListener.cpp \
+ bindings/v8/V8EventListenerList.cpp \
bindings/v8/V8LazyEventListener.cpp \
bindings/v8/V8NodeFilterCondition.cpp \
bindings/v8/V8ObjectEventListener.cpp \
bindings/v8/custom/V8HTMLFrameElementCustom.cpp \
bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp \
bindings/v8/custom/V8HTMLIFrameElementCustom.cpp \
- bindings/v8/custom/V8HTMLImageElementCustom.cpp \
+ bindings/v8/custom/V8HTMLImageElementConstructor.cpp \
bindings/v8/custom/V8HTMLInputElementCustom.cpp \
bindings/v8/custom/V8HTMLOptionElementConstructor.cpp \
bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp \
FEATURE_DEFINES := ANDROID_ORIENTATION_SUPPORT ENABLE_TOUCH_EVENTS=1 V8_BINDING ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1
+ifeq ($(ENABLE_VIDEO), true)
+ FEATURE_DEFINES += ENaBLE_VIDEO=1
+else
+ FEATURE_DEFINES += ENABLE_VIDEO=0
+endif
+
GEN := \
$(intermediates)/css/V8CSSCharsetRule.h \
$(intermediates)/css/V8CSSFontFaceRule.h \
$(intermediates)/html/V8UndetectableHTMLCollection.h
$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(WEBCORE_PATH) perl -I$(v8binding_dir)/scripts -I$(WEBCORE_PATH)/bindings/scripts $(v8binding_dir)/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
-$(GEN): $(intermediates)/html/V8%.h : $(v8binding_dir)/v8/%.idl $(js_binding_scripts)
+$(GEN): $(intermediates)/html/V8%.h : $(v8binding_dir)/binding/%.idl $(js_binding_scripts)
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
uint16 keyCode;
} key;
struct {
+ CGContextRef context;
+
double x;
double y;
double width;
typedef void * NPMenu;
#endif
+typedef enum {
+ NPCoordinateSpacePlugin = 1,
+ NPCoordinateSpaceWindow,
+ NPCoordinateSpaceFlippedWindow,
+ NPCoordinateSpaceScreen,
+ NPCoordinateSpaceFlippedScreen
+
+#ifdef ANDROID
+ , NPCoordinateSpaceToForce32Bits = 0x7FFFFFFF
+#endif
+
+} NPCoordinateSpace;
+
#if defined(XP_MAC) || defined(XP_MACOSX)
#ifndef NP_NO_CARBON
void NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
void NPN_PopPopupsEnabledState(NPP instance);
void NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData);
+NPError NPN_GetValueForURL(NPP instance, NPNURLVariable variable, const char* url, char** value, uint32* len);
+NPError NPN_SetValueForURL(NPP instance, NPNURLVariable variable, const char* url, const char* value, uint32 len);
+NPError NPN_GetAuthenticationInfo(NPP instance, const char* protocol, const char* host, int32 port, const char* scheme, const char *realm, char** username, uint32* ulen, char** password, uint32* plen);
uint32 NPN_ScheduleTimer(NPP instance, uint32 interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32 timerID));
void NPN_UnscheduleTimer(NPP instance, uint32 timerID);
NPError NPN_PopUpContextMenu(NPP instance, NPMenu* menu);
-
+NPBool NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
+
#ifdef __cplusplus
} /* end extern "C" */
#endif
my $commentInfo = "Attribute '$attrName' (Type: '" . $attribute->type .
"' ExtAttr: '" . join(' ', keys(%{$attrExt})) . "')";
+
+ my $conditional = $attrExt->{"Conditional"};
+ if ($conditional) {
+ my $conditionalString = "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
+ push(@implContent, "#if ${conditionalString}\n");
+ }
+
push(@implContent, <<END);
// $commentInfo
{ "$attrName",
static_cast<v8::PropertyAttribute>($propAttr),
$on_proto },
END
+
+ if ($conditional) {
+ push(@implContent, "#endif\n");
+ }
+
}
}
storage/LocalStorageTask.cpp \
storage/LocalStorageThread.cpp \
storage/OriginQuotaManager.cpp \
+ storage/OriginUsageRecord.cpp \
storage/SessionStorage.cpp \
storage/SessionStorageArea.cpp \
- storage/OriginUsageRecord.cpp \
storage/SQLResultSet.cpp \
storage/SQLResultSetRowList.cpp \
storage/SQLStatement.cpp \
platform/android/SearchPopupMenuAndroid.cpp \
platform/android/SharedTimerAndroid.cpp \
platform/android/SoundAndroid.cpp \
+ platform/android/SSLKeyGeneratorAndroid.cpp \
platform/android/SystemTimeAndroid.cpp \
platform/android/TemporaryLinkStubs.cpp \
platform/android/WidgetAndroid.cpp \
storage/DatabaseTask.cpp \
storage/DatabaseThread.cpp \
storage/DatabaseTracker.cpp \
+ storage/LocalStorage.cpp \
+ storage/LocalStorageArea.cpp \
+ storage/LocalStorageTask.cpp \
+ storage/LocalStorageThread.cpp \
storage/OriginQuotaManager.cpp \
storage/OriginUsageRecord.cpp \
+ storage/SessionStorage.cpp \
+ storage/SessionStorageArea.cpp \
storage/SQLResultSet.cpp \
storage/SQLResultSetRowList.cpp \
storage/SQLStatement.cpp \
storage/SQLTransaction.cpp \
+ storage/Storage.cpp \
+ storage/StorageArea.cpp \
+ storage/StorageEvent.cpp \
+ storage/StorageMap.cpp \
ifeq ($(ENABLE_SVG), true)
LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
#include "config.h"
#include "ScriptController.h"
+#if PLATFORM(CHROMIUM)
#include "ChromiumBridge.h"
+#elif PLATFORM(ANDROID)
+#include "PluginView.h"
+#endif
+
#include "CString.h"
#include "Document.h"
#include "DOMWindow.h"
{
ASSERT(widget);
+#if PLATFORM(CHROMIUM)
if (widget->isFrameView())
return 0;
if (!npObject)
return 0;
+#elif PLATFORM(ANDROID)
+ if (!widget->isPluginView())
+ return 0;
+
+ PluginView* pluginView = static_cast<PluginView*>(widget);
+ NPObject* npObject = pluginView->getNPObject();
+ if (!npObject)
+ return 0;
+#endif
+
// Frame Memory Management for NPObjects
// -------------------------------------
// NPObjects are treated differently than other objects wrapped by JS.
bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorController* value)
{
ScriptScope scope(scriptState);
+#if !PLATFORM(ANDROID)
scope.global()->Set(v8::String::New(name), V8Proxy::ToV8Object(V8ClassIndex::INSPECTORCONTROLLER, value));
+#endif
return scope.success();
}
InternalDOMWrapperMap<Node> m_staticDomNodeMap;
InternalDOMWrapperMap<void> m_staticDomObjectMap;
InternalDOMWrapperMap<void> m_staticActiveDomObjectMap;
+#if ENABLE(SVG)
InternalDOMWrapperMap<SVGElementInstance> m_staticDomSvgElementInstanceMap;
InternalDOMWrapperMap<void> m_staticDomSvgObjectWithContextMap;
+#endif
};
DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<NonMainThreadSpecificDOMData>, threadSpecificDOMData, ());
interface Coordinates {
readonly attribute double latitude;
readonly attribute double longitude;
- readonly attribute [Custom] double altitude;
readonly attribute double accuracy;
+#if !defined(V8_BINDING)
+ readonly attribute [Custom] double altitude;
readonly attribute [Custom] double altitudeAccuracy;
readonly attribute [Custom] double heading;
readonly attribute [Custom] double speed;
+#endif
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
[DontEnum] DOMString toString();
#if ENABLE(DOM_STORAGE)
+#include "DOMWindow.h"
#include "EventNames.h"
#include "Frame.h"
#include "FrameTree.h"
if (pFrame) {
const char* name = JSC::Bindings::getCharactersFromJStringInEnv(env, interfaceName);
NPObject* obj = JSC::Bindings::JavaInstanceToNPObject(new JSC::Bindings::JavaInstance(javascriptObj));
- pFrame->script()->BindToWindowObject(pFrame, name, obj);
+ pFrame->script()->bindToWindowObject(pFrame, name, obj);
// JavaInstanceToNPObject calls NPN_RetainObject on the
// returned one (see CreateV8ObjectForNPObject in V8NPObject.cpp).
// BindToWindowObject also increases obj's ref count and decrease