Chromium Code Reviews| 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 |