WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
170548
Tweak window.open features argument tokenizer to match HTML standard and Edge
https://bugs.webkit.org/show_bug.cgi?id=170548
Summary
Tweak window.open features argument tokenizer to match HTML standard and Edge
Simon Pieters (:zcorpan)
Reported
2017-04-06 08:06:51 PDT
See the following spec changes and tests in web-platform-tests:
https://github.com/whatwg/html/pull/2476
https://github.com/w3c/csswg-drafts/pull/1138
https://github.com/w3c/web-platform-tests/pull/5306
https://github.com/w3c/web-platform-tests/pull/5390
The PR for whatwg/html has a commit that effectively shows what the diff is between WebKit and Edge (ignoring Edge's behavior for U+0000):
https://github.com/whatwg/html/pull/2476/commits/e74dc9ad3872a89cc8f2fa62e160c076741170e6
The test that fails because of not tokenizing like Edge is
https://github.com/w3c/web-platform-tests/pull/5306/files#diff-f218f27c4d582eebff6fcf48d4f4e219R65
Apart from implementing that diff, WebKit also needs to add U+000C as a "feature separator" character.
https://github.com/w3c/web-platform-tests/pull/5306/files#diff-f218f27c4d582eebff6fcf48d4f4e219R24
Attachments
WIP Patch
(1.69 KB, patch)
2017-04-25 21:20 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
WIP Patch
(2.28 KB, patch)
2017-04-25 21:51 PDT
,
Chris Dumez
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews102 for mac-elcapitan
(900.79 KB, application/zip)
2017-04-25 22:31 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews107 for mac-elcapitan-wk2
(985.78 KB, application/zip)
2017-04-25 23:02 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews117 for mac-elcapitan
(1.61 MB, application/zip)
2017-04-25 23:32 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews122 for ios-simulator-wk2
(726.15 KB, application/zip)
2017-04-26 00:01 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews121 for ios-simulator-wk2
(21.16 MB, application/zip)
2017-04-26 01:14 PDT
,
Build Bot
no flags
Details
WIP Patch
(4.44 KB, patch)
2017-04-26 12:33 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(12.26 KB, patch)
2017-04-26 13:49 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews121 for ios-simulator-wk2
(11.16 MB, application/zip)
2017-04-26 15:25 PDT
,
Build Bot
no flags
Details
Patch
(16.02 KB, patch)
2017-04-26 15:32 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews125 for ios-simulator-wk2
(13.84 MB, application/zip)
2017-04-26 17:06 PDT
,
Build Bot
no flags
Details
Patch
(19.05 KB, patch)
2017-04-26 18:34 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews102 for mac-elcapitan
(981.43 KB, application/zip)
2017-04-26 19:41 PDT
,
Build Bot
no flags
Details
Patch
(19.88 KB, patch)
2017-04-27 10:02 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(14)
View All
Add attachment
proposed patch, testcase, etc.
Chris Dumez
Comment 1
2017-04-25 21:20:04 PDT
Created
attachment 308209
[details]
WIP Patch
Chris Dumez
Comment 2
2017-04-25 21:45:19 PDT
I am still trying to figure out from
https://html.spec.whatwg.org/#concept-window-open-features-tokenize
why '\u000Cnoopener' would turn on no-opener feature given that \u000 is not a feature separator.
Chris Dumez
Comment 3
2017-04-25 21:50:32 PDT
(In reply to Chris Dumez from
comment #2
)
> I am still trying to figure out from >
https://html.spec.whatwg.org/#concept-window-open-features-tokenize
why > '\u000Cnoopener' would turn on no-opener feature given that \u000 is not a > feature separator.
Ah, it is \u000C, never mind. We are indeed missing this separator.
Chris Dumez
Comment 4
2017-04-25 21:51:12 PDT
Created
attachment 308211
[details]
WIP Patch
Build Bot
Comment 5
2017-04-25 22:31:04 PDT
Comment on
attachment 308211
[details]
WIP Patch
Attachment 308211
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.webkit.org/results/3607528
New failing tests: imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html
Build Bot
Comment 6
2017-04-25 22:31:05 PDT
Created
attachment 308216
[details]
Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 7
2017-04-25 23:02:44 PDT
Comment on
attachment 308211
[details]
WIP Patch
Attachment 308211
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.webkit.org/results/3607680
New failing tests: imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html
Build Bot
Comment 8
2017-04-25 23:02:45 PDT
Created
attachment 308220
[details]
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 9
2017-04-25 23:32:32 PDT
Comment on
attachment 308211
[details]
WIP Patch
Attachment 308211
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/3607725
New failing tests: imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html
Build Bot
Comment 10
2017-04-25 23:32:33 PDT
Created
attachment 308222
[details]
Archive of layout-test-results from ews117 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 11
2017-04-26 00:01:53 PDT
Comment on
attachment 308211
[details]
WIP Patch
Attachment 308211
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/3607718
New failing tests: fast/viewport/viewport-122.html imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html fast/viewport/viewport-121.html
Build Bot
Comment 12
2017-04-26 00:01:54 PDT
Created
attachment 308225
[details]
Archive of layout-test-results from ews122 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 13
2017-04-26 01:14:29 PDT
Comment on
attachment 308211
[details]
WIP Patch
Attachment 308211
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/3608140
New failing tests: fast/viewport/viewport-122.html imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html fast/viewport/viewport-121.html
Build Bot
Comment 14
2017-04-26 01:14:31 PDT
Created
attachment 308233
[details]
Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Chris Dumez
Comment 15
2017-04-26 12:33:12 PDT
Created
attachment 308274
[details]
WIP Patch
Chris Dumez
Comment 16
2017-04-26 13:49:44 PDT
Created
attachment 308281
[details]
Patch
Build Bot
Comment 17
2017-04-26 15:25:55 PDT
Comment on
attachment 308281
[details]
Patch
Attachment 308281
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/3612288
New failing tests: fast/viewport/viewport-117.html fast/viewport/viewport-126.html fast/viewport/viewport-74.html fast/viewport/viewport-113.html fast/viewport/viewport-87.html fast/viewport/viewport-111.html fast/viewport/viewport-108.html fast/viewport/viewport-121.html fast/viewport/viewport-116.html fast/viewport/viewport-114.html fast/viewport/viewport-115.html fast/viewport/viewport-110.html fast/viewport/viewport-109.html fast/viewport/viewport-75.html imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-noopener.html fast/viewport/viewport-70.html fast/viewport/viewport-122.html fast/viewport/viewport-73.html
Build Bot
Comment 18
2017-04-26 15:25:57 PDT
Created
attachment 308292
[details]
Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Chris Dumez
Comment 19
2017-04-26 15:32:07 PDT
Created
attachment 308293
[details]
Patch
Geoffrey Garen
Comment 20
2017-04-26 15:38:11 PDT
Comment on
attachment 308293
[details]
Patch r=me
Chris Dumez
Comment 21
2017-04-26 16:39:32 PDT
(In reply to Build Bot from
comment #17
)
> Comment on
attachment 308281
[details]
> Patch > >
Attachment 308281
[details]
did not pass ios-sim-ews (ios-simulator-wk2): > Output:
http://webkit-queues.webkit.org/results/3612288
> > New failing tests: > fast/viewport/viewport-117.html > fast/viewport/viewport-126.html > fast/viewport/viewport-74.html > fast/viewport/viewport-113.html > fast/viewport/viewport-87.html > fast/viewport/viewport-111.html > fast/viewport/viewport-108.html > fast/viewport/viewport-121.html > fast/viewport/viewport-116.html > fast/viewport/viewport-114.html > fast/viewport/viewport-115.html > fast/viewport/viewport-110.html > fast/viewport/viewport-109.html > fast/viewport/viewport-75.html > imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for- > creating-and-navigating-browsing-contexts-by-name/open-features-tokenization- > noopener.html > fast/viewport/viewport-70.html > fast/viewport/viewport-122.html > fast/viewport/viewport-73.html
I currently have no idea about those fast/viewport/ on iOS yet. Those tests are not using window.open() at all so they look unrelated to my change. The diffs look like: --- /Volumes/Data/EWS/WebKit/WebKitBuild/Release-iphonesimulator/layout-test-results/retries/fast/viewport/viewport-70-expected.txt +++ /Volumes/Data/EWS/WebKit/WebKitBuild/Release-iphonesimulator/layout-test-results/retries/fast/viewport/viewport-70-actual.txt @@ -1,3 +1,3 @@ CONSOLE MESSAGE: line 3: Viewport argument key "x" not recognized and ignored. -ALERT: viewport size 100x110 scale 3.2 with limits [3.2, 5] and userScalable true +ALERT: viewport size 320x352 scale 1 with limits [1, 5] and userScalable true
Chris Dumez
Comment 22
2017-04-26 16:49:33 PDT
(In reply to Chris Dumez from
comment #21
)
> (In reply to Build Bot from
comment #17
) > > Comment on
attachment 308281
[details]
> > Patch > > > >
Attachment 308281
[details]
did not pass ios-sim-ews (ios-simulator-wk2): > > Output:
http://webkit-queues.webkit.org/results/3612288
> > > > New failing tests: > > fast/viewport/viewport-117.html > > fast/viewport/viewport-126.html > > fast/viewport/viewport-74.html > > fast/viewport/viewport-113.html > > fast/viewport/viewport-87.html > > fast/viewport/viewport-111.html > > fast/viewport/viewport-108.html > > fast/viewport/viewport-121.html > > fast/viewport/viewport-116.html > > fast/viewport/viewport-114.html > > fast/viewport/viewport-115.html > > fast/viewport/viewport-110.html > > fast/viewport/viewport-109.html > > fast/viewport/viewport-75.html > > imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for- > > creating-and-navigating-browsing-contexts-by-name/open-features-tokenization- > > noopener.html > > fast/viewport/viewport-70.html > > fast/viewport/viewport-122.html > > fast/viewport/viewport-73.html > > I currently have no idea about those fast/viewport/ on iOS yet. Those tests > are not using window.open() at all so they look unrelated to my change. > > The diffs look like: > --- > /Volumes/Data/EWS/WebKit/WebKitBuild/Release-iphonesimulator/layout-test- > results/retries/fast/viewport/viewport-70-expected.txt > +++ > /Volumes/Data/EWS/WebKit/WebKitBuild/Release-iphonesimulator/layout-test- > results/retries/fast/viewport/viewport-70-actual.txt > @@ -1,3 +1,3 @@ > CONSOLE MESSAGE: line 3: Viewport argument key "x" not recognized and > ignored. > -ALERT: viewport size 100x110 scale 3.2 with limits [3.2, 5] and > userScalable true > +ALERT: viewport size 320x352 scale 1 with limits [1, 5] and userScalable > true
Ok, so this is legit. It looks like the processFeaturesString() which I aligned with the HTML spec is also used to parse viewport meta tag values such as: <meta name="viewport" content="width=100 x initial-scale=1"> I am not sure yet if we want different parsing behavior for viewport and window features.
Chris Dumez
Comment 23
2017-04-26 17:01:41 PDT
(In reply to Chris Dumez from
comment #22
)
> (In reply to Chris Dumez from
comment #21
) > > (In reply to Build Bot from
comment #17
) > > > Comment on
attachment 308281
[details]
> > > Patch > > > > > >
Attachment 308281
[details]
did not pass ios-sim-ews (ios-simulator-wk2): > > > Output:
http://webkit-queues.webkit.org/results/3612288
> > > > > > New failing tests: > > > fast/viewport/viewport-117.html > > > fast/viewport/viewport-126.html > > > fast/viewport/viewport-74.html > > > fast/viewport/viewport-113.html > > > fast/viewport/viewport-87.html > > > fast/viewport/viewport-111.html > > > fast/viewport/viewport-108.html > > > fast/viewport/viewport-121.html > > > fast/viewport/viewport-116.html > > > fast/viewport/viewport-114.html > > > fast/viewport/viewport-115.html > > > fast/viewport/viewport-110.html > > > fast/viewport/viewport-109.html > > > fast/viewport/viewport-75.html > > > imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for- > > > creating-and-navigating-browsing-contexts-by-name/open-features-tokenization- > > > noopener.html > > > fast/viewport/viewport-70.html > > > fast/viewport/viewport-122.html > > > fast/viewport/viewport-73.html > > > > I currently have no idea about those fast/viewport/ on iOS yet. Those tests > > are not using window.open() at all so they look unrelated to my change. > > > > The diffs look like: > > --- > > /Volumes/Data/EWS/WebKit/WebKitBuild/Release-iphonesimulator/layout-test- > > results/retries/fast/viewport/viewport-70-expected.txt > > +++ > > /Volumes/Data/EWS/WebKit/WebKitBuild/Release-iphonesimulator/layout-test- > > results/retries/fast/viewport/viewport-70-actual.txt > > @@ -1,3 +1,3 @@ > > CONSOLE MESSAGE: line 3: Viewport argument key "x" not recognized and > > ignored. > > -ALERT: viewport size 100x110 scale 3.2 with limits [3.2, 5] and > > userScalable true > > +ALERT: viewport size 320x352 scale 1 with limits [1, 5] and userScalable > > true > > Ok, so this is legit. It looks like the processFeaturesString() which I > aligned with the HTML spec is also used to parse viewport meta tag values > such as: > <meta name="viewport" content="width=100 x initial-scale=1"> > > I am not sure yet if we want different parsing behavior for viewport and > window features.
The spec for meta viewport seems to be at
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
. It seems to have its own algorithm so I may need to use different algorithms for parsing meta viewport and window features.
Build Bot
Comment 24
2017-04-26 17:06:12 PDT
Comment on
attachment 308293
[details]
Patch
Attachment 308293
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/3614308
New failing tests: fast/viewport/viewport-117.html fast/viewport/viewport-126.html fast/viewport/viewport-74.html fast/viewport/viewport-113.html fast/viewport/viewport-87.html fast/viewport/viewport-111.html fast/viewport/viewport-108.html fast/viewport/viewport-121.html fast/viewport/viewport-116.html fast/viewport/viewport-114.html fast/viewport/viewport-115.html fast/viewport/viewport-110.html fast/viewport/viewport-109.html fast/viewport/viewport-75.html fast/viewport/viewport-73.html fast/viewport/viewport-70.html fast/viewport/viewport-122.html
Build Bot
Comment 25
2017-04-26 17:06:14 PDT
Created
attachment 308309
[details]
Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Chris Dumez
Comment 26
2017-04-26 18:34:44 PDT
Created
attachment 308318
[details]
Patch
Chris Dumez
Comment 27
2017-04-26 19:25:07 PDT
Comment on
attachment 308318
[details]
Patch Requesting review again because I had to update my change to maintain background compatibility for the meta tag viewport parsing.
Build Bot
Comment 28
2017-04-26 19:41:12 PDT
Comment on
attachment 308318
[details]
Patch
Attachment 308318
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.webkit.org/results/3615446
New failing tests: workers/wasm-hashset-many-2.html
Build Bot
Comment 29
2017-04-26 19:41:14 PDT
Created
attachment 308324
[details]
Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Chris Dumez
Comment 30
2017-04-26 19:42:19 PDT
(In reply to Build Bot from
comment #28
)
> Comment on
attachment 308318
[details]
> Patch > >
Attachment 308318
[details]
did not pass mac-ews (mac): > Output:
http://webkit-queues.webkit.org/results/3615446
> > New failing tests: > workers/wasm-hashset-many-2.html
Please disregard this failure, it looks unrelated.
Daniel Bates
Comment 31
2017-04-26 19:50:13 PDT
Comment on
attachment 308318
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=308318&action=review
> Source/WebCore/page/WindowFeatures.cpp:84 > +// Viewport:
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
From my understanding this is not the spec. that we follow for viewport. We implement the behavior described in <
https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html
>
Chris Dumez
Comment 32
2017-04-26 19:53:09 PDT
(In reply to Daniel Bates from
comment #31
)
> Comment on
attachment 308318
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=308318&action=review
> > > Source/WebCore/page/WindowFeatures.cpp:84 > > +// Viewport:
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
> > From my understanding this is not the spec. that we follow for viewport. We > implement the behavior described in > <
https://developer.apple.com/library/content/documentation/AppleApplications/
> Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html>
Well, this is *a* spec which document's Apple's behavior. I am not convinced pointing to the Apple documentation is better given that it does not document the actual algorithm.
Daniel Bates
Comment 33
2017-04-26 20:16:08 PDT
(In reply to Chris Dumez from
comment #32
)
> (In reply to Daniel Bates from
comment #31
) > > Comment on
attachment 308318
[details]
> > Patch > > > > View in context: > >
https://bugs.webkit.org/attachment.cgi?id=308318&action=review
> > > > > Source/WebCore/page/WindowFeatures.cpp:84 > > > +// Viewport:
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
> > > > From my understanding this is not the spec. that we follow for viewport. We > > implement the behavior described in > > <
https://developer.apple.com/library/content/documentation/AppleApplications/
> > Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html> > > Well, this is *a* spec which document's Apple's behavior.
No, it documents an attempt at reverse engineering Apple's behavior: "Below is an algorithm for parsing the content attribute of the <META> tag produced from testing Safari on the iPhone." Notice the key phrase "produced from testing Safari on the iPhone". Apple has never contributed to this spec. and the closet thing to a spec that Apple has is the description in <
https://developer.apple.com/library/content/documentation/AppleApplications/
> I am not convinced pointing to the Apple documentation is better given that it does not document the actual algorithm.
I have not verified your code change. If your code change does not change the behavior of the meta viewport tag AND the algorithm used is identical to the algorithm described in <
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
> then it seems OK to link to <
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
>. Otherwise, the definitive reference for the meta viewport syntax that we want to implement is at <
https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html#//apple_ref/doc/uid/TP40008193-SW6
>.
Daniel Bates
Comment 34
2017-04-26 20:18:53 PDT
(In reply to Daniel Bates from
comment #33
) [...]
> Apple > has never contributed to this spec. and the closet thing to a spec that > Apple has is the description in > <
https://developer.apple.com/library/content/documentation/AppleApplications/
>
This should read: Apple has never contributed to this spec. and the closet thing to a spec that Apple has is the description in <
https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html#//apple_ref/doc/uid/TP40008193-SW6
> and <
https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html
>.
Chris Dumez
Comment 35
2017-04-26 20:34:04 PDT
(In reply to Daniel Bates from
comment #33
)
> (In reply to Chris Dumez from
comment #32
) > > (In reply to Daniel Bates from
comment #31
) > > > Comment on
attachment 308318
[details]
> > > Patch > > > > > > View in context: > > >
https://bugs.webkit.org/attachment.cgi?id=308318&action=review
> > > > > > > Source/WebCore/page/WindowFeatures.cpp:84 > > > > +// Viewport:
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
> > > > > > From my understanding this is not the spec. that we follow for viewport. We > > > implement the behavior described in > > > <
https://developer.apple.com/library/content/documentation/AppleApplications/
> > > Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html> > > > > Well, this is *a* spec which document's Apple's behavior. > > No, it documents an attempt at reverse engineering Apple's behavior: > > "Below is an algorithm for parsing the content attribute of the <META> tag > produced from testing Safari on the iPhone." > > Notice the key phrase "produced from testing Safari on the iPhone". Apple > has never contributed to this spec. and the closet thing to a spec that > Apple has is the description in > <
https://developer.apple.com/library/content/documentation/AppleApplications/
> > > I am not convinced pointing to the Apple documentation is better given that it does not document the actual algorithm. > > I have not verified your code change. If your code change does not change > the behavior of the meta viewport tag AND the algorithm used is identical to > the algorithm described in > <
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
> then it seems > OK to link to > <
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
>. Otherwise, > the definitive reference for the meta viewport syntax that we want to > implement is at > <
https://developer.apple.com/library/content/documentation/AppleApplications/
> Reference/SafariHTMLRef/Articles/MetaTags.html#//apple_ref/doc/uid/ > TP40008193-SW6>.
It seemed to match our behavior but i will double check tomorrow. I’ll definitely not point to it if it does not match exactly.
Simon Pieters (:zcorpan)
Comment 36
2017-04-27 02:45:20 PDT
> The spec for meta viewport seems to be at
https://drafts.csswg.org/css-device-adapt/#parsing-algorithm
. It seems to have its own algorithm so I may need to use different algorithms for parsing meta viewport and window features.
Ugh. My knee-jerk reaction is that we should continue to use the same parser for both, unless web compat requires anything else. The CSS spec can be updated to hook into HTML's feature tokenizer. I can file an issue for css-device-adapt.
Simon Pieters (:zcorpan)
Comment 37
2017-04-27 02:55:44 PDT
Filed
https://github.com/w3c/csswg-drafts/issues/1302
Chris Dumez
Comment 38
2017-04-27 10:02:54 PDT
Created
attachment 308404
[details]
Patch
Chris Dumez
Comment 39
2017-04-27 15:27:59 PDT
Patch is ready for review.
Geoffrey Garen
Comment 40
2017-04-28 13:56:44 PDT
Comment on
attachment 308404
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=308404&action=review
r=me
> Source/WebCore/page/WindowFeatures.cpp:51 > + switch (mode) { > + case FeatureMode::Viewport: > + return character == ' ' || character == '\t' || character == '\n' || character == '\r' || character == '=' || character == ','; > + case FeatureMode::Window: > + break; > + }
I think this would be clearer as an if.
Chris Dumez
Comment 41
2017-04-28 14:02:22 PDT
Committed
r215945
: <
http://trac.webkit.org/changeset/215945
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug