summaryrefslogtreecommitdiffstats
path: root/WebKit/android
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/android')
-rw-r--r--WebKit/android/jni/WebCoreFrameBridge.cpp12
-rw-r--r--WebKit/android/jni/WebViewCore.cpp2
-rw-r--r--WebKit/android/stl/algorithm30
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