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.Build; | |
13 import android.os.Bundle; | 14 import android.os.Bundle; |
14 import android.os.Handler; | 15 import android.os.Handler; |
15 import android.support.v4.view.ViewCompat; | 16 import android.support.v4.view.ViewCompat; |
16 import android.support.v4.view.accessibility.AccessibilityEventCompat; | 17 import android.support.v4.view.accessibility.AccessibilityEventCompat; |
17 import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; | 18 import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; |
18 import android.support.v4.widget.ExploreByTouchHelper; | 19 import android.support.v4.widget.ExploreByTouchHelper; |
19 import android.util.AttributeSet; | 20 import android.util.AttributeSet; |
20 import android.util.Pair; | 21 import android.util.Pair; |
21 import android.view.DragEvent; | 22 import android.view.DragEvent; |
22 import android.view.MotionEvent; | 23 import android.view.MotionEvent; |
24 import android.view.PointerIcon; | |
23 import android.view.View; | 25 import android.view.View; |
24 import android.view.ViewGroup; | 26 import android.view.ViewGroup; |
25 import android.view.accessibility.AccessibilityEvent; | 27 import android.view.accessibility.AccessibilityEvent; |
26 import android.widget.FrameLayout; | 28 import android.widget.FrameLayout; |
27 | 29 |
28 import org.chromium.base.SysUtils; | 30 import org.chromium.base.SysUtils; |
29 import org.chromium.base.TraceEvent; | 31 import org.chromium.base.TraceEvent; |
30 import org.chromium.base.annotations.SuppressFBWarnings; | 32 import org.chromium.base.annotations.SuppressFBWarnings; |
31 import org.chromium.chrome.R; | 33 import org.chromium.chrome.R; |
32 import org.chromium.chrome.browser.compositor.Invalidator.Client; | 34 import org.chromium.chrome.browser.compositor.Invalidator.Client; |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
174 /** | 176 /** |
175 * Creates a {@link CompositorView}. | 177 * Creates a {@link CompositorView}. |
176 * @param c The Context to create this {@link CompositorView} in. | 178 * @param c The Context to create this {@link CompositorView} in. |
177 */ | 179 */ |
178 public CompositorViewHolder(Context c) { | 180 public CompositorViewHolder(Context c) { |
179 super(c); | 181 super(c); |
180 | 182 |
181 internalInit(); | 183 internalInit(); |
182 } | 184 } |
183 | 185 |
186 @Override | |
187 public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) { | |
188 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return null; | |
189 ContentViewCore content = getActiveContent(); | |
Ted C
2017/08/09 04:30:54
I still don't see how this would work if you're in
jaebaek
2017/08/09 06:38:17
In the tab switcher, the ContentViewCore is null,
Ted C
2017/08/09 16:30:55
Sorry to keep belaboring the point, but that is de
jaebaek
2017/08/11 00:47:35
As discussed this in offline, I replaced this with
| |
190 if (content == null) return null; | |
191 return content.getContainerView().onResolvePointerIcon(event, pointerInd ex); | |
192 } | |
193 | |
184 /** | 194 /** |
185 * Creates a {@link CompositorView}. | 195 * Creates a {@link CompositorView}. |
186 * @param c The Context to create this {@link CompositorView} in. | 196 * @param c The Context to create this {@link CompositorView} in. |
187 * @param attrs The AttributeSet used to create this {@link CompositorView}. | 197 * @param attrs The AttributeSet used to create this {@link CompositorView}. |
188 */ | 198 */ |
189 public CompositorViewHolder(Context c, AttributeSet attrs) { | 199 public CompositorViewHolder(Context c, AttributeSet attrs) { |
190 super(c, attrs); | 200 super(c, attrs); |
191 | 201 |
192 internalInit(); | 202 internalInit(); |
193 } | 203 } |
(...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1116 if (mPixelRect.width() == 0) { | 1126 if (mPixelRect.width() == 0) { |
1117 mPixelRect.right = mPixelRect.left + 1; | 1127 mPixelRect.right = mPixelRect.left + 1; |
1118 } | 1128 } |
1119 if (mPixelRect.height() == 0) { | 1129 if (mPixelRect.height() == 0) { |
1120 mPixelRect.bottom = mPixelRect.top + 1; | 1130 mPixelRect.bottom = mPixelRect.top + 1; |
1121 } | 1131 } |
1122 return mPixelRect; | 1132 return mPixelRect; |
1123 } | 1133 } |
1124 } | 1134 } |
1125 } | 1135 } |
OLD | NEW |