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

Unified Diff: ios/chrome/today_extension/footer_label.mm

Issue 2586713002: Upstream code and resources for Chrome on iOS extensions. (Closed)
Patch Set: Created 4 years 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
« no previous file with comments | « ios/chrome/today_extension/footer_label.h ('k') | ios/chrome/today_extension/interactive_label.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/today_extension/footer_label.mm
diff --git a/ios/chrome/today_extension/footer_label.mm b/ios/chrome/today_extension/footer_label.mm
new file mode 100644
index 0000000000000000000000000000000000000000..990fe642e6e2a094ccf17a70d53bd825e0ee7919
--- /dev/null
+++ b/ios/chrome/today_extension/footer_label.mm
@@ -0,0 +1,125 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/today_extension/footer_label.h"
+
+#import "base/mac/scoped_block.h"
+#import "base/mac/scoped_nsobject.h"
+#import "ios/chrome/common/string_util.h"
+#include "ios/chrome/today_extension/interactive_label.h"
+#include "ios/chrome/today_extension/transparent_button.h"
+#include "ios/chrome/today_extension/ui_util.h"
+#include "ios/today_extension/grit/ios_today_extension_strings.h"
+#include "ui/base/l10n/l10n_util.h"
+
+// Font size of a footer.
+const CGFloat kFooterFontSize = 11;
+
+@implementation SimpleFooterLabel {
+ base::scoped_nsobject<InteractiveLabel> _label;
+}
+
+- (instancetype)initWithLabelString:(NSString*)labelString
+ buttonString:(NSString*)buttonString
+ linkBlock:(ProceduralBlock)linkBlock
+ buttonBlock:(ProceduralBlock)buttonBlock {
+ self = [super init];
+ UIEdgeInsets insets = UIEdgeInsetsMake(
+ ui_util::kFooterVerticalMargin, ui_util::kFooterHorizontalMargin,
+ ui_util::kFooterVerticalMargin, ui_util::kFooterHorizontalMargin);
+ _label.reset([[InteractiveLabel alloc] initWithFrame:CGRectZero
+ labelString:labelString
+ fontSize:kFooterFontSize
+ labelAlignment:NSTextAlignmentCenter
+ insets:insets
+ buttonString:buttonString
+ linkBlock:linkBlock
+ buttonBlock:buttonBlock]);
+
+ return self;
+}
+
+- (CGFloat)heightForWidth:(CGFloat)width {
+ CGSize size = [_label sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)];
+ return size.height;
+}
+
+- (void)setFrame:(CGRect)frame {
+ [_label setFrame:frame];
+}
+
+- (UIView*)view {
+ return _label;
+}
+
+@end
+
+@implementation PWIsOnFooterLabel
+
+- (instancetype)initWithLearnMoreBlock:(LearnMoreBlock)learnMore
+ turnOffBlock:(EnableDisableBlock)turnOffBlock {
+ self = [super
+ initWithLabelString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_ON_TODAY_EXTENSION_FOOTER_LABEL)
+ buttonString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_TURN_OFF_TODAY_EXTENSION_FOOTER_LABEL)
+ linkBlock:learnMore
+ buttonBlock:turnOffBlock];
+ return self;
+}
+
+@end
+
+@implementation PWIsOffFooterLabel
+
+- (instancetype)initWithLearnMoreBlock:(LearnMoreBlock)learnMore
+ turnOnBlock:(EnableDisableBlock)turnOnBlock {
+ self = [super
+ initWithLabelString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_OFF_TODAY_EXTENSION_FOOTER_LABEL)
+ buttonString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_TURN_ON_TODAY_EXTENSION_FOOTER_LABEL)
+ linkBlock:learnMore
+ buttonBlock:turnOnBlock];
+ return self;
+}
+
+@end
+
+@implementation PWScanningFooterLabel
+
+- (instancetype)initWithLearnMoreBlock:(LearnMoreBlock)learnMore
+ turnOffBlock:(EnableDisableBlock)turnOffBlock {
+ self = [super
+ initWithLabelString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_SCANNING_TODAY_EXTENSION_FOOTER_LABEL)
+ buttonString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_TURN_OFF_TODAY_EXTENSION_FOOTER_LABEL)
+ linkBlock:learnMore
+ buttonBlock:turnOffBlock];
+ return self;
+}
+
+@end
+
+@implementation PWBTOffFooterLabel
+
+- (instancetype)initWithLearnMoreBlock:(LearnMoreBlock)learnMore {
+ self =
+ [super initWithLabelString:
+ l10n_util::GetNSString(
+ IDS_IOS_PYSICAL_WEB_BLUETOOTH_TODAY_EXTENSION_FOOTER_LABEL)
+ buttonString:nil
+ linkBlock:learnMore
+ buttonBlock:nil];
+ return self;
+}
+
+@end
« no previous file with comments | « ios/chrome/today_extension/footer_label.h ('k') | ios/chrome/today_extension/interactive_label.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698