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

Unified Diff: ios/chrome/browser/web/mailto_url_rewriter.mm

Issue 2859743002: Adds MailtoURLRewriterObserver to MailtoURLRewriter (Closed)
Patch Set: make observer weak, and test it. Created 3 years, 7 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/web/mailto_url_rewriter.mm
diff --git a/ios/chrome/browser/web/mailto_url_rewriter.mm b/ios/chrome/browser/web/mailto_url_rewriter.mm
index f6c00c5cff1bcac1421298cf6d8a5f574e003e73..8f15372bacf22ac8c625eb724d7f57c003b32c30 100644
--- a/ios/chrome/browser/web/mailto_url_rewriter.mm
+++ b/ios/chrome/browser/web/mailto_url_rewriter.mm
@@ -52,6 +52,7 @@ NSString* const kMailtoDefaultHandlerKey = @"MailtoHandlerDefault";
@end
@implementation MailtoURLRewriter
+@synthesize observer = _observer;
@synthesize handlers = _handlers;
+ (NSString*)systemMailApp {
@@ -90,8 +91,18 @@ NSString* const kMailtoDefaultHandlerKey = @"MailtoHandlerDefault";
- (void)setDefaultHandlerID:(NSString*)appStoreID {
DCHECK([appStoreID length]);
- [[NSUserDefaults standardUserDefaults] setObject:appStoreID
- forKey:kMailtoDefaultHandlerKey];
+ NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
+ if ([appStoreID
+ isEqualToString:[defaults objectForKey:kMailtoDefaultHandlerKey]])
+ return;
+ [defaults setObject:appStoreID forKey:kMailtoDefaultHandlerKey];
+ [_observer rewriterDidChange:self];
+}
+
+- (NSString*)defaultHandlerName {
+ NSString* handlerID = [self defaultHandlerID];
+ MailtoHandler* handler = _handlers[handlerID];
+ return [handler appName];
}
- (NSString*)rewriteMailtoURL:(const GURL&)gURL {
« no previous file with comments | « ios/chrome/browser/web/mailto_url_rewriter.h ('k') | ios/chrome/browser/web/mailto_url_rewriter_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698