Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

url: trim leading slashes of file URL paths #12203

Closed
wants to merge 1 commit into from

Conversation

watilde
Copy link
Member

@watilde watilde commented Apr 4, 2017

It should trim the slashes after the colon into three for file URL.

Resources:

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests are included
  • commit message follows [commit guidelines][]
Affected core subsystem(s)

url

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. dont-land-on-v4.x whatwg-url Issues and PRs related to the WHATWG URL implementation. labels Apr 4, 2017
"search": "",
"hash": ""
},
// {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this commented text necessary?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This additional is to follow the spec/test updates(web-platform-tests/wpt#5195), and we're still having some remaining unfollowed updates of the spec. When we follow them that can fix this test cases, we can take the comment out.

e.g.

// {
// "href": "file://test/",
// "new_value": "test",
// "expected": {
// "href": "file://test/",
// "username": ""
// }
// }

I will work on it later, but I think it's better to separate a patch from this PR since the referral link can be different.

(ch == kEOL ||
ch == '?' ||
ch == '#')) {
while (url->path.size() > 1 && url->path[0].length() == 0) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean > 0 here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@watilde
Copy link
Member Author

watilde commented Apr 5, 2017

@watilde
Copy link
Member Author

watilde commented Apr 5, 2017

cc @nodejs/url

Copy link
Member

@TimothyGu TimothyGu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost there.

src/node_url.cc Outdated
url->flags |= URL_FLAGS_HAS_PATH;
url->path.push_back(base->path[0]);
if (NORMALIZED_WINDOWS_DRIVE_LETTER(base->path[0])) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The url->flags |= URL_FLAGS_HAS_PATH; should go into this branch.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! The flags seem to be there around passing a value to the property.

Updates :)

src/node_url.cc Outdated
url->path.push_back(base->path[0]);
if (NORMALIZED_WINDOWS_DRIVE_LETTER(base->path[0])) {
url->path.push_back(base->path[0]);
} else {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And this branch needs a url->flags |= URL_FLAGS_HAS_HOST;

@watilde
Copy link
Member Author

watilde commented Apr 7, 2017

@@ -1620,6 +1620,33 @@ module.exports =
"href": "sc://example.net/%23",
"pathname": "/%23"
}
},
{
"comment": "File URLs and (back)slashes",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you update the hash of the link in the comment at the top of this file

/* WPT Refs:
   https://github.com/w3c/web-platform-tests/blob/e48dd15/url/setters_tests.json
   License: http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html
*/

This should be 3eff1bd now.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated it to 3eff1bd

@@ -5110,6 +5110,246 @@ module.exports =
"search": "?test",
"hash": "#x"
},
"# File URLs and many (back)slashes",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

@watilde watilde Apr 8, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done synchronising them all by hands, and the lines were added as a result! thanks.

@watilde watilde force-pushed the feature/file-slash-2 branch 2 times, most recently from 5720d56 to 50f48b6 Compare April 8, 2017 07:52
It should trim the slashes after the colon into three for file URL.

Refs: web-platform-tests/wpt#5195
Fixes: nodejs#11188
@watilde
Copy link
Member Author

watilde commented Apr 8, 2017

@watilde
Copy link
Member Author

watilde commented Apr 9, 2017

The windows-fanned failure looks unrelated.

@refack
Copy link
Contributor

refack commented Apr 10, 2017

The windows-fanned failure looks unrelated.

Yep failed test on windows because of #12283, CI can be considered green.

@refack
Copy link
Contributor

refack commented Apr 10, 2017

Another one for good luck
CI: https://ci.nodejs.org/job/node-test-pull-request/7295/

@watilde
Copy link
Member Author

watilde commented Apr 10, 2017

@refack Thanks for following up! I'm going to merge this tonight :)

@watilde
Copy link
Member Author

watilde commented Apr 10, 2017

Landed in b470a85. Thanks!

@watilde watilde closed this Apr 10, 2017
@watilde watilde deleted the feature/file-slash-2 branch April 10, 2017 16:58
watilde added a commit that referenced this pull request Apr 10, 2017
It should trim the slashes after the colon into three for file URL.

PR-URL: #12203
Refs: web-platform-tests/wpt#5195
Fixes: #11188
Reviewed-By: Timothy Gu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
@italoacasas
Copy link
Contributor

cc @watilde

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Issues and PRs that require attention from people who are familiar with C++. whatwg-url Issues and PRs related to the WHATWG URL implementation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants