[Font Loading] Implement FontFace JavaScript object
Created attachment 269556 [details] WIP
Comment on attachment 269556 [details] WIP Attachment 269556 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/724740 New failing tests: js/dom/global-constructors-attributes.html
Created attachment 269557 [details] Archive of layout-test-results from ews101 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 269556 [details] WIP Attachment 269556 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/724735 New failing tests: js/dom/global-constructors-attributes.html
Created attachment 269559 [details] Archive of layout-test-results from ews112 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 269556 [details] WIP Attachment 269556 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/724896 New failing tests: js/dom/global-constructors-attributes.html
Created attachment 269566 [details] Archive of layout-test-results from ews105 for mac-yosemite-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 269602 [details] WIP
*** Bug 136505 has been marked as a duplicate of this bug. ***
Comment on attachment 269602 [details] WIP Attachment 269602 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/726847 New failing tests: js/dom/global-constructors-attributes.html
Created attachment 269610 [details] Archive of layout-test-results from ews101 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 269602 [details] WIP Attachment 269602 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/726834 New failing tests: imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html js/dom/global-constructors-attributes.html
Created attachment 269611 [details] Archive of layout-test-results from ews114 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 269613 [details] WIP
Created attachment 269637 [details] WIP
Created attachment 269656 [details] WIP
I need to make sure: 1. Calling load() multiple times has the correct semantics 2. The promise callbacks are correctly asynchronous/synchronous.
(In reply to comment #17) > I need to make sure: > > 1. Calling load() multiple times has the correct semantics In particular, if you change some state in the FontFace between successive calls to load(). > 2. The promise callbacks are correctly asynchronous/synchronous.
(In reply to comment #18) > (In reply to comment #17) > > I need to make sure: > > > > 1. Calling load() multiple times has the correct semantics > In particular, if you change some state in the FontFace between successive > calls to load(). The spec says that only the first load has any effect. Subsequent loads do nothing. > > 2. The promise callbacks are correctly asynchronous/synchronous.
(In reply to comment #19) > (In reply to comment #18) > > (In reply to comment #17) > > > I need to make sure: > > > > > > 1. Calling load() multiple times has the correct semantics > > In particular, if you change some state in the FontFace between successive > > calls to load(). > The spec says that only the first load has any effect. Subsequent loads do > nothing. > > > 2. The promise callbacks are correctly asynchronous/synchronous. The callbacks are correctly asynchronous.
It would also be good to make sure that, if the font is in the cache, that the status gets updated synchronously after load().
Created attachment 269681 [details] WIP
Created attachment 269984 [details] WIP
Created attachment 270066 [details] WIP
Created attachment 270094 [details] Applied on top of attachment 269993 [details]
Created attachment 270095 [details] Applied on top of attachment 269993 [details]
Created attachment 270099 [details] Applied on top of attachment 269993 [details]
Created attachment 270100 [details] Applied on top of attachment 269993 [details]
Created attachment 270101 [details] Applied on top of attachment 269993 [details]
function clearFontSelector() { document.getElementById("styleElement").setAttribute("media", "print"); }
Created attachment 270144 [details] Applied on top of attachment 269993 [details]
Attachment 270144 [details] passes all the tests on my machine.
Created attachment 270414 [details] Applied on top of attachment 269993 [details]
The spec says that immediate fonts should start loading immediately, and if they fail, they should fail with a SyntaxError (not a NetworkError).
We need to absolutize relative CSS values (like "bolder")
Created attachment 270478 [details] Applied on top of attachment 269993 [details]
Created attachment 271254 [details] WIP
Created attachment 271275 [details] Patch
Created attachment 271292 [details] Patch
Comment on attachment 271292 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=271292&action=review r=me, looks good. > Source/WebCore/css/CSSUnicodeRangeValue.cpp:36 > String CSSUnicodeRangeValue::customCSSText() const > { > - String result; > - // FIXME: Implement. > - return result; > + return String::format("U+%x-%x", m_from, m_to); > } The ChangeLog should explain these unicode-range related changes. Do they really belong to this patch?
Committed r196604: <http://trac.webkit.org/changeset/196604>