summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2009-11-11 23:16:52 +0000
committerSteve Block <steveblock@google.com>2009-11-12 18:28:34 +0000
commite431852bff2ca6954b119a8c9471fd676abea029 (patch)
tree2c0376b2197a76742550bc628154de4036b2fa38
parenta2bbe04f16fb11132b3318fb0aecb290f232c563 (diff)
downloadexternal_webkit-e431852bff2ca6954b119a8c9471fd676abea029.zip
external_webkit-e431852bff2ca6954b119a8c9471fd676abea029.tar.gz
external_webkit-e431852bff2ca6954b119a8c9471fd676abea029.tar.bz2
Removes WebCorePrefixAndroid.h to aid WebKit upstreaming.
Content from WebCorePrefixAndroid.h has been moved to WebCorePrefix.h and the Android Makefiles modified to use that file. - Enabler flags have been moved to WebCore/config.h. - flex_XXX_T types are defined in WebCore/css/maketokenizer - Most system includes are alreay present in WebCorePrefix.h - Some includes have been moved directly to the source files that require them. - The following includes seem not to be required so have been dropped. - #include <limits.h> - #include <math.h> - #include <stdint.h> - #include <unistd.h> Change-Id: I8eba4d0a606463503554955e113d57bdf76a7136
-rw-r--r--Android.jsc.mk2
-rw-r--r--Android.v8.mk2
-rw-r--r--JavaScriptCore/wtf/Threading.cpp4
-rw-r--r--JavaScriptCore/wtf/TypeTraits.cpp4
-rw-r--r--WebCore/WebCorePrefix.h16
-rw-r--r--WebCore/WebCorePrefixAndroid.h152
-rw-r--r--WebCore/config.h83
-rw-r--r--WebCore/dom/Node.cpp6
-rw-r--r--WebCore/platform/Timer.cpp6
-rw-r--r--WebCore/plugins/android/PluginPackageAndroid.cpp8
10 files changed, 119 insertions, 164 deletions
diff --git a/Android.jsc.mk b/Android.jsc.mk
index 14c4038..aaeb942 100644
--- a/Android.jsc.mk
+++ b/Android.jsc.mk
@@ -54,7 +54,7 @@ LOCAL_PATH := $(BASE_PATH)
# Define our compiler flags
LOCAL_CFLAGS += -Wno-endif-labels -Wno-import -Wno-format
LOCAL_CFLAGS += -fno-strict-aliasing
-LOCAL_CFLAGS += -include "WebCorePrefixAndroid.h"
+LOCAL_CFLAGS += -include "WebCorePrefix.h"
LOCAL_CFLAGS += -fvisibility=hidden
ifeq ($(TARGET_ARCH),arm)
diff --git a/Android.v8.mk b/Android.v8.mk
index 0c068b1..3742272 100644
--- a/Android.v8.mk
+++ b/Android.v8.mk
@@ -70,7 +70,7 @@ LOCAL_PATH := $(BASE_PATH)
# Define our compiler flags
LOCAL_CFLAGS += -Wno-endif-labels -Wno-import -Wno-format
LOCAL_CFLAGS += -fno-strict-aliasing
-LOCAL_CFLAGS += -include "WebCorePrefixAndroid.h"
+LOCAL_CFLAGS += -include "WebCorePrefix.h"
LOCAL_CFLAGS += -fvisibility=hidden
ifeq ($(TARGET_ARCH),arm)
diff --git a/JavaScriptCore/wtf/Threading.cpp b/JavaScriptCore/wtf/Threading.cpp
index 1d4185c..35ba017 100644
--- a/JavaScriptCore/wtf/Threading.cpp
+++ b/JavaScriptCore/wtf/Threading.cpp
@@ -28,6 +28,10 @@
#include <string.h>
+#if PLATFORM(ANDROID)
+#include <memory>
+#endif
+
namespace WTF {
struct NewThreadContext : FastAllocBase {
diff --git a/JavaScriptCore/wtf/TypeTraits.cpp b/JavaScriptCore/wtf/TypeTraits.cpp
index 36fc6c6..7c00c38 100644
--- a/JavaScriptCore/wtf/TypeTraits.cpp
+++ b/JavaScriptCore/wtf/TypeTraits.cpp
@@ -24,6 +24,10 @@
#include "Assertions.h"
+#if PLATFORM(ANDROID)
+#include <memory>
+#endif
+
namespace WTF {
COMPILE_ASSERT(IsInteger<bool>::value, WTF_IsInteger_bool_true);
diff --git a/WebCore/WebCorePrefix.h b/WebCore/WebCorePrefix.h
index 6c8e200..24ab9f9 100644
--- a/WebCore/WebCorePrefix.h
+++ b/WebCore/WebCorePrefix.h
@@ -62,6 +62,18 @@
#include <pthread.h>
#endif // defined(WIN32) || defined(_WIN32)
+#if defined(ANDROID)
+#ifdef __cplusplus
+// Must come before include of algorithm.
+#define PREFIX_FOR_WEBCORE 1
+#define EXPORT __attribute__((visibility("default")))
+#endif
+// We use a single set of include directories when building WebKit and
+// JavaScriptCore. Since WebCore/ is included before JavaScriptCore/, we include
+// JavaScriptCore/config.h explicitly here to make sure it gets picked up.
+#include <JavaScriptCore/config.h>
+#endif
+
#include <sys/types.h>
#include <fcntl.h>
#if defined(__APPLE__)
@@ -105,7 +117,7 @@
#include <time.h>
-#ifndef BUILDING_WX__
+#if !defined(BUILDING_WX__) && !defined(ANDROID)
#include <CoreFoundation/CoreFoundation.h>
#ifdef WIN_CAIRO
#include <ConditionalMacros.h>
@@ -121,7 +133,7 @@
#endif
#endif
-#endif
+#endif // !defined(BUILDING_WX__) && !defined(ANDROID)
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
diff --git a/WebCore/WebCorePrefixAndroid.h b/WebCore/WebCorePrefixAndroid.h
deleted file mode 100644
index 068ae98..0000000
--- a/WebCore/WebCorePrefixAndroid.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright 2007, The Android Open Source Project
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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 APPLE COMPUTER, INC. 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 prefix file is for Android only. It should contain only:
-// - the special trick to catch us using new or delete without including "config.h"
-// Things that need to be defined globally should go into "config.h".
-
-#include <limits.h>
-#include <math.h> // !!! is this allowed as a standard include?
-#include <pthread.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-// Both JavaScriptCore and WebCore include config.h in almost every file.
-// Unfortunately only one gets picked up if we compile all the files in one
-// library. Since they can operate together, include it here so it is always
-// pulled in.
-#include <JavaScriptCore/config.h>
-
-#ifdef __cplusplus
-#define PREFIX_FOR_WEBCORE 1
-#define EXPORT __attribute__((visibility("default")))
-
-#include <algorithm>
-#include "stl_iterator_base.h"
-#include "heap.h"
-#include <memory>
-#include <new>
-
-#endif
-
-#ifdef __cplusplus
-#define new ("if you use new/delete make sure to include config.h at the top of the file"())
-#define delete ("if you use new/delete make sure to include config.h at the top of the file"())
-#endif
-
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef signed char flex_int8_t;
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-typedef unsigned char flex_uint8_t;
-
-#define FLATTEN_FRAMESET
-#define FLATTEN_IFRAME
-
-// not android specific, should be submitted back
-#define ANDROID_FASTER_MATRIX
-
-#define ANDROID_EXPOSE_COLUMN_GAP
-
-#define ANDROID_LAYOUT
-
-#define ANDROID_FIX
-
-// Passes the webkit-originated changes of a focused textfield to our UI thread
-#define ANDROID_ACCEPT_CHANGES_TO_FOCUSED_TEXTFIELDS
-
-// Fix for an issue where WebKit was scrolling a focused element onscreen.
-// Unnecessary for us, since we handle scrolling outside of WebKit.
-#define ANDROID_SCROLL_FIX
-
-#define ANDROID_META_SUPPORT
-
-// Converts ListBoxes to dropdown popup lists.
-#define ANDROID_LISTBOX_USES_MENU_LIST
-
-#define ANDROID_HISTORY_CLIENT
-#define ANDROID_MULTIPLE_WINDOWS
-#define ANDROID_CSS_TAP_HIGHLIGHT_COLOR
-
-#define ANDROID_BLOCK_NETWORK_IMAGE
-
-// Changes needed to support native plugins (npapi.h). If the change is generic,
-// it may be under a different #define (see: PLUGIN_PLATFORM_SETVALUE,
-// PLUGIN_SCHEDULE_TIMER)
-#define ANDROID_PLUGINS
-
-// Add support for the orientation window property
-#define ANDROID_ORIENTATION_SUPPORT
-
-// This enables a portable implementation of NPN_[Un]ScheduleTimer
-// Will submit this as a patch to apple
-#define PLUGIN_SCHEDULE_TIMER
-
-// This adds platformInit() and platformSetValue() to pluginview
-// Will submit this as a patch to apple
-#define PLUGIN_PLATFORM_SETVALUE
-
-// This enables logging the DOM tree, Render tree even for the release build
-#define ANDROID_DOM_LOGGING
-
-// Notify WebViewCore when a clipped out rectangle is drawn,
-// so that all invals are captured by the display tree.
-#define ANDROID_CAPTURE_OFFSCREEN_PAINTS
-
-// This disables the css position:fixed to the Browser window. Instead the fixed
-// element will be always fixed to the top page.
-#define ANDROID_DISABLE_POSITION_FIXED
-
-// Fix exceptions not surfacing through NPAPI bindings to the
-// JavaScriptCore execution context.
-#define ANDROID_NPN_SETEXCEPTION 1
-
-// Enable dumping the display tree to a file (triggered in WebView.java)
-#define ANDROID_DUMP_DISPLAY_TREE
-
-// Allow webkit to initiate scroll when going to an anchor on a page
-// The implementation is not acceptable to webkit. Either scrollRectToVisible
-// needs additional flavor or parameter to know that it can't be ignored,
-// and/or script engine must keep whether event was user initiated.
-#define ANDROID_SCROLL_ON_GOTO_ANCHOR
-
-// Animated GIF support.
-#define ANDROID_ANIMATED_GIF
-
-// apple-touch-icon support in <link> tags
-#define ANDROID_APPLE_TOUCH_ICON
-
-// The user gesture flag is lost during a scheduled location change. We need to
-// maintain that flag until canHandleRequest to determine if a link was clicked
-// or if javascript tried to change the location.
-#define ANDROID_USER_GESTURE
diff --git a/WebCore/config.h b/WebCore/config.h
index 5a647df..49dc01b 100644
--- a/WebCore/config.h
+++ b/WebCore/config.h
@@ -130,6 +130,89 @@
#define ENABLE_INSPECTOR 0
#undef ENABLE_EVENT_SOURCE
#define ENABLE_EVENT_SOURCE 0
+
+#define FLATTEN_FRAMESET
+#define FLATTEN_IFRAME
+
+// not android specific, should be submitted back
+#define ANDROID_FASTER_MATRIX
+
+#define ANDROID_EXPOSE_COLUMN_GAP
+
+#define ANDROID_LAYOUT
+
+#define ANDROID_FIX
+
+// Passes the webkit-originated changes of a focused textfield to our UI
+// thread
+#define ANDROID_ACCEPT_CHANGES_TO_FOCUSED_TEXTFIELDS
+
+// Fix for an issue where WebKit was scrolling a focused element onscreen.
+// Unnecessary for us, since we handle scrolling outside of WebKit.
+#define ANDROID_SCROLL_FIX
+
+#define ANDROID_META_SUPPORT
+
+// Converts ListBoxes to dropdown popup lists.
+#define ANDROID_LISTBOX_USES_MENU_LIST
+
+#define ANDROID_HISTORY_CLIENT
+#define ANDROID_MULTIPLE_WINDOWS
+#define ANDROID_CSS_TAP_HIGHLIGHT_COLOR
+
+#define ANDROID_BLOCK_NETWORK_IMAGE
+
+// Changes needed to support native plugins (npapi.h). If the change is generic,
+// it may be under a different #define (see: PLUGIN_PLATFORM_SETVALUE,
+// PLUGIN_SCHEDULE_TIMER)
+#define ANDROID_PLUGINS
+
+// Add support for the orientation window property
+#define ANDROID_ORIENTATION_SUPPORT
+
+// This enables a portable implementation of NPN_[Un]ScheduleTimer
+// Will submit this as a patch to apple
+#define PLUGIN_SCHEDULE_TIMER
+
+// This adds platformInit() and platformSetValue() to pluginview
+// Will submit this as a patch to apple
+#define PLUGIN_PLATFORM_SETVALUE
+
+// This enables logging the DOM tree, Render tree even for the release build
+#define ANDROID_DOM_LOGGING
+
+// Notify WebViewCore when a clipped out rectangle is drawn,
+// so that all invals are captured by the display tree.
+#define ANDROID_CAPTURE_OFFSCREEN_PAINTS
+
+// This disables the css position:fixed to the Browser window. Instead the fixed
+// element will be always fixed to the top page.
+#define ANDROID_DISABLE_POSITION_FIXED
+
+// Fix exceptions not surfacing through NPAPI bindings to the
+// JavaScriptCore execution context.
+#define ANDROID_NPN_SETEXCEPTION 1
+
+// Enable dumping the display tree to a file (triggered in WebView.java)
+#define ANDROID_DUMP_DISPLAY_TREE
+
+// Allow webkit to initiate scroll when going to an anchor on a page
+// The implementation is not acceptable to webkit. Either scrollRectToVisible
+// needs additional flavor or parameter to know that it can't be ignored,
+// and/or script engine must keep whether event was user initiated.
+#define ANDROID_SCROLL_ON_GOTO_ANCHOR
+
+// Animated GIF support.
+#define ANDROID_ANIMATED_GIF
+
+// apple-touch-icon support in <link> tags
+#define ANDROID_APPLE_TOUCH_ICON
+
+// The user gesture flag is lost during a scheduled location change. We need to
+// maintain that flag until canHandleRequest to determine if a link was clicked
+// or if javascript tried to change the location.
+#define ANDROID_USER_GESTURE
+
#endif // PLATFORM(ANDROID)
#ifdef __cplusplus
diff --git a/WebCore/dom/Node.cpp b/WebCore/dom/Node.cpp
index 4b91a40..446efda 100644
--- a/WebCore/dom/Node.cpp
+++ b/WebCore/dom/Node.cpp
@@ -22,14 +22,14 @@
* Boston, MA 02110-1301, USA.
*/
+#include "config.h"
+#include "Node.h"
+
#ifdef ANDROID_DOM_LOGGING
#define LOG_TAG "webcore"
#include "AndroidLog.h"
#endif
-#include "config.h"
-#include "Node.h"
-
#include "Attr.h"
#include "CSSParser.h"
#include "CSSRule.h"
diff --git a/WebCore/platform/Timer.cpp b/WebCore/platform/Timer.cpp
index 539846c..4804540 100644
--- a/WebCore/platform/Timer.cpp
+++ b/WebCore/platform/Timer.cpp
@@ -37,6 +37,11 @@
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
+#if PLATFORM(ANDROID)
+#include "stl_iterator_base.h"
+#include "heap.h"
+#endif
+
using namespace std;
namespace WebCore {
@@ -324,4 +329,3 @@ void TimerBase::fireTimersInNestedEventLoop()
}
} // namespace WebCore
-
diff --git a/WebCore/plugins/android/PluginPackageAndroid.cpp b/WebCore/plugins/android/PluginPackageAndroid.cpp
index dad8d5b..5b9ec2a 100644
--- a/WebCore/plugins/android/PluginPackageAndroid.cpp
+++ b/WebCore/plugins/android/PluginPackageAndroid.cpp
@@ -24,14 +24,12 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifdef ANDROID_PLUGINS
-
-#define LOG_TAG "WebKit"
-
#include "config.h"
#include "PluginDatabase.h"
#include "PluginPackage.h"
+#ifdef ANDROID_PLUGINS
+
#include "Timer.h"
#include "PlatformString.h"
#include "PluginMainThreadScheduler.h"
@@ -45,6 +43,8 @@
#include "PluginDebug.h"
#include "PluginDebugAndroid.h"
+#define LOG_TAG "WebKit"
+
namespace WebCore {
// Simple class which calls dlclose() on a dynamic library when going