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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java

Issue 1264813002: [Android] Fix crashes on Chrome internal pages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 package org.chromium.chrome.browser.compositor; 5 package org.chromium.chrome.browser.compositor;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.graphics.Canvas; 8 import android.graphics.Canvas;
9 import android.graphics.Paint; 9 import android.graphics.Paint;
10 import android.graphics.Rect; 10 import android.graphics.Rect;
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 // ContentView's relayout, which causes the ContentView to relay out on top of the 216 // ContentView's relayout, which causes the ContentView to relay out on top of the
217 // stack view. The 30ms is arbitrary, hoping to let the view ge t one repaint 217 // stack view. The 30ms is arbitrary, hoping to let the view ge t one repaint
218 // in so the full page is shown. 218 // in so the full page is shown.
219 if (mPostHideKeyboardTask != null) { 219 if (mPostHideKeyboardTask != null) {
220 new Handler().postDelayed(mPostHideKeyboardTask, 30); 220 new Handler().postDelayed(mPostHideKeyboardTask, 30);
221 mPostHideKeyboardTask = null; 221 mPostHideKeyboardTask = null;
222 } 222 }
223 } 223 }
224 }); 224 });
225 225
226 if (!DeviceFormFactor.isTablet(getContext())) mProgressBarDrawingInfo = new DrawingInfo();
227 mCompositorView = new CompositorView(getContext(), this); 226 mCompositorView = new CompositorView(getContext(), this);
228 addView(mCompositorView, 227 addView(mCompositorView,
229 new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutPa rams.WRAP_CONTENT)); 228 new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutPa rams.WRAP_CONTENT));
230 } 229 }
231 230
232 /** 231 /**
233 * @param layoutManager The {@link LayoutManager} instance that will be driv ing what 232 * @param layoutManager The {@link LayoutManager} instance that will be driv ing what
234 * shows in this {@link CompositorViewHolder}. 233 * shows in this {@link CompositorViewHolder}.
235 */ 234 */
236 public void setLayoutManager(LayoutManager layoutManager) { 235 public void setLayoutManager(LayoutManager layoutManager) {
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 } 533 }
535 534
536 /** 535 /**
537 * To be called once a frame before commit. 536 * To be called once a frame before commit.
538 */ 537 */
539 @Override 538 @Override
540 public void onCompositorLayout() { 539 public void onCompositorLayout() {
541 TraceEvent.begin("CompositorViewHolder:layout"); 540 TraceEvent.begin("CompositorViewHolder:layout");
542 if (mLayoutManager != null) { 541 if (mLayoutManager != null) {
543 mLayoutManager.onUpdate(); 542 mLayoutManager.onUpdate();
544 if (mProgressBarDrawingInfo != null) { 543
544 if (!DeviceFormFactor.isTablet(getContext()) && mControlContainer != null) {
545 if (mProgressBarDrawingInfo == null) mProgressBarDrawingInfo = n ew DrawingInfo();
545 mControlContainer.getProgressBarDrawingInfo(mProgressBarDrawingI nfo); 546 mControlContainer.getProgressBarDrawingInfo(mProgressBarDrawingI nfo);
547 } else {
548 mProgressBarDrawingInfo = null;
Ted C 2015/07/30 15:02:13 why do you need to set it to null here? does the
Kibeom Kim (inactive) 2015/07/30 17:00:28 Done. (Changed to assert since we expect mControl
546 } 549 }
550
547 mCompositorView.finalizeLayers(mLayoutManager, mSkipNextToolbarTextu reUpdate, 551 mCompositorView.finalizeLayers(mLayoutManager, mSkipNextToolbarTextu reUpdate,
548 mProgressBarDrawingInfo); 552 mProgressBarDrawingInfo);
549 553
550 // TODO(changwan): Check if this hack can be removed. 554 // TODO(changwan): Check if this hack can be removed.
551 // This is a hack to draw one more frame if the screen just rotated for Nexus 10 + L. 555 // This is a hack to draw one more frame if the screen just rotated for Nexus 10 + L.
552 // See http://crbug/440469 for more. 556 // See http://crbug/440469 for more.
553 if (mSkipNextToolbarTextureUpdate) { 557 if (mSkipNextToolbarTextureUpdate) {
554 requestRender(); 558 requestRender();
555 } 559 }
556 } 560 }
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 if (mPixelRect.width() == 0) { 1134 if (mPixelRect.width() == 0) {
1131 mPixelRect.right = mPixelRect.left + 1; 1135 mPixelRect.right = mPixelRect.left + 1;
1132 } 1136 }
1133 if (mPixelRect.height() == 0) { 1137 if (mPixelRect.height() == 0) {
1134 mPixelRect.bottom = mPixelRect.top + 1; 1138 mPixelRect.bottom = mPixelRect.top + 1;
1135 } 1139 }
1136 return mPixelRect; 1140 return mPixelRect;
1137 } 1141 }
1138 } 1142 }
1139 } 1143 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698