diff options
author | Ben Murdoch <benm@google.com> | 2009-08-11 17:01:47 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2009-08-11 18:21:02 +0100 |
commit | 0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5 (patch) | |
tree | 2943df35f62d885c89d01063cc528dd73b480fea /WebCore/platform/android | |
parent | 7e7a70bfa49a1122b2597a1e6367d89eb4035eca (diff) | |
download | external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.zip external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.gz external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.bz2 |
Merge in WebKit r47029.
Diffstat (limited to 'WebCore/platform/android')
-rw-r--r-- | WebCore/platform/android/KeyEventAndroid.cpp | 13 | ||||
-rw-r--r-- | WebCore/platform/android/LocalizedStringsAndroid.cpp | 254 | ||||
-rw-r--r-- | WebCore/platform/android/RenderThemeAndroid.cpp | 94 | ||||
-rw-r--r-- | WebCore/platform/android/RenderThemeAndroid.h | 7 | ||||
-rw-r--r-- | WebCore/platform/android/ScreenAndroid.cpp | 27 | ||||
-rw-r--r-- | WebCore/platform/android/ScrollViewAndroid.cpp | 16 | ||||
-rw-r--r-- | WebCore/platform/android/SearchPopupMenuAndroid.cpp | 12 | ||||
-rw-r--r-- | WebCore/platform/android/SystemTimeAndroid.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/android/TemporaryLinkStubs.cpp | 46 | ||||
-rw-r--r-- | WebCore/platform/android/WidgetAndroid.cpp | 2 |
10 files changed, 59 insertions, 414 deletions
diff --git a/WebCore/platform/android/KeyEventAndroid.cpp b/WebCore/platform/android/KeyEventAndroid.cpp index 998c781..ab848bd 100644 --- a/WebCore/platform/android/KeyEventAndroid.cpp +++ b/WebCore/platform/android/KeyEventAndroid.cpp @@ -211,8 +211,9 @@ static inline String singleCharacterString(UChar32 c) } PlatformKeyboardEvent::PlatformKeyboardEvent(int keyCode, UChar32 unichar, - int repeatCount, bool down, bool cap, bool alt, bool sym) - : m_type(down ? KeyDown : KeyUp) + Type type, int repeatCount, + ModifierKey mods) + : m_type(type) , m_text(singleCharacterString(unichar)) , m_unmodifiedText(singleCharacterString(unichar)) , m_keyIdentifier(keyIdentifierForAndroidKeyCode(keyCode)) @@ -220,10 +221,10 @@ PlatformKeyboardEvent::PlatformKeyboardEvent(int keyCode, UChar32 unichar, , m_windowsVirtualKeyCode(windowsKeyCodeForKeyEvent(keyCode)) , m_nativeVirtualKeyCode(keyCode) , m_isKeypad(false) - , m_shiftKey(cap ? ShiftKey : 0) - , m_ctrlKey(sym ? CtrlKey : 0) - , m_altKey(alt ? AltKey : 0) - , m_metaKey(0) + , m_shiftKey((mods & ShiftKey)) + , m_ctrlKey((mods & CtrlKey)) + , m_altKey((mods & AltKey)) + , m_metaKey((mods & MetaKey)) // added for android , m_repeatCount(repeatCount) , m_unichar(unichar) diff --git a/WebCore/platform/android/LocalizedStringsAndroid.cpp b/WebCore/platform/android/LocalizedStringsAndroid.cpp index 07cf229..1fe80d8 100644 --- a/WebCore/platform/android/LocalizedStringsAndroid.cpp +++ b/WebCore/platform/android/LocalizedStringsAndroid.cpp @@ -27,8 +27,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#define LOG_TAG "WebCore" - #include "config.h" #include "LocalizedStrings.h" @@ -37,8 +35,6 @@ namespace WebCore { -// *** The following strings should be localized *** // - String contextMenuItemTagInspectElement() { return String("Inspect Element"); @@ -55,254 +51,4 @@ String imageTitle(const String& filename, const IntSize& size) return String(); } -// The following functions are used to fetch localized text for HTML form -// elements submit and reset. These strings are used when the page author -// has not specified any text for these buttons. -String submitButtonDefaultLabel() -{ - verifiedOk(); - return String("Submit"); -} - -String resetButtonDefaultLabel() -{ - verifiedOk(); - return String("Reset"); -} - -// The alt text for an input element is not used visually, but rather is -// used for accessability - eg reading the web page. See -// HTMLInputElement::altText() for more information. -String inputElementAltText() -{ - notImplemented(); - return String(); -} - -// This is the string that appears before an input box when the HTML element -// <ISINDEX> is used. The returned string is used if no PROMPT attribute is -// provided. -// note: Safari and FireFox use (too long for us imho) "This is a searchable index. Enter search keywords:" -String searchableIndexIntroduction() -{ - verifiedOk(); - return String("Enter search:"); -} - -String contextMenuItemTagOpenLinkInNewWindow() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagDownloadLinkToDisk() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCopyLinkToClipboard() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagOpenImageInNewWindow() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagDownloadImageToDisk() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCopyImageToClipboard() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagOpenFrameInNewWindow() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCopy() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagGoBack() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagGoForward() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagStop() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagReload() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCut() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagPaste() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagNoGuessesFound() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagIgnoreSpelling() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagLearnSpelling() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagSearchWeb() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagLookUpInDictionary() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagOpenLink() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagIgnoreGrammar() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagSpellingMenu() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagShowSpellingPanel(bool) -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCheckSpelling() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCheckSpellingWhileTyping() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagCheckGrammarWithSpelling() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagFontMenu() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagBold() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagItalic() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagUnderline() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagOutline() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagWritingDirectionMenu() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagDefaultDirection() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagLeftToRight() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagRightToLeft() -{ - ASSERT_NOT_REACHED(); - return String(); -} - -String contextMenuItemTagTextDirectionMenu() -{ - ASSERT_NOT_REACHED(); - return String(); -} - } // namespace WebCore diff --git a/WebCore/platform/android/RenderThemeAndroid.cpp b/WebCore/platform/android/RenderThemeAndroid.cpp index 4cf7a1c..a1e8bf6 100644 --- a/WebCore/platform/android/RenderThemeAndroid.cpp +++ b/WebCore/platform/android/RenderThemeAndroid.cpp @@ -27,11 +27,8 @@ #include "RenderThemeAndroid.h" #include "Color.h" +#include "FormControlElement.h" #include "GraphicsContext.h" -#include "HTMLNames.h" -#include "HTMLOptionElement.h" -#include "HTMLSelectElement.h" -#include "Node.h" #include "PlatformGraphicsContext.h" #include "RenderSkinAndroid.h" #include "RenderSkinButton.h" @@ -114,26 +111,6 @@ Color RenderThemeAndroid::platformTextSearchHighlightColor() const return Color(Color::transparent); } -Color RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor() const -{ - return Color(Color::transparent); -} - -Color RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor() const -{ - return Color(Color::transparent); -} - -Color RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor() const -{ - return Color(Color::transparent); -} - -Color RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor() const -{ - return Color(Color::transparent); -} - int RenderThemeAndroid::baselinePosition(const RenderObject* obj) const { // From the description of this function in RenderTheme.h: @@ -204,14 +181,13 @@ bool RenderThemeAndroid::paintButton(RenderObject* obj, const RenderObject::Pain { // If it is a disabled button, simply paint it to the master picture. Node* node = obj->node(); - if (!node || !node->isElementNode() - || !static_cast<Element*>(node)->isEnabledFormControl()) { - RenderSkinButton::Draw(getCanvasFromInfo(info), rect, - RenderSkinAndroid::kDisabled); - } else { + FormControlElement* formControlElement = toFormControlElement(static_cast<Element*>(node)); + if (formControlElement && !formControlElement->isEnabled()) + RenderSkinButton::Draw(getCanvasFromInfo(info), rect, RenderSkinAndroid::kDisabled); + else // Store all the important information in the platform context. info.context->platformContext()->storeButtonInfo(node, rect); - } + // We always return false so we do not request to be redrawn. return false; } @@ -251,55 +227,8 @@ void RenderThemeAndroid::adjustTextAreaStyle(CSSStyleSelector*, RenderStyle* sty bool RenderThemeAndroid::paintTextArea(RenderObject* obj, const RenderObject::PaintInfo& info, const IntRect& rect) { - if (obj->isListBox()) { - paintCombo(obj, info, rect); - RenderStyle* style = obj->style(); - if (style) - style->setColor(Color::transparent); - Node* node = obj->node(); - if (!node || !node->hasTagName(HTMLNames::selectTag)) { - return true; - } - HTMLSelectElement* select = static_cast<HTMLSelectElement*>(node); - // The first item may be visible. Make sure it does not draw. - // If it has a style, it overrides the RenderListBox's style, so we - // need to make sure both are set to transparent. - node = select->item(0); - if (node) { - RenderObject* renderer = node->renderer(); - if (renderer) { - RenderStyle* renderStyle = renderer->style(); - if (renderStyle) - renderStyle->setColor(Color::transparent); - } - } - // Find the first selected option, and draw its text. - // FIXME: In a later change, if there is more than one item selected, - // draw a string that says "X items" like iPhone Safari does - int index = select->selectedIndex(); - node = select->item(index); - if (!node || !node->hasTagName(HTMLNames::optionTag)) { - return true; - } - HTMLOptionElement* option = static_cast<HTMLOptionElement*>(node); - String label = option->textIndentedToRespectGroupLabel(); - SkRect r(rect); - - SkPaint paint; - paint.setAntiAlias(true); - paint.setTextEncoding(SkPaint::kUTF16_TextEncoding); - // Values for text size and positioning determined by trial and error - paint.setTextSize(r.height() - SkIntToScalar(6)); - - SkCanvas* canvas = getCanvasFromInfo(info); - int saveCount = canvas->save(); - r.fRight -= SkIntToScalar(RenderSkinCombo::extraWidth()); - canvas->clipRect(r); - canvas->drawText(label.characters(), label.length() << 1, - r.fLeft + SkIntToScalar(5), r.fBottom - SkIntToScalar(5), - paint); - canvas->restoreToCount(saveCount); - } + if (obj->isMenuList()) + return paintCombo(obj, info, rect); return true; } @@ -317,8 +246,6 @@ void RenderThemeAndroid::adjustListboxStyle(CSSStyleSelector*, RenderStyle* styl { style->setPaddingRight(Length(RenderSkinCombo::extraWidth(), Fixed)); style->setMaxHeight(Length(style->fontSize() + LISTBOX_PADDING, Fixed)); - // Make webkit draw invisible, since it will simply draw the first element - style->setColor(Color::transparent); addIntrinsicMargins(style); } @@ -328,7 +255,10 @@ static void adjustMenuListStyleCommon(RenderStyle* style, Element* e) style->setPaddingRight(Length(RenderSkinCombo::extraWidth(), Fixed)); // Code copied from RenderThemeMac.mm // Makes sure that the text shows up on our treatment - style->setColor(e->isEnabledFormControl() ? Color::black : Color::darkGray); + bool isEnabled = true; + if (FormControlElement* formControlElement = toFormControlElement(e)) + isEnabled = formControlElement->isEnabled(); + style->setColor(isEnabled ? Color::black : Color::darkGray); } void RenderThemeAndroid::adjustMenuListStyle(CSSStyleSelector*, RenderStyle* style, Element* e) const diff --git a/WebCore/platform/android/RenderThemeAndroid.h b/WebCore/platform/android/RenderThemeAndroid.h index f95d1d7..056b2d6 100644 --- a/WebCore/platform/android/RenderThemeAndroid.h +++ b/WebCore/platform/android/RenderThemeAndroid.h @@ -63,12 +63,7 @@ public: virtual Color platformActiveSelectionForegroundColor() const; virtual Color platformInactiveSelectionForegroundColor() const; virtual Color platformTextSearchHighlightColor() const; - - virtual Color platformActiveListBoxSelectionBackgroundColor() const; - virtual Color platformInactiveListBoxSelectionBackgroundColor() const; - virtual Color platformActiveListBoxSelectionForegroundColor() const; - virtual Color platformInactiveListBoxSelectionForegroundColor() const; - + virtual void systemFont(int, WebCore::FontDescription&) const {} virtual int minimumMenuListSize(RenderStyle*) const { return 0; } diff --git a/WebCore/platform/android/ScreenAndroid.cpp b/WebCore/platform/android/ScreenAndroid.cpp index c1e43b0..2439c1f 100644 --- a/WebCore/platform/android/ScreenAndroid.cpp +++ b/WebCore/platform/android/ScreenAndroid.cpp @@ -97,31 +97,6 @@ FloatRect screenRect(Widget* page) return FloatRect(0.0, 0.0, info.w, info.h); } -/* -Scale functions don't seem to be needed. There is no code that -call them, and they seem to only exist in ports and not in the core -WebKit code - davidc -FloatRect usableScreenRect(Widget* page) -{ - return FloatRect();; -} - -FloatRect scaleScreenRectToPageCoordinates(const FloatRect&, Widget*) -{ - return FloatRect();; -} - -FloatRect scalePageRectToScreenCoordinates(const FloatRect&, Widget*) -{ - return FloatRect();; -} - -float scaleFactor(Widget*) -{ - return 1.0f; -} -*/ - // Similar screenRect, this function is commonly used by javascripts // to position and resize windows (usually to full screen). FloatRect screenAvailableRect(Widget*) @@ -131,4 +106,4 @@ FloatRect screenAvailableRect(Widget*) return FloatRect(0.0, 0.0, info.w, info.h); } -} +} // namespace WebCore diff --git a/WebCore/platform/android/ScrollViewAndroid.cpp b/WebCore/platform/android/ScrollViewAndroid.cpp index a59faf3..274c04f 100644 --- a/WebCore/platform/android/ScrollViewAndroid.cpp +++ b/WebCore/platform/android/ScrollViewAndroid.cpp @@ -28,7 +28,6 @@ #include "ScrollView.h" #include "FloatRect.h" -#include "Frame.h" #include "FrameView.h" #include "IntRect.h" #include "WebCoreFrameBridge.h" @@ -68,13 +67,9 @@ IntSize ScrollView::platformContentsSize() const void ScrollView::platformSetScrollPosition(const WebCore::IntPoint& pt) { - android::WebViewCore* webviewCore = android::WebViewCore::getWebViewCore(this); - // don't attempt to scroll subframes; they're fully visible. - // as this can be called before the view is added to the parent in iframe - // creation, we can't depend on parent() checking. - if (webviewCore->mainFrame()->view() != this) + if (parent()) // don't attempt to scroll subframes; they're fully visible return; - webviewCore->scrollTo(pt.x(), pt.y()); + android::WebViewCore::getWebViewCore(this)->scrollTo(pt.x(), pt.y()); } void ScrollView::platformScrollbarModes(ScrollbarMode& h, ScrollbarMode& v) const @@ -103,11 +98,8 @@ void ScrollView::platformRepaintContentRectangle(const IntRect &rect, bool now) #ifdef ANDROID_CAPTURE_OFFSCREEN_PAINTS void ScrollView::platformOffscreenContentRectangle(const IntRect& rect) { - android::WebViewCore* core = android::WebViewCore::getWebViewCore(this); - if (!core) - return; - core->offInvalidate(rect); + android::WebViewCore::getWebViewCore(this)->offInvalidate(rect); } #endif -} +} // namespace WebCore diff --git a/WebCore/platform/android/SearchPopupMenuAndroid.cpp b/WebCore/platform/android/SearchPopupMenuAndroid.cpp index fa976e7..0d67fdd 100644 --- a/WebCore/platform/android/SearchPopupMenuAndroid.cpp +++ b/WebCore/platform/android/SearchPopupMenuAndroid.cpp @@ -31,22 +31,22 @@ namespace WebCore { // Save the past searches stored in 'searchItems' to a database associated with 'name' void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems) { - //ASSERT(0); //notImplemented(); } // Load past searches associated with 'name' from the database to 'searchItems' void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems) { - //ASSERT(0); //notImplemented(); } // Create a search popup menu - not sure what else we have to do here -SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client) : PopupMenu(client) +SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client) + : PopupMenu(client) { - //ASSERT(0); //notImplemented(); } -// functions new to Jun-07 tip of tree merge: -bool SearchPopupMenu::enabled() { return false; } +bool SearchPopupMenu::enabled() +{ + return false; +} } // namespace WebCore diff --git a/WebCore/platform/android/SystemTimeAndroid.cpp b/WebCore/platform/android/SystemTimeAndroid.cpp index 1ecbfc7..a9c862a 100644 --- a/WebCore/platform/android/SystemTimeAndroid.cpp +++ b/WebCore/platform/android/SystemTimeAndroid.cpp @@ -31,7 +31,7 @@ namespace WebCore { float userIdleTime() { // Needed for PageCache, which we currently have disabled. - return 0.0f; + return 0.0F; } } // namespace WebCore diff --git a/WebCore/platform/android/TemporaryLinkStubs.cpp b/WebCore/platform/android/TemporaryLinkStubs.cpp index b48f006..b68a74c 100644 --- a/WebCore/platform/android/TemporaryLinkStubs.cpp +++ b/WebCore/platform/android/TemporaryLinkStubs.cpp @@ -59,7 +59,6 @@ #include "Icon.h" #include "IconDatabase.h" #include "IconLoader.h" -#include "InspectorFrontend.h" #include "IntPoint.h" #if USE(JSC) @@ -163,15 +162,6 @@ void CheckCacheObjectStatus(DocLoader*, CachedResource*) Icon::~Icon() { } void Icon::paint(GraphicsContext*, const IntRect&) { } -// This function provides the default value for the CSS property: -// -webkit-focus-ring-color -// It is also related to the CSS property outline-color: -Color focusRingColor() -{ - verifiedOk(); - return 0xFF0000FF; -} - } // namespace WebCore // FIXME, no support for spelling yet. @@ -373,7 +363,7 @@ namespace WebCore { IntSize dragImageSize(void*) { - return IntSize(); + return IntSize(0, 0); } void deleteDragImage(void*) {} @@ -428,6 +418,17 @@ String searchMenuClearRecentSearchesText() return String(); } +Vector<String> supportedKeySizes() +{ + notImplemented(); + return Vector<String>(); +} + +String signedPublicKeyAndChallengeString(unsigned int, String const&, WebCore::KURL const&) +{ + return String(); +} + } // namespace WebCore namespace WebCore { @@ -460,7 +461,7 @@ PassRefPtr<SharedBuffer> SharedBuffer::createWithContentsOfFile(const String&) #if USE(JSC) namespace JSC { namespace Bindings { bool dispatchJNICall(ExecState*, const void* targetAppletView, jobject obj, bool isStatic, JNIType returnType, - jmethodID methodID, jvalue* args, jvalue& result, const char* callingURL, JSValue& exceptionDescription) + jmethodID methodID, jvalue* args, jvalue& result, const char* callingURL, JSValuePtr& exceptionDescription) { notImplemented(); return false; @@ -482,6 +483,11 @@ void prefetchDNS(const String&) notImplemented(); } +void getSupportedKeySizes(Vector<String>&) +{ + notImplemented(); +} + PassRefPtr<Icon> Icon::createIconForFile(const String&) { notImplemented(); @@ -540,11 +546,6 @@ void AXObjectCache::remove(RenderObject*) notImplemented(); } -InspectorFrontend::~InspectorFrontend() -{ - notImplemented(); -} - #if USE(JSC) using namespace JSC; @@ -561,9 +562,15 @@ OpaqueJSClassContextData::~OpaqueJSClassContextData() // as we don't use inspector/*.cpp, add stub here. -/* namespace WebCore { -JSValue JavaScriptCallFrame::evaluate(const UString& script, JSValue& exception) const + +JSValuePtr toJS(ExecState*, Profile*) +{ + notImplemented(); + return jsNull(); +} + +JSValuePtr JavaScriptCallFrame::evaluate(const UString& script, JSValuePtr& exception) const { notImplemented(); return jsNull(); @@ -663,5 +670,4 @@ void JavaScriptDebugServer::willExecuteProgram(const DebuggerCallFrame&, int, in { notImplemented(); } -*/ #endif diff --git a/WebCore/platform/android/WidgetAndroid.cpp b/WebCore/platform/android/WidgetAndroid.cpp index fcfea2e..850721d 100644 --- a/WebCore/platform/android/WidgetAndroid.cpp +++ b/WebCore/platform/android/WidgetAndroid.cpp @@ -51,7 +51,7 @@ IntRect Widget::frameRect() const { // FIXME: use m_frame instead? if (!platformWidget()) - return IntRect(); + return IntRect(0, 0, 0, 0); return platformWidget()->getBounds(); } |