OLD | NEW |
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.os.Debug; |
10 import android.text.TextUtils; | 11 import android.text.TextUtils; |
11 import android.util.Log; | 12 import android.util.Log; |
12 import android.view.KeyEvent; | 13 import android.view.KeyEvent; |
13 | 14 |
| 15 import org.chromium.content.browser.CommandLine; |
14 import org.chromium.content.browser.ContentView; | 16 import org.chromium.content.browser.ContentView; |
| 17 import org.chromium.content.browser.LibraryLoader; |
15 | 18 |
16 /** | 19 /** |
17 * Activity for managing the Content Shell. | 20 * Activity for managing the Content Shell. |
18 */ | 21 */ |
19 public class ContentShellActivity extends Activity { | 22 public class ContentShellActivity extends Activity { |
20 | 23 |
21 private static final String COMMAND_LINE_FILE = "/data/local/content-shell-c
ommand-line"; | 24 private static final String COMMAND_LINE_FILE = "/data/local/content-shell-c
ommand-line"; |
22 private static final String TAG = "ContentShellActivity"; | 25 private static final String TAG = "ContentShellActivity"; |
| 26 private static final String NATIVE_LIBRARY = "content_shell_content_view"; |
23 | 27 |
24 private ShellManager mShellManager; | 28 private ShellManager mShellManager; |
25 | 29 |
26 @Override | 30 @Override |
27 protected void onCreate(Bundle savedInstanceState) { | 31 protected void onCreate(Bundle savedInstanceState) { |
28 super.onCreate(savedInstanceState); | 32 super.onCreate(savedInstanceState); |
29 | 33 |
30 // Initializing the command line must occur before loading the library. | 34 // Initializing the command line must occur before loading the library. |
31 // TODO(tedchoc): Initialize command line from file. | 35 CommandLine.initFromFile(COMMAND_LINE_FILE); |
32 String startupUrl = getUrlFromIntent(getIntent()); | 36 String startupUrl = getUrlFromIntent(getIntent()); |
33 if (!TextUtils.isEmpty(startupUrl)) { | 37 if (!TextUtils.isEmpty(startupUrl)) { |
34 // TODO(tedchoc): Append URL to command line. | 38 CommandLine.getInstance().appendSwitchesAndArguments( |
| 39 new String[] {ShellView.sanitizeUrl(startupUrl)}); |
35 } | 40 } |
36 | 41 |
37 // TODO(jrg,tedchoc): upstream the async library loader, then | 42 // TODO(jrg): once command line support is addef (for |
38 // make this call look like this: | 43 // --wait-for-debugger), remove this. |
39 // LibraryLoader.loadAndInitSync(); | 44 // Debug.waitForDebugger(); |
40 loadNativeLibrary(); | 45 LibraryLoader.loadAndInitSync(); |
41 | |
42 initializeContentViewResources(); | 46 initializeContentViewResources(); |
43 | 47 |
44 setContentView(R.layout.content_shell_activity); | 48 setContentView(R.layout.content_shell_activity); |
45 mShellManager = (ShellManager) findViewById(R.id.shell_container); | 49 mShellManager = (ShellManager) findViewById(R.id.shell_container); |
46 ContentView.enableMultiProcess(this, ContentView.MAX_RENDERERS_AUTOMATIC
); | 50 ContentView.enableMultiProcess(this, ContentView.MAX_RENDERERS_AUTOMATIC
); |
47 } | 51 } |
48 | 52 |
49 @Override | 53 @Override |
50 public boolean onKeyUp(int keyCode, KeyEvent event) { | 54 public boolean onKeyUp(int keyCode, KeyEvent event) { |
51 if (keyCode != KeyEvent.KEYCODE_BACK) return super.onKeyUp(keyCode, even
t); | 55 if (keyCode != KeyEvent.KEYCODE_BACK) return super.onKeyUp(keyCode, even
t); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 * @return The currently visible {@link ShellView} or null if one is not sho
wing. | 90 * @return The currently visible {@link ShellView} or null if one is not sho
wing. |
87 */ | 91 */ |
88 public ShellView getActiveShellView() { | 92 public ShellView getActiveShellView() { |
89 return mShellManager != null ? mShellManager.getActiveShellView() : null
; | 93 return mShellManager != null ? mShellManager.getActiveShellView() : null
; |
90 } | 94 } |
91 | 95 |
92 private void initializeContentViewResources() { | 96 private void initializeContentViewResources() { |
93 ContentView.registerPopupOverlayCornerRadius(0); | 97 ContentView.registerPopupOverlayCornerRadius(0); |
94 ContentView.registerPopupOverlayResourceId(R.drawable.popup_zoomer_overl
ay); | 98 ContentView.registerPopupOverlayResourceId(R.drawable.popup_zoomer_overl
ay); |
95 } | 99 } |
96 | |
97 | |
98 private static final String NATIVE_LIBRARY = "content_shell_content_view"; | |
99 | |
100 private void loadNativeLibrary() throws UnsatisfiedLinkError { | |
101 Log.i(TAG, "loading: " + NATIVE_LIBRARY); | |
102 try { | |
103 System.loadLibrary(NATIVE_LIBRARY); | |
104 } catch (UnsatisfiedLinkError e) { | |
105 Log.e(TAG, "Unable to load lib" + NATIVE_LIBRARY + ".so: " + e); | |
106 throw e; | |
107 } | |
108 Log.i(TAG, "loaded: " + NATIVE_LIBRARY); | |
109 } | |
110 } | 100 } |
OLD | NEW |