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.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.content.res.Configuration; | 9 import android.content.res.Configuration; |
10 import android.graphics.drawable.ClipDrawable; | 10 import android.graphics.drawable.ClipDrawable; |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
65 private final TabObserver mTabObserver; | 65 private final TabObserver mTabObserver; |
66 | 66 |
67 private AppMenuHandler mMenuHandler; | 67 private AppMenuHandler mMenuHandler; |
68 private AppMenuButtonHelper mAppMenuButtonHelper; | 68 private AppMenuButtonHelper mAppMenuButtonHelper; |
69 | 69 |
70 private TabManager mTabManager; | 70 private TabManager mTabManager; |
71 | 71 |
72 private SuggestionPopup mSuggestionPopup; | 72 private SuggestionPopup mSuggestionPopup; |
73 | 73 |
74 private ImageButton mStopReloadButton; | 74 private ImageButton mStopReloadButton; |
75 private ImageButton mAddButton; | |
76 | |
75 private int mProgress = 0; | 77 private int mProgress = 0; |
76 private boolean mLoading = true; | 78 private boolean mLoading = true; |
77 | 79 |
78 /** | 80 /** |
79 * @param context The Context the view is running in. | 81 * @param context The Context the view is running in. |
80 * @param attrs The attributes of the XML tag that is inflating the view. | 82 * @param attrs The attributes of the XML tag that is inflating the view. |
81 */ | 83 */ |
82 public ChromeShellToolbar(Context context, AttributeSet attrs) { | 84 public ChromeShellToolbar(Context context, AttributeSet attrs) { |
83 super(context, attrs); | 85 super(context, attrs); |
84 // When running performance benchmark, we don't want to observe the tab | 86 // When running performance benchmark, we don't want to observe the tab |
85 // invalidation which would interfere with browser's processing content | 87 // invalidation which would interfere with browser's processing content |
86 // frame. See crbug.com/394976. | 88 // frame. See crbug.com/394976. |
87 if (CommandLine.getInstance().hasSwitch( | 89 if (CommandLine.getInstance().hasSwitch( |
88 ContentSwitches.RUNNING_PERFORMANCE_BENCHMARK)) { | 90 ContentSwitches.RUNNING_PERFORMANCE_BENCHMARK)) { |
89 mTabObserver = new EmptyTabObserver(); | 91 mTabObserver = new EmptyTabObserver(); |
90 } else { | 92 } else { |
91 mTabObserver = new TabObserverImpl(); | 93 mTabObserver = new TabObserverImpl(); |
92 } | 94 } |
93 } | 95 } |
94 | 96 |
95 /** | 97 /** |
96 * The toolbar will visually represent the state of {@code tab}. | 98 * The toolbar will visually represent the state of {@code tab}. |
97 * @param tab The Tab that should be represented. | 99 * @param tab The Tab that should be represented. |
98 */ | 100 */ |
99 public void showTab(ChromeShellTab tab) { | 101 public void showTab(ChromeShellTab tab) { |
100 if (mTab != null) mTab.removeObserver(mTabObserver); | 102 if (mTab != null) mTab.removeObserver(mTabObserver); |
101 | 103 |
104 mAddButton.setVisibility(GONE); | |
Bernhard Bauer
2014/11/04 12:22:10
So, are we not going to show the stop/reload butto
divya.bansal
2014/11/05 09:04:22
Done. Showing the add button when tabswitcher is s
| |
105 | |
102 mTab = tab; | 106 mTab = tab; |
103 | 107 |
104 if (mTab != null) { | 108 if (mTab != null) { |
105 mTab.addObserver(mTabObserver); | 109 mTab.addObserver(mTabObserver); |
106 mUrlTextView.setText(mTab.getWebContents().getUrl()); | 110 mUrlTextView.setText(mTab.getWebContents().getUrl()); |
107 } | 111 } |
108 } | 112 } |
109 | 113 |
110 /** | 114 /** |
111 * Set the TabManager responsible for activating the tab switcher. | 115 * Set the TabManager responsible for activating the tab switcher. |
(...skipping 24 matching lines...) Expand all Loading... | |
136 | 140 |
137 @Override | 141 @Override |
138 protected void onFinishInflate() { | 142 protected void onFinishInflate() { |
139 super.onFinishInflate(); | 143 super.onFinishInflate(); |
140 | 144 |
141 mProgressDrawable = (ClipDrawable) findViewById(R.id.toolbar).getBackgro und(); | 145 mProgressDrawable = (ClipDrawable) findViewById(R.id.toolbar).getBackgro und(); |
142 initializeUrlField(); | 146 initializeUrlField(); |
143 initializeTabSwitcherButton(); | 147 initializeTabSwitcherButton(); |
144 initializeMenuButton(); | 148 initializeMenuButton(); |
145 initializeStopReloadButton(); | 149 initializeStopReloadButton(); |
150 initializeAddButton(); | |
146 } | 151 } |
147 | 152 |
148 void setMenuHandler(AppMenuHandler menuHandler) { | 153 void setMenuHandler(AppMenuHandler menuHandler) { |
149 mMenuHandler = menuHandler; | 154 mMenuHandler = menuHandler; |
150 ImageButton menuButton = (ImageButton) findViewById(R.id.menu_button); | 155 ImageButton menuButton = (ImageButton) findViewById(R.id.menu_button); |
151 mAppMenuButtonHelper = new AppMenuButtonHelper(menuButton, mMenuHandler) ; | 156 mAppMenuButtonHelper = new AppMenuButtonHelper(menuButton, mMenuHandler) ; |
152 } | 157 } |
153 | 158 |
154 private void initializeUrlField() { | 159 private void initializeUrlField() { |
155 mUrlTextView = (EditText) findViewById(R.id.url); | 160 mUrlTextView = (EditText) findViewById(R.id.url); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
199 mSuggestionPopup = new SuggestionPopup(getContext(), mUrlTextView, this) ; | 204 mSuggestionPopup = new SuggestionPopup(getContext(), mUrlTextView, this) ; |
200 mUrlTextView.addTextChangedListener(mSuggestionPopup); | 205 mUrlTextView.addTextChangedListener(mSuggestionPopup); |
201 } | 206 } |
202 | 207 |
203 private void initializeTabSwitcherButton() { | 208 private void initializeTabSwitcherButton() { |
204 ImageButton tabSwitcherButton = (ImageButton) findViewById(R.id.tab_swit cher); | 209 ImageButton tabSwitcherButton = (ImageButton) findViewById(R.id.tab_swit cher); |
205 tabSwitcherButton.setOnClickListener(new OnClickListener() { | 210 tabSwitcherButton.setOnClickListener(new OnClickListener() { |
206 @Override | 211 @Override |
207 public void onClick(View v) { | 212 public void onClick(View v) { |
208 if (mTabManager != null) mTabManager.toggleTabSwitcher(); | 213 if (mTabManager != null) mTabManager.toggleTabSwitcher(); |
214 mAddButton.setVisibility(mTabManager.isTabSwitcherVisible() ? VI SIBLE : GONE); | |
215 mStopReloadButton.setVisibility(mTabManager.isTabSwitcherVisible () | |
216 ? GONE : VISIBLE); | |
209 } | 217 } |
210 }); | 218 }); |
211 } | 219 } |
212 | 220 |
213 private void initializeMenuButton() { | 221 private void initializeMenuButton() { |
214 ImageButton menuButton = (ImageButton) findViewById(R.id.menu_button); | 222 ImageButton menuButton = (ImageButton) findViewById(R.id.menu_button); |
215 menuButton.setOnClickListener(new OnClickListener() { | 223 menuButton.setOnClickListener(new OnClickListener() { |
216 @Override | 224 @Override |
217 public void onClick(View view) { | 225 public void onClick(View view) { |
218 if (mMenuHandler != null) mMenuHandler.showAppMenu(view, false, false); | 226 if (mMenuHandler != null) mMenuHandler.showAppMenu(view, false, false); |
(...skipping 16 matching lines...) Expand all Loading... | |
235 if (mTab == null) return; | 243 if (mTab == null) return; |
236 if (mLoading) { | 244 if (mLoading) { |
237 mTab.getWebContents().stop(); | 245 mTab.getWebContents().stop(); |
238 } else { | 246 } else { |
239 mTab.getWebContents().getNavigationController().reload(true) ; | 247 mTab.getWebContents().getNavigationController().reload(true) ; |
240 } | 248 } |
241 } | 249 } |
242 }); | 250 }); |
243 } | 251 } |
244 | 252 |
253 private void initializeAddButton() { | |
254 mAddButton = (ImageButton) findViewById(R.id.add_button); | |
255 mAddButton.setOnClickListener(new OnClickListener() { | |
256 @Override | |
257 public void onClick(View v) { | |
258 mTabManager.createNewTab(); | |
259 } | |
260 }); | |
261 } | |
262 | |
245 /** | 263 /** |
246 * @return Current tab that is shown by ChromeShell. | 264 * @return Current tab that is shown by ChromeShell. |
247 */ | 265 */ |
248 public ChromeShellTab getCurrentTab() { | 266 public ChromeShellTab getCurrentTab() { |
249 return mTab; | 267 return mTab; |
250 } | 268 } |
251 | 269 |
252 /** | 270 /** |
253 * Change the visibility of the software keyboard. | 271 * Change the visibility of the software keyboard. |
254 * @param visible Whether the keyboard should be shown or hidden. | 272 * @param visible Whether the keyboard should be shown or hidden. |
(...skipping 19 matching lines...) Expand all Loading... | |
274 public void onLoadProgressChanged(Tab tab, int progress) { | 292 public void onLoadProgressChanged(Tab tab, int progress) { |
275 if (tab == mTab) ChromeShellToolbar.this.onLoadProgressChanged(progr ess); | 293 if (tab == mTab) ChromeShellToolbar.this.onLoadProgressChanged(progr ess); |
276 } | 294 } |
277 | 295 |
278 @Override | 296 @Override |
279 public void onUpdateUrl(Tab tab, String url) { | 297 public void onUpdateUrl(Tab tab, String url) { |
280 if (tab == mTab) ChromeShellToolbar.this.onUpdateUrl(url); | 298 if (tab == mTab) ChromeShellToolbar.this.onUpdateUrl(url); |
281 } | 299 } |
282 } | 300 } |
283 } | 301 } |
OLD | NEW |