[iOS] Add URLOrigin initializer that takes a WKSecurityOrigin (#27979)
This commit is contained in:
+2
-14
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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",
|
||||
]
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
include_rules = [
|
||||
"+extensions/common/url_pattern.h"
|
||||
"+extensions/common/url_pattern.h",
|
||||
"+ios/web/util"
|
||||
]
|
||||
|
||||
@@ -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_
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user