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

Side by Side Diff: content/shell/android/java/src/org/chromium/content_shell/ContentShellActivity.java

Issue 11085008: [Android] Upstream content detection and ChromeBrowserProvider tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase after landing resources separately. Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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_shell; 5 package org.chromium.content_shell;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.content.Intent; 8 import android.content.Intent;
9 import android.os.Bundle; 9 import android.os.Bundle;
10 import android.text.TextUtils; 10 import android.text.TextUtils;
11 import android.util.Log; 11 import android.util.Log;
12 import android.view.KeyEvent; 12 import android.view.KeyEvent;
13 13
14 import org.chromium.content.app.AppResource; 14 import org.chromium.content.app.AppResource;
15 import org.chromium.content.app.LibraryLoader; 15 import org.chromium.content.app.LibraryLoader;
16 import org.chromium.content.browser.ContentView; 16 import org.chromium.content.browser.ContentView;
17 import org.chromium.content.common.CommandLine; 17 import org.chromium.content.common.CommandLine;
18 import org.chromium.ui.gfx.ActivityNativeWindow; 18 import org.chromium.ui.gfx.ActivityNativeWindow;
19 19
20 /** 20 /**
21 * Activity for managing the Content Shell. 21 * Activity for managing the Content Shell.
22 */ 22 */
23 public class ContentShellActivity extends Activity { 23 public class ContentShellActivity extends Activity {
24 24
25 private static final String COMMAND_LINE_FILE = "/data/local/tmp/content-she ll-command-line"; 25 private static final String COMMAND_LINE_FILE = "/data/local/tmp/content-she ll-command-line";
26 private static final String TAG = ContentShellActivity.class.getName(); 26 private static final String TAG = ContentShellActivity.class.getName();
27 27
28 private static final String ACTIVE_SHELL_URL_KEY = "activeUrl"; 28 private static final String ACTIVE_SHELL_URL_KEY = "activeUrl";
29 public static final String DEFAULT_SHELL_URL = "http://www.google.com"; 29 public static final String DEFAULT_SHELL_URL = "http://www.google.com";
30 public static final String COMMAND_LINE_ARGS_KEY = "commandLineArgs";
30 31
31 private ShellManager mShellManager; 32 private ShellManager mShellManager;
32 private ActivityNativeWindow mActivityNativeWindow; 33 private ActivityNativeWindow mActivityNativeWindow;
33 34
34 @Override 35 @Override
35 protected void onCreate(Bundle savedInstanceState) { 36 protected void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState); 37 super.onCreate(savedInstanceState);
37 38
38 // Initializing the command line must occur before loading the library. 39 // Initializing the command line must occur before loading the library.
39 if (!CommandLine.isInitialized()) CommandLine.initFromFile(COMMAND_LINE_ FILE); 40 if (!CommandLine.isInitialized()) {
41 CommandLine.initFromFile(COMMAND_LINE_FILE);
42 String[] commandLineParams = getCommandLineParamsFromIntent(getInten t());
43 if (commandLineParams != null) {
44 CommandLine.getInstance().appendSwitchesAndArguments(commandLine Params);
45 }
46 }
40 waitForDebuggerIfNeeded(); 47 waitForDebuggerIfNeeded();
41 48
42 LibraryLoader.loadAndInitSync(); 49 LibraryLoader.loadAndInitSync();
43 initializeContentViewResources(); 50 initializeContentViewResources();
44 51
45 setContentView(R.layout.content_shell_activity); 52 setContentView(R.layout.content_shell_activity);
46 mShellManager = (ShellManager) findViewById(R.id.shell_container); 53 mShellManager = (ShellManager) findViewById(R.id.shell_container);
47 mActivityNativeWindow = new ActivityNativeWindow(this); 54 mActivityNativeWindow = new ActivityNativeWindow(this);
48 mActivityNativeWindow.restoreInstanceState(savedInstanceState); 55 mActivityNativeWindow.restoreInstanceState(savedInstanceState);
49 mShellManager.setWindow(mActivityNativeWindow); 56 mShellManager.setWindow(mActivityNativeWindow);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 if (activeView != null && activeView.getContentView().canGoBack()) { 97 if (activeView != null && activeView.getContentView().canGoBack()) {
91 activeView.getContentView().goBack(); 98 activeView.getContentView().goBack();
92 return true; 99 return true;
93 } 100 }
94 101
95 return super.onKeyUp(keyCode, event); 102 return super.onKeyUp(keyCode, event);
96 } 103 }
97 104
98 @Override 105 @Override
99 protected void onNewIntent(Intent intent) { 106 protected void onNewIntent(Intent intent) {
107 if (getCommandLineParamsFromIntent(intent) != null) {
108 Log.i(TAG, "Ignoring command line params: can only be set when creat ing the activity.");
109 }
110
100 String url = getUrlFromIntent(intent); 111 String url = getUrlFromIntent(intent);
101 if (!TextUtils.isEmpty(url)) { 112 if (!TextUtils.isEmpty(url)) {
102 Shell activeView = getActiveShell(); 113 Shell activeView = getActiveShell();
103 if (activeView != null) { 114 if (activeView != null) {
104 activeView.loadUrl(url); 115 activeView.loadUrl(url);
105 } 116 }
106 } 117 }
107 } 118 }
108 119
109 @Override 120 @Override
(...skipping 15 matching lines...) Expand all
125 @Override 136 @Override
126 public void onActivityResult(int requestCode, int resultCode, Intent data) { 137 public void onActivityResult(int requestCode, int resultCode, Intent data) {
127 super.onActivityResult(requestCode, resultCode, data); 138 super.onActivityResult(requestCode, resultCode, data);
128 mActivityNativeWindow.onActivityResult(requestCode, resultCode, data); 139 mActivityNativeWindow.onActivityResult(requestCode, resultCode, data);
129 } 140 }
130 141
131 private static String getUrlFromIntent(Intent intent) { 142 private static String getUrlFromIntent(Intent intent) {
132 return intent != null ? intent.getDataString() : null; 143 return intent != null ? intent.getDataString() : null;
133 } 144 }
134 145
146 private static String[] getCommandLineParamsFromIntent(Intent intent) {
147 return intent != null ? intent.getStringArrayExtra(COMMAND_LINE_ARGS_KEY ) : null;
148 }
149
135 /** 150 /**
136 * @return The {@link ShellManager} configured for the activity or null if i t has not been 151 * @return The {@link ShellManager} configured for the activity or null if i t has not been
137 * created yet. 152 * created yet.
138 */ 153 */
139 public ShellManager getShellManager() { 154 public ShellManager getShellManager() {
140 return mShellManager; 155 return mShellManager;
141 } 156 }
142 157
143 /** 158 /**
144 * @return The currently visible {@link Shell} or null if one is not showing . 159 * @return The currently visible {@link Shell} or null if one is not showing .
145 */ 160 */
146 public Shell getActiveShell() { 161 public Shell getActiveShell() {
147 return mShellManager != null ? mShellManager.getActiveShell() : null; 162 return mShellManager != null ? mShellManager.getActiveShell() : null;
148 } 163 }
149 164
150 /** 165 /**
151 * @return The {@link ContentView} owned by the currently visible {@link She ll} or null if one 166 * @return The {@link ContentView} owned by the currently visible {@link She ll} or null if one
152 * is not showing. 167 * is not showing.
153 */ 168 */
154 public ContentView getActiveContentView() { 169 public ContentView getActiveContentView() {
155 Shell shell = getActiveShell(); 170 Shell shell = getActiveShell();
156 return shell != null ? shell.getContentView() : null; 171 return shell != null ? shell.getContentView() : null;
157 } 172 }
158 173
159 private void initializeContentViewResources() { 174 private void initializeContentViewResources() {
160 AppResource.DIMENSION_LINK_PREVIEW_OVERLAY_RADIUS = R.dimen.link_preview _overlay_radius; 175 AppResource.DIMENSION_LINK_PREVIEW_OVERLAY_RADIUS = R.dimen.link_preview _overlay_radius;
176 AppResource.DRAWABLE_ICON_ACTION_BAR_SHARE = R.drawable.ic_menu_share_ho lo_light;
177 AppResource.DRAWABLE_ICON_ACTION_BAR_WEB_SEARCH = R.drawable.ic_menu_sea rch_holo_light;
161 AppResource.DRAWABLE_LINK_PREVIEW_POPUP_OVERLAY = R.drawable.popup_zoome r_overlay; 178 AppResource.DRAWABLE_LINK_PREVIEW_POPUP_OVERLAY = R.drawable.popup_zoome r_overlay;
179 AppResource.STRING_ACTION_BAR_SHARE = R.string.action_bar_share;
180 AppResource.STRING_ACTION_BAR_WEB_SEARCH = R.string.action_bar_search;
162 AppResource.STRING_CONTENT_VIEW_CONTENT_DESCRIPTION = R.string.accessibi lity_content_view; 181 AppResource.STRING_CONTENT_VIEW_CONTENT_DESCRIPTION = R.string.accessibi lity_content_view;
163 AppResource.STRING_MEDIA_PLAYER_MESSAGE_PLAYBACK_ERROR = 182 AppResource.STRING_MEDIA_PLAYER_MESSAGE_PLAYBACK_ERROR =
164 R.string.media_player_error_text_invalid_progressive_playback; 183 R.string.media_player_error_text_invalid_progressive_playback;
165 AppResource.STRING_MEDIA_PLAYER_MESSAGE_UNKNOWN_ERROR = 184 AppResource.STRING_MEDIA_PLAYER_MESSAGE_UNKNOWN_ERROR =
166 R.string.media_player_error_text_unknown; 185 R.string.media_player_error_text_unknown;
167 AppResource.STRING_MEDIA_PLAYER_ERROR_BUTTON = R.string.media_player_err or_button; 186 AppResource.STRING_MEDIA_PLAYER_ERROR_BUTTON = R.string.media_player_err or_button;
168 AppResource.STRING_MEDIA_PLAYER_ERROR_TITLE = R.string.media_player_erro r_title; 187 AppResource.STRING_MEDIA_PLAYER_ERROR_TITLE = R.string.media_player_erro r_title;
169 } 188 }
170 } 189 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698