OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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.browser.widget; | 5 package org.chromium.chrome.browser.widget; |
6 | 6 |
7 import android.animation.Animator; | 7 import android.animation.Animator; |
8 import android.animation.AnimatorListenerAdapter; | 8 import android.animation.AnimatorListenerAdapter; |
9 import android.animation.ValueAnimator; | 9 import android.animation.ValueAnimator; |
10 import android.content.Context; | 10 import android.content.Context; |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 | 385 |
386 mPlaceholder = new View(getContext()); | 386 mPlaceholder = new View(getContext()); |
387 LayoutParams placeHolderParams = | 387 LayoutParams placeHolderParams = |
388 new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_P
ARENT); | 388 new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_P
ARENT); |
389 mPlaceholder.setBackgroundColor( | 389 mPlaceholder.setBackgroundColor( |
390 ApiCompatibilityUtils.getColor(getResources(), android.R.color.w
hite)); | 390 ApiCompatibilityUtils.getColor(getResources(), android.R.color.w
hite)); |
391 mBottomSheetContentContainer.addView(mPlaceholder, placeHolderParams); | 391 mBottomSheetContentContainer.addView(mPlaceholder, placeHolderParams); |
392 } | 392 } |
393 | 393 |
394 @Override | 394 @Override |
395 public int loadUrl(LoadUrlParams params) { | 395 public int loadUrl(LoadUrlParams params, boolean incognito) { |
396 for (BottomSheetObserver o : mObservers) o.onLoadUrl(params.getUrl()); | 396 for (BottomSheetObserver o : mObservers) o.onLoadUrl(params.getUrl()); |
397 | 397 |
398 // Native page URLs in this context do not need to communicate with the
tab. | 398 // Native page URLs in this context do not need to communicate with the
tab. |
399 if (NativePageFactory.isNativePageUrl(params.getUrl(), isIncognito())) { | 399 if (NativePageFactory.isNativePageUrl(params.getUrl(), incognito)) { |
400 return TabLoadStatus.PAGE_LOAD_FAILED; | 400 return TabLoadStatus.PAGE_LOAD_FAILED; |
401 } | 401 } |
402 | 402 |
403 // In all non-native cases, minimize the sheet. | 403 // In all non-native cases, minimize the sheet. |
404 setSheetState(SHEET_STATE_PEEK, true); | 404 setSheetState(SHEET_STATE_PEEK, true); |
405 | 405 |
406 assert mTabModelSelector != null; | 406 assert mTabModelSelector != null; |
407 | 407 |
408 // First try to get the tab behind the sheet. | 408 // First try to get the tab behind the sheet. |
409 if (mTabModelSelector.getCurrentTab() != null) { | 409 if (getActiveTab() != null && getActiveTab().isIncognito() == incognito)
{ |
410 return mTabModelSelector.getCurrentTab().loadUrl(params); | 410 return getActiveTab().loadUrl(params); |
411 } | 411 } |
412 | 412 |
413 // If no tab is active behind the sheet, open a new one. | 413 // If no compatible tab is active behind the sheet, open a new one. |
414 mTabModelSelector.openNewTab( | 414 mTabModelSelector.openNewTab( |
415 params, TabModel.TabLaunchType.FROM_CHROME_UI, null, isIncognito
()); | 415 params, TabModel.TabLaunchType.FROM_CHROME_UI, getActiveTab(), i
ncognito); |
416 return TabLoadStatus.DEFAULT_PAGE_LOAD; | 416 return TabLoadStatus.DEFAULT_PAGE_LOAD; |
417 } | 417 } |
418 | 418 |
419 @Override | 419 @Override |
420 public boolean isIncognito() { | 420 public boolean isIncognito() { |
421 if (getActiveTab() == null) return false; | 421 if (getActiveTab() == null) return false; |
422 return getActiveTab().isIncognito(); | 422 return getActiveTab().isIncognito(); |
423 } | 423 } |
424 | 424 |
425 @Override | 425 @Override |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
797 @Override | 797 @Override |
798 public void onFadingViewVisibilityChanged(boolean visible) {} | 798 public void onFadingViewVisibilityChanged(boolean visible) {} |
799 | 799 |
800 private boolean canMoveSheet() { | 800 private boolean canMoveSheet() { |
801 boolean isInOverviewMode = mTabModelSelector != null | 801 boolean isInOverviewMode = mTabModelSelector != null |
802 && (mTabModelSelector.getCurrentTab() == null | 802 && (mTabModelSelector.getCurrentTab() == null |
803 || mTabModelSelector.getCurrentTab().getActivity().is
InOverviewMode()); | 803 || mTabModelSelector.getCurrentTab().getActivity().is
InOverviewMode()); |
804 return !isToolbarAndroidViewHidden() && !isInOverviewMode; | 804 return !isToolbarAndroidViewHidden() && !isInOverviewMode; |
805 } | 805 } |
806 } | 806 } |
OLD | NEW |