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

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

Issue 2834343005: Let IME frame update bypass ContentViewCore (Closed)
Patch Set: Created 3 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 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1353 matching lines...) Expand 10 before | Expand all | Expand 10 after
1364 sync_compositor_->DemandDrawSw(&canvas); 1364 sync_compositor_->DemandDrawSw(&canvas);
1365 callback.Run(bitmap, READBACK_SUCCESS); 1365 callback.Run(bitmap, READBACK_SUCCESS);
1366 } 1366 }
1367 1367
1368 void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated( 1368 void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
1369 const cc::CompositorFrameMetadata& frame_metadata, 1369 const cc::CompositorFrameMetadata& frame_metadata,
1370 bool is_transparent) { 1370 bool is_transparent) {
1371 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata); 1371 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata);
1372 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); 1372 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized);
1373 1373
1374 if (!content_view_core_) 1374 if (!content_view_core_ || !ime_adapter_android_)
boliu 2017/04/25 17:18:24 these two should be independent.. if cvc is not t
Jinsuk Kim 2017/04/25 22:39:01 Done. It was not doing anything when cvc is null.
1375 return; 1375 return;
1376 1376
1377 if (overscroll_controller_) 1377 if (overscroll_controller_)
1378 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata); 1378 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata);
1379 1379
1380 if (touch_selection_controller_) { 1380 if (touch_selection_controller_) {
1381 touch_selection_controller_->OnSelectionBoundsChanged( 1381 touch_selection_controller_->OnSelectionBoundsChanged(
1382 frame_metadata.selection.start, frame_metadata.selection.end); 1382 frame_metadata.selection.start, frame_metadata.selection.end);
1383 1383
1384 // Set parameters for adaptive handle orientation. 1384 // Set parameters for adaptive handle orientation.
(...skipping 27 matching lines...) Expand all
1412 float translate = top_shown_pix - top_controls_pix; 1412 float translate = top_shown_pix - top_controls_pix;
1413 view_.OnTopControlsChanged(translate, top_shown_pix); 1413 view_.OnTopControlsChanged(translate, top_shown_pix);
1414 prev_top_shown_pix_ = top_shown_pix; 1414 prev_top_shown_pix_ = top_shown_pix;
1415 } 1415 }
1416 if (bottom_changed) { 1416 if (bottom_changed) {
1417 float translate = bottom_controls_pix - bottom_shown_pix; 1417 float translate = bottom_controls_pix - bottom_shown_pix;
1418 view_.OnBottomControlsChanged(translate, bottom_shown_pix); 1418 view_.OnBottomControlsChanged(translate, bottom_shown_pix);
1419 prev_bottom_shown_pix_ = bottom_shown_pix; 1419 prev_bottom_shown_pix_ = bottom_shown_pix;
1420 } 1420 }
1421 1421
1422 ime_adapter_android_->UpdateFrameInfo(frame_metadata.selection.start,
1423 dip_scale, top_shown_pix);
1424
1422 // All offsets and sizes are in CSS pixels. 1425 // All offsets and sizes are in CSS pixels.
1423 content_view_core_->UpdateFrameInfo( 1426 content_view_core_->UpdateFrameInfo(
1424 frame_metadata.root_scroll_offset, 1427 frame_metadata.root_scroll_offset, frame_metadata.page_scale_factor,
1425 frame_metadata.page_scale_factor,
1426 gfx::Vector2dF(frame_metadata.min_page_scale_factor, 1428 gfx::Vector2dF(frame_metadata.min_page_scale_factor,
1427 frame_metadata.max_page_scale_factor), 1429 frame_metadata.max_page_scale_factor),
1428 frame_metadata.root_layer_size, 1430 frame_metadata.root_layer_size, frame_metadata.scrollable_viewport_size,
1429 frame_metadata.scrollable_viewport_size,
1430 frame_metadata.top_controls_height, 1431 frame_metadata.top_controls_height,
1431 frame_metadata.top_controls_shown_ratio, 1432 frame_metadata.top_controls_shown_ratio, is_mobile_optimized);
1432 is_mobile_optimized,
1433 frame_metadata.selection.start);
1434 } 1433 }
1435 1434
1436 void RenderWidgetHostViewAndroid::ShowInternal() { 1435 void RenderWidgetHostViewAndroid::ShowInternal() {
1437 bool show = is_showing_ && is_window_activity_started_ && is_window_visible_; 1436 bool show = is_showing_ && is_window_activity_started_ && is_window_visible_;
1438 if (!show) 1437 if (!show)
1439 return; 1438 return;
1440 1439
1441 if (!host_ || !host_->is_hidden()) 1440 if (!host_ || !host_->is_hidden())
1442 return; 1441 return;
1443 1442
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after
2191 2190
2192 ui::WindowAndroidCompositor* compositor = window_android->GetCompositor(); 2191 ui::WindowAndroidCompositor* compositor = window_android->GetCompositor();
2193 if (!compositor) 2192 if (!compositor)
2194 return; 2193 return;
2195 2194
2196 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( 2195 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>(
2197 overscroll_refresh_handler, compositor, view_.GetDipScale()); 2196 overscroll_refresh_handler, compositor, view_.GetDipScale());
2198 } 2197 }
2199 2198
2200 } // namespace content 2199 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698