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

Unified Diff: ios/chrome/browser/ui/browser_view_controller.mm

Issue 2692803004: Refactor callbacks for opening a new window. (Closed)
Patch Set: Addressed review comment Created 3 years, 10 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: ios/chrome/browser/ui/browser_view_controller.mm
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
index b23e6dd1a5aa86ac7963362d70368ebe73e8ca4c..dadc97218a7edfc4cc08d226d290aa12b669b17f 100644
--- a/ios/chrome/browser/ui/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -4308,6 +4308,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
CRWWebController* webController = tab.webController;
NSString* script = @"document.documentElement.outerHTML;";
base::WeakNSObject<Tab> weakTab(tab);
+ base::WeakNSObject<BrowserViewController> weakSelf(self);
web::JavaScriptResultBlock completionHandlerBlock = ^(id result, NSError*) {
base::scoped_nsobject<Tab> strongTab([weakTab retain]);
if (!strongTab)
@@ -4318,10 +4319,16 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
base::Base64Encode(base::SysNSStringToUTF8(result), &base64HTML);
GURL URL(std::string("data:text/plain;charset=utf-8;base64,") + base64HTML);
web::Referrer referrer([strongTab url], web::ReferrerPolicyDefault);
- [strongTab webPageOrderedOpen:URL
- referrer:referrer
- windowName:nil
- inBackground:NO];
+
+ [[weakSelf tabModel]
+ insertOrUpdateTabWithURL:URL
+ referrer:referrer
+ transition:ui::PAGE_TRANSITION_LINK
+ windowName:nil
+ opener:strongTab
+ openedByDOM:YES
+ atIndex:TabModelConstants::kTabPositionAutomatically
+ inBackground:NO];
};
[webController executeJavaScript:script
completionHandler:completionHandlerBlock];

Powered by Google App Engine
This is Rietveld 408576698