diff options
Diffstat (limited to 'webkit/glue/webview_impl.cc')
-rw-r--r-- | webkit/glue/webview_impl.cc | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/webkit/glue/webview_impl.cc b/webkit/glue/webview_impl.cc index 78ae88b..aa45bc8 100644 --- a/webkit/glue/webview_impl.cc +++ b/webkit/glue/webview_impl.cc @@ -121,6 +121,8 @@ using WebKit::WebKeyboardEvent; using WebKit::WebMouseEvent; using WebKit::WebMouseWheelEvent; using WebKit::WebPoint; +using WebKit::WebRect; +using WebKit::WebSize; // Change the text zoom level by kTextSizeMultiplierRatio each time the user // zooms text in or out (ie., change by 20%). The min and max values limit @@ -153,7 +155,7 @@ class AutocompletePopupMenuClient : public WebCore::PopupMenuClient { FontDescription font_description; #if defined(OS_WIN) - theme()->systemFont(CSSValueWebkitControl, font_description); + theme()->systemFont(CSSValueWebkitControl, 0, font_description); #else NOTIMPLEMENTED(); #endif @@ -368,7 +370,7 @@ WebViewImpl::WebViewImpl() WTF::initializeThreading(); // set to impossible point so we always get the first mouse pos - last_mouse_position_.SetPoint(-1, -1); + last_mouse_position_ = WebPoint(-1, -1); // the page will take ownership of the various clients page_.reset(new Page(new ChromeClientImpl(this), @@ -411,7 +413,7 @@ void WebViewImpl::MouseMove(const WebMouseEvent& event) { if (!main_frame() || !main_frame()->frameview()) return; - last_mouse_position_.SetPoint(event.x, event.y); + last_mouse_position_ = WebPoint(event.x, event.y); // We call mouseMoved here instead of handleMouseMovedEvent because we need // our ChromeClientImpl to receive changes to the mouse position and @@ -962,18 +964,18 @@ WebFrame* WebViewImpl::GetNextFrameAfter(WebFrame* frame, bool wrap) { return next ? WebFrameImpl::FromFrame(next) : NULL; } -void WebViewImpl::Resize(const gfx::Size& new_size) { +void WebViewImpl::Resize(const WebSize& new_size) { if (size_ == new_size) return; size_ = new_size; if (main_frame()->frameview()) { - main_frame()->frameview()->resize(size_.width(), size_.height()); + main_frame()->frameview()->resize(size_.width, size_.height); main_frame()->frame()->eventHandler()->sendResizeEvent(); } if (delegate_) { - gfx::Rect damaged_rect(0, 0, size_.width(), size_.height()); + WebRect damaged_rect(0, 0, size_.width, size_.height); delegate_->DidInvalidateRect(this, damaged_rect); } } @@ -998,7 +1000,7 @@ void WebViewImpl::Layout() { } } -void WebViewImpl::Paint(skia::PlatformCanvas* canvas, const gfx::Rect& rect) { +void WebViewImpl::Paint(skia::PlatformCanvas* canvas, const WebRect& rect) { WebFrameImpl* webframe = main_frame(); if (webframe) webframe->Paint(canvas, rect); @@ -1286,7 +1288,7 @@ bool WebViewImpl::ImeSetComposition(int string_type, } bool WebViewImpl::ImeUpdateStatus(bool* enable_ime, - gfx::Rect* caret_rect) { + WebRect* caret_rect) { // Store whether the selected node needs IME and the caret rectangle. // This process consists of the following four steps: // 1. Retrieve the selection controller of the focused frame; @@ -1297,22 +1299,27 @@ bool WebViewImpl::ImeUpdateStatus(bool* enable_ime, const Frame* focused = GetFocusedWebCoreFrame(); if (!focused) return false; + const Editor* editor = focused->editor(); if (!editor || !editor->canEdit()) return false; + SelectionController* controller = focused->selection(); if (!controller) return false; + const Node* node = controller->start().node(); if (!node) return false; + *enable_ime = node->shouldUseInputMethod() && !controller->isInPasswordField(); const FrameView* view = node->document()->view(); if (!view) return false; - const IntRect rect(view->contentsToWindow(controller->absoluteCaretBounds())); - caret_rect->SetRect(rect.x(), rect.y(), rect.width(), rect.height()); + + *caret_rect = webkit_glue::IntRectToWebRect( + view->contentsToWindow(controller->absoluteCaretBounds())); return true; } @@ -1324,6 +1331,7 @@ void WebViewImpl::SetTextDirection(WebTextDirection direction) { const Frame* focused = GetFocusedWebCoreFrame(); if (!focused) return; + Editor* editor = focused->editor(); if (!editor || !editor->canEdit()) return; @@ -1900,7 +1908,7 @@ void WebViewImpl::RefreshAutofillPopup() { WebWidgetImpl* web_widget = static_cast<WebWidgetImpl*>(autocomplete_popup_->client()); web_widget->delegate()->SetWindowRect( - web_widget, webkit_glue::FromIntRect(new_bounds)); + web_widget, webkit_glue::IntRectToWebRect(new_bounds)); } } |