| // Copyright 2016 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. |
| |
| #include "content/child/storage_util.h" |
| |
| #include "third_party/WebKit/public/platform/URLConversion.h" |
| #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" |
| #include "url/gurl.h" |
| #include "url/origin.h" |
| |
| namespace content { |
| |
| GURL WebSecurityOriginToGURL(const blink::WebSecurityOrigin& security_origin) { |
| // "file:///" URLs navigated to by the user may have "isLocal" set, |
| // which stringify as "null" by default. Previous code that sent |
| // origins from Blink to Chromium via DatabaseIdentifier would ignore |
| // this, so we mimic that behavior here. |
| // TODO(jsbell): Eliminate this. https://crbug.com/591482 |
| if (security_origin.protocol().utf8() == "file" && |
| security_origin.host().utf8() == "" && security_origin.port() == 0) { |
| return GURL("file:///"); |
| } |
| return url::Origin(security_origin).GetURL(); |
| } |
| |
| } // namespace content |