Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 1652483002: Browser Side Text Input State Tracking for OOPIF. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added Missing Files and Fixed Some Errors Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/render_widget_host_view_android.h" 5 #include "content/browser/renderer_host/render_widget_host_view_android.h"
6 6
7 #include <android/bitmap.h> 7 #include <android/bitmap.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/android/build_info.h" 10 #include "base/android/build_info.h"
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 632
633 void RenderWidgetHostViewAndroid::SetIsLoading(bool is_loading) { 633 void RenderWidgetHostViewAndroid::SetIsLoading(bool is_loading) {
634 // Do nothing. The UI notification is handled through ContentViewClient which 634 // Do nothing. The UI notification is handled through ContentViewClient which
635 // is TabContentsDelegate. 635 // is TabContentsDelegate.
636 } 636 }
637 637
638 long RenderWidgetHostViewAndroid::GetNativeImeAdapter() { 638 long RenderWidgetHostViewAndroid::GetNativeImeAdapter() {
639 return reinterpret_cast<intptr_t>(&ime_adapter_android_); 639 return reinterpret_cast<intptr_t>(&ime_adapter_android_);
640 } 640 }
641 641
642 void RenderWidgetHostViewAndroid::TextInputStateChanged( 642 void RenderWidgetHostViewAndroid::UpdateInputMethodIfNecessary(
643 const ViewHostMsg_TextInputState_Params& params) { 643 bool text_input_state_changed) {
644 if (params.is_non_ime_change) { 644 DCHECK(text_input_state_changed);
645 // Sends an acknowledgement to the renderer of a processed IME event.
646 host_->Send(new InputMsg_ImeEventAck(host_->GetRoutingID()));
647 }
648
649 if (!content_view_core_) 645 if (!content_view_core_)
650 return; 646 return;
651 647
648 TextInputState state = host_->delegate()->GetTextInputState();
649
652 content_view_core_->UpdateImeAdapter( 650 content_view_core_->UpdateImeAdapter(
653 GetNativeImeAdapter(), 651 GetNativeImeAdapter(), static_cast<int>(state.type), state.flags,
654 static_cast<int>(params.type), params.flags, 652 state.value, state.selection_start, state.selection_end,
655 params.value, params.selection_start, params.selection_end, 653 state.composition_start, state.composition_end, state.show_ime_if_needed,
656 params.composition_start, params.composition_end, 654 state.is_non_ime_change);
657 params.show_ime_if_needed, params.is_non_ime_change);
658 } 655 }
659 656
660 void RenderWidgetHostViewAndroid::UpdateBackgroundColor(SkColor color) { 657 void RenderWidgetHostViewAndroid::UpdateBackgroundColor(SkColor color) {
661 if (cached_background_color_ == color) 658 if (cached_background_color_ == color)
662 return; 659 return;
663 660
664 cached_background_color_ = color; 661 cached_background_color_ = color;
665 if (content_view_core_) 662 if (content_view_core_)
666 content_view_core_->OnBackgroundColorChanged(color); 663 content_view_core_->OnBackgroundColorChanged(color);
667 } 664 }
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 RemoveLayers(); 790 RemoveLayers();
794 SetContentViewCore(NULL); 791 SetContentViewCore(NULL);
795 792
796 if (!surface_id_.is_null()) { 793 if (!surface_id_.is_null()) {
797 DCHECK(surface_factory_.get()); 794 DCHECK(surface_factory_.get());
798 surface_factory_->Destroy(surface_id_); 795 surface_factory_->Destroy(surface_id_);
799 surface_id_ = cc::SurfaceId(); 796 surface_id_ = cc::SurfaceId();
800 } 797 }
801 surface_factory_.reset(); 798 surface_factory_.reset();
802 799
800 // The WebContentsImpl should be notified about us so that it will not hold
801 // an invalid text input state which was due to active text on this view.
802 NotifyHostDelegateAboutShutdown();
803
803 // The RenderWidgetHost's destruction led here, so don't call it. 804 // The RenderWidgetHost's destruction led here, so don't call it.
804 host_ = NULL; 805 host_ = NULL;
805 806
806 delete this; 807 delete this;
807 } 808 }
808 809
809 void RenderWidgetHostViewAndroid::SetTooltipText( 810 void RenderWidgetHostViewAndroid::SetTooltipText(
810 const base::string16& tooltip_text) { 811 const base::string16& tooltip_text) {
811 // Tooltips don't makes sense on Android. 812 // Tooltips don't makes sense on Android.
812 } 813 }
(...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after
2004 results->orientationAngle = display.RotationAsDegree(); 2005 results->orientationAngle = display.RotationAsDegree();
2005 results->orientationType = 2006 results->orientationType =
2006 RenderWidgetHostViewBase::GetOrientationTypeForMobile(display); 2007 RenderWidgetHostViewBase::GetOrientationTypeForMobile(display);
2007 gfx::DeviceDisplayInfo info; 2008 gfx::DeviceDisplayInfo info;
2008 results->depth = info.GetBitsPerPixel(); 2009 results->depth = info.GetBitsPerPixel();
2009 results->depthPerComponent = info.GetBitsPerComponent(); 2010 results->depthPerComponent = info.GetBitsPerComponent();
2010 results->isMonochrome = (results->depthPerComponent == 0); 2011 results->isMonochrome = (results->depthPerComponent == 0);
2011 } 2012 }
2012 2013
2013 } // namespace content 2014 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698