diff options
Diffstat (limited to 'WebKit/android/jni/WebViewCore.h')
| -rw-r--r-- | WebKit/android/jni/WebViewCore.h | 25 |
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. |
