RenderWidget overrides both ShowVirtualKeyboard and showVirtualKeyboard |
|||||
Issue description
../../content/renderer/render_widget.h:300:8: error: class member cannot be redeclared
void ShowVirtualKeyboard() override;
^
../../content/renderer/render_widget.h:267:8: note: previous declaration is here
void ShowVirtualKeyboard() override;
,
Jan 23 2017
rouslan@, would you have any suggestions here? Having methods that only differ by the case of the first character would cause conflicts after the Great Blink Rename. Unfortunately, I don't see how to either 1) merge the methods or 2) rename to better names. FWIW, showVirtualKeyboardForBlink and ShowVirtualKeyboardForContent don't seem better, but hopefully there are other renaming options that I am missing. Also - please note that a similar conflict in RenderFrameImpl was tackled by renaming DidStartLoading to PluginDidStartLoading - see r441372.
,
Jan 23 2017
One possibility is move the FocusChangeComplete() to another method that blink calls after calling showVirtualKeyboard(). Then we can merge the two showVirtualKeyboards()s.
,
Jan 23 2017
The lower-case "s" function is called from Blink when an element is focused. Perhaps it can be renamed into "showKeyboardOnElementFocus()"?
,
Jan 24 2017
FWIW, I've put together a CL following the suggestion from #c4 at https://crrev.com/2654703002 and I am running tryjobs right now. Proposal from #c3 seems a little nicer for the long-term aesthetics, but #c3 is also ok + #c3 doesn't require any manual cleanup after running the automated renaming tool (#c4 would require manual merging / removal of the duplicate method).
,
Jan 24 2017
,
Jan 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c commit 86f05da3c1fe8ca3d242e96c8717dcdb69950f6c Author: lukasza <lukasza@chromium.org> Date: Tue Jan 24 21:23:26 2017 Rename showVirtualKeyboard() to showVirtualKeyboardOnElementFocus(). The rename is needed to avoid conflicts with RenderWidget::ShowVirtualKeyboard after the Great Blink Rename. BUG= 682740 TBR=nasko@chromium.org Review-Url: https://codereview.chromium.org/2654703002 Cr-Commit-Position: refs/heads/master@{#445817} [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/content/renderer/input/render_widget_input_handler.cc [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/content/renderer/render_view_impl.cc [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/content/renderer/render_view_impl.h [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/content/renderer/render_widget.cc [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/content/renderer/render_widget.h [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/Source/core/dom/Element.cpp [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/Source/core/page/ChromeClient.h [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/Source/web/ChromeClientImpl.cpp [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/Source/web/ChromeClientImpl.h [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/Source/web/tests/ImeOnFocusTest.cpp [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/public/web/WebViewClient.h [modify] https://crrev.com/86f05da3c1fe8ca3d242e96c8717dcdb69950f6c/third_party/WebKit/public/web/WebWidgetClient.h
,
Jan 24 2017
This should be fixed right now, but let's keep an eye out for this when trying another dry-run of the Great Blink Rename. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by lukasza@chromium.org
, Jan 23 2017AFAICT: - content::RenderWidget::ShowVirtualKeyboard overrides content::RenderWidgetInputHandlerDelegate::ShowVirtualKeyboard - content::RenderWidget::showVirtualKeyboard overrides blink::WebWidgetClient::showVirtualKeyboard (directly + also overriding the same virtual method inherited from RenderView and WebViewClient) Interestingly, RenderWidget::showVirtualKeyboard() calls RenderWidget::ShowVirtualKeyboard, but also does some extra things: void RenderWidget::showVirtualKeyboard() { ShowVirtualKeyboard(); // TODO(rouslan): Fix ChromeOS and Windows 8 behavior of autofill popup with // virtual keyboard. #if !defined(OS_ANDROID) FocusChangeComplete(); #endif } Because of the above, it seems that we might have to retain both methods.