## 
##
## Copyright 2008, The Android Open Source Project
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
##     http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##

LOCAL_SRC_FILES := \
	android/WebCoreSupport/CacheResult.cpp \
	android/WebCoreSupport/CachedFramePlatformDataAndroid.cpp \
	android/WebCoreSupport/ChromeClientAndroid.cpp \
	android/WebCoreSupport/ChromiumInit.cpp \
	android/WebCoreSupport/ContextMenuClientAndroid.cpp \
	android/WebCoreSupport/DeviceMotionClientAndroid.cpp \
	android/WebCoreSupport/DeviceOrientationClientAndroid.cpp \
	android/WebCoreSupport/DragClientAndroid.cpp \
	android/WebCoreSupport/EditorClientAndroid.cpp \
	android/WebCoreSupport/FrameLoaderClientAndroid.cpp \
	android/WebCoreSupport/FrameNetworkingContextAndroid.cpp \
	android/WebCoreSupport/GeolocationClientAndroid.cpp \
	android/WebCoreSupport/GeolocationClientImpl.cpp \
	android/WebCoreSupport/GeolocationManager.cpp \
	android/WebCoreSupport/GeolocationPermissions.cpp \
	android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp \
	android/WebCoreSupport/MemoryUsage.cpp \
	android/WebCoreSupport/PlatformBridge.cpp \
	android/WebCoreSupport/ResourceLoaderAndroid.cpp \
	android/WebCoreSupport/UrlInterceptResponse.cpp \
	android/WebCoreSupport/WebCache.cpp \
	android/WebCoreSupport/WebCookieJar.cpp \
	android/WebCoreSupport/WebUrlLoader.cpp \
	android/WebCoreSupport/WebUrlLoaderClient.cpp \
	android/WebCoreSupport/WebRequest.cpp \
	android/WebCoreSupport/WebRequestContext.cpp \
	android/WebCoreSupport/WebResourceRequest.cpp \
	android/WebCoreSupport/WebResponse.cpp \
	android/WebCoreSupport/WebViewClientError.cpp

LOCAL_SRC_FILES += \
	android/RenderSkinAndroid.cpp \
	android/RenderSkinMediaButton.cpp \
	android/RenderSkinNinePatch.cpp \
	\
	android/icu/unicode/ucnv.cpp \
	\
	android/content/address_detector.cpp \
	android/content/content_detector.cpp \
	android/content/PhoneEmailDetector.cpp \
	\
	android/jni/AndroidHitTestResult.cpp \
	android/jni/CookieManager.cpp \
	android/jni/DeviceMotionAndOrientationManager.cpp \
	android/jni/DeviceMotionClientImpl.cpp \
	android/jni/DeviceOrientationClientImpl.cpp \
	android/jni/GeolocationPermissionsBridge.cpp \
	android/jni/GeolocationServiceBridge.cpp \
	android/jni/JavaBridge.cpp \
	android/jni/JavaSharedClient.cpp \
	android/jni/MIMETypeRegistryAndroid.cpp \
	android/jni/MockGeolocation.cpp \
	android/jni/PicturePile.cpp \
	android/jni/WebCoreFrameBridge.cpp \
	android/jni/WebCoreJni.cpp \
	android/jni/WebFrameView.cpp \
	android/jni/WebHistory.cpp \
	android/jni/WebIconDatabase.cpp \
	android/jni/WebStorage.cpp \
	android/jni/WebSettings.cpp \
	android/jni/WebViewCore.cpp \
	android/jni/ViewStateSerializer.cpp \
	\
	android/nav/DrawExtra.cpp \
	android/nav/SelectText.cpp \
	android/nav/WebView.cpp \
	\
	android/plugins/ANPBitmapInterface.cpp \
	android/plugins/ANPCanvasInterface.cpp \
	android/plugins/ANPEventInterface.cpp \
	android/plugins/ANPLogInterface.cpp \
	android/plugins/ANPMatrixInterface.cpp \
	android/plugins/ANPNativeWindowInterface.cpp \
	android/plugins/ANPPaintInterface.cpp \
	android/plugins/ANPPathInterface.cpp \
	android/plugins/ANPSoundInterface.cpp \
	android/plugins/ANPSurfaceInterface.cpp \
	android/plugins/ANPSystemInterface.cpp \
	android/plugins/ANPTypefaceInterface.cpp \
	android/plugins/ANPVideoInterface.cpp \
	android/plugins/ANPWindowInterface.cpp \
	android/plugins/PluginDebugAndroid.cpp \
	android/plugins/PluginTimer.cpp \
	android/plugins/PluginViewBridgeAndroid.cpp \
	android/plugins/PluginWidgetAndroid.cpp \
	android/plugins/SkANP.cpp \
	\
	android/wds/Command.cpp \
	android/wds/ConnectionAndroid.cpp \
	android/wds/DebugServer.cpp

LOCAL_C_INCLUDES += \
	external/openssl/include \
	libcore/include

# Needed for autofill.
ifeq ($(ENABLE_AUTOFILL),true)
LOCAL_CFLAGS += -DENABLE_WEB_AUTOFILL

LOCAL_SRC_FILES += \
	android/WebCoreSupport/autofill/AutoFillHostAndroid.cpp \
	android/WebCoreSupport/autofill/FormManagerAndroid.cpp \
	android/WebCoreSupport/autofill/WebAutofill.cpp
endif # ENABLE_AUTOFILL == true
