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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java

Issue 2156273003: Reuse Website objects in WebsitePermissionFetcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix findbugs warnings. Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
index f87160156676da16faf5134cf45e27f16e58658a..a3ad7e0e15c7d1f3207b0abedbc3ca398fc4fbf3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
@@ -23,9 +23,8 @@ public class Website implements Serializable {
static final int MICROPHONE_AND_CAMERA_ACCESS_DENIED = 5;
static final int MICROPHONE_ACCESS_DENIED = 6;
- private final WebsiteAddress mAddress;
- private final String mTitle;
- private String mSummary;
+ private final WebsiteAddress mOrigin;
+ private final WebsiteAddress mEmbedder;
private ContentSettingException mAutoplayExceptionInfo;
private ContentSettingException mBackgroundSyncExceptionInfo;
@@ -44,25 +43,37 @@ public class Website implements Serializable {
private final List<StorageInfo> mStorageInfo = new ArrayList<StorageInfo>();
private int mStorageInfoCallbacksLeft;
- public Website(WebsiteAddress address) {
- mAddress = address;
- mTitle = address.getTitle();
+ public Website(WebsiteAddress origin, WebsiteAddress embedder) {
+ mOrigin = origin;
+ mEmbedder = embedder;
}
public WebsiteAddress getAddress() {
- return mAddress;
+ return mOrigin;
}
public String getTitle() {
- return mTitle;
+ return mOrigin.getTitle();
}
public String getSummary() {
- return mSummary;
+ if (mEmbedder == null) return null;
+ return mEmbedder.getTitle();
}
+ /**
+ * A comparison function for sorting by address (first by origin and then
+ * by embedder).
+ */
public int compareByAddressTo(Website to) {
- return this == to ? 0 : mAddress.compareTo(to.mAddress);
+ if (this == to) return 0;
+ int originComparison = mOrigin.compareTo(to.mOrigin);
+ if (originComparison == 0) {
+ if (mEmbedder == null) return to.mEmbedder == null ? 0 : -1;
+ if (to.mEmbedder == null) return 1;
+ return mEmbedder.compareTo(to.mEmbedder);
+ }
+ return originComparison;
}
/**
@@ -127,10 +138,6 @@ public class Website implements Serializable {
*/
public void setCameraInfo(CameraInfo info) {
mCameraInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
public CameraInfo getCameraInfo() {
@@ -185,10 +192,6 @@ public class Website implements Serializable {
*/
public void setFullscreenInfo(FullscreenInfo info) {
mFullscreenInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
/**
@@ -221,10 +224,6 @@ public class Website implements Serializable {
*/
public void setGeolocationInfo(GeolocationInfo info) {
mGeolocationInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
public GeolocationInfo getGeolocationInfo() {
@@ -275,10 +274,6 @@ public class Website implements Serializable {
*/
public void setKeygenInfo(KeygenInfo info) {
mKeygenInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
public KeygenInfo getKeygenInfo() {
@@ -306,10 +301,6 @@ public class Website implements Serializable {
*/
public void setMicrophoneInfo(MicrophoneInfo info) {
mMicrophoneInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
public MicrophoneInfo getMicrophoneInfo() {
@@ -335,10 +326,6 @@ public class Website implements Serializable {
*/
public void setMidiInfo(MidiInfo info) {
mMidiInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
public MidiInfo getMidiInfo() {
@@ -421,10 +408,6 @@ public class Website implements Serializable {
*/
public void setProtectedMediaIdentifierInfo(ProtectedMediaIdentifierInfo info) {
mProtectedMediaIdentifierInfo = info;
- WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
- if (embedder != null) {
- mSummary = embedder.getTitle();
- }
}
public ProtectedMediaIdentifierInfo getProtectedMediaIdentifierInfo() {

Powered by Google App Engine
This is Rietveld 408576698