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

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: Override onResolvePointerIcon Created 3 years, 5 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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 /** 177 /**
176 * Creates a {@link CompositorView}. 178 * Creates a {@link CompositorView}.
177 * @param c The Context to create this {@link CompositorView} in. 179 * @param c The Context to create this {@link CompositorView} in.
178 */ 180 */
179 public CompositorViewHolder(Context c) { 181 public CompositorViewHolder(Context c) {
180 super(c); 182 super(c);
181 183
182 internalInit(); 184 internalInit();
183 } 185 }
184 186
187 @Override
188 public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
189 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return null;
190 ContentViewCore content = getActiveContent();
Ted C 2017/07/21 00:15:25 do we also need to call isTabInteractive() here?
jaebaek 2017/07/21 10:03:04 I made sure that the default pointer icon (pointer
191 if (content == null) return null;
192 return content.getContainerView().onResolvePointerIcon(event, pointerInd ex);
193 }
194
185 /** 195 /**
186 * Creates a {@link CompositorView}. 196 * Creates a {@link CompositorView}.
187 * @param c The Context to create this {@link CompositorView} in. 197 * @param c The Context to create this {@link CompositorView} in.
188 * @param attrs The AttributeSet used to create this {@link CompositorView}. 198 * @param attrs The AttributeSet used to create this {@link CompositorView}.
189 */ 199 */
190 public CompositorViewHolder(Context c, AttributeSet attrs) { 200 public CompositorViewHolder(Context c, AttributeSet attrs) {
191 super(c, attrs); 201 super(c, attrs);
192 202
193 internalInit(); 203 internalInit();
194 } 204 }
(...skipping 923 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 if (mPixelRect.width() == 0) { 1128 if (mPixelRect.width() == 0) {
1119 mPixelRect.right = mPixelRect.left + 1; 1129 mPixelRect.right = mPixelRect.left + 1;
1120 } 1130 }
1121 if (mPixelRect.height() == 0) { 1131 if (mPixelRect.height() == 0) {
1122 mPixelRect.bottom = mPixelRect.top + 1; 1132 mPixelRect.bottom = mPixelRect.top + 1;
1123 } 1133 }
1124 return mPixelRect; 1134 return mPixelRect;
1125 } 1135 }
1126 } 1136 }
1127 } 1137 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698