[iOS] Add URLOrigin initializer that takes a WKSecurityOrigin (#27979)

This commit is contained in:
Kyle Hickinson
2025-03-07 10:26:57 -05:00
committed by GitHub
parent 1dc4565c0b
commit b45c1fd0a8
5 changed files with 22 additions and 15 deletions
@@ -671,20 +671,8 @@ extension WKPermissionDecision {
extension WKFrameInfo {
fileprivate var origin: URLOrigin? {
if securityOrigin.protocol.isEmpty || securityOrigin.host.isEmpty {
return nil
}
let defaultPort: UInt16 =
switch securityOrigin.protocol {
case "https": 443
case "http": 80
default: 0
}
return URLOrigin(
scheme: securityOrigin.protocol,
host: securityOrigin.host,
port: securityOrigin.port == 0 ? defaultPort : UInt16(securityOrigin.port)
)
let origin = URLOrigin(wkSecurityOrigin: securityOrigin)
return !origin.isOpaque ? origin : nil
}
}
+1
View File
@@ -26,6 +26,7 @@ source_set("url") {
"//components/url_formatter",
"//components/url_formatter/spoof_checks/top_domains:common",
"//components/url_formatter/spoof_checks/top_domains:generate_top_domains_trie",
"//ios/web/util",
"//net",
"//url",
]
+2 -1
View File
@@ -1,3 +1,4 @@
include_rules = [
"+extensions/common/url_pattern.h"
"+extensions/common/url_pattern.h",
"+ios/web/util"
]
+8
View File
@@ -7,6 +7,7 @@
#define BRAVE_IOS_BROWSER_API_URL_URL_ORIGIN_IOS_H_
#import <Foundation/Foundation.h>
#import <WebKit/WebKit.h>
NS_ASSUME_NONNULL_BEGIN
@@ -106,6 +107,13 @@ NS_SWIFT_NAME(URLOrigin)
@end
@interface URLOriginIOS (WebKit)
/// Creates a URLOrigin given a WebKit provided WKSecurityOrigin
- (instancetype)initWithWKSecurityOrigin:(WKSecurityOrigin*)securityOrigin;
@end
NS_ASSUME_NONNULL_END
#endif // BRAVE_IOS_BROWSER_API_URL_URL_ORIGIN_IOS_H_
+9
View File
@@ -6,6 +6,7 @@
#include "brave/ios/browser/api/url/url_origin_ios.h"
#include "base/strings/sys_string_conversions.h"
#include "ios/web/util/wk_security_origin_util.h"
#include "net/base/apple/url_conversions.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -109,3 +110,11 @@
}
@end
@implementation URLOriginIOS (WebKit)
- (instancetype)initWithWKSecurityOrigin:(WKSecurityOrigin*)securityOrigin {
return [self initWithOrigin:web::OriginWithWKSecurityOrigin(securityOrigin)];
}
@end