Timeline
Oct 3, 2016:
- 11:28 PM Changeset in webkit [206766] by
-
- 5 edits in trunk/Source/WebCore
Bindings do not throw a TypeError if a required dictionary member is missing
https://bugs.webkit.org/show_bug.cgi?id=162734
Reviewed by Geoffrey Garen.
Bindings should throw a TypeError if a required dictionary member is missing.
For example, if there is a "required long id" member in a dictionary that is
missing, our bindings would prevously pass 0 to the implementation instead
of throwing a TypeError.
Relevant specification:
I aligned our bindings generator implementation with the specification,
except for the support for dictionary inheritance that is still missing
and will be addressed in a follow-up patch.
No new tests, I rebaselined the bindings tests and this is already covered
by fast/events/touch/touch-constructor.html on iOS.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define):
- bindings/js/JSDOMConvert.h:
(WebCore::convert): Deleted.
(WebCore::Converter<bool>::convert): Deleted.
(WebCore::Converter<String>::convert): Deleted.
(WebCore::Converter<IDLDOMString>::convert): Deleted.
(WebCore::Converter<IDLUSVString>::convert): Deleted.
(WebCore::Converter<JSC::JSValue>::convert): Deleted.
(WebCore::Converter<int8_t>::convert): Deleted.
(WebCore::Converter<uint8_t>::convert): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
- 8:33 PM Changeset in webkit [206765] by
-
- 2 edits in trunk/Source/WebCore
[ListItems] Render tree should be all clean by the end of FrameView::layout().
https://bugs.webkit.org/show_bug.cgi?id=162832
Reviewed by Simon Fraser.
List item markers are inserted into the tree during layout, right before laying out
the list item (that's a big FIXME). At this point we already know what part of the tree
needs to be laid out. Inserting a list item marker does not expand this dirty area.
However whenever we insert a new renderer into the tree, we call setNeedsLayout on the contining block chain.
In certain cases (floating renderers), it could potentially trigger some unintentional markings
and we return from FrameView::layout() with a dirty subtree.
This patch preemptively marks the list item and its marker dirty so that
when the marker is getting inserted into the tree, we stop the marking at the parent.
Not testable.
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
- 5:36 PM Changeset in webkit [206764] by
-
- 1 copy in tags/Safari-602.3.1
New tag.
- 5:35 PM Changeset in webkit [206763] by
-
- 4 edits in trunk/Source/JavaScriptCore
GetMapBucket node should speculate on the type of its 'key' child
https://bugs.webkit.org/show_bug.cgi?id=161638
Reviewed by Filip Pizlo.
This eliminates type-check branches when we've already
proven the type of the incoming key. Also, it reduces
the branches we emit when type checking the bucket's key.
This is a 2-3% speedup on ES6SampleBench/Basic.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
- 5:32 PM Changeset in webkit [206762] by
-
- 6 edits in trunk/Source/WebKit2
More logging to diagnose "WebKit encountered an internal error" messages
https://bugs.webkit.org/show_bug.cgi?id=162754
Reviewed by Antti Koivisto.
Add more logging around calls to internalError, as well as some
low-level logging around SharedMemory, and mach_vm_map in particular.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- Platform/Logging.h:
- Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::allocate):
(WebKit::makeMemoryEntry):
(WebKit::SharedMemory::map):
(WebKit::SharedMemory::~SharedMemory):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource):
- 5:06 PM Changeset in webkit [206761] by
-
- 8 edits10 adds in trunk
Implement rendering of font-variation-settings
https://bugs.webkit.org/show_bug.cgi?id=162782
Reviewed by Zalan Bujtas.
Source/WebCore:
(Re-landing after fixing tests.)
Because the heavy lifting for font-variation-settings is done by CoreText,
this patch is fairly minimal. It simply hooks up the CSS property to CoreText.
There is an existing bug in CoreText where variations inside fonts do not
survive the addition of a cascade list. Therefore, FontPlatformData::ctFont()
needs to work around this (conditionally) by resupplying the variation at
the same time as the cascade list. The CoreText bug is <rdar://problem/28449441>.
Tests: fast/text/variations/duplicate.html
fast/text/variations/exist.html
fast/text/variations/inheritance.html
fast/text/variations/order.html
fast/text/variations/outofbounds.html
- platform/graphics/FontCache.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortAttributesDictionary):
(WebCore::cascadeToLastResortAndVariationsFontDescriptor):
(WebCore::FontPlatformData::ctFont):
(WebCore::cascadeToLastResortFontDescriptor): Deleted.
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
LayoutTests:
- fast/text/variations/duplicate-expected.html: Added.
- fast/text/variations/duplicate.html: Added.
- fast/text/variations/exist-expected-mismatch.html: Added.
- fast/text/variations/exist.html: Added.
- fast/text/variations/getComputedStyle.html:
- fast/text/variations/inheritance-expected.html: Added.
- fast/text/variations/inheritance.html: Added.
- fast/text/variations/order-expected.html: Added.
- fast/text/variations/order.html: Added.
- fast/text/variations/outofbounds-expected.html: Added.
- fast/text/variations/outofbounds.html: Added.
- 4:26 PM Changeset in webkit [206760] by
-
- 3 edits in trunk/LayoutTests
Marking svg/custom/animate-initial-pause-unpause.html as flaky on mac and ios-simulator-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=127116
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 4:24 PM Changeset in webkit [206759] by
-
- 4 edits in trunk/Source/JavaScriptCore
Offline asm should not output masm assembly when using a x86_64 asm backend
https://bugs.webkit.org/show_bug.cgi?id=162705
When cross compiling on windows to Clang, masm was being generated simply because
the os was windows. This change adds a command line parameter --assembler=MASM
to set the output assembly to masm.
The functions isGCC and isCompilingToWindows were removed as they are no longer called.
Patch by Christopher Reid <Christopher.Reid@am.sony.com> on 2016-10-03
Reviewed by Mark Lam.
- CMakeLists.txt:
- offlineasm/asm.rb:
- offlineasm/x86.rb:
- 3:55 PM Changeset in webkit [206758] by
-
- 5 edits in trunk
Source/WebCore:
URLParser should strip tabs at all locations
https://bugs.webkit.org/show_bug.cgi?id=162836
Reviewed by Geoffrey Garen.
Covered by adding tabs to each location of each API test
except tests that test the encoding of surrogate pairs,
because inserting a tab between the pairs changes the encoding.
- platform/URLParser.cpp:
(WebCore::URLParser::takesTwoAdvancesUntilEnd):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseIPv4Number):
(WebCore::URLParser::parseIPv4Host):
- platform/URLParser.h:
Tools:
URLParser should ignore tabs at all locations
https://bugs.webkit.org/show_bug.cgi?id=162836
Reviewed by Geoffrey Garen.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
(TestWebKitAPI::TEST_F):
- 3:53 PM Changeset in webkit [206757] by
-
- 6 edits in trunk/Source/WebKit2
Unreviewed, rolling out r206754.
This change broke the El Capitan and Yosemite debug builds.
Reverted changeset:
"More logging to diagnose "WebKit encountered an internal
error" messages"
https://bugs.webkit.org/show_bug.cgi?id=162754
http://trac.webkit.org/changeset/206754
- 3:43 PM Changeset in webkit [206756] by
-
- 4 edits3 adds in trunk
Auto-generate WASMOps.h, share with testing JSON file
https://bugs.webkit.org/show_bug.cgi?id=162870
Reviewed by Keith Miller.
JSTests:
- stress/wasm/to-c++.js: Added. Generates WASMOps.h, siilar to the current one but with more data.
(const.opcode_iterator):
(opcode_macroizer):
- stress/wasm/wasm.json: Added. Data from 0xC binary format version.
Source/JavaScriptCore:
Add a few new opcodes, but keep this mostly as-is for now. I want
to generate smarter code but will do so in a later update to
reduce disruption.
- wasm/WASMOps.h: auto-generated from ./JSTests/stress/wasm/to-c++.js
- 3:32 PM Changeset in webkit [206755] by
-
- 2 edits in trunk/LayoutTests
Marking fast/events/tabindex-focus-blur-all.html as a flaky timeout on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=162830
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:18 PM Changeset in webkit [206754] by
-
- 6 edits in trunk/Source/WebKit2
More logging to diagnose "WebKit encountered an internal error" messages
https://bugs.webkit.org/show_bug.cgi?id=162754
Reviewed by Antti Koivisto.
Add more logging around calls to internalError, as well as some
low-level logging around SharedMemory, and mach_vm_map in particular.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- Platform/Logging.h:
- Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::allocate):
(WebKit::makeMemoryEntry):
(WebKit::SharedMemory::map):
(WebKit::SharedMemory::~SharedMemory):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource):
- 2:52 PM Changeset in webkit [206753] by
-
- 16 edits in trunk/Source/WebCore
Remove Document::elementSheet()
https://bugs.webkit.org/show_bug.cgi?id=162876
Reviewed by Andreas Kling.
This is a Document owned stylesheet that exists as a context for parsing element inline style.
It never contains any rules and is generally confusing.
This patch removes the requirement for a stylesheet to be present for CSSParser to operate in
the correct context. Inline style is now parsed without stylesheet and a context object is
passed instead.
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::root):
- bindings/js/JSCSSStyleDeclarationCustom.h:
(WebCore::root): Deleted.
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::cssParserContext):
(WebCore::StyleRuleCSSStyleDeclaration::parentStyleSheet):
(WebCore::StyleRuleCSSStyleDeclaration::cssParserContext):
(WebCore::InlineCSSStyleDeclaration::parentStyleSheet):
(WebCore::InlineCSSStyleDeclaration::cssParserContext):
- css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::didMutate): Deleted.
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setProperty):
(WebCore::MutableStyleProperties::setCustomProperty):
(WebCore::MutableStyleProperties::parseDeclaration):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyValue):
(WebCore::CSSParser::parseInlineStyleDeclaration):
- css/parser/CSSParser.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parseInlineStyleDeclaration):
- dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::updateBaseURL):
(WebCore::Document::usesStyleBasedEditability):
(WebCore::Document::setHasElementUsingStyleBasedEditability):
(WebCore::Document::elementSheet): Deleted.
- dom/Document.h:
- dom/StyledElement.cpp:
(WebCore::StyledElement::setInlineStyleFromString):
(WebCore::StyledElement::invalidateStyleAttribute):
The usesStyleBasedEditability bit used to be set via the elementSheet. Instead check for it after inline style mutations.
(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
- dom/StyledElement.h:
(WebCore::StyledElement::invalidateStyleAttribute): Deleted.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
- svg/SVGAnimateElementBase.cpp:
(WebCore::applyCSSPropertyToTarget):
- 2:51 PM Changeset in webkit [206752] by
-
- 3 edits in trunk/Source/JavaScriptCore
Creating pcToOriginMap in FTL shouldn't insert unnecessary NOPs
https://bugs.webkit.org/show_bug.cgi?id=162879
Reviewed by Filip Pizlo.
If there is a recent watchpoint label, using MacroAssembler::label() will pad
the instruction stream with NOPs to provide space for a jump. This changes
Air::generate() to use labelIgnoringWatchpoints() to create pcToOriginMap
entries to eliminate unneccesary NOPs.
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
- b3/testb3.cpp:
(JSC::B3::testPCOriginMapDoesntInsertNops): New test.
(JSC::B3::run):
- 2:36 PM Changeset in webkit [206751] by
-
- 3 edits3 adds in trunk
Avoid null dereference when changing focus in design mode.
https://bugs.webkit.org/show_bug.cgi?id=162877
<rdar://problem/28061261>
Reviewed by Chris Dumez.
Source/WebCore:
The bare m_frame pointer in DOMWindow can be cleared when setting focus to a new element. Check
that the m_frame pointer is non-null before using it after calling a routine that could
clear the pointer value.
Test: fast/frames/iframe-focus-crash.html
- page/DOMWindow.cpp:
(WebCore::DOMWindow::focus): Check that the pointer is still non-null after setting the
current focused element to nullptr.
LayoutTests:
- fast/frames/iframe-focus-crash-expected.txt: Added.
- fast/frames/iframe-focus-crash.html: Added.
- fast/frames/resources/iframe-focus-crash.html: Added.
- 2:32 PM Changeset in webkit [206750] by
-
- 32 edits2 adds in trunk
Add support for KeyboardEvent.key attribute
https://bugs.webkit.org/show_bug.cgi?id=36267
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline because that the tests are failing differently now that we support
the key attribute on KeyboardEvent but are still missing other standard API
on this interface.
- web-platform-tests/dom/events/Event-init-while-dispatching-expected.txt:
- web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt:
Source/WebCore:
Add support for KeyboardEvent.key attribute:
This is behind a compile time flag that is only enabled on Mac and
iOS and the implementation is still missing for other platforms.
Test: fast/events/keyboardevent-key.html
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::key):
- platform/cocoa/KeyEventCocoa.h:
- platform/cocoa/KeyEventCocoa.mm:
(WebCore::keyForCharCode):
- platform/ios/PlatformEventFactoryIOS.h:
- platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::keyForKeyEvent):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
- platform/mac/PlatformEventFactoryMac.h:
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::keyForKeyEvent):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder): Deleted.
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue):
(JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue):
Source/WebKit2:
Add support for KeyboardEvent.key attribute.
- Shared/WebEvent.h:
(WebKit::WebKeyboardEvent::key):
(WebKit::WebKeyboardEvent::unmodifiedText): Deleted.
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
- Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebKeyboardEvent):
Source/WTF:
Add compile time flag for the key attribute on KeyboardEvent and enable
it on Cocoa only.
- wtf/FeatureDefines.h:
LayoutTests:
Extend layout test coverage.
- fast/events/constructors/keyboard-event-constructor-expected.txt:
- fast/events/constructors/keyboard-event-constructor.html:
- fast/events/key-events-in-input-button-expected.txt:
- fast/events/key-events-in-input-button.html:
- fast/events/key-events-in-input-text-expected.txt:
- fast/events/key-events-in-input-text.html:
- fast/events/keyboardevent-key-expected.txt: Added.
- fast/events/keyboardevent-key.html: Added.
- fast/events/special-key-events-in-input-text-expected.txt:
- fast/events/special-key-events-in-input-text.html:
- platform/ios-simulator/TestExpectations:
- 2:31 PM Changeset in webkit [206749] by
-
- 4 edits in trunk
URLParser: fragment-only URLs relative to file URLs should just add a fragment
https://bugs.webkit.org/show_bug.cgi?id=162871
Reviewed by Geoffrey Garen.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Instead of adding /# after copying the base URL to the query, just add an #.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:30 PM Changeset in webkit [206748] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/index-cursor.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161926
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:27 PM Changeset in webkit [206747] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/anchor-download-allow-data.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161745
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:49 PM Changeset in webkit [206746] by
-
- 7 edits1 add in trunk
MapHash should speculate on the type of its child node
https://bugs.webkit.org/show_bug.cgi?id=161922
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/map-key-well-typed.js: Added.
(assert):
(intKey):
(doubleKey):
(objectKey):
(stringKey):
(booleanKey):
(symbolKey):
(cellKey):
(assert.doubleKey):
(assert.booleanKey):
PerformanceTests:
I gave the main generator a name so it's easier to see what
it is when using the sampling profiler.
- ES6SampleBench/Basic/ast.js:
(Basic.Program):
Source/JavaScriptCore:
This allows us to remove runtime type checks when we've already
proven the type of the incoming value.
This is a 2-3% speedup on ES6SampleBench/Basic.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::wangsInt64Hash):
(JSC::FTL::DFG::LowerDFGToB3::mapHashString):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
- 1:31 PM Changeset in webkit [206745] by
-
- 2 edits9 adds in trunk
[Modern Media Controls] LayoutItem and Button classes
https://bugs.webkit.org/show_bug.cgi?id=162868
<rdar://problem/28590166>
Patch by Antoine Quint <Antoine Quint> on 2016-10-03
Reviewed by Dean Jackson.
Source/WebCore:
We introduce the new Button class and its parent class LayoutItem. We will subclass Button
a lot in coming patches, as it provides a way to create a button and provide a delegate to
respond to UI events via theuiDelegateproperty. A Button extends a LayoutItem, another
class that we'll subclass heavily in coming patches, which is simply a LayoutNode with a
layoutDelegatewhich allows to set the node'slayoutTraits, a bit-mask allowing to
specify layout attributes such as the platform and playback styles.
Tests: media/modern-media-controls/button/button.html
media/modern-media-controls/layout-item/layout-item.html
- Modules/modern-media-controls/controls/button.css: Added.
(button):
- Modules/modern-media-controls/controls/button.js: Added.
(Button):
(Button.prototype.get enabled):
(Button.prototype.set enabled):
(Button.prototype.handleEvent):
(Button.prototype._handleUIEvent):
- Modules/modern-media-controls/controls/layout-item.js: Added.
(LayoutItem.prototype.get layoutTraits):
(LayoutItem):
LayoutTests:
Testing all public properties and methods of the LayoutItem and Button classes.
- media/modern-media-controls/button/button-expected.txt: Added.
- media/modern-media-controls/button/button.html: Added.
- media/modern-media-controls/layout-item/layout-item-expected.txt: Added.
- media/modern-media-controls/layout-item/layout-item.html: Added.
- 1:27 PM Changeset in webkit [206744] by
-
- 8 edits2 adds in trunk
ASSERTION FAILED: url.containsOnlyASCII() in WebCore::checkEncodedString() when parsing an invalid CSS cursor URL
https://bugs.webkit.org/show_bug.cgi?id=162763
<rdar://problem/28572758>
Reviewed by Youenn Fablet.
Source/WebCore:
CSSCursorImageValue copies the URL of its underlying CSSImageValue by using the
ParsedURLString URL constructor on the String returned by CSSImageValue::url(). While
CSSImageValues were always being constructed from a URL implicitly converted to a String,
nothing ensured that the URL was valid. For invalid URLs, URL::string() returns the string
it was constructed with, which might still represent a relative URL or contain non-ASCII
characters, violating the preconditions of the ParsedURLString URL constructor and causing
an assertion to fail in Debug builds.
Fix this by having CSSImageValue store its image URL using a WebCore::URL rather than a
String. CSSCursorImageValue can then copy this URL instead of attempting to re-parse a
possibly-invalid URL string.
Test: fast/css/cursor-with-invalid-url.html
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue): Copied m_imageValue.url() into
m_originalURL instead of using the ParsedURLString URL constructor, since
CSSImageValue::url() now returns a WebCore::URL.
(WebCore::CSSCursorImageValue::loadImage): Created a URL from cursorElement->href() by
calling Document::completeURL().
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue): Changed to take a URL&& instead of a const String&.
(WebCore::CSSImageValue::loadImage): Stopped calling Document::completeURL(), since m_url is
now a WebCore::URL.
- css/CSSImageValue.h: Changed url() to return a const URL&, and changed m_url to be a URL.
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute): Removed a call to
URL::string().
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::collectStyleForPresentationAttribute): Ditto.
- html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute): Ditto.
LayoutTests:
- fast/css/cursor-with-invalid-url.html: Added.
- fast/css/cursor-with-invalid-url-expected.txt: Added.
- 1:26 PM Changeset in webkit [206743] by
-
- 2 edits in trunk/Source/WebCore
Log an error to stderr when FrameView::layout() fails to clean all the renderers.
https://bugs.webkit.org/show_bug.cgi?id=162835
Reviewed by Simon Fraser.
We've come across multiple layout/painting bugs caused by renderers left dirty
after FrameView::layout(). This patch helps catching such issues early.
Once all the blocking bugs are fixed (webkit.org/b/162835), logging should be replaced with ASSERT().
Not testable.
- page/FrameView.cpp:
(WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker):
(WebCore::FrameView::layout):
- 1:22 PM Changeset in webkit [206742] by
-
- 12 edits7 adds in trunk/Source/WebCore
[Win][Direct2D] Add D2D Bitmap Image handling code
https://bugs.webkit.org/show_bug.cgi?id=162761
Reviewed by Dean Jackson.
This patch lands a set of new files that implement
Image and BitmapImage features on Windows using
Direct2D.
The desired ID2D1RenderTarget handle is needed by the
image decoder so that it can load the resulting bitmap
into the GPU.
No new tests until complete backend lands.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw): Tell the Direct2D image decoder
which render target to use.
- platform/graphics/BitmapImage.h:
- platform/graphics/ImageBuffer.cpp:
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferData.h:
- platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::setRenderTarget): Added.
- platform/graphics/ImageFrameCache.h:
(WebCore::ImageFrameCache::decoder): Added.
- platform/graphics/ImageSource.cpp:
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::setRenderTarget):
- platform/graphics/win/ImageBufferDataDirect2D.cpp: Added.
- platform/graphics/win/ImageBufferDataDirect2D.h: Added.
- platform/graphics/win/ImageBufferDirect2D.cpp: Added.
- platform/graphics/win/ImageCGWin.cpp:
- platform/graphics/win/ImageDecoderDirect2D.cpp: Added.
- platform/graphics/win/ImageDecoderDirect2D.h: Added.
- platform/graphics/win/ImageDirect2D.cpp: Added.
- platform/graphics/win/NativeImageDirect2D.cpp: Added.
- 12:26 PM Changeset in webkit [206741] by
-
- 2 edits in trunk/Tools
[Win] DRT temp folder is not used.
https://bugs.webkit.org/show_bug.cgi?id=162863
Reviewed by Alex Christensen.
Convert DRT temp folder to DOS path, which DRT can use.
- Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver):
- 12:13 PM Changeset in webkit [206740] by
-
- 5 edits in trunk/Source/WebCore
[SOUP] Remove unused methods toSoupMessage from ResourceRequest/Response
https://bugs.webkit.org/show_bug.cgi?id=162867
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-10-03
Reviewed by Sergio Villar Senin.
- platform/network/soup/ResourceRequest.h:
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessage):
(WebCore::ResourceRequest::updateFromSoupMessage): Deleted.
- platform/network/soup/ResourceResponse.h:
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage): Deleted.
- 11:36 AM Changeset in webkit [206739] by
-
- 9 edits in trunk
B3 trapping memory accesses should be documented
https://bugs.webkit.org/show_bug.cgi?id=162845
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
While writing some documentation, I found some small holes in the code.
- b3/B3Effects.cpp:
(JSC::B3::Effects::operator==): Need this to write tests.
(JSC::B3::Effects::operator!=): Need this to write tests.
- b3/B3Effects.h:
- b3/B3HeapRange.h:
- b3/B3MemoryValue.cpp:
(JSC::B3::MemoryValue::dumpMeta): Sometimes the heap range dump won't show you the memory value's actual range. This makes the dump show you the actual range in that case.
- b3/B3Value.cpp:
(JSC::B3::Value::effects): While documenting this, I remembered that trapping also has to imply reading top. I fixed this.
- b3/testb3.cpp:
(JSC::B3::testTrappingLoad): Added checks for the effects of trapping loads.
(JSC::B3::testTrappingStore): Added checks for the effects of trapping stores.
(JSC::B3::testMoveConstants): Made this not crash with validation.
Websites/webkit.org:
Added documentation for the Traps flag, and factored out the documentation of the Chill flag
to a new flags section.
- docs/b3/intermediate-representation.html:
- 11:36 AM Changeset in webkit [206738] by
-
- 4 edits in trunk
[ES6] GeneratorFunction (a.k.a. GeneratorWrapperFunction)'s prototype object does not have constructor property
https://bugs.webkit.org/show_bug.cgi?id=162849
Reviewed by Geoffrey Garen.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
Since GeneratorFunction is not constructible, GeneratorFunction.prototype does not have "constructor" property.
function* generatorFunction() { }
generatorFunction.prototype.constructor undefined
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
- 10:57 AM Changeset in webkit [206737] by
-
- 9 edits in trunk/Source/WebCore
Remove FetchBody::m_isEmpty
https://bugs.webkit.org/show_bug.cgi?id=162857
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-03
Reviewed by Alex Christensen.
No change of behavior.
Moving handling of null bodies in FetchBodyOwner, by having an Optional<FetchBody> in FetchBodyOwner.
Moving storage of m_contentType in FetchBodyOwner.
Moving header storage from FetchResponse/FetchRequest to FetchBodyOwner, as it helps updating m_contentType.
- Modules/fetch/FetchBody.cpp: removing m_isEmpty and m_contentType.
(WebCore::FetchBody::extract): Computes the default content-type which is stored in FetchBodyOwner.
(WebCore::FetchBody::blob):
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeAsStream):
(WebCore::FetchBody::loadingSucceeded):
(WebCore::FetchBody::bodyForInternalRequest):
(WebCore::FetchBody::clone):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::loadingBody):
(WebCore::FetchBody::FetchBody):
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::FetchBodyOwner):
(WebCore::FetchBodyOwner::stop):
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::cloneBody): Needs to clone m_contentType as well.
(WebCore::FetchBodyOwner::extractBody):
(WebCore::FetchBodyOwner::updateContentType):
(WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
(WebCore::FetchBodyOwner::loadBlob):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::finishBlobLoading):
- Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::body):
(WebCore::FetchBodyOwner::isBodyNull):
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::setBody):
(WebCore::FetchRequest::internalRequest):
(WebCore::FetchRequest::clone):
- Modules/fetch/FetchRequest.h:
(WebCore::FetchRequest::FetchRequest):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::initializeWith):
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::cloneForJS):
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::BodyLoader::start):
(WebCore::FetchResponse::createReadableStreamSource):
- Modules/fetch/FetchResponse.h:
- 10:44 AM Changeset in webkit [206736] by
-
- 5 edits in trunk
ASSERTION FAILED: result in WebCore::CSSParser::parseURI
https://bugs.webkit.org/show_bug.cgi?id=141638
<rdar://problem/27709952>
Reviewed by Andreas Kling.
Source/WebCore:
CSSParser::parseURIInternal() failed to parse unquoted URLs with Unicode escape sequences
greater than 0xFF, even when the destination character type was multi-byte. Fixed by
checking the size of DestCharacterType instead of SrcCharacterType.
Updated fast/css/url-with-multi-byte-unicode-escape.html to test for an unquoted URL.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseURIInternal): For code points greater than 0xFF, only returned
false if sizeof(DestCharacterType) == 1.
LayoutTests:
- fast/css/url-with-multi-byte-unicode-escape-expected.txt: Added a test for an unquoted URL.
- fast/css/url-with-multi-byte-unicode-escape.html:
- 10:28 AM Changeset in webkit [206735] by
-
- 6 edits in trunk
URLParser: empty relative URLs should not copy fragment from the base URL
https://bugs.webkit.org/show_bug.cgi?id=162864
Reviewed by Chris Dumez.
Source/WebCore:
Covered by new API tests.
- platform/URL.cpp:
(WebCore::URL::removeFragmentIdentifier):
Optimize removing fragments, now that it happens more often. We don't need to reparse,
because the result will always be equal to just a substring when removing the fragment at the end.
- platform/URLParser.cpp:
(WebCore::URLParser::copyASCIIStringUntil):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::containsOnlyC0ControlOrSpace):
(WebCore::URLParser::URLParser):
(WebCore::URLParser::parse):
- platform/URLParser.h:
Because we are not copying the fragment, we can simplify and remove some unreachable code.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 9:43 AM Changeset in webkit [206734] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSStringRef should define JSChar without platform checks
https://bugs.webkit.org/show_bug.cgi?id=162808
Patch by Nicolas Breidinger <Nicolas.Breidinger@sony.com> on 2016-10-03
Reviewed by Mark Lam.
- API/JSStringRef.h:
- 9:23 AM Changeset in webkit [206733] by
-
- 7 edits in trunk
td.scope should only return known values
https://bugs.webkit.org/show_bug.cgi?id=162755
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-tabular-expected.txt:
Source/WebCore:
td.scope should only return known values:
Firefox conforms to the specification.
No new tests, rebaselined existing test.
- html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::scope):
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/element-attribute-js-null-expected.txt:
- fast/dom/element-attribute-js-null.html:
- 3:42 AM Changeset in webkit [206732] by
-
- 5 edits in trunk/Source/WebCore
[SOUP] Simplify AuthenticationChallenge
https://bugs.webkit.org/show_bug.cgi?id=162784
Reviewed by Alex Christensen.
We don't really need to keep references to the SoupSession and SoupMessage in AuthenticationChallenge, the
SoupNetworkSession callback already forwards the challenge to the right ResourceHandle.
- platform/network/soup/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::authenticationClient):
(WebCore::AuthenticationChallenge::soupSession): Deleted.
(WebCore::AuthenticationChallenge::soupMessage): Deleted.
- platform/network/soup/AuthenticationChallengeSoup.cpp:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::platformCompare):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedCancellation):
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::authenticateCallback):
- 3:32 AM Changeset in webkit [206731] by
-
- 15 edits1 delete in trunk
[SOUP] Cleanup persistent credential storage code
https://bugs.webkit.org/show_bug.cgi?id=162777
Reviewed by Alex Christensen.
.:
Remove ENABLE(CREDENTIAL_STORAGE) build flag and replace it by USE(LIBSECRET).
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
We have this feature behind ENABLE_CREDENTIAL_STORAGE flag, which is confusing, because we use credential
storage unconditionally and this is only about persistent storage. Also the flag assumes libsecret is available,
and since it's only used by GTK sometimes we use GTK ifdefs instead of CREDENTIAL_STORAGE. So, I think we should
use USE(LIBSECRET) instead, and reduce a bit the ifdefs in common soup code. Another problem is that current
implementation is always used, while it should depend on the current network storage session and never used in
ephemeral sessions. This patch moves the code from CredentialBackingStore to NetworkStorageSessionSoup and
modernizes a bit.
- PlatformGTK.cmake: Remove CredentialBackingStore.cpp.
- platform/gtk/GRefPtrGtk.cpp: Use USE(LIBSECRET)
- platform/gtk/GRefPtrGtk.h:
- platform/network/NetworkStorageSession.h:
- platform/network/ResourceHandleInternal.h:
- platform/network/gtk/CredentialBackingStore.cpp: Removed.
- platform/network/gtk/CredentialBackingStore.h: Removed.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::~NetworkStorageSession):
(WebCore::schemeFromProtectionSpaceServerType):
(WebCore::authTypeFromProtectionSpaceAuthenticationScheme):
(WebCore::NetworkStorageSession::getCredentialFromPersistentStorage):
(WebCore::NetworkStorageSession::saveCredentialToPersistentStorage):
(WebCore::NetworkStorageSession::ensurePrivateBrowsingSession): Deleted.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Deleted.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Deleted.
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): Deleted.
(WebCore::ResourceHandle::receivedCancellation): Deleted.
Source/WebKit2:
Use USE(LIBSECRET) instead of ENABLE(CREDENTIAL_STORAGE).
- UIProcess/API/gtk/WebKitAuthenticationRequest.cpp:
(webkit_authentication_request_can_save_credentials):
Tools:
Use USE(LIBSECRET) instead of ENABLE(CREDENTIAL_STORAGE).
- TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp:
(testWebViewAuthenticationStorage):
- 2:51 AM Changeset in webkit [206730] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix the build with coordinated graphics enabled after r206712.
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachNode):
Oct 2, 2016:
- 10:45 PM Changeset in webkit [206729] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Clicking twice on the color swatch square should hide the color picker
https://bugs.webkit.org/show_bug.cgi?id=162759
Patch by Devin Rousso <Devin Rousso> on 2016-10-02
Reviewed by Matt Baker.
- UserInterface/Views/InlineSwatch.js:
(WebInspector.InlineSwatch):
(WebInspector.InlineSwatch.prototype.didDismissPopover):
(WebInspector.InlineSwatch.prototype._swatchElementClicked):
Remove the "click" event listener when a popover is presented to prevent improper
interaction. Add the event listener back when the popover is dismissed.
- 9:54 PM Changeset in webkit [206728] by
-
- 11 edits in branches/safari-602-branch
Merge r205657. rdar://problem/28216268
- 9:44 PM Changeset in webkit [206727] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 5:36 PM Changeset in webkit [206726] by
-
- 1 copy in tags/Safari-602.2.14.0.5
New tag.
- 2:49 PM Changeset in webkit [206725] by
-
- 4 edits2 adds in trunk
Add support for KeyboardEvent.getModifierState() operation
https://bugs.webkit.org/show_bug.cgi?id=162855
Reviewed by Darin Adler.
Source/WebCore:
Add support for KeyboardEvent.getModifierState() operation:
Test: fast/events/constructors/keyboard-event-getModifierState.html
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::getModifierState):
- dom/KeyboardEvent.idl:
LayoutTests:
Add layout test coverage.
- fast/events/constructors/keyboard-event-getModifierState-expected.txt: Added.
- fast/events/constructors/keyboard-event-getModifierState.html: Added.
- 2:33 PM Changeset in webkit [206724] by
-
- 7 edits in trunk
Add support for KeyboardEvent.repeat attribute
https://bugs.webkit.org/show_bug.cgi?id=162854
Reviewed by Darin Adler.
Source/WebCore:
Add support for KeyboardEvent.repeat attribute:
No new tests, extended existing test.
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
LayoutTests:
Extend layout test coverage.
- fast/events/constructors/keyboard-event-constructor-expected.txt:
- fast/events/constructors/keyboard-event-constructor.html:
- 2:28 PM Changeset in webkit [206723] by
-
- 208 edits in trunk
Rename ExceptionCode-based exception handling to "legacy"
https://bugs.webkit.org/show_bug.cgi?id=162859
Reviewed by Chris Dumez.
Source/WebCore:
RaisesException is now MayThrowLegacyException.
A follow-up patch soon will add MayThrowException for the new style,
where we use ExceptionOr<> as the return type instead of an ExceptionCode
out argument.
- bindings/scripts/CodeGeneratorJS.pm:
Removed the quotation marks from the syntax object->{PropertyName} so the
renaming script could handle it. Tweaked various comments and logic for clarity.
Changed to use the perl "x if y" syntax for brevity in many places.
Renamed with the script and by hand. Added code to skip including the same header
in both the implementation file and the header, just to make generated bindings
slightly smaller and faster to compile. Used "using" instead of "typedef".
- bindings/scripts/IDLAttributes.txt: Updated from old names to new ones.
- Modules/applepay/ApplePaySession.idl:
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/fetch/FetchHeaders.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchResponse.idl:
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediastream/MediaDevices.idl:
- Modules/mediastream/RTCDTMFSender.idl:
- Modules/mediastream/RTCDataChannel.idl:
- Modules/mediastream/RTCIceCandidate.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCSessionDescription.idl:
- Modules/navigatorcontentutils/NavigatorContentUtils.idl:
- Modules/notifications/NotificationCenter.idl:
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webdatabase/DOMWindowWebDatabase.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/websockets/WebSocket.idl:
- bindings/scripts/test/TestImplements.idl:
- bindings/scripts/test/TestInterface.idl:
- bindings/scripts/test/TestNamedConstructor.idl:
- bindings/scripts/test/TestNondeterministic.idl:
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestSupplemental.idl:
- bindings/scripts/test/TestTypedefs.idl:
- css/CSSCharsetRule.idl:
- css/CSSMediaRule.idl:
- css/CSSPrimitiveValue.idl:
- css/CSSRule.idl:
- css/CSSStyleDeclaration.idl:
- css/CSSStyleSheet.idl:
- css/CSSSupportsRule.idl:
- css/CSSValue.idl:
- css/FontFace.idl:
- css/FontFaceSet.idl:
- css/MediaList.idl:
- css/WebKitCSSMatrix.idl:
- dom/CharacterData.idl:
- dom/ChildNode.idl:
- dom/CustomElementRegistry.idl:
- dom/DataTransferItemList.idl:
- dom/Document.idl:
- dom/Element.idl:
- dom/EventTarget.idl:
- dom/MessagePort.idl:
- dom/MutationObserver.idl:
- dom/NamedNodeMap.idl:
- dom/Node.idl:
- dom/ParentNode.idl:
- dom/Range.idl:
- dom/ShadowRoot.idl:
- dom/Text.idl:
- fileapi/FileReader.idl:
- fileapi/FileReaderSync.idl:
- html/DOMTokenList.idl:
- html/DOMURL.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLElement.idl:
- html/HTMLEmbedElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLMarqueeElement.idl:
- html/HTMLMediaElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOptionsCollection.idl:
- html/HTMLProgressElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLTableElement.idl:
- html/HTMLTableRowElement.idl:
- html/HTMLTableSectionElement.idl:
- html/HTMLTextAreaElement.idl:
- html/HTMLVideoElement.idl:
- html/ImageData.idl:
- html/MediaController.idl:
- html/TimeRanges.idl:
- html/URLUtils.idl:
- html/canvas/CanvasGradient.idl:
- html/canvas/CanvasPath.idl:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/OESVertexArrayObject.idl:
- html/canvas/WebGLRenderingContextBase.idl:
- html/track/DataCue.idl:
- html/track/TextTrack.idl:
- html/track/TextTrackCue.idl:
- html/track/VTTCue.idl:
- html/track/VTTRegion.idl:
- loader/appcache/DOMApplicationCache.idl:
- page/Crypto.idl:
- page/DOMSelection.idl:
- page/DOMWindow.idl:
- page/EventSource.idl:
- page/History.idl:
- page/Location.idl:
- page/Performance.idl:
- page/UserMessageHandler.idl:
- page/WindowOrWorkerGlobalScope.idl:
- storage/Storage.idl:
- svg/SVGAltGlyphElement.idl:
- svg/SVGAngle.idl:
- svg/SVGAnimatedBoolean.idl:
- svg/SVGAnimatedEnumeration.idl:
- svg/SVGAnimatedInteger.idl:
- svg/SVGAnimatedNumber.idl:
- svg/SVGAnimatedString.idl:
- svg/SVGAnimationElement.idl:
- svg/SVGColor.idl:
- svg/SVGGlyphRefElement.idl:
- svg/SVGGraphicsElement.idl:
- svg/SVGLength.idl:
- svg/SVGLengthList.idl:
- svg/SVGMatrix.idl:
- svg/SVGNumberList.idl:
- svg/SVGPaint.idl:
- svg/SVGPathSegList.idl:
- svg/SVGPointList.idl:
- svg/SVGPreserveAspectRatio.idl:
- svg/SVGStringList.idl:
- svg/SVGStyleElement.idl:
- svg/SVGTextContentElement.idl:
- svg/SVGTransformList.idl:
- svg/SVGViewSpec.idl:
- testing/InternalSettings.idl:
- testing/Internals.idl:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/Worker.idl:
- xml/DOMParser.idl:
- xml/XMLHttpRequest.idl:
- xml/XPathEvaluator.idl:
- xml/XPathExpression.idl:
- xml/XPathResult.idl:
Allowed the rename script to rename the exception-related extended attributes.
- bindings/scripts/test/JS/JSInterfaceName.cpp:
- bindings/scripts/test/JS/JSInterfaceName.h:
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestCallback.cpp:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.h:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestIterable.cpp:
- bindings/scripts/test/JS/JSTestIterable.h:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.cpp:
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.cpp:
- bindings/scripts/test/JS/JSreadonly.h:
Regenerated.
Source/WebKit/win:
- Interfaces/DOMEvents.idl: Let the script rename here (in a comment).
Tools:
- Scripts/do-webcore-rename: Updated script to do this round of renames.
- 1:59 PM Changeset in webkit [206722] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Exception thrown when hovering network waterfall graphs during reload
https://bugs.webkit.org/show_bug.cgi?id=162850
<rdar://problem/28579653>
Reviewed by Brian Burg.
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
Check that the node's data grid reference is valid before use.
(WebInspector.ResourceTimelineDataGridNode):
- 12:22 PM Changeset in webkit [206721] by
-
- 9 edits1 add in trunk
Media controls for Soundcloud easily falls out of sync with what's actually playing
https://bugs.webkit.org/show_bug.cgi?id=162843
<rdar://problem/28176874>
Reviewed by Beth Dakin.
Source/WebCore:
Currently, audio elements are subject to the same main content restrictions as video elements. This is
problematic on sites where audio elements are really the main content, such as soundcloud. We need a different
heuristic for determining whether audio elements such as these should be allowed to show playback controls.
Furthermore, we currently forbid autoplaying audio from showing controls if it has user gesture restrictions
(i.e. it started playing via script). This is, again, problematic on sites where audio elements are played one
after another (such as on soundcloud). Even though a subsequent audio element may have been triggered via
script, we might want still want to show controls for it if the user has explicitly triggered other elements on
the page to begin playing. However, if the user has not gestured on any media in the page, we still should not
show controls for audio elements that begin playing via script.
Adds two new unit tests to TestWebKitAPI simulating audio playback behavior on soundcloud.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::removeBehaviorRestriction):
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::MediaElementSession::allowsPlaybackControlsForAutoplayingAudio):
- html/MediaElementSession.h:
- page/Page.h:
(WebCore::Page::allowsPlaybackControlsForAutoplayingAudio):
(WebCore::Page::setAllowsPlaybackControlsForAutoplayingAudio):
Tools:
Adds two new tests simulating audio playback behavior on soundcloud. Also tweaks some of the WKWebView test
message handling logic to support having multiple message-handler mappings.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/play-audio-on-click.html: Added.
- TestWebKitAPI/mac/TestWKWebViewMac.h:
- TestWebKitAPI/mac/TestWKWebViewMac.mm:
(-[TestMessageHandler addMessage:withHandler:]):
(-[TestMessageHandler userContentController:didReceiveScriptMessage:]):
(-[TestWKWebView performAfterReceivingMessage:action:]):
(-[TestWKWebView performAfterLoading:]):
(-[TestMessageHandler initWithMessage:handler:]): Deleted.
- 12:19 PM Changeset in webkit [206720] by
-
- 17 edits in trunk/Source
Unreviewed, rolling out r206683.
This change caused API test WebKit2.FindMatches to fail on
Mac.
Reverted changeset:
"The dragged image should be the current frame only of the
animated image"
https://bugs.webkit.org/show_bug.cgi?id=162109
http://trac.webkit.org/changeset/206683
- 11:19 AM Changeset in webkit [206719] by
-
- 8 edits10 deletes in trunk
Unreviewed, rolling out r206692 and r206718.
Seems to have caused >200 failures on Sierra
Reverted changesets:
"Implement rendering of font-variation-settings"
https://bugs.webkit.org/show_bug.cgi?id=162782
http://trac.webkit.org/changeset/206692
"Tried to fix the build after r206692."
http://trac.webkit.org/changeset/206718
- 7:49 AM Changeset in webkit [206718] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the build after r206692.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortAndVariationsFontDescriptor):
- 7:25 AM Changeset in webkit [206717] by
-
- 9 edits in trunk
Unreviewed, rolling out r206716.
https://bugs.webkit.org/show_bug.cgi?id=162858
It is breaking Mac CMake Debug build (Requested by youenn on
#webkit).
Reverted changeset:
"[Fetch API] Forbid redirection to non-HTTP(s) URL in non-
navigation mode."
https://bugs.webkit.org/show_bug.cgi?id=162785
http://trac.webkit.org/changeset/206716
- 6:59 AM Changeset in webkit [206716] by
-
- 9 edits in trunk
[Fetch API] Forbid redirection to non-HTTP(s) URL in non-navigation mode.
https://bugs.webkit.org/show_bug.cgi?id=162785
Patch by Youenn Fablet <youenn@apple.com> on 2016-10-02
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt:
Source/WebCore:
Covered by rebased and existing tests.
Ensuring non-HTTP redirection URLs are not followed at DocumentThreadableLoader level for fetch API only.
This should be applied to all clients at some point, but there is still some uncertainty for data URLs.
Did some refactoring to better separate the case of security checks in case of regular request or redirected request.
This allows in particular to handle more clearly the case of data URLs which are allowed in all modes for regular requests.
But they are not allowed for same-origin redirected requests.
- WebCore.xcodeproj/project.pbxproj:
- loader/DocumentThreadableLoader.cpp:
(WebCore::reportRedirectionWithBadScheme): Reporting bad scheme redirection error.
(WebCore::DocumentThreadableLoader::redirectReceived): Checking that redirection URLs are HTTP(s) in case of Fetch API.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy):
(WebCore::isSameOriginDataURL):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::canRequestAfterRedirection):
(WebCore::CachedResourceLoader::canRequestInContentDispositionAttachmentSandbox):
(WebCore::CachedResourceLoader::requestResource):
- loader/cache/CachedResourceLoader.h: