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

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

Issue 2878403002: Support setting mouse cursor icon in Android N. (Closed)
Patch Set: Support setting mouse cursor icon in Android N Created 3 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.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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698