Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelInflater.java

Issue 1823203002: [Contextual Search] Fixing ViewResourceInflater layout invalidation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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.compositor.bottombar; 5 package org.chromium.chrome.browser.compositor.bottombar;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.view.View; 8 import android.view.View;
9 import android.view.ViewGroup; 9 import android.view.ViewGroup;
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 @Override 50 @Override
51 public void destroy() { 51 public void destroy() {
52 super.destroy(); 52 super.destroy();
53 53
54 mOverlayPanel = null; 54 mOverlayPanel = null;
55 } 55 }
56 56
57 @Override 57 @Override
58 protected void onFinishInflate() { 58 protected void onFinishInflate() {
59 if (!mOverlayPanel.isFullWidthSizePanel()) { 59 if (!mOverlayPanel.isFullWidthSizePanel()) {
60 setWidth(mOverlayPanel.getMaximumWidthPx()); 60 requestLayout();
61 } 61 }
62 } 62 }
63 63
64 @Override 64 @Override
65 protected int getWidthMeasureSpec() { 65 protected int getWidthMeasureSpec() {
66 return View.MeasureSpec.makeMeasureSpec( 66 return View.MeasureSpec.makeMeasureSpec(
67 mOverlayPanel.getMaximumWidthPx(), View.MeasureSpec.EXACTLY); 67 mOverlayPanel.getMaximumWidthPx(), View.MeasureSpec.EXACTLY);
68 } 68 }
69 69
70 /** 70 /**
71 * @param width The width of the view to be inforced.
72 */
73 private void setWidth(int width) {
74 // When the view is attached, we need to force the layout to have a spec ific width
75 // because the container is "full-width" (as wide as a tab). When not at tached,
76 // ViewResourceInflater#layout() will properly resize the view offscreen .
77 if (shouldAttachView()) {
78 View view = getView();
79 if (view != null) {
80 view.getLayoutParams().width = width;
81 view.requestLayout();
82 }
83 }
84 }
85
86 /**
87 * Sanitizes a string to be displayed on the Overlay Panel Bar. 71 * Sanitizes a string to be displayed on the Overlay Panel Bar.
88 * @param text The text to be sanitized. 72 * @param text The text to be sanitized.
89 * @return The sanitized text. 73 * @return The sanitized text.
90 */ 74 */
91 public static String sanitizeText(String text) { 75 public static String sanitizeText(String text) {
92 if (text == null) return null; 76 if (text == null) return null;
93 return text.replace(OBJ_CHARACTER, " ").trim(); 77 return text.replace(OBJ_CHARACTER, " ").trim();
94 } 78 }
95 79
96 } 80 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698