diff options
Diffstat (limited to 'WebKit/android')
-rw-r--r-- | WebKit/android/jni/WebCoreFrameBridge.cpp | 12 | ||||
-rw-r--r-- | WebKit/android/jni/WebViewCore.cpp | 2 | ||||
-rw-r--r-- | WebKit/android/stl/algorithm | 30 |
3 files changed, 21 insertions, 23 deletions
diff --git a/WebKit/android/jni/WebCoreFrameBridge.cpp b/WebKit/android/jni/WebCoreFrameBridge.cpp index 07e027a..57123f6 100644 --- a/WebKit/android/jni/WebCoreFrameBridge.cpp +++ b/WebKit/android/jni/WebCoreFrameBridge.cpp @@ -63,6 +63,8 @@ #include <runtime/JSLock.h> #elif USE(V8) #include "V8InitializeThreading.h" +#include "jni_npobject.h" +#include "jni_instance.h" #endif // USE(JSC) #include "KURL.h" @@ -1028,6 +1030,16 @@ static void AddJavascriptInterface(JNIEnv *env, jobject obj, jint nativeFramePoi } } #endif // USE(JSC) + +#if USE(V8) + 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); + JSC::Bindings::releaseCharactersForJString(interfaceName, name); + } +#endif + } static void SetCacheDisabled(JNIEnv *env, jobject obj, jboolean disabled) diff --git a/WebKit/android/jni/WebViewCore.cpp b/WebKit/android/jni/WebViewCore.cpp index 5cb9b9d..347c8ad 100644 --- a/WebKit/android/jni/WebViewCore.cpp +++ b/WebKit/android/jni/WebViewCore.cpp @@ -267,6 +267,8 @@ WebViewCore* WebViewCore::getWebViewCore(const WebCore::FrameView* view) WebViewCore* WebViewCore::getWebViewCore(const WebCore::ScrollView* view) { WebFrameView* webFrameView = static_cast<WebFrameView*>(view->platformWidget()); + if (!webFrameView) + return 0; return webFrameView->webViewCore(); } diff --git a/WebKit/android/stl/algorithm b/WebKit/android/stl/algorithm index 33968ab..4453ea3 100644 --- a/WebKit/android/stl/algorithm +++ b/WebKit/android/stl/algorithm @@ -49,10 +49,6 @@ #include <SkScalar.h> // for SK_ScalarNaN #ifdef PREFIX_FOR_WEBCORE #include <SkTSearch.h> -namespace WebCore { - class InlineTextBox; - class RenderLayer; -} #endif #include <float.h> @@ -64,14 +60,6 @@ namespace WebCore { #define WCHAR_MAX 0xFFFF #endif -namespace JSC { - class ProfileNode; -} - -namespace WTF { - template <typename T> class RefPtr; -} - namespace std { template<typename _Tp> @@ -199,12 +187,17 @@ extern void sort(const void** start, const void** end, Comparator comp); } - inline void sort (WebCore::InlineTextBox** start, WebCore::InlineTextBox**end, - bool (* comp)(const WebCore::InlineTextBox*, const WebCore::InlineTextBox*)) + template<typename P> inline void sort (P** start, P**end, + bool (* comp)(const P*, const P*)) { sort((const void**) start, (const void**) end, (Comparator) comp); } + template<typename P> void sort(P* start, P* end, + bool (* comp)(const P&, const P&)) { + stable_sort(start, end, *comp); + } + template<typename P> inline void stable_sort(P** start, P** end, bool (* comp)(P*, P*)) { @@ -258,15 +251,6 @@ extern void sort(const void** start, const void** end, Comparator comp); }; #endif -typedef bool (* ProfileComparator)(const WTF::RefPtr<JSC::ProfileNode>&, - const WTF::RefPtr<JSC::ProfileNode>&); - -inline void sort(WTF::RefPtr<JSC::ProfileNode>* start, - WTF::RefPtr<JSC::ProfileNode>* end, ProfileComparator comp) -{ - sort((const void**) start, (const void**) end, (Comparator) comp); -} - } #endif |