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

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

Issue 1223263009: Disable hardware acceleration for ChromeActivities on low-end devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed DocumentModeTestBase to compile 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
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; 5 package org.chromium.chrome.browser;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.app.SearchManager; 9 import android.app.SearchManager;
10 import android.app.assist.AssistContent; 10 import android.app.assist.AssistContent;
(...skipping 16 matching lines...) Expand all
27 import android.support.v7.app.AlertDialog; 27 import android.support.v7.app.AlertDialog;
28 import android.util.DisplayMetrics; 28 import android.util.DisplayMetrics;
29 import android.view.Menu; 29 import android.view.Menu;
30 import android.view.MenuItem; 30 import android.view.MenuItem;
31 import android.view.View; 31 import android.view.View;
32 import android.view.ViewGroup; 32 import android.view.ViewGroup;
33 import android.view.ViewStub; 33 import android.view.ViewStub;
34 import android.view.ViewTreeObserver; 34 import android.view.ViewTreeObserver;
35 import android.view.ViewTreeObserver.OnPreDrawListener; 35 import android.view.ViewTreeObserver.OnPreDrawListener;
36 import android.view.Window; 36 import android.view.Window;
37 import android.view.WindowManager;
37 import android.view.accessibility.AccessibilityManager; 38 import android.view.accessibility.AccessibilityManager;
38 import android.view.accessibility.AccessibilityManager.AccessibilityStateChangeL istener; 39 import android.view.accessibility.AccessibilityManager.AccessibilityStateChangeL istener;
39 import android.view.accessibility.AccessibilityManager.TouchExplorationStateChan geListener; 40 import android.view.accessibility.AccessibilityManager.TouchExplorationStateChan geListener;
40 41
41 import org.chromium.base.ApiCompatibilityUtils; 42 import org.chromium.base.ApiCompatibilityUtils;
42 import org.chromium.base.BaseSwitches; 43 import org.chromium.base.BaseSwitches;
43 import org.chromium.base.CommandLine; 44 import org.chromium.base.CommandLine;
44 import org.chromium.base.Log; 45 import org.chromium.base.Log;
46 import org.chromium.base.SysUtils;
45 import org.chromium.base.ThreadUtils; 47 import org.chromium.base.ThreadUtils;
46 import org.chromium.base.TraceEvent; 48 import org.chromium.base.TraceEvent;
47 import org.chromium.base.VisibleForTesting; 49 import org.chromium.base.VisibleForTesting;
48 import org.chromium.base.metrics.RecordHistogram; 50 import org.chromium.base.metrics.RecordHistogram;
49 import org.chromium.base.metrics.RecordUserAction; 51 import org.chromium.base.metrics.RecordUserAction;
50 import org.chromium.chrome.R; 52 import org.chromium.chrome.R;
51 import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver; 53 import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
52 import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; 54 import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
53 import org.chromium.chrome.browser.IntentHandler.TabOpenType; 55 import org.chromium.chrome.browser.IntentHandler.TabOpenType;
54 import org.chromium.chrome.browser.appmenu.AppMenu; 56 import org.chromium.chrome.browser.appmenu.AppMenu;
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 TraceEvent.end("onCreate->setContentView()"); 334 TraceEvent.end("onCreate->setContentView()");
333 mInflateInitialLayoutDurationMs = SystemClock.elapsedRealtime() - begin; 335 mInflateInitialLayoutDurationMs = SystemClock.elapsedRealtime() - begin;
334 336
335 // Set the status bar color to black by default. This is an optimization for 337 // Set the status bar color to black by default. This is an optimization for
336 // Chrome not to draw under status and navigation bars when we use the d efault 338 // Chrome not to draw under status and navigation bars when we use the d efault
337 // black status bar 339 // black status bar
338 ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK); 340 ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK);
339 341
340 mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.composi tor_view_holder); 342 mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.composi tor_view_holder);
341 mCompositorViewHolder.setRootView(getWindow().getDecorView().getRootView ()); 343 mCompositorViewHolder.setRootView(getWindow().getDecorView().getRootView ());
344
345 enableHardwareAcceleration();
342 } 346 }
343 347
344 /** 348 /**
345 * Constructs {@link ToolbarManager} and the handler necessary for controlli ng the menu on the 349 * Constructs {@link ToolbarManager} and the handler necessary for controlli ng the menu on the
346 * {@link Toolbar}. Extending classes can override this call to avoid creati ng the toolbar. 350 * {@link Toolbar}. Extending classes can override this call to avoid creati ng the toolbar.
347 */ 351 */
348 protected void initializeToolbar() { 352 protected void initializeToolbar() {
349 final View controlContainer = findViewById(R.id.control_container); 353 final View controlContainer = findViewById(R.id.control_container);
350 assert controlContainer != null; 354 assert controlContainer != null;
351 ToolbarControlContainer toolbarContainer = (ToolbarControlContainer) con trolContainer; 355 ToolbarControlContainer toolbarContainer = (ToolbarControlContainer) con trolContainer;
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after
1443 } 1447 }
1444 1448
1445 @Override 1449 @Override
1446 public void terminateIncognitoSession() {} 1450 public void terminateIncognitoSession() {}
1447 1451
1448 @Override 1452 @Override
1449 public void onTabSelectionHinted(int tabId) { } 1453 public void onTabSelectionHinted(int tabId) { }
1450 1454
1451 @Override 1455 @Override
1452 public void onSceneChange(Layout layout) { } 1456 public void onSceneChange(Layout layout) { }
1457
1458 private void enableHardwareAcceleration() {
1459 // HW acceleration is disabled in the manifest. Enable it only on high-e nd devices.
1460 if (!SysUtils.isLowEndDevice()) {
1461 getWindow().addFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELE RATED);
1462 }
1463 }
1453 } 1464 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698