summaryrefslogtreecommitdiffstats
path: root/WebKit/android/jni/WebViewCore.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/android/jni/WebViewCore.h')
-rw-r--r--WebKit/android/jni/WebViewCore.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/WebKit/android/jni/WebViewCore.h b/WebKit/android/jni/WebViewCore.h
index 5d12158..9702d3e 100644
--- a/WebKit/android/jni/WebViewCore.h
+++ b/WebKit/android/jni/WebViewCore.h
@@ -13,7 +13,7 @@
* 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
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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
@@ -27,6 +27,7 @@
#define WEBVIEWCORE_H
#include "android_npapi.h"
+#include "FileChooser.h"
#include "CacheBuilder.h"
#include "CachedHistory.h"
#include "PictureSet.h"
@@ -62,14 +63,8 @@ class SkIRect;
namespace android {
- enum PluginState {
- kGainFocus_PluginState = 0,
- kLoseFocus_PluginState = 1,
- };
-
class CachedRoot;
class ListBoxReply;
- class SurfaceCallback;
class WebCoreReply : public WebCoreRefObject {
public:
@@ -366,15 +361,15 @@ namespace android {
// return the cursorNode if it is a plugin
Node* cursorNodeIsPlugin();
- // notify the plugin of an update in state
- void updatePluginState(Frame* frame, Node* node, PluginState state);
-
// Notify the Java side whether it needs to pass down the touch events
void needTouchEvents(bool);
// Notify the Java side that webkit is requesting a keyboard
void requestKeyboard(bool);
+ // Generates a class loader that contains classes from the plugin's apk
+ jclass getPluginClass(const char* libName, const char* className);
+
// Creates a full screen surface (i.e. View on an Activity) for a plugin
void startFullScreenPluginActivity(const char* libName,
const char* className, NPP npp);
@@ -383,11 +378,17 @@ namespace android {
jobject createSurface(const char* libName, const char* className,
NPP npp, int x, int y, int width, int height);
+ // Updates a Surface coordinates and dimensions for a plugin
+ void updateSurface(jobject childView, int x, int y, int width, int height);
+
// Destroys a SurfaceView for a plugin
void destroySurface(jobject childView);
// other public functions
public:
+ // Open a file chooser for selecting a file to upload
+ void openFileChooser(PassRefPtr<WebCore::FileChooser> );
+
// reset the picture set to empty
void clearContent();
@@ -396,6 +397,7 @@ namespace android {
// draw the picture set with the specified background color
bool drawContent(SkCanvas* , SkColor );
+ bool focusBoundsChanged();
bool pictureReady();
// record the inval area, and the picture size
@@ -413,7 +415,6 @@ namespace android {
static Mutex gFrameCacheMutex;
CachedRoot* m_frameCacheKit; // nav data being built by webcore
SkPicture* m_navPictureKit;
- int m_generation; // copy of the number bumped by WebViewNative
int m_moveGeneration; // copy of state in WebViewNative triggered by move
int m_touchGeneration; // copy of state in WebViewNative triggered by touch
int m_lastGeneration; // last action using up to date cache
@@ -456,7 +457,6 @@ namespace android {
WebCore::IntRect m_lastFocusedBounds;
int m_lastFocusedSelStart;
int m_lastFocusedSelEnd;
- int m_lastMoveGeneration;
static Mutex m_contentMutex; // protects ui/core thread pictureset access
PictureSet m_content; // the set of pictures to draw (accessed by UI too)
SkRegion m_addInval; // the accumulated inval region (not yet drawn)
@@ -464,6 +464,7 @@ namespace android {
// Used in passToJS to avoid updating the UI text field until after the
// key event has been processed.
bool m_blockTextfieldUpdates;
+ bool m_focusBoundsChanged;
bool m_skipContentDraw;
// Passed in with key events to know when they were generated. Store it
// with the cache so that we can ignore stale text changes.