Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
index f1b335701f900a7ef54f3b150aedd4eb06c033ff..949c75fbb8c938c74bd42fc61d1e6bf4197fa807 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
@@ -121,6 +121,7 @@ import org.chromium.chrome.browser.util.ColorUtils; |
import org.chromium.chrome.browser.util.FeatureUtilities; |
import org.chromium.chrome.browser.webapps.AddToHomescreenDialog; |
import org.chromium.chrome.browser.widget.ControlContainer; |
+import org.chromium.components.bookmarks.BookmarkId; |
import org.chromium.content.browser.ContentVideoView; |
import org.chromium.content.browser.ContentViewCore; |
import org.chromium.content.common.ContentSwitches; |
@@ -1057,8 +1058,13 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
if (!tabToBookmark.isClosing() && tabToBookmark.isInitialized()) { |
// The BookmarkModel will be destroyed by BookmarkUtils#addOrEditBookmark() when |
// done. |
- BookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel, |
- tabToBookmark, getSnackbarManager(), ChromeActivity.this); |
+ BookmarkId newBookmarkId = |
+ BookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel, |
+ tabToBookmark, getSnackbarManager(), ChromeActivity.this); |
+ // If a new bookmark was created, try to save an offline page for it. |
+ if (newBookmarkId != null && newBookmarkId.getId() != bookmarkId) { |
+ OfflinePageUtils.saveBookmarkOffline(newBookmarkId, tabToBookmark); |
+ } |
} else { |
bookmarkModel.destroy(); |
} |