OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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.content.browser; | 5 package org.chromium.content.browser; |
6 | 6 |
7 import android.content.ActivityNotFoundException; | 7 import android.content.ActivityNotFoundException; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.content.Intent; | 9 import android.content.Intent; |
10 import android.util.Log; | 10 import android.util.Log; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 * @param topControlsOffsetYPix The Y offset of the top controls in physical
pixels. | 46 * @param topControlsOffsetYPix The Y offset of the top controls in physical
pixels. |
47 * @param contentOffsetYPix The Y offset of the content in physical pixels. | 47 * @param contentOffsetYPix The Y offset of the content in physical pixels. |
48 * @param overdrawBottomHeightPix The overdraw height. | 48 * @param overdrawBottomHeightPix The overdraw height. |
49 */ | 49 */ |
50 public void onOffsetsForFullscreenChanged( | 50 public void onOffsetsForFullscreenChanged( |
51 float topControlsOffsetYPix, float contentOffsetYPix, float overdraw
BottomHeightPix) { | 51 float topControlsOffsetYPix, float contentOffsetYPix, float overdraw
BottomHeightPix) { |
52 } | 52 } |
53 | 53 |
54 public boolean shouldOverrideKeyEvent(KeyEvent event) { | 54 public boolean shouldOverrideKeyEvent(KeyEvent event) { |
55 int keyCode = event.getKeyCode(); | 55 int keyCode = event.getKeyCode(); |
56 // We need to send almost every key to WebKit. However: | 56 |
57 // 1. We don't want to block the device on the renderer for | 57 if (!shouldPropagateKey(keyCode)) return true; |
58 // some keys like menu, home, call. | |
59 // 2. There are no WebKit equivalents for some of these keys | |
60 // (see app/keyboard_codes_win.h) | |
61 // Note that these are not the same set as KeyEvent.isSystemKey: | |
62 // for instance, AKEYCODE_MEDIA_* will be dispatched to webkit. | |
63 if (keyCode == KeyEvent.KEYCODE_MENU || | |
64 keyCode == KeyEvent.KEYCODE_HOME || | |
65 keyCode == KeyEvent.KEYCODE_BACK || | |
66 keyCode == KeyEvent.KEYCODE_CALL || | |
67 keyCode == KeyEvent.KEYCODE_ENDCALL || | |
68 keyCode == KeyEvent.KEYCODE_POWER || | |
69 keyCode == KeyEvent.KEYCODE_HEADSETHOOK || | |
70 keyCode == KeyEvent.KEYCODE_CAMERA || | |
71 keyCode == KeyEvent.KEYCODE_FOCUS || | |
72 keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || | |
73 keyCode == KeyEvent.KEYCODE_VOLUME_MUTE || | |
74 keyCode == KeyEvent.KEYCODE_VOLUME_UP) { | |
75 return true; | |
76 } | |
77 | 58 |
78 // We also have to intercept some shortcuts before we send them to the C
ontentView. | 59 // We also have to intercept some shortcuts before we send them to the C
ontentView. |
79 if (event.isCtrlPressed() && ( | 60 if (event.isCtrlPressed() && ( |
80 keyCode == KeyEvent.KEYCODE_TAB || | 61 keyCode == KeyEvent.KEYCODE_TAB || |
81 keyCode == KeyEvent.KEYCODE_W || | 62 keyCode == KeyEvent.KEYCODE_W || |
82 keyCode == KeyEvent.KEYCODE_F4)) { | 63 keyCode == KeyEvent.KEYCODE_F4)) { |
83 return true; | 64 return true; |
84 } | 65 } |
85 | 66 |
86 return false; | 67 return false; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 | 154 |
174 /** | 155 /** |
175 * Called when BrowserMediaPlayerManager wants to load a media resource. | 156 * Called when BrowserMediaPlayerManager wants to load a media resource. |
176 * @param url the URL of media resource to load. | 157 * @param url the URL of media resource to load. |
177 * @return true to prevent the resource from being loaded. | 158 * @return true to prevent the resource from being loaded. |
178 */ | 159 */ |
179 public boolean shouldBlockMediaRequest(String url) { | 160 public boolean shouldBlockMediaRequest(String url) { |
180 return false; | 161 return false; |
181 } | 162 } |
182 | 163 |
| 164 /** |
| 165 * Check whether a key should be propagated to the embedder or not. |
| 166 * We need to send almost every key to Blink. However: |
| 167 * 1. We don't want to block the device on the renderer for |
| 168 * some keys like menu, home, call. |
| 169 * 2. There are no WebKit equivalents for some of these keys |
| 170 * (see app/keyboard_codes_win.h) |
| 171 * Note that these are not the same set as KeyEvent.isSystemKey: |
| 172 * for instance, AKEYCODE_MEDIA_* will be dispatched to webkit*. |
| 173 */ |
| 174 public static boolean shouldPropagateKey(int keyCode) { |
| 175 if (keyCode == KeyEvent.KEYCODE_MENU || |
| 176 keyCode == KeyEvent.KEYCODE_HOME || |
| 177 keyCode == KeyEvent.KEYCODE_BACK || |
| 178 keyCode == KeyEvent.KEYCODE_CALL || |
| 179 keyCode == KeyEvent.KEYCODE_ENDCALL || |
| 180 keyCode == KeyEvent.KEYCODE_POWER || |
| 181 keyCode == KeyEvent.KEYCODE_HEADSETHOOK || |
| 182 keyCode == KeyEvent.KEYCODE_CAMERA || |
| 183 keyCode == KeyEvent.KEYCODE_FOCUS || |
| 184 keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || |
| 185 keyCode == KeyEvent.KEYCODE_VOLUME_MUTE || |
| 186 keyCode == KeyEvent.KEYCODE_VOLUME_UP) { |
| 187 return false; |
| 188 } |
| 189 return true; |
| 190 } |
183 } | 191 } |
OLD | NEW |