diff options
author | Steve Block <steveblock@google.com> | 2009-11-11 23:16:52 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2009-11-12 18:28:34 +0000 |
commit | e431852bff2ca6954b119a8c9471fd676abea029 (patch) | |
tree | 2c0376b2197a76742550bc628154de4036b2fa38 | |
parent | a2bbe04f16fb11132b3318fb0aecb290f232c563 (diff) | |
download | external_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.mk | 2 | ||||
-rw-r--r-- | Android.v8.mk | 2 | ||||
-rw-r--r-- | JavaScriptCore/wtf/Threading.cpp | 4 | ||||
-rw-r--r-- | JavaScriptCore/wtf/TypeTraits.cpp | 4 | ||||
-rw-r--r-- | WebCore/WebCorePrefix.h | 16 | ||||
-rw-r--r-- | WebCore/WebCorePrefixAndroid.h | 152 | ||||
-rw-r--r-- | WebCore/config.h | 83 | ||||
-rw-r--r-- | WebCore/dom/Node.cpp | 6 | ||||
-rw-r--r-- | WebCore/platform/Timer.cpp | 6 | ||||
-rw-r--r-- | WebCore/plugins/android/PluginPackageAndroid.cpp | 8 |
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 |