WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
174533
Regression(ITP): Can no longer log in on abc.go.com
https://bugs.webkit.org/show_bug.cgi?id=174533
Summary
Regression(ITP): Can no longer log in on abc.go.com
Brent Fulgham
Reported
2017-07-14 17:09:27 PDT
We have found a handful of sites attempting to authenticate against an unrelated third party. If enough sites use the third party, it get's recognized as a prevalent resource and is blocked or partitioned. Add a temporary compatibility hack to support testing while these sites correct their content.
Attachments
Patch
(2.35 KB, patch)
2017-07-14 17:13 PDT
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews115 for mac-elcapitan
(1.97 MB, application/zip)
2017-07-14 19:07 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews123 for ios-simulator-wk2
(993.25 KB, application/zip)
2017-07-14 21:25 PDT
,
Build Bot
no flags
Details
Patch
(4.41 KB, patch)
2017-07-19 15:11 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(4.12 KB, patch)
2017-07-20 09:20 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Brent Fulgham
Comment 1
2017-07-14 17:13:37 PDT
Created
attachment 315507
[details]
Patch
Build Bot
Comment 2
2017-07-14 19:07:37 PDT
Comment on
attachment 315507
[details]
Patch
Attachment 315507
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/4122733
New failing tests: security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star.html storage/indexeddb/modern/new-database-after-user-delete.html
Build Bot
Comment 3
2017-07-14 19:07:39 PDT
Created
attachment 315522
[details]
Archive of layout-test-results from ews115 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 4
2017-07-14 21:25:28 PDT
Comment on
attachment 315507
[details]
Patch
Attachment 315507
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/4123320
New failing tests: imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html
Build Bot
Comment 5
2017-07-14 21:25:30 PDT
Created
attachment 315528
[details]
Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.5
Geoffrey Garen
Comment 6
2017-07-17 14:56:06 PDT
Comment on
attachment 315507
[details]
Patch r=me
Chris Dumez
Comment 7
2017-07-17 14:59:12 PDT
Comment on
attachment 315507
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=315507&action=review
> Source/WebCore/loader/ResourceLoadObserver.cpp:139 > +static bool resourceNeedsSSOQuirk(const URL& potentialSSO)
potentialSSO -> potentialSSOURL ?
> Source/WebCore/loader/ResourceLoadObserver.cpp:142 > + static const char* const ssoOrigns[] = {
typo: ssoOrigns
> Source/WebCore/loader/ResourceLoadObserver.cpp:151 > + const auto& lowercaseDomain = potentialSSO.host().convertToASCIILowercase();
Why do we convert to lowercase if the HashSet uses ASCIICaseInsensitiveHash ?
Chris Dumez
Comment 8
2017-07-19 15:05:50 PDT
<
rdar://problem/33325881
>
Chris Dumez
Comment 9
2017-07-19 15:11:53 PDT
Created
attachment 315957
[details]
Patch
Sam Weinig
Comment 10
2017-07-19 22:00:24 PDT
Comment on
attachment 315957
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=315957&action=review
> Source/WebCore/loader/ResourceLoadObserver.cpp:139 > +// FIXME: This quirk was added to address <
rdar://problem/33325881
> and should be removed once content is fixed.
What does it mean for the content to be fixed? What is broken?
> Source/WebCore/loader/ResourceLoadObserver.cpp:146 > + static NeverDestroyed<HashSet<String, ASCIICaseInsensitiveHash>> ssoOriginsHash = [] { > + HashSet<String, ASCIICaseInsensitiveHash> set; > + set.add(ASCIILiteral("sp.auth.adobe.com")); > + return set; > + }();
This can be written as static const auto ssoOriginsHash = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> { "sp.auth.adobe.com" };
Chris Dumez
Comment 11
2017-07-20 08:51:51 PDT
Comment on
attachment 315957
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=315957&action=review
>> Source/WebCore/loader/ResourceLoadObserver.cpp:139 >> +// FIXME: This quirk was added to address <
rdar://problem/33325881
> and should be removed once content is fixed. > > What does it mean for the content to be fixed? What is broken?
You cannot currently log into abc.go.com?
>> Source/WebCore/loader/ResourceLoadObserver.cpp:146 >> + }(); > > This can be written as > > static const auto ssoOriginsHash = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> { > "sp.auth.adobe.com" > };
Looks nicer, will do.
Chris Dumez
Comment 12
2017-07-20 09:20:54 PDT
Created
attachment 315991
[details]
Patch
Sam Weinig
Comment 13
2017-07-20 09:53:31 PDT
(In reply to Chris Dumez from
comment #11
)
> Comment on
attachment 315957
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=315957&action=review
> > >> Source/WebCore/loader/ResourceLoadObserver.cpp:139 > >> +// FIXME: This quirk was added to address <
rdar://problem/33325881
> and should be removed once content is fixed. > > > > What does it mean for the content to be fixed? What is broken? > > You cannot currently log into abc.go.com?
I meant, what exactly is sp.auth.adobe.com need to do to fix their content? Should this be disabled by the "Disable Site-specific Hacks" menu item (which is bound to Settings's needsSiteSpecificQuirks member)?
Chris Dumez
Comment 14
2017-07-20 10:07:04 PDT
(In reply to Sam Weinig from
comment #13
)
> (In reply to Chris Dumez from
comment #11
) > > Comment on
attachment 315957
[details]
> > Patch > > > > View in context: > >
https://bugs.webkit.org/attachment.cgi?id=315957&action=review
> > > > >> Source/WebCore/loader/ResourceLoadObserver.cpp:139 > > >> +// FIXME: This quirk was added to address <
rdar://problem/33325881
> and should be removed once content is fixed. > > > > > > What does it mean for the content to be fixed? What is broken? > > > > You cannot currently log into abc.go.com? > > I meant, what exactly is sp.auth.adobe.com need to do to fix their content?
This information is in the radar and I don't think the comment is the right place to provide such information.
> > Should this be disabled by the "Disable Site-specific Hacks" menu item > (which is bound to Settings's needsSiteSpecificQuirks member)?
I can look into it but I seem to remember that last time Simon suggested this and we looked into it, that setting was disabled for some configurations we cared about.
Chris Dumez
Comment 15
2017-07-20 10:12:22 PDT
(In reply to Chris Dumez from
comment #14
)
> (In reply to Sam Weinig from
comment #13
) > > (In reply to Chris Dumez from
comment #11
) > > > Comment on
attachment 315957
[details]
> > > Patch > > > > > > View in context: > > >
https://bugs.webkit.org/attachment.cgi?id=315957&action=review
> > > > > > >> Source/WebCore/loader/ResourceLoadObserver.cpp:139 > > > >> +// FIXME: This quirk was added to address <
rdar://problem/33325881
> and should be removed once content is fixed. > > > > > > > > What does it mean for the content to be fixed? What is broken? > > > > > > You cannot currently log into abc.go.com? > > > > I meant, what exactly is sp.auth.adobe.com need to do to fix their content? > > This information is in the radar and I don't think the comment is the right > place to provide such information. > > > > > Should this be disabled by the "Disable Site-specific Hacks" menu item > > (which is bound to Settings's needsSiteSpecificQuirks member)? > > I can look into it but I seem to remember that last time Simon suggested > this and we looked into it, that setting was disabled for some > configurations we cared about.
I think it was iOS. I cannot find any Cocoa API to get this setting and the setting is off by default. Am I missing something?
Sam Weinig
Comment 16
2017-07-20 11:27:50 PDT
(In reply to Chris Dumez from
comment #15
)
> (In reply to Chris Dumez from
comment #14
) > > (In reply to Sam Weinig from
comment #13
) > > > (In reply to Chris Dumez from
comment #11
) > > > > Comment on
attachment 315957
[details]
> > > > Patch > > > > > > > > View in context: > > > >
https://bugs.webkit.org/attachment.cgi?id=315957&action=review
> > > > > > > > >> Source/WebCore/loader/ResourceLoadObserver.cpp:139 > > > > >> +// FIXME: This quirk was added to address <
rdar://problem/33325881
> and should be removed once content is fixed. > > > > > > > > > > What does it mean for the content to be fixed? What is broken? > > > > > > > > You cannot currently log into abc.go.com? > > > > > > I meant, what exactly is sp.auth.adobe.com need to do to fix their content? > > > > This information is in the radar and I don't think the comment is the right > > place to provide such information. > > > > > > > > Should this be disabled by the "Disable Site-specific Hacks" menu item > > > (which is bound to Settings's needsSiteSpecificQuirks member)? > > > > I can look into it but I seem to remember that last time Simon suggested > > this and we looked into it, that setting was disabled for some > > configurations we cared about. > > I think it was iOS. I cannot find any Cocoa API to get this setting and the > setting is off by default. Am I missing something?
Just because it is missing on iOS, why wouldn't we want to provide the functionality on Mac? That said, there may be no objc API for this yet, but it would be easy to add, and if you want, one can just cast WKPreferences to WKPreferencesRef and use the C-SPI (though I would recommend adding the objc API if you want this functionality on iOS).
Geoffrey Garen
Comment 17
2017-07-20 13:48:18 PDT
Comment on
attachment 315991
[details]
Patch r=me
Geoffrey Garen
Comment 18
2017-07-20 13:50:09 PDT
> Should this be disabled by the "Disable Site-specific Hacks" menu item > (which is bound to Settings's needsSiteSpecificQuirks member)?
Yeah, I agree that it would be nice for the menu item to disable this workaround, so folks working on a fix can test the fix.
WebKit Commit Bot
Comment 19
2017-07-20 13:52:26 PDT
Comment on
attachment 315991
[details]
Patch Clearing flags on attachment: 315991 Committed
r219701
: <
http://trac.webkit.org/changeset/219701
>
WebKit Commit Bot
Comment 20
2017-07-20 13:52:28 PDT
All reviewed patches have been landed. Closing bug.
Chris Dumez
Comment 21
2017-07-20 14:05:18 PDT
(In reply to Geoffrey Garen from
comment #18
)
> > Should this be disabled by the "Disable Site-specific Hacks" menu item > > (which is bound to Settings's needsSiteSpecificQuirks member)? > > Yeah, I agree that it would be nice for the menu item to disable this > workaround, so folks working on a fix can test the fix.
Looking into this now. Because the setting is currently disabled on iOS, and because I do not want to enable this setting on iOS at this point to avoid unexpected changes in behavior. I guess we can use this setting but only rely on it on Mac?
Chris Dumez
Comment 22
2017-07-20 14:11:39 PDT
(In reply to Chris Dumez from
comment #21
)
> (In reply to Geoffrey Garen from
comment #18
) > > > Should this be disabled by the "Disable Site-specific Hacks" menu item > > > (which is bound to Settings's needsSiteSpecificQuirks member)? > > > > Yeah, I agree that it would be nice for the menu item to disable this > > workaround, so folks working on a fix can test the fix. > > Looking into this now. Because the setting is currently disabled on iOS, and > because I do not want to enable this setting on iOS at this point to avoid > unexpected changes in behavior. I guess we can use this setting but only > rely on it on Mac?
https://bugs.webkit.org/show_bug.cgi?id=174691
Darin Adler
Comment 23
2017-07-20 14:15:02 PDT
Comment on
attachment 315991
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=315991&action=review
> Source/WebCore/loader/ResourceLoadObserver.cpp:145 > + static const auto ssoOriginsHash = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> { > + "sp.auth.adobe.com" > + }); > + return ssoOriginsHash.get().contains(url.host());
Why not just call equalLetterIgnoringASCIICase here? Seems overkill to construct a single element HashSet.
Chris Dumez
Comment 24
2017-07-20 14:22:57 PDT
(In reply to Darin Adler from
comment #23
)
> Comment on
attachment 315991
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=315991&action=review
> > > Source/WebCore/loader/ResourceLoadObserver.cpp:145 > > + static const auto ssoOriginsHash = makeNeverDestroyed(HashSet<String, ASCIICaseInsensitiveHash> { > > + "sp.auth.adobe.com" > > + }); > > + return ssoOriginsHash.get().contains(url.host()); > > Why not just call equalLetterIgnoringASCIICase here? Seems overkill to > construct a single element HashSet.
I thought about it but using the set is more scalable given that I expect more domains may need to get added. That said, I do not mind using equalLetterIgnoringASCIICase() until we add more domains.
Darin Adler
Comment 25
2017-07-20 18:06:42 PDT
(In reply to Chris Dumez from
comment #24
)
> I thought about it but using the set is more scalable given that I expect > more domains may need to get added. That said, I do not mind using > equalLetterIgnoringASCIICase() until we add more domains.
I am annoyed by the overuse of HashSet for fixed sets where more efficient algorithms may work better. I think I need to build a FixedSet family of class templates. Then it can be a HashSet only when the set is huge, an array with binary search when it’s smaller, an array with linear search when it’s even smaller, and a single function call when it has exactly one element. Either FixedSet can automatically do the right thing, we can have multiple FixedSet classes with identical interfaces but different implementations (FixedSingleItemSet, FixedLinearSearchSet, FixedBinarySearchSet, FixedHashSet), or FixedSet can take a template parameter to tell it which type of implementation to generate.
Sam Weinig
Comment 26
2017-07-21 09:40:27 PDT
(In reply to Darin Adler from
comment #25
)
> (In reply to Chris Dumez from
comment #24
) > > I thought about it but using the set is more scalable given that I expect > > more domains may need to get added. That said, I do not mind using > > equalLetterIgnoringASCIICase() until we add more domains. > > I am annoyed by the overuse of HashSet for fixed sets where more efficient > algorithms may work better. I think I need to build a FixedSet family of > class templates. Then it can be a HashSet only when the set is huge, an > array with binary search when it’s smaller, an array with linear search when > it’s even smaller, and a single function call when it has exactly one > element. Either FixedSet can automatically do the right thing, we can have > multiple FixedSet classes with identical interfaces but different > implementations (FixedSingleItemSet, FixedLinearSearchSet, > FixedBinarySearchSet, FixedHashSet), or FixedSet can take a template > parameter to tell it which type of implementation to generate.
I filed
bug 174715
to track this.
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