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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/NavigationPopup.java

Issue 2235533002: Revert "Changed NavigationController access to through tab in Java code" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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; 5 package org.chromium.chrome.browser;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.graphics.BitmapFactory; 9 import android.graphics.BitmapFactory;
10 import android.graphics.Color; 10 import android.graphics.Color;
11 import android.graphics.drawable.BitmapDrawable; 11 import android.graphics.drawable.BitmapDrawable;
12 import android.graphics.drawable.ColorDrawable; 12 import android.graphics.drawable.ColorDrawable;
13 import android.graphics.drawable.Drawable; 13 import android.graphics.drawable.Drawable;
14 import android.text.TextUtils; 14 import android.text.TextUtils;
15 import android.view.Gravity; 15 import android.view.Gravity;
16 import android.view.View; 16 import android.view.View;
17 import android.view.ViewGroup; 17 import android.view.ViewGroup;
18 import android.widget.AdapterView; 18 import android.widget.AdapterView;
19 import android.widget.BaseAdapter; 19 import android.widget.BaseAdapter;
20 import android.widget.HeaderViewListAdapter; 20 import android.widget.HeaderViewListAdapter;
21 import android.widget.ListPopupWindow; 21 import android.widget.ListPopupWindow;
22 import android.widget.PopupWindow; 22 import android.widget.PopupWindow;
23 import android.widget.TextView; 23 import android.widget.TextView;
24 24
25 import org.chromium.base.ThreadUtils; 25 import org.chromium.base.ThreadUtils;
26 import org.chromium.chrome.R; 26 import org.chromium.chrome.R;
27 import org.chromium.chrome.browser.favicon.FaviconHelper; 27 import org.chromium.chrome.browser.favicon.FaviconHelper;
28 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; 28 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback;
29 import org.chromium.chrome.browser.navigation.NavigationHandler;
30 import org.chromium.chrome.browser.profiles.Profile; 29 import org.chromium.chrome.browser.profiles.Profile;
30 import org.chromium.content_public.browser.NavigationController;
31 import org.chromium.content_public.browser.NavigationEntry; 31 import org.chromium.content_public.browser.NavigationEntry;
32 import org.chromium.content_public.browser.NavigationHistory; 32 import org.chromium.content_public.browser.NavigationHistory;
33 import org.chromium.ui.base.LocalizationUtils; 33 import org.chromium.ui.base.LocalizationUtils;
34 34
35 import java.util.HashSet; 35 import java.util.HashSet;
36 import java.util.Set; 36 import java.util.Set;
37 37
38 /** 38 /**
39 * A popup that handles displaying the navigation history for a given tab. 39 * A popup that handles displaying the navigation history for a given tab.
40 */ 40 */
41 public class NavigationPopup extends ListPopupWindow implements AdapterView.OnIt emClickListener { 41 public class NavigationPopup extends ListPopupWindow implements AdapterView.OnIt emClickListener {
42 42
43 private static final int MAXIMUM_HISTORY_ITEMS = 8; 43 private static final int MAXIMUM_HISTORY_ITEMS = 8;
44 44
45 private final Profile mProfile; 45 private final Profile mProfile;
46 private final Context mContext; 46 private final Context mContext;
47 private final NavigationHandler mNavigationHandler; 47 private final NavigationController mNavigationController;
48 private final NavigationHistory mHistory; 48 private final NavigationHistory mHistory;
49 private final NavigationAdapter mAdapter; 49 private final NavigationAdapter mAdapter;
50 private final ListItemFactory mListItemFactory; 50 private final ListItemFactory mListItemFactory;
51 51
52 private final int mFaviconSize; 52 private final int mFaviconSize;
53 53
54 private Bitmap mDefaultFavicon; 54 private Bitmap mDefaultFavicon;
55 55
56 /** 56 /**
57 * Loads the favicons asynchronously. 57 * Loads the favicons asynchronously.
58 */ 58 */
59 private FaviconHelper mFaviconHelper; 59 private FaviconHelper mFaviconHelper;
60 60
61 private boolean mInitialized; 61 private boolean mInitialized;
62 62
63 /** 63 /**
64 * Constructs a new popup with the given history information. 64 * Constructs a new popup with the given history information.
65 * 65 *
66 * @param profile The profile used for fetching favicons. 66 * @param profile The profile used for fetching favicons.
67 * @param context The context used for building the popup. 67 * @param context The context used for building the popup.
68 * @param navigationController The controller which takes care of page navig ations. 68 * @param navigationController The controller which takes care of page navig ations.
69 * @param isForward Whether to request forward navigation entries. 69 * @param isForward Whether to request forward navigation entries.
70 */ 70 */
71 public NavigationPopup(Profile profile, Context context, 71 public NavigationPopup(Profile profile, Context context,
72 NavigationHandler navigationController, boolean isForward) { 72 NavigationController navigationController, boolean isForward) {
73 super(context, null, android.R.attr.popupMenuStyle); 73 super(context, null, android.R.attr.popupMenuStyle);
74 mProfile = profile; 74 mProfile = profile;
75 mContext = context; 75 mContext = context;
76 mNavigationHandler = navigationController; 76 mNavigationController = navigationController;
77 mHistory = mNavigationHandler.getDirectedNavigationHistory( 77 mHistory = mNavigationController.getDirectedNavigationHistory(
78 isForward, MAXIMUM_HISTORY_ITEMS); 78 isForward, MAXIMUM_HISTORY_ITEMS);
79 mAdapter = new NavigationAdapter(); 79 mAdapter = new NavigationAdapter();
80 80
81 mFaviconSize = mContext.getResources().getDimensionPixelSize(R.dimen.def ault_favicon_size); 81 mFaviconSize = mContext.getResources().getDimensionPixelSize(R.dimen.def ault_favicon_size);
82 82
83 setModal(true); 83 setModal(true);
84 setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); 84 setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED);
85 setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); 85 setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
86 setOnItemClickListener(this); 86 setOnItemClickListener(this);
87 87
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 for (int i = 0; i < mHistory.getEntryCount(); i++) { 159 for (int i = 0; i < mHistory.getEntryCount(); i++) {
160 NavigationEntry entry = mHistory.getEntryAtIndex(i); 160 NavigationEntry entry = mHistory.getEntryAtIndex(i);
161 if (TextUtils.equals(pageUrl, entry.getUrl())) entry.updateFavicon(( Bitmap) favicon); 161 if (TextUtils.equals(pageUrl, entry.getUrl())) entry.updateFavicon(( Bitmap) favicon);
162 } 162 }
163 mAdapter.notifyDataSetChanged(); 163 mAdapter.notifyDataSetChanged();
164 } 164 }
165 165
166 @Override 166 @Override
167 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 167 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
168 NavigationEntry entry = (NavigationEntry) parent.getItemAtPosition(posit ion); 168 NavigationEntry entry = (NavigationEntry) parent.getItemAtPosition(posit ion);
169 mNavigationHandler.goToNavigationIndex(entry.getIndex()); 169 mNavigationController.goToNavigationIndex(entry.getIndex());
170 dismiss(); 170 dismiss();
171 } 171 }
172 172
173 private void updateBitmapForTextView(TextView view, Bitmap bitmap) { 173 private void updateBitmapForTextView(TextView view, Bitmap bitmap) {
174 Drawable faviconDrawable = null; 174 Drawable faviconDrawable = null;
175 if (bitmap != null) { 175 if (bitmap != null) {
176 faviconDrawable = new BitmapDrawable(mContext.getResources(), bitmap ); 176 faviconDrawable = new BitmapDrawable(mContext.getResources(), bitmap );
177 ((BitmapDrawable) faviconDrawable).setGravity(Gravity.FILL); 177 ((BitmapDrawable) faviconDrawable).setGravity(Gravity.FILL);
178 } else { 178 } else {
179 faviconDrawable = new ColorDrawable(Color.TRANSPARENT); 179 faviconDrawable = new ColorDrawable(Color.TRANSPARENT);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 String entryText = entry.getTitle(); 260 String entryText = entry.getTitle();
261 if (TextUtils.isEmpty(entryText)) entryText = entry.getVirtualUrl(); 261 if (TextUtils.isEmpty(entryText)) entryText = entry.getVirtualUrl();
262 if (TextUtils.isEmpty(entryText)) entryText = entry.getUrl(); 262 if (TextUtils.isEmpty(entryText)) entryText = entry.getUrl();
263 view.setText(entryText); 263 view.setText(entryText);
264 updateBitmapForTextView(view, entry.getFavicon()); 264 updateBitmapForTextView(view, entry.getFavicon());
265 265
266 return view; 266 return view;
267 } 267 }
268 } 268 }
269 } 269 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698