Commit c9d21aee authored by stkhapugin@chromium.org's avatar stkhapugin@chromium.org Committed by Commit Bot

[UI Refresh] Location bar icons for NTP and Offline pages.

Makes the location bar not show any icon on NTP. Adds a new offline
icon and uses it for offline pages.

Bug: 821804, 845956
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Icd8aba94af4fcabed9c35f3e322312624cb24835
Reviewed-on: https://chromium-review.googlesource.com/1071511
Commit-Queue: Stepan Khapugin <stkhapugin@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561899}
parent 75609819
......@@ -28,6 +28,7 @@ source_set("location_bar") {
]
deps = [
":constants",
"resources:location_bar_offline",
"resources:location_bar_share",
"resources:location_bar_voice",
"//base",
......
......@@ -188,6 +188,14 @@
#pragma mark Security status icon helpers
- (UIImage*)currentLocationIcon {
if (!self.toolbarModel->ShouldDisplayURL()) {
return nil;
}
if ([self isCurrentPageOffline]) {
return [self imageForOfflinePage];
}
return [self imageForSecurityLevel:self.toolbarModel->GetSecurityLevel(true)];
}
......@@ -197,4 +205,20 @@
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
}
// Returns a location icon for offline pages.
- (UIImage*)imageForOfflinePage {
return [UIImage imageNamed:@"location_bar_offline"];
}
- (BOOL)isCurrentPageOffline {
if (!self.webState)
return false;
auto* navigationManager = self.webState->GetNavigationManager();
auto* visibleItem = navigationManager->GetVisibleItem();
if (!visibleItem)
return false;
const GURL& url = visibleItem->GetURL();
return url.SchemeIs(kChromeUIScheme) && url.host() == kChromeUIOfflineHost;
}
@end
......@@ -66,3 +66,12 @@ imageset("location_bar_voice") {
"location_bar_voice.imageset/location_bar_voice@3x.png",
]
}
imageset("location_bar_offline") {
sources = [
"location_bar_offline.imageset/Contents.json",
"location_bar_offline.imageset/location_bar_offline.png",
"location_bar_offline.imageset/location_bar_offline@2x.png",
"location_bar_offline.imageset/location_bar_offline@3x.png",
]
}
{
"images": [
{
"idiom": "universal",
"scale": "1x",
"filename": "location_bar_offline.png"
},
{
"idiom": "universal",
"scale": "2x",
"filename": "location_bar_offline@2x.png"
},
{
"idiom": "universal",
"scale": "3x",
"filename": "location_bar_offline@3x.png"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment