OLD | NEW |
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.Color; | 9 import android.graphics.Color; |
10 import android.graphics.Paint; | 10 import android.graphics.Paint; |
11 import android.graphics.Rect; | 11 import android.graphics.Rect; |
12 import android.graphics.RectF; | 12 import android.graphics.RectF; |
13 import android.os.Bundle; | 13 import android.os.Bundle; |
14 import android.os.Handler; | 14 import android.os.Handler; |
15 import android.support.v4.view.ViewCompat; | 15 import android.support.v4.view.ViewCompat; |
16 import android.support.v4.view.accessibility.AccessibilityEventCompat; | 16 import android.support.v4.view.accessibility.AccessibilityEventCompat; |
17 import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; | 17 import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; |
18 import android.support.v4.widget.ExploreByTouchHelper; | 18 import android.support.v4.widget.ExploreByTouchHelper; |
19 import android.util.AttributeSet; | 19 import android.util.AttributeSet; |
20 import android.util.Pair; | 20 import android.util.Pair; |
21 import android.view.DragEvent; | 21 import android.view.DragEvent; |
22 import android.view.MotionEvent; | 22 import android.view.MotionEvent; |
23 import android.view.SurfaceView; | |
24 import android.view.View; | 23 import android.view.View; |
25 import android.view.ViewGroup; | 24 import android.view.ViewGroup; |
26 import android.view.accessibility.AccessibilityEvent; | 25 import android.view.accessibility.AccessibilityEvent; |
27 import android.widget.FrameLayout; | 26 import android.widget.FrameLayout; |
28 | 27 |
29 import org.chromium.base.SysUtils; | 28 import org.chromium.base.SysUtils; |
30 import org.chromium.base.TraceEvent; | 29 import org.chromium.base.TraceEvent; |
31 import org.chromium.base.annotations.SuppressFBWarnings; | 30 import org.chromium.base.annotations.SuppressFBWarnings; |
32 import org.chromium.chrome.R; | 31 import org.chromium.chrome.R; |
33 import org.chromium.chrome.browser.compositor.Invalidator.Client; | 32 import org.chromium.chrome.browser.compositor.Invalidator.Client; |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 } | 410 } |
412 | 411 |
413 /** | 412 /** |
414 * @return The {@link LayoutManager} associated with this view. | 413 * @return The {@link LayoutManager} associated with this view. |
415 */ | 414 */ |
416 public LayoutManager getLayoutManager() { | 415 public LayoutManager getLayoutManager() { |
417 return mLayoutManager; | 416 return mLayoutManager; |
418 } | 417 } |
419 | 418 |
420 /** | 419 /** |
421 * @return The SurfaceView used by the Compositor. | 420 * @return The SurfaceView proxy used by the Compositor. |
422 */ | 421 */ |
423 public SurfaceView getSurfaceView() { | 422 public View getCompositorView() { |
424 return mCompositorView; | 423 return mCompositorView; |
425 } | 424 } |
426 | 425 |
427 private View getActiveView() { | 426 private View getActiveView() { |
428 if (mLayoutManager == null || mTabModelSelector == null) return null; | 427 if (mLayoutManager == null || mTabModelSelector == null) return null; |
429 Tab tab = mTabModelSelector.getCurrentTab(); | 428 Tab tab = mTabModelSelector.getCurrentTab(); |
430 return tab != null ? tab.getContentView() : null; | 429 return tab != null ? tab.getContentView() : null; |
431 } | 430 } |
432 | 431 |
433 private ContentViewCore getActiveContent() { | 432 private ContentViewCore getActiveContent() { |
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 * Detach and return the {@link TabModelSelector} in order to disconnect thi
s | 968 * Detach and return the {@link TabModelSelector} in order to disconnect thi
s |
970 * {@link CompositorViewHolder} so that VR can take ownership of Chrome's re
ndering. | 969 * {@link CompositorViewHolder} so that VR can take ownership of Chrome's re
ndering. |
971 * @return The detached {@link TabModelSelector}. | 970 * @return The detached {@link TabModelSelector}. |
972 */ | 971 */ |
973 public TabModelSelector detachForVR() { | 972 public TabModelSelector detachForVR() { |
974 if (mTabModelSelector != null) mTabModelSelector.removeObserver(mTabMode
lSelectorObserver); | 973 if (mTabModelSelector != null) mTabModelSelector.removeObserver(mTabMode
lSelectorObserver); |
975 TabModelSelector selector = mTabModelSelector; | 974 TabModelSelector selector = mTabModelSelector; |
976 mTabModelSelector = null; | 975 mTabModelSelector = null; |
977 mLayerTitleCache.setTabModelSelector(null); | 976 mLayerTitleCache.setTabModelSelector(null); |
978 setTab(null); | 977 setTab(null); |
979 getSurfaceView().setVisibility(View.INVISIBLE); | 978 getCompositorView().setVisibility(View.INVISIBLE); |
980 return selector; | 979 return selector; |
981 } | 980 } |
982 | 981 |
983 /** | 982 /** |
984 * Restores the {@link TabModelSelector} to this {@link CompositorViewHolder
} after exiting VR | 983 * Restores the {@link TabModelSelector} to this {@link CompositorViewHolder
} after exiting VR |
985 * so that it can take back ownership of Chrome's rendering. | 984 * so that it can take back ownership of Chrome's rendering. |
986 * @param tabModelSelector | 985 * @param tabModelSelector |
987 */ | 986 */ |
988 public void onExitVR(TabModelSelector tabModelSelector) { | 987 public void onExitVR(TabModelSelector tabModelSelector) { |
989 getSurfaceView().setVisibility(View.VISIBLE); | 988 getCompositorView().setVisibility(View.VISIBLE); |
990 attachToTabModelSelector(tabModelSelector); | 989 attachToTabModelSelector(tabModelSelector); |
991 } | 990 } |
992 | 991 |
993 private void attachToTabModelSelector(TabModelSelector tabModelSelector) { | 992 private void attachToTabModelSelector(TabModelSelector tabModelSelector) { |
994 assert mTabModelSelector == null; | 993 assert mTabModelSelector == null; |
995 mTabModelSelector = tabModelSelector; | 994 mTabModelSelector = tabModelSelector; |
996 mTabModelSelector.addObserver(mTabModelSelectorObserver); | 995 mTabModelSelector.addObserver(mTabModelSelectorObserver); |
997 | 996 |
998 mLayerTitleCache.setTabModelSelector(mTabModelSelector); | 997 mLayerTitleCache.setTabModelSelector(mTabModelSelector); |
999 onContentChanged(); | 998 onContentChanged(); |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 if (mPixelRect.width() == 0) { | 1124 if (mPixelRect.width() == 0) { |
1126 mPixelRect.right = mPixelRect.left + 1; | 1125 mPixelRect.right = mPixelRect.left + 1; |
1127 } | 1126 } |
1128 if (mPixelRect.height() == 0) { | 1127 if (mPixelRect.height() == 0) { |
1129 mPixelRect.bottom = mPixelRect.top + 1; | 1128 mPixelRect.bottom = mPixelRect.top + 1; |
1130 } | 1129 } |
1131 return mPixelRect; | 1130 return mPixelRect; |
1132 } | 1131 } |
1133 } | 1132 } |
1134 } | 1133 } |
OLD | NEW |