OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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.shell; | 5 package org.chromium.chrome.shell; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 import android.util.AttributeSet; | 8 import android.util.AttributeSet; |
9 import android.view.LayoutInflater; | 9 import android.view.LayoutInflater; |
10 import android.view.View; | 10 import android.view.View; |
11 import android.view.ViewGroup; | 11 import android.view.ViewGroup; |
12 import android.view.ViewParent; | 12 import android.view.ViewParent; |
13 import android.view.inputmethod.InputMethodManager; | |
13 import android.widget.FrameLayout; | 14 import android.widget.FrameLayout; |
14 import android.widget.LinearLayout; | 15 import android.widget.LinearLayout; |
15 | 16 |
16 import org.chromium.chrome.browser.EmptyTabObserver; | 17 import org.chromium.chrome.browser.EmptyTabObserver; |
17 import org.chromium.chrome.browser.Tab; | 18 import org.chromium.chrome.browser.Tab; |
18 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; | 19 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; |
19 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; | 20 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
20 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; | 21 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; |
21 import org.chromium.chrome.browser.widget.accessibility.AccessibilityTabModelWra pper; | 22 import org.chromium.chrome.browser.widget.accessibility.AccessibilityTabModelWra pper; |
22 import org.chromium.content.browser.ContentVideoViewClient; | 23 import org.chromium.content.browser.ContentVideoViewClient; |
(...skipping 14 matching lines...) Expand all Loading... | |
37 private ViewGroup mContentViewHolder; | 38 private ViewGroup mContentViewHolder; |
38 private ContentViewRenderView mContentViewRenderView; | 39 private ContentViewRenderView mContentViewRenderView; |
39 private ChromeShellToolbar mToolbar; | 40 private ChromeShellToolbar mToolbar; |
40 | 41 |
41 private ChromeShellTab mCurrentTab; | 42 private ChromeShellTab mCurrentTab; |
42 | 43 |
43 private String mStartupUrl = DEFAULT_URL; | 44 private String mStartupUrl = DEFAULT_URL; |
44 | 45 |
45 private ChromeShellTabModelSelector mTabModelSelector; | 46 private ChromeShellTabModelSelector mTabModelSelector; |
46 private AccessibilityTabModelWrapper mTabModelWrapper; | 47 private AccessibilityTabModelWrapper mTabModelWrapper; |
48 private InputMethodManager mImm; | |
47 | 49 |
48 private final EmptyTabModelObserver mTabModelObserver = new EmptyTabModelObs erver() { | 50 private final EmptyTabModelObserver mTabModelObserver = new EmptyTabModelObs erver() { |
49 @Override | 51 @Override |
50 public void didSelectTab(Tab tab, TabSelectionType type, int lastId) { | 52 public void didSelectTab(Tab tab, TabSelectionType type, int lastId) { |
51 assert tab instanceof ChromeShellTab; | 53 assert tab instanceof ChromeShellTab; |
52 setCurrentTab((ChromeShellTab) tab); | 54 setCurrentTab((ChromeShellTab) tab); |
53 hideTabSwitcher(); | 55 hideTabSwitcher(); |
54 } | 56 } |
55 | 57 |
56 @Override | 58 @Override |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
88 @Override | 90 @Override |
89 protected void onReadyToRender() { | 91 protected void onReadyToRender() { |
90 if (mCurrentTab == null) createTab(mStartupUrl, TabLaunchType.FR OM_RESTORE); | 92 if (mCurrentTab == null) createTab(mStartupUrl, TabLaunchType.FR OM_RESTORE); |
91 } | 93 } |
92 }; | 94 }; |
93 mContentViewRenderView.onNativeLibraryLoaded(window); | 95 mContentViewRenderView.onNativeLibraryLoaded(window); |
94 mContentViewHolder.addView(mContentViewRenderView, | 96 mContentViewHolder.addView(mContentViewRenderView, |
95 new FrameLayout.LayoutParams( | 97 new FrameLayout.LayoutParams( |
96 FrameLayout.LayoutParams.MATCH_PARENT, | 98 FrameLayout.LayoutParams.MATCH_PARENT, |
97 FrameLayout.LayoutParams.MATCH_PARENT)); | 99 FrameLayout.LayoutParams.MATCH_PARENT)); |
100 mImm = (InputMethodManager) getContext().getSystemService( | |
101 Context.INPUT_METHOD_SERVICE); | |
98 } | 102 } |
99 | 103 |
100 /** | 104 /** |
101 * @param startupUrl The URL that the first tab should navigate to. | 105 * @param startupUrl The URL that the first tab should navigate to. |
102 */ | 106 */ |
103 public void setStartupUrl(String startupUrl) { | 107 public void setStartupUrl(String startupUrl) { |
104 mStartupUrl = startupUrl; | 108 mStartupUrl = startupUrl; |
105 } | 109 } |
106 | 110 |
107 /** | 111 /** |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
209 mContentViewHolder.getContext()).inflate( | 213 mContentViewHolder.getContext()).inflate( |
210 R.layout.accessibility_tab_switcher, null); | 214 R.layout.accessibility_tab_switcher, null); |
211 mTabModelWrapper.setup(null); | 215 mTabModelWrapper.setup(null); |
212 mTabModelWrapper.setTabModelSelector(mTabModelSelector); | 216 mTabModelWrapper.setTabModelSelector(mTabModelSelector); |
213 } | 217 } |
214 | 218 |
215 if (mTabModelWrapper.getParent() == null) { | 219 if (mTabModelWrapper.getParent() == null) { |
216 mContentViewHolder.addView(mTabModelWrapper); | 220 mContentViewHolder.addView(mTabModelWrapper); |
217 } | 221 } |
218 mToolbar.showAddButton(true); | 222 mToolbar.showAddButton(true); |
223 mImm.hideSoftInputFromWindow(mContentViewHolder.getWindowToken(), 0); | |
Bernhard Bauer
2014/11/13 11:52:54
Just get the InputMethodManager directly here?
divya.bansal
2014/11/13 13:53:51
Done.
| |
219 } | 224 } |
220 | 225 |
221 /** | 226 /** |
222 * Returns the visibility status of the tab switcher. | 227 * Returns the visibility status of the tab switcher. |
223 */ | 228 */ |
224 public boolean isTabSwitcherVisible() { | 229 public boolean isTabSwitcherVisible() { |
225 return mTabModelWrapper != null && mTabModelWrapper.getParent() == mCont entViewHolder; | 230 return mTabModelWrapper != null && mTabModelWrapper.getParent() == mCont entViewHolder; |
226 } | 231 } |
227 | 232 |
228 /** | 233 /** |
(...skipping 16 matching lines...) Expand all Loading... | |
245 LoadUrlParams loadUrlParams = new LoadUrlParams(url); | 250 LoadUrlParams loadUrlParams = new LoadUrlParams(url); |
246 loadUrlParams.setTransitionType(PageTransition.TYPED | PageTransition.FR OM_ADDRESS_BAR); | 251 loadUrlParams.setTransitionType(PageTransition.TYPED | PageTransition.FR OM_ADDRESS_BAR); |
247 Tab tab = mTabModelSelector.getCurrentTab(); | 252 Tab tab = mTabModelSelector.getCurrentTab(); |
248 if (tab != null) { | 253 if (tab != null) { |
249 tab.loadUrl(loadUrlParams); | 254 tab.loadUrl(loadUrlParams); |
250 return tab; | 255 return tab; |
251 } | 256 } |
252 return createTab(url, TabLaunchType.FROM_KEYBOARD); | 257 return createTab(url, TabLaunchType.FROM_KEYBOARD); |
253 } | 258 } |
254 } | 259 } |
OLD | NEW |