| 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; | |
| 14 import android.widget.FrameLayout; | 13 import android.widget.FrameLayout; |
| 15 import android.widget.LinearLayout; | 14 import android.widget.LinearLayout; |
| 16 | 15 |
| 17 import org.chromium.base.VisibleForTesting; | 16 import org.chromium.base.VisibleForTesting; |
| 18 import org.chromium.chrome.browser.EmptyTabObserver; | 17 import org.chromium.chrome.browser.EmptyTabObserver; |
| 19 import org.chromium.chrome.browser.Tab; | 18 import org.chromium.chrome.browser.Tab; |
| 20 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; | 19 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver; |
| 21 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; | 20 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
| 22 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; | 21 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType; |
| 23 import org.chromium.chrome.browser.tabmodel.TabModelSelector; | 22 import org.chromium.chrome.browser.tabmodel.TabModelSelector; |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 * Hide the tab switcher. | 219 * Hide the tab switcher. |
| 221 */ | 220 */ |
| 222 public void hideTabSwitcher() { | 221 public void hideTabSwitcher() { |
| 223 if (mTabModelWrapper == null) return; | 222 if (mTabModelWrapper == null) return; |
| 224 if (!isTabSwitcherVisible()) return; | 223 if (!isTabSwitcherVisible()) return; |
| 225 ViewParent parent = mTabModelWrapper.getParent(); | 224 ViewParent parent = mTabModelWrapper.getParent(); |
| 226 if (parent != null) { | 225 if (parent != null) { |
| 227 assert parent == mContentViewHolder; | 226 assert parent == mContentViewHolder; |
| 228 mContentViewHolder.removeView(mTabModelWrapper); | 227 mContentViewHolder.removeView(mTabModelWrapper); |
| 229 } | 228 } |
| 230 mToolbar.updateToolBarButtonState(); | 229 mToolbar.updateToolbarState(); |
| 231 } | 230 } |
| 232 | 231 |
| 233 /** | 232 /** |
| 234 * Shows the tab switcher. | 233 * Shows the tab switcher. |
| 235 */ | 234 */ |
| 236 private void showTabSwitcher() { | 235 private void showTabSwitcher() { |
| 237 if (mTabModelWrapper == null) { | 236 if (mTabModelWrapper == null) { |
| 238 mTabModelWrapper = (AccessibilityTabModelWrapper) LayoutInflater.fro
m( | 237 mTabModelWrapper = (AccessibilityTabModelWrapper) LayoutInflater.fro
m( |
| 239 mContentViewHolder.getContext()).inflate( | 238 mContentViewHolder.getContext()).inflate( |
| 240 R.layout.accessibility_tab_switcher, null); | 239 R.layout.accessibility_tab_switcher, null); |
| 241 mTabModelWrapper.setup(null); | 240 mTabModelWrapper.setup(null); |
| 242 mTabModelWrapper.setTabModelSelector(mTabModelSelector); | 241 mTabModelWrapper.setTabModelSelector(mTabModelSelector); |
| 243 } | 242 } |
| 244 | 243 |
| 245 if (mTabModelWrapper.getParent() == null) { | 244 if (mTabModelWrapper.getParent() == null) { |
| 246 mContentViewHolder.addView(mTabModelWrapper); | 245 mContentViewHolder.addView(mTabModelWrapper); |
| 247 } | 246 } |
| 248 mToolbar.updateToolBarButtonState(); | 247 mToolbar.updateToolbarState(); |
| 249 InputMethodManager mImm = (InputMethodManager) getContext().getSystemSer
vice( | |
| 250 Context.INPUT_METHOD_SERVICE); | |
| 251 mImm.hideSoftInputFromWindow(mContentViewHolder.getWindowToken(), 0); | |
| 252 } | 248 } |
| 253 | 249 |
| 254 /** | 250 /** |
| 255 * Returns the visibility status of the tab switcher. | 251 * Returns the visibility status of the tab switcher. |
| 256 */ | 252 */ |
| 257 public boolean isTabSwitcherVisible() { | 253 public boolean isTabSwitcherVisible() { |
| 258 return mTabModelWrapper != null && mTabModelWrapper.getParent() == mCont
entViewHolder; | 254 return mTabModelWrapper != null && mTabModelWrapper.getParent() == mCont
entViewHolder; |
| 259 } | 255 } |
| 260 | 256 |
| 261 /** | 257 /** |
| (...skipping 23 matching lines...) Expand all Loading... |
| 285 return createTab(url, TabLaunchType.FROM_KEYBOARD); | 281 return createTab(url, TabLaunchType.FROM_KEYBOARD); |
| 286 } | 282 } |
| 287 | 283 |
| 288 /** | 284 /** |
| 289 * Returns the TabModelSelector containing the tabs. | 285 * Returns the TabModelSelector containing the tabs. |
| 290 */ | 286 */ |
| 291 public TabModelSelector getTabModelSelector() { | 287 public TabModelSelector getTabModelSelector() { |
| 292 return mTabModelSelector; | 288 return mTabModelSelector; |
| 293 } | 289 } |
| 294 } | 290 } |
| OLD | NEW |