Timeline
May 19, 2015:
- 11:29 PM Changeset in webkit [184619] by
-
- 2 edits in trunk/Source/WebKit2
[SOUP] Network Cache: Disable network cache efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=145172
Reviewed by Martin Robinson.
Disable network cache efficacy logging by default, since we are
not currently using the collected data.
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- 11:14 PM Changeset in webkit [184618] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r184613 and r184614.
https://bugs.webkit.org/show_bug.cgi?id=145206
Broke 10 tests :| (Requested by kling on #webkit).
Reverted changesets:
"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184613
"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184614
- 10:57 PM Changeset in webkit [184617] by
-
- 8 edits in trunk/Source
Give StringView a utf8() API.
<https://webkit.org/b/145201>
Source/JavaScriptCore:
Reviewed by Anders Carlsson.
Use JSString::view() in a few places where we couldn't before due to StringView
lacking a utf8() API. This is a minor speed-up on Kraken's crypto subtests,
which like to call encode() with substring JSStrings.
- jsc.cpp:
(functionPrint):
(functionDebug):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
Source/WTF:
Reviewed by Anders Carlsson
Added an LChar version of StringImpl::utf8ForCharacters() and use that to give
StringView a utf8() API just like String has.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::utf8ForCharacters):
- wtf/text/StringImpl.h:
- wtf/text/StringView.cpp:
(WTF::StringView::utf8):
- wtf/text/StringView.h:
- 10:41 PM Changeset in webkit [184616] by
-
- 14 edits2 adds in trunk
Organize event handlers a bit
https://bugs.webkit.org/show_bug.cgi?id=145106
Reviewed by Darin Adler.
Source/WebCore:
- Add GlobalEventHandlers.idl (from https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers) and move all event handlers shared by Element, Document and DOMWindow there. Put all the standard defined event handlers at the top (commenting out the ones that aren't implemented yet) and the non-standard ones at the bottom.
There is one change in behavior here. Previously, the media related event handlers where only exposed on
Element and DOMWindow. The spec says they should also be on Document, so this adds support for that (this
is tested in fast/dom/event-handler-attributes.html).
- Add WindowEventHandlers.idl (from https://html.spec.whatwg.org/multipage/webappapis.html#windoweventhandlers) and move all event handlers shared by DOMWindow, HTMLBodyElement and HTMLFrameSetElement there. Put all the standard defined event handlers at the top (commenting out the ones that aren't implemented yet) and the non-standard ones at the bottom.
- Group remaining event handlers in Element, Document, DOMWindow, HTMLBodyElement and HTMLFrameSetElement by their grouping, and add some FIXMEs for future cleaning.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- Add GlobalEventHandlers.idl and WindowEventHandlers.idl.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Add special cases for WindowEventHandler when used on DOMWindow and DocumentEventHandler when used on Document
so that event handlers using those extended attributes can be set on shared interfaces. This is used to allow
DOMWindow to implement WindowEventHandlers.
- dom/Document.idl:
Move event handlers to GlobalEventHandlers and have Document implement it. Group remaining event handlers.
- dom/Element.idl:
Move event handlers to GlobalEventHandlers and have Element implement it. Group remaining event handlers.
- dom/GlobalEventHandlers.idl:
Added.
- html/HTMLBodyElement.idl:
Move event handlers to WindowEventHandlers and have HTMLBodyElement implement it. Group remaining event handlers.
- html/HTMLFrameSetElement.idl:
Move event handlers to WindowEventHandlers and have HTMLFrameSetElement implement it. Group remaining event handlers.
- page/DOMWindow.idl:
Move event handlers to GlobalEventHandlers and WindowEventHandlers and have DOMWindow implement both of them. Group
remaining event handlers.
- page/WindowEventHandlers.idl:
Added.
LayoutTests:
- fast/dom/event-handler-attributes-expected.txt:
- fast/dom/event-handler-attributes.html:
Update for putting media related event handlers on Document in addition to
Element and DOMWindow.
- 10:28 PM Changeset in webkit [184615] by
-
- 2 edits in trunk/Source/WebCore
Crash under WebCore::invalidateStyleRecursively
https://bugs.webkit.org/show_bug.cgi?id=145186
rdar://problem/19736838
Reviewed by Andreas Kling
We have seen crashes where we run out of stack under invalidateStyleRecursively in StyleInvalidationAnalysis
on some devices.
Switch to iterative algorithm.
- css/StyleInvalidationAnalysis.cpp:
(WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
(WebCore::invalidateIfNeeded):
(WebCore::invalidateStyleForTree):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
(WebCore::invalidateStyleRecursively): Deleted.
- 9:51 PM Changeset in webkit [184614] by
-
- 1 edit in trunk/Source/JavaScriptCore/ChangeLog
Fixup accidental ChangeLog switcheroo.
- 9:49 PM Changeset in webkit [184613] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>
Incorporate review feedback from Darin, removing some unnecessary zero checks.
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2015-05-19
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEscape):
- 9:19 PM Changeset in webkit [184612] by
-
- 27 edits1 copy1 move in trunk
Move AtomicStringImpl table related operations from AtomicString to AtomicStringImpl
https://bugs.webkit.org/show_bug.cgi?id=145109
Reviewed by Darin Adler.
Source/JavaScriptCore:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::nameForRegister):
- runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
- runtime/Identifier.h:
(JSC::Identifier::add):
- runtime/IdentifierInlines.h:
(JSC::Identifier::Identifier):
(JSC::Identifier::add):
- runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeToExistingAtomicString):
- runtime/JSString.h:
(JSC::JSString::toExistingAtomicString):
- runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
- runtime/TypeSet.cpp:
(JSC::StructureShape::propertyHash):
Source/WebCore:
- dom/TreeScope.cpp:
(WebCore::TreeScope::getElementById):
Source/WTF:
Now AtomicStringImpl table operations are located in AtomicString.
But they should be under AtomicStringImpl.
This patch simply moves these operations to AtomicStringImpl.
And this patch renames static AtomicString::find to static AtomicStringImpl::lookUp
because it conflicts with AtomicStringImpl's member function name.
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.vcxproj/copy-files.cmd:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/PlatformMac.cmake:
- wtf/PlatformWin.cmake:
- wtf/text/AtomicString.cpp:
(WTF::AtomicString::lower):
(WTF::AtomicString::convertToASCIILowercase):
(WTF::AtomicString::fromUTF8Internal):
(WTF::AtomicStringTableLocker::AtomicStringTableLocker): Deleted.
(WTF::stringTable): Deleted.
(WTF::addToStringTable): Deleted.
(WTF::CStringTranslator::hash): Deleted.
(WTF::CStringTranslator::equal): Deleted.
(WTF::CStringTranslator::translate): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::UCharBufferTranslator::hash): Deleted.
(WTF::UCharBufferTranslator::equal): Deleted.
(WTF::UCharBufferTranslator::translate): Deleted.
(WTF::HashAndCharactersTranslator::hash): Deleted.
(WTF::HashAndCharactersTranslator::equal): Deleted.
(WTF::HashAndCharactersTranslator::translate): Deleted.
(WTF::HashAndUTF8CharactersTranslator::hash): Deleted.
(WTF::HashAndUTF8CharactersTranslator::equal): Deleted.
(WTF::HashAndUTF8CharactersTranslator::translate): Deleted.
(WTF::SubstringTranslator::translate): Deleted.
(WTF::SubstringTranslator8::hash): Deleted.
(WTF::SubstringTranslator8::equal): Deleted.
(WTF::SubstringTranslator16::hash): Deleted.
(WTF::SubstringTranslator16::equal): Deleted.
(WTF::LCharBufferTranslator::hash): Deleted.
(WTF::LCharBufferTranslator::equal): Deleted.
(WTF::LCharBufferTranslator::translate): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::hash): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::equal): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::translate): Deleted.
(WTF::AtomicString::addFromLiteralData): Deleted.
(WTF::AtomicString::addSlowCase): Deleted.
(WTF::AtomicString::remove): Deleted.
(WTF::AtomicString::findSlowCase): Deleted.
(WTF::AtomicString::findInternal): Deleted.
(WTF::AtomicString::isInAtomicStringTable): Deleted.
- wtf/text/AtomicString.h:
(WTF::AtomicString::AtomicString):
(WTF::AtomicString::fromUTF8):
(WTF::AtomicString::find): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::AtomicString::addWithStringTableProvider): Deleted.
- wtf/text/AtomicStringImpl.cpp: Copied from Source/WTF/wtf/text/AtomicString.cpp.
(WTF::AtomicStringTableLocker::AtomicStringTableLocker):
(WTF::stringTable):
(WTF::addToStringTable):
(WTF::CStringTranslator::hash):
(WTF::CStringTranslator::equal):
(WTF::CStringTranslator::translate):
(WTF::AtomicStringImpl::add):
(WTF::UCharBufferTranslator::hash):
(WTF::UCharBufferTranslator::equal):
(WTF::UCharBufferTranslator::translate):
(WTF::HashAndCharactersTranslator::hash):
(WTF::HashAndCharactersTranslator::equal):
(WTF::HashAndCharactersTranslator::translate):
(WTF::HashAndUTF8CharactersTranslator::hash):
(WTF::HashAndUTF8CharactersTranslator::equal):
(WTF::HashAndUTF8CharactersTranslator::translate):
(WTF::SubstringTranslator::translate):
(WTF::SubstringTranslator8::hash):
(WTF::SubstringTranslator8::equal):
(WTF::SubstringTranslator16::hash):
(WTF::SubstringTranslator16::equal):
(WTF::LCharBufferTranslator::hash):
(WTF::LCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::translate):
(WTF::CharBufferFromLiteralDataTranslator::hash):
(WTF::CharBufferFromLiteralDataTranslator::equal):
(WTF::CharBufferFromLiteralDataTranslator::translate):
(WTF::AtomicStringImpl::addLiteral):
(WTF::AtomicStringImpl::addSlowCase):
(WTF::AtomicStringImpl::remove):
(WTF::AtomicStringImpl::lookUpSlowCase):
(WTF::AtomicStringImpl::addUTF8):
(WTF::AtomicStringImpl::lookUpInternal):
(WTF::AtomicStringImpl::isInAtomicStringTable):
- wtf/text/AtomicStringImpl.h:
(WTF::AtomicStringImpl::lookUp):
(WTF::AtomicStringImpl::add):
(WTF::AtomicStringImpl::addWithStringTableProvider):
(WTF::AtomicStringImpl::AtomicStringImpl): Deleted.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
- wtf/text/StringImpl.h:
- wtf/text/WTFString.h:
(WTF::String::String):
- wtf/text/cf/AtomicStringCF.cpp:
(WTF::AtomicString::add): Deleted.
- wtf/text/cf/AtomicStringImplCF.cpp: Renamed from Source/WTF/wtf/text/cf/AtomicStringCF.cpp.
(WTF::AtomicStringImpl::add):
Tools:
- TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):
- 8:34 PM Changeset in webkit [184611] by
-
- 7 edits in trunk/Source/WebCore
[iOS] Optimized fullscreen placeholder is incorrectly sized
https://bugs.webkit.org/show_bug.cgi?id=145196
rdar://problem/21031188
Reviewed by Dean Jackson.
Add a new media part UI for the placeholder text when entering optimized fullscreen,
and use it as part of the title text in the placeholder. Now the wireless playback status
div serves as a multi-purpose placeholder.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::mediaUIImageData): Return the placeholder text.
- Modules/mediacontrols/MediaControlsHost.idl: Add a new UI part for placeholder text.
- Modules/mediacontrols/mediaControlsApple.js: Add a new "optimized" ClassName when
the presentation mode is set to optimized.
- Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-wireless-playback-status): The text should be at
medium weight, not light weight.
(audio::-webkit-media-controls-wireless-playback-text-top): The title text should be
white for both wireless playback and optimized fullscreen. It matches the style
when taking a video fullscreen.
Add new CSS rules when the placard is used for optimized fullscreen.
(audio::-webkit-media-controls-wireless-playback-status.optimized): Accommodate the
size of the graphic, and position appropriately.
(audio::-webkit-media-controls-wireless-playback-text-top.optimized): One line is
needed, so use this one, and place it where the bottom one is since more room is
needed to accommodate the graphic.
(audio::-webkit-media-controls-wireless-playback-text-bottom.optimized): One line is
needed, so hide this one.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Several of the container divs are already
created in Controller.prototype.createControls(). Fly-by fix to avoid creation of
those divs. Only the panelContainer is new for the iOS controls. Fly-by fix of a
missing semicolon.
(ControllerIOS.prototype.handlePresentationModeChange): When the presentation mode
changes do several things:
1- Update the background image. Clear the inline background image when going back
to inline or in wireless playback.
2- Add the "optimized" ClassName to the placeholder container, and the two text
divs when entering optimized fullscreen. Remove them in other cases.
3- Set -webkit-media-controls-wireless-playback-text-top to the placeholder text.
This is better than embedding it inside the graphic. Clear the -bottom text.
- platform/ios/WebCoreSystemInterfaceIOS.h: Add a new enum to obtain the placeholder
text.
- 7:46 PM Changeset in webkit [184610] by
-
- 6 edits2 deletes in trunk/Source/WebCore
[EFL] Use GSimpleProxyResolver instead of custom SoupProxyResolver
https://bugs.webkit.org/show_bug.cgi?id=145154
Reviewed by Gyuyoung Kim.
SoupProxyResolver was deprecated since libsoup 2.42.
So, this patch refactors the custom SoupProxyResolver to GSimpleProxyResolver
which provides same functionality in gio.
No new tests, because there is not behavior change.
- PlatformEfl.cmake:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- platform/network/soup/ProxyResolverSoup.cpp: Removed.
- platform/network/soup/ProxyResolverSoup.h: Removed.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::setHTTPProxy): Moved to private member.
(WebCore::SoupNetworkSession::httpProxy): Deleted because nobody calls it.
- platform/network/soup/SoupNetworkSession.h:
- 6:48 PM Changeset in webkit [184609] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r184595.
https://bugs.webkit.org/show_bug.cgi?id=145197
Introduced a crash in 15 layout tests on Mavericks on #webkit
(Requested by rniwa on #webkit).
Reverted changeset:
"Media Controls stop updating after hovering for a few
seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184595
- 6:19 PM Changeset in webkit [184608] by
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 6:19 PM Changeset in webkit [184607] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184589. <rdar://problem/21009192>
- 6:13 PM Changeset in webkit [184606] by
-
- 1 copy in tags/Safari-601.1.32.3
New Tag.
- 6:01 PM Changeset in webkit [184605] by
-
- 4 edits in trunk/Source
REGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
https://bugs.webkit.org/show_bug.cgi?id=145156
Reviewed by Alex Christensen.
Source/ThirdParty/ANGLE:
- include/GLES2/gl2softlinking.h: Revert r181589. Vertex Array Objects are not in GLESv2.
Source/WebCore:
No new tests, no behavior changes.
Vertex Array Objects are not available in OpenGLESv2.
Add guards to avoid using this when building with GLESv2.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::createVertexArray):
(WebCore::GraphicsContext3D::deleteVertexArray):
(WebCore::GraphicsContext3D::isVertexArray):
(WebCore::GraphicsContext3D::bindVertexArray):
- 5:57 PM Changeset in webkit [184604] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r179010. rdar://problem/21008308
- 5:55 PM Changeset in webkit [184603] by
-
- 7 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r183788. rdar://problem/21008265
- 5:35 PM Changeset in webkit [184602] by
-
- 6 edits in trunk
Web Inspector: Improve Preview for NodeList / array like collections
https://bugs.webkit.org/show_bug.cgi?id=145177
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-19
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
For "array" like object previews skip over non-index properties.
We are not marking the object as lossless by choice, but we
may return to this decision later.
Source/WebInspectorUI:
- UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendPreview):
Show the class name for a non-basic-Array, but still hide
it for a basic Array.
LayoutTests:
- inspector/model/remote-object-expected.txt:
- 4:59 PM Changeset in webkit [184601] by
-
- 2 edits in trunk/Source/WebCore
Upper half of volume control should be filled, not hollow.
https://bugs.webkit.org/show_bug.cgi?id=145187.
<rdar://problem/21021970>
Reviewed by Dean Jackson.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawVolumeBackground):
- 4:09 PM Changeset in webkit [184600] by
-
- 8 edits in trunk/Source
REGRESSION(183787): JIT is enabled for all builds
https://bugs.webkit.org/show_bug.cgi?id=145179
Reviewed by Geoffrey Garen.
Eliminated the setting of ENABLE_JIT, as wtf/Platform.h has appropriate logic to
set it depending on OS and CPU type.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Only changed the way build options are initialized.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- 3:52 PM Changeset in webkit [184599] by
-
- 5 edits in trunk
[Mac] Font lookups are flakey due to caching
https://bugs.webkit.org/show_bug.cgi?id=145180
<rdar://problem/21012406>
Reviewed by Darin Adler.
Source/WebCore:
Font lookups were flakey on Mac due to the cache in fontWithFamily().
The reason is that the "desired family" to "available family" mapping
is sometimes dependent on the desired traits. However, our cache was
only using the "desired family" as key.
This patch now uses a std::pair as key containing both the "desired
family" and the "desired traits" for correctness. I also updated the
cache to use WTF types instead of NS types.
Test: platform/mac/fast/text/font-weights.html
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::desiredFamilyToAvailableFamilyMap):
(WebCore::hasDesiredFamilyToAvailableFamilyMapping):
(WebCore::rememberDesiredFamilyToAvailableFamilyMapping):
(WebCore::fontWithFamily):
(WebCore::invalidateFontCache):
(WebCore::desiredFamilyToAvailableFamilyDictionary): Deleted.
LayoutTests:
- platform/mac/TestExpectations:
Unskip platform/mac/fast/text/font-weights.html as it is no longer
flakey after this change.
- platform/mac/fast/text/font-weights-expected.txt:
Rebaseline the test as the expected results were those based on the
bad caching behavior.
- 3:22 PM Changeset in webkit [184598] by
-
- 13 edits4 adds in trunk
X-Frame-Options headers not respected when loading from application cache.
<rdar://problem/14877623> and https://bugs.webkit.org/show_bug.cgi?id=131800
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: http/tests/appcache/x-frame-options-prevents-framing.php
This patch updates SubstituteData to hold on to a ResourceResponse instead of just a URL.
It also updates all users of SubstituteData to reflect this.
Finally it updates ApplicationCacheHost to put the full response (including x-frame-options header)
in the SubstituteData so they can be checked at the appropriate times.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::responseReceived): Update an ASSERT to reflect that it's okay to not have
a main resource as long as you have a substitute identifier for it.
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::contentFilterDidDecide):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::defaultSubstituteDataForURL):
- loader/SubstituteData.h:
(WebCore::SubstituteData::SubstituteData):
(WebCore::SubstituteData::shouldRevealToSessionHistory):
(WebCore::SubstituteData::mimeType):
(WebCore::SubstituteData::textEncoding):
(WebCore::SubstituteData::response):
(WebCore::SubstituteData::responseURL): Deleted.
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResource): Put the full ResourceResponse here, which
includes x-frame-options headers sent back when the resources was initially loaded from the network.
- platform/network/ResourceResponseBase.h:
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
Source/WebKit/win:
- WebFrame.cpp:
(WebFrame::loadData):
Source/WebKit2:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):
LayoutTests:
- http/tests/appcache/resources/x-frame-options-prevents-framing-test.html: Added.
- http/tests/appcache/resources/x-frame-options-prevents-framing.manifest: Added.
- http/tests/appcache/x-frame-options-prevents-framing-expected.txt: Added.
- http/tests/appcache/x-frame-options-prevents-framing.php: Added.
- 3:10 PM Changeset in webkit [184597] by
-
- 2 edits in trunk/Source/WebKit2
Add PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
https://bugs.webkit.org/show_bug.cgi?id=145173
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-19
Reviewed by Anders Carlsson.
WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h is meaningful only for Mac.
So we need to add PLUGIN_ARCHITECTURE(MAC) around it.
- WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
- 2:58 PM Changeset in webkit [184596] by
-
- 19 edits in trunk/Source
REGRESSION(142590): Part 2: Scroll-snap points are improperly snapping to earlier index values (Scrolling Thread)
https://bugs.webkit.org/show_bug.cgi?id=145175
<rdar://problem/21023785>
Reviewed by Beth Dakin.
Source/WebCore:
Extend the main-thread scrolling changes done in Bug 145140 to also handle Scrolling Thread snapping.
The post-layout fixup (needed to handle window resize and device orientation changes) should not fire
while Scrolling Thread scroll-snap animations are running, since these animations will most likely
move the scroll view into the proper position. If we attempt to 'fix up' the scroll position before
these animations finish, we get an ugly 'jump' in the display.
- page/FrameView.cpp:
(WebCore::FrameView::isScrollSnapInProgress): New method based on isRubberBandInProgress, which considers
both the ScrollAnimator (main thread) scrolling, as well as the ScrollingCoordinator (Scrolling Thread)
scrolling operations. Returns true if a scroll-snap animation is still active.
- page/FrameView.h:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::isScrollSnapInProgress): Added. Returns scrolling tree's
'isScrollSnapInProgress' state.
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::isScrollSnapInProgress): Added default 'false' stub.
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree): Use modern C++11 initializers.
(WebCore::ScrollingTree::isScrollSnapInProgress): Added.
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping): Added.
- page/scrolling/ScrollingTree.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): Update scrolling tree state to match the
ScrollController's scroll-snap state.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startScrollSnapTimer): Added. When starting a scroll snap timer,
always set the scrolling tree scroll-snapping state to true.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopScrollSnapTimer): Added. When ending a scroll snap timer,
only set the scrolling tree scroll-snapping state to false if the other axis animator is inactive.
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::updateScrollSnapState): Revise implementation to use its 'isScrollSnapInProgress'
method, rather than only looking at the ScrollAnimator (main thread) state.
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::isScrollSnapInProgress): Added.
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::hasActiveScrollSnapTimerForAxis): Added. Reports if the scroll snap animation
timer on the requested axis is running or not.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isScrollSnapInProgress): Added.
- rendering/RenderLayer.h:
Source/WebKit2:
Add a stub implementation of isScrollSnapInProgress to match ScrollingCoordinator signature.
- WebProcess/Scrolling/RemoteScrollingCoordinator.h:
- WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::isScrollSnapInProgress): Added stub.
- 2:52 PM Changeset in webkit [184595] by
-
- 3 edits in trunk/Source/WebCore
Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>
Reviewed by Jer Noble.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.
Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):
Override methods to use add and remove panelContainer for iOS.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):
- 2:49 PM Changeset in webkit [184594] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix. Don't fall into an infinite loop when value (renamed from bytes) is zero.
- public/v2/manifest.js:
(App.Manifest.Ember.Controller.extend.):
(App.Manifest.Ember.Controller.extend):
- 2:46 PM Changeset in webkit [184593] by
-
- 2 edits in tags/Safari-601.1.32.2.3/Source/WebCore
Merged r184406.
- 2:45 PM Changeset in webkit [184592] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore
Merged r184406.
- 2:39 PM Changeset in webkit [184591] by
-
- 6 edits in trunk/Websites/perf.webkit.org
Don't show unit (bytes) separaetly from SI suffixes (K, M, etc...)
https://bugs.webkit.org/show_bug.cgi?id=145181
Rubber-stamped by Chris Dumez.
Show 'MB' in each y-axis label instead of showing 'bytes' separately and suffixing each label with just 'M'
for clarity. This change also reduces the code complexity.
- public/index.html:
- public/v2/app.js:
(App.AnalysisTaskController._chartDataChanged):
(App.TestGroupPane._createConfigurationSummary):
- public/v2/data.js:
(RunsData.unitFromMetricName): Use 'B' instead of 'bytes' as the unit.
- public/v2/interactive-chart.js: Removed the support for showing units separately.
(App.InteractiveChartComponent._constructGraphIfPossible):
(App.InteractiveChartComponent._relayoutDataAndAxes)
- public/v2/manifest.js:
(App.Manifest._makeFormatter): Renamed from _formatBytes. Support more SI suffixes such as micro and mili.
Now takes the unit as the first argument. Adjust the base unit if it's 'ms'.
(App.Manifest._formatFetchedData): Removed unit and formatWithUnit now that all all formatters would
automatically include unit.
- 2:37 PM Changeset in webkit [184590] by
-
- 3 edits in trunk/Tools
Add alternate menu items for performing operations on the default data store
https://bugs.webkit.org/show_bug.cgi?id=145184
Reviewed by Sam Weinig.
This makes it possible to test WKWebsiteDataStore code paths when there are no live web views
associated with a data store.
- MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate fetchDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate fetchAndClearDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate clearDefaultStoreWebsiteData:]):
- MiniBrowser/mac/MainMenu.xib:
- 2:27 PM Changeset in webkit [184589] by
-
- 2 edits in trunk/Source/WebCore
Scroll-snap animations should not start on axes with zero-delta
https://bugs.webkit.org/show_bug.cgi?id=145148
Reviewed by Dean Jackson.
Don't begin a scroll snap animation on an axis that had no change in position (on that axis)
during the gesture.
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Don't begin a scroll snap
animation if no movement on this axis was ever made.
- 2:12 PM Changeset in webkit [184588] by
-
- 4 edits in trunk
AudioContext should resolve promises with jsUndefined() and not jsNull()
https://bugs.webkit.org/show_bug.cgi?id=145063
Reviewed by Sam Weinig.
Source/WebCore:
Covered by updated test.
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::resolve): resolving std::nullptr_t as jsUndefined() and not jsNull()
LayoutTests:
- webaudio/audiocontext-state.html: Added check of promise resolve value.
- 1:53 PM Changeset in webkit [184587] by
-
- 10 edits54 adds4 deletes in trunk/LayoutTests
iOS gardening. Update "fast" image and text results, delete wk2-only results.
Rubber-stamped by Brent Fulgham.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator-wk2/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt: Removed.
- platform/ios-simulator-wk2/fast/forms/search-vertical-alignment-expected.txt: Removed.
- platform/ios-simulator-wk2/fast/forms/searchfield-heights-expected.txt: Removed.
- platform/ios-simulator-wk2/fast/gradients/list-item-gradient-expected.txt: Removed.
- platform/ios-simulator/TestExpectations:
- platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt: Added.
- platform/ios-simulator/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
- platform/ios-simulator/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
- platform/ios-simulator/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
- platform/ios-simulator/fast/block/basic/001-expected.png: Added.
- platform/ios-simulator/fast/block/margin-collapse/001-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/001-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/002-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/003-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/004-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/005-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/006-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/007-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/008-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/009-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/010-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/011-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/012-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/013-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/014-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/015-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/016-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/017-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/018-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/019-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/020-expected.png: Added.
- platform/ios-simulator/fast/block/positioning/021-expected.png: Added.
- platform/ios-simulator/fast/css/font-weight-1-expected.png: Added.
- platform/ios-simulator/fast/css/font-weight-1-expected.txt:
- platform/ios-simulator/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
- platform/ios-simulator/fast/css/text-overflow-ellipsis-bidi-expected.txt:
- platform/ios-simulator/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt:
- platform/ios-simulator/fast/forms/box-shadow-override-expected.png: Added.
- platform/ios-simulator/fast/forms/button-align-expected.png: Added.
- platform/ios-simulator/fast/forms/input-auto-fill-button-expected.png: Added.
- platform/ios-simulator/fast/forms/input-auto-fill-button-expected.txt: Added.
- platform/ios-simulator/fast/forms/input-spaces-expected.png: Added.
- platform/ios-simulator/fast/forms/input-table-expected.png: Added.
- platform/ios-simulator/fast/forms/input-text-click-inside-expected.png: Added.
- platform/ios-simulator/fast/forms/input-text-click-outside-expected.png: Added.
- platform/ios-simulator/fast/forms/input-text-double-click-expected.png: Added.
- platform/ios-simulator/fast/forms/input-text-drag-down-expected.png: Added.
- platform/ios-simulator/fast/forms/listbox-hit-test-zoomed-expected.png: Added.
- platform/ios-simulator/fast/forms/listbox-hit-test-zoomed-expected.txt:
- platform/ios-simulator/fast/forms/option-index-expected.png: Added.
- platform/ios-simulator/fast/forms/search-vertical-alignment-expected.png: Added.
- platform/ios-simulator/fast/forms/search-vertical-alignment-expected.txt:
- platform/ios-simulator/fast/forms/searchfield-heights-expected.png: Added.
- platform/ios-simulator/fast/forms/searchfield-heights-expected.txt:
- platform/ios-simulator/fast/forms/textarea-placeholder-pseudo-style-expected.png: Added.
- platform/ios-simulator/fast/frames/calculate-fixed-expected.png: Added.
- platform/ios-simulator/fast/frames/calculate-order-expected.png: Added.
- platform/ios-simulator/fast/frames/calculate-percentage-expected.png: Added.
- platform/ios-simulator/fast/frames/calculate-relative-expected.png: Added.
- platform/ios-simulator/fast/frames/calculate-round-expected.png: Added.
- platform/ios-simulator/fast/frames/content-opacity-1-expected.png: Added.
- platform/ios-simulator/fast/frames/content-opacity-2-expected.png: Added.
- platform/ios-simulator/fast/gradients/list-item-gradient-expected.png: Added.
- platform/ios-simulator/fast/gradients/list-item-gradient-expected.txt:
- platform/ios-simulator/fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
- platform/ios-simulator/fast/images/animated-gif-with-offsets-expected.png: Added.
- 1:07 PM Changeset in webkit [184586] by
-
- 5 edits in trunk/Source/JavaScriptCore
Rename createIterResultObject as createIteratorResultObject
https://bugs.webkit.org/show_bug.cgi?id=145116
Reviewed by Darin Adler.
Renamed createIterResultObject as createIteratorResultObject.
Made this function exportable for future use by streams API.
- runtime/IteratorOperations.cpp:
(JSC::createIteratorResultObject):
- runtime/IteratorOperations.h:
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- 1:02 PM Changeset in webkit [184585] by
-
- 7 edits in trunk/Source/WebCore
[Streams API] Migrate closed promise handling from ReadableStreamReader to ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=145110
Reviewed by Darin Adler.
Reader is now just checking whether it is the reader locking the stream or not.
If not and stream is readable, it resolves the closed promise.
Otherwise, it delegates the promise handling to its stream.
No change in behavior.
- Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::cleanCallbacks): Cleaning of closed callbacks.
(WebCore::ReadableStream::changeStateToClosed): Resolving closed promise if set.
(WebCore::ReadableStream::changeStateToErrored): Rejecting closed promise if set.
(WebCore::ReadableStream::getReader): Removed reader state notification.
(WebCore::ReadableStream::closed): Moved from reader to stream.
- Modules/streams/ReadableStream.h:
(WebCore::ReadableStream::reader): Added to allow reader to check whether it is locking its stream or not.
(WebCore::ReadableStream::isReadable): Added as an improvement over internalState which is removed.
(WebCore::ReadableStream::internalState): Deleted.
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::closed):
- Modules/streams/ReadableStreamReader.h: Removed state and closed promise callbacks.
- bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close): Refactoring of internalState to isReadable.
(WebCore::JSReadableStreamController::error): Ditto.
- bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Refactoring to have the promise value as callback parameter.
- 12:59 PM Changeset in webkit [184584] by
-
- 3 edits in trunk/Source/WebCore
Remove use of deprecated AVKit SPI cancelOptimizedFullscreen.
https://bugs.webkit.org/show_bug.cgi?id=145159
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-19
Reviewed by Eric Carlson.
Remove cancelOptimizedFullscreen, and use stopOptimizedFullscreen instead.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal):
- platform/spi/cocoa/AVKitSPI.h: remove declaration.
- 12:56 PM Changeset in webkit [184583] by
-
- 2 edits in trunk/Source/WebKit2
WebVideoFullscreenManagerProxy has incorrect OS_VERSION_MIN_REQUIRED conditionals.
https://bugs.webkit.org/show_bug.cgi?id=145158
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-19
Reviewed by Eric Carlson.
- UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
- 12:51 PM Changeset in webkit [184582] by
-
- 23 edits1 copy in trunk
Array.prototype methods must use ToLength
https://bugs.webkit.org/show_bug.cgi?id=144128
Reviewed by Oliver Hunt.
Source/JavaScriptCore:
Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
This patch introduces ToLength and ToInteger JS implementation to encourage the DFG/FTL's inlining.
These implementations are located in GlobalObject.js.
And set to the JSGlobalObject with the private symbols @ToLength and @ToInteger manually.
- builtins/Array.prototype.js:
(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):
- builtins/ArrayConstructor.js:
(from):
- builtins/GlobalObject.js: Copied from Source/JavaScriptCore/builtins/StringConstructor.js.
(ToInteger):
(ToLength):
- builtins/StringConstructor.js:
(raw):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObjectFunctions.h:
LayoutTests:
- fast/profiler/built-in-function-calls-anonymous-expected.txt:
- fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
- js/array-every-expected.txt:
- js/array-fill-expected.txt:
- js/array-filter-expected.txt:
- js/array-find-expected.txt:
- js/array-findIndex-expected.txt:
- js/array-functions-non-arrays-expected.txt:
- js/array-includes-expected.txt:
- js/script-tests/array-every.js:
(throwError):
- js/script-tests/array-fill.js:
(throwError):
- js/script-tests/array-filter.js:
(throwError):
- js/script-tests/array-find.js:
(throwError):
- js/script-tests/array-findIndex.js:
(toObject):
(throwError):
- js/script-tests/array-functions-non-arrays.js:
(throwError):
- js/script-tests/array-includes.js:
- 12:31 PM Changeset in webkit [184581] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix the build of a universal binary with ARMv7k of JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=145143
Reviewed by Geoffrey Garen.
The offlineasm works in 3 phases:
Phase 1:
Parse the llint asm files for config options and desired offsets.
Let's say the offlineasm discovers C unique options and O unique offsets.
The offlineasm will then generate a LLIntDesiredOffsets.h file with
C x C build configurations, each with a set of O offsets.
Each of these build configurations is given a unique configuration index number.
Phase 2:
Compile the LLIntDesiredOffsets.h file into a JSCLLIntOffsetsExtractor binary.
If we're building a fat binary with 2 configurations: armv7, and armv7k,
then the fat binary will contain 2 blobs of offsets, one for each of these
build configurations.
Phase 3:
Parse the llint asm files and emit asm code using the offsets that are
extracted from the JSCLLIntOffsetsExtractor binary for the corresponding
configuration index number.
In the pre-existing code, there are no "if ARMv7k" statements in the llint asm
source. As a result, OFFLINE_ASM_ARMv7k is not one of the config options in
the set of C unique options.
For armv7k builds, OFFLINE_ASM_ARMv7 is also true. As a result, for an armv7k
target, we will end up building armv7 source. In general, this is fine except:
- armv7k has different alignment requirements from armv7. Hence, their offset values (in JSCLLIntOffsetsExtractor) will be different.
- The offlineasm was never told that it needed to make a different configuration for armv7k builds. Hence, the armv7k build of LLIntDesiredOffsets.h will build the armv7 configuration, and consequently, the armv7k blob of offsets in JSCLLIntOffsetsExtractor will have the same configuration index number as the armv7 blob of offsets.
In phase 3, when the offlineasm parses the JSCLLIntOffsetsExtractor fat binary
looking for the armv7 build's configuration index number, it discovers the
armv7k blob which has the same configuration number. As a result, it
erroneously thinks the armv7k offsets are appropriate for emitting armv7 code.
Needless to say, armv7 code using armv7k offsets will lead to incorrect behavior
and all round badness.
The fix is to add a simple "if ARMv7k" statement to the llint asm files. While
the if statement has no body, it does make the offlineasm aware of the need for
ARMv7k as a configuration option. As a result, it will generate an armv7k
variant configuration in the LLIntDesiredOffsets.h file with its own unique
configuration index number. With that, the JSCLLIntOffsetsExtractor fat binary
will no longer have duplicate configuration index numbers for the armv7 and
armv7k blobs of offsets, and the issue is resolved.
- llint/LLIntOfflineAsmConfig.h:
- llint/LowLevelInterpreter.asm:
- 12:24 PM Changeset in webkit [184580] by
-
- 3 edits in branches/safari-600.7-branch/Source/JavaScriptCore
Merge patch for r182827. rdar://problem/20977128.
- 11:15 AM Changeset in webkit [184579] by
-
- 1 copy in tags/Safari-601.1.32.2.3
New Tag.
- 11:13 AM Changeset in webkit [184578] by
-
- 5 edits in branches/safari-601.1.32.2-branch/Source
Versioning.
- 10:49 AM Changeset in webkit [184577] by
-
- 3 edits2 adds in trunk
Merged anonymous blocks should invalidate simple line layout path.
https://bugs.webkit.org/show_bug.cgi?id=145104
rdar://problem/20980930
Reviewed by Antti Koivisto.
When anonymous blocks are merged together, it's not guaranteed that the final block can use simple line layout.
This patch ensures that the flow block, where the other block's content gets moved to, is no longer on simple line layout path.
Whether the final flow block ends up using inline boxes or simple line layout will be determined during the next layout.
Source/WebCore:
Test: fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::insertChildInternal):
LayoutTests:
- fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout-expected.txt: Added.
- fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html: Added.
- 10:26 AM Changeset in webkit [184576] by
-
- 2 edits in trunk/Source/WebCore
Crash in WebCore::RenderLayer::updateScrollbarsAfterLayout
https://bugs.webkit.org/show_bug.cgi?id=145142
Reviewed by Simon Fraser.
I have not been able to reproduce this crash, but according to symbolication
m_vBar is null. It seems like this crash was probably caused by
http://trac.webkit.org/changeset/173668 which made it so that overflow:scroll
behaves like overflow:auto when the scrollbars are overlay. I can see how you
could encounter this crash with that change if the layout caused
styleRequiresScrollbar() to return true when it used to return false. Then this
code, by failing to null-check the scrollbars, assumes that
styleRequiresScrollbar() could not have changed based on a layout. But it could
change if the css changed the scrollbars to be custom or if the user managed
switch to legacy style scrollbars at just the wrong time. Or I suppose it could
also happen if the user has legacy scrollbars and the style switched from auto to
scroll during the layout.
Anyway, we should null-check the scrollbars. This is a speculative fix.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
- 10:06 AM Changeset in webkit [184575] by
-
- 7 edits in trunk/Source/JavaScriptCore
Give JSString a StringView getter and start using it.
<https://webkit.org/b/145131>
Reviewed by Anders Carlsson.
When JSString is a substring internally, calling value(ExecState*) on it
will reify the baseString/start/length tuple into a new StringImpl.
For clients that only want to look at the characters of a JSString, but
don't actually need a reffable StringImpl, adding a light-weight StringView
getter lets them avoid constructing anything.
This patch adds JSString::view(ExecState*) and uses it in a few places.
There are many more opportunities to use this API, but let's do a few things
at a time.
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::decode):
(JSC::parseInt):
(JSC::jsToNumber):
(JSC::parseFloat):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape):
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSONObject.cpp:
(JSC::JSONProtoFuncParse):
- runtime/JSString.cpp:
(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):
- runtime/JSString.h:
(JSC::JSRopeString::view):
(JSC::JSString::view):
- 9:46 AM Changeset in webkit [184574] by
-
- 7 edits in branches/safari-601.1.32.2-branch/Source/WebCore
Merge r184513. rdar://problem/21006738
- 9:46 AM Changeset in webkit [184573] by
-
- 3 edits3 adds in branches/safari-601.1.32.2-branch
Merge r184510. rdar://problem/21004989
- 9:46 AM Changeset in webkit [184572] by
-
- 4 edits in branches/safari-601.1.32.2-branch/Source/WebKit2
Merge r184439. rdar://problem/20975978
- 9:46 AM Changeset in webkit [184571] by
-
- 5 edits in branches/safari-601.1.32.2-branch
Merge r183912. rdar://problem/20926150
- 9:46 AM Changeset in webkit [184570] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore
Merge r184433. rdar://problem/20877518
- 9:46 AM Changeset in webkit [184569] by
-
- 4 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184542. rdar://problem/20679710
- 9:46 AM Changeset in webkit [184568] by
-
- 4 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184540. rdar://problem/20679710
- 9:37 AM Changeset in webkit [184567] by
-
- 5 edits in trunk/Source
[SOUP] Use st_birthtime to get creation time of files on systems support it
https://bugs.webkit.org/show_bug.cgi?id=144989
Patch by Ting-Wei Lan <Ting-Wei Lan> on 2015-05-19
Reviewed by Carlos Garcia Campos.
Source/WebKit2:
FreeBSD and NetBSD have either st_birthtime field or compatiblity macro
with the same name in stat. It is better to use it instead of manually
setting xattr, which is unreliable because both operating systems and
file systems support are required.
- NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
(WebKit::NetworkCache::fileTimes):
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::IOChannel::IOChannel):
Source/WTF:
Define HAVE(STAT_BIRTHTIME) as 1 on operating systems supporting
getting creation time of files using st_birthtime in stat.
- wtf/Platform.h:
- 9:29 AM Changeset in webkit [184566] by
-
- 11 edits in trunk/Source/WebCore
Use modern for-loops in WebCore/xml.
https://bugs.webkit.org/show_bug.cgi?id=145046
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-19
Reviewed by Chris Dumez.
No new tests, no new tests.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
- xml/XPathExpressionNode.cpp:
(WebCore::XPath::Expression::setSubexpressions):
- xml/XPathFunctions.cpp:
(WebCore::XPath::FunSum::evaluate):
(WebCore::XPath::populateFunctionMap):
- xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
- xml/XPathParser.cpp:
(WebCore::XPath::populateAxisNamesMap):
- xml/XPathPath.cpp:
(WebCore::XPath::Filter::evaluate):
(WebCore::XPath::LocationPath::evaluate):
- xml/XPathPredicate.cpp:
(WebCore::XPath::EqTestOp::compare):
(WebCore::XPath::Union::evaluate):
- xml/XPathStep.cpp:
(WebCore::XPath::Step::optimize):
(WebCore::XPath::Step::predicatesAreContextListInsensitive):
(WebCore::XPath::Step::evaluate):
(WebCore::XPath::nodeMatches):
- xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::isLoading):
(WebCore::XSLStyleSheet::clearDocuments):
(WebCore::XSLStyleSheet::locateStylesheetSubResource):
- xml/XSLTProcessorLibxslt.cpp:
(WebCore::xsltParamArrayFromParameterMap):
- 9:26 AM Changeset in webkit [184565] by
-
- 2 edits in trunk/Source/WebCore
Improve text rendering of placeholder
https://bugs.webkit.org/show_bug.cgi?id=145135
Reviewed by Eric Carlson.
- Modules/mediacontrols/mediaControlsApple.css: The <p> elements of the wireless playback
text are being popped out into separate layers, causing the text to render antialiased, which
looks bad on non-retina machines. Explicitly set the background color (which is ok since the
container element for the placeholder is also black). Also extend the height out 1pt to prevent
clipping of descenders.
(audio::-webkit-media-controls-wireless-playback-text-top): Set background color to black and add
1 to the height.
(audio::-webkit-media-controls-wireless-playback-text-bottom): Ditto.
- 9:24 AM Changeset in webkit [184564] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Current time display should be right-aligned
https://bugs.webkit.org/show_bug.cgi?id=145163
rdar://problem/21014339
Reviewed by Eric Carlson.
- Modules/mediacontrols/mediaControlsiOS.css: Use flex-start and flex-end
instead of right and left, similar to the Mac controls.
(video::-webkit-media-controls-current-time-display):
(video::-webkit-media-controls-time-remaining-display):
- 9:09 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:48 AM Changeset in webkit [184563] by
-
- 3 edits2 adds in trunk
AX: Select text mechanism returns results outside of text control regions
https://bugs.webkit.org/show_bug.cgi?id=145041
Reviewed by Mario Sanchez Prada.
Source/WebCore:
The behavior of the select text mechanism (inside accessibility) should make sure that results
returned stay within text control elements if the search was initiated inside a text control element.
Test: platform/mac/accessibility/select-text-stays-inside-text-controls.html
- accessibility/AccessibilityObject.cpp:
(WebCore::rangeClosestToRange):
(WebCore::AccessibilityObject::selectText):
LayoutTests:
- platform/mac/accessibility/select-text-stays-inside-text-controls-expected.txt: Added.
- platform/mac/accessibility/select-text-stays-inside-text-controls.html: Added.
- 8:10 AM Changeset in webkit [184562] by
-
- 10 edits in branches/safari-601.1.32-branch/Source
Merge custom patch. rdar://problem/20950052
- 6:26 AM Changeset in webkit [184561] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening 19th May
https://bugs.webkit.org/show_bug.cgi?id=145166
Unreviewed.
Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-19
- platform/gtk/TestExpectations:
- 6:22 AM Changeset in webkit [184560] by
-
- 3 edits316 adds155 deletes in trunk/LayoutTests
iOS gardening. Update "editing" image and text results, delete wk2-only results.
Rubber-stamped by Brent Fulgham.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator-wk2/editing/deleting/delete-3775172-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-3857753-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-3865854-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-3928305-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-4083333-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-and-undo-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-contents-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-004-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-005-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-006-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-007-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-008-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-009-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-010-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-011-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-012-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-013-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-014-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-015-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-016-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-017-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-018-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-019-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-020-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-021-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-022-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-023-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-024-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-br-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-br-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-br-007-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-br-008-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-br-010-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-character-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-contiguous-ws-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-first-list-item-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-hr-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-image-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-image-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-image-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-004-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-005-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-006-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-007-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-008-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-009-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-010-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-012-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-013-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-014-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-015-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-016-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-line-017-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-listitem-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-listitem-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-selection-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-tab-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-tab-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-to-select-table-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-trailing-ws-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-trailing-ws-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-004-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/forward-delete-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/list-item-1-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/merge-different-styles-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/merge-endOfParagraph-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/merge-no-br-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/merge-unrendered-space-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/non-smart-delete-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/pruning-after-merge-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/smart-delete-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/deleting/table-cells-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/4641880-1-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/4641880-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/create-list-with-hr-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/indent-empty-root-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/indent-list-item-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/indent-selection-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/insert-list-and-stitch-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/insertHorizontalRule-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/insertImage-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/nsresponder-indent-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/nsresponder-outdent-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/print-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/execCommand/remove-list-from-range-selection-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/pasteboard/4989774-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/3690703-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/3690703-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/3690719-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/4397952-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/4889598-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/4932260-1-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/4932260-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/4932260-3-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/4947387-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/5195166-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/7152-1-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/7152-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/after-line-wrap-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/focus_editable_html-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/iframe-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/image-before-linebreak-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/inline-table-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/leave-requested-block-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/mixed-editability-10-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/mixed-editability-3-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/mixed-editability-4-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/mixed-editability-5-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/mixed-editability-8-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/mixed-editability-9-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-3875618-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-3875641-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-backwords-by-word-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-between-blocks-no-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-between-blocks-yes-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-character-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-character-002-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-character-003-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-character-004-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-character-005-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-character-6-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-by-sentence-001-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/move-past-trailing-space-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/previous-line-position-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/replaced-boundaries-1-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/replaced-boundaries-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/replaced-boundaries-3-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/select-all-005-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/select-all-006-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/select-box-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/select-element-paragraph-boundary-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/selection-3748164-fix-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/table-caret-1-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/table-caret-2-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/table-caret-3-expected.txt: Removed.
- platform/ios-simulator-wk2/editing/selection/unrendered-space-expected.txt: Removed.
- platform/ios-simulator/editing/deleting/delete-3608462-fix-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-3608462-fix-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-3775172-fix-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-3857753-fix-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-3857753-fix-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-3865854-fix-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-3865854-fix-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-3928305-fix-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-3928305-fix-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-4083333-fix-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-4083333-fix-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-and-undo-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-and-undo-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-004-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-005-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-006-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-007-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-008-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-009-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-010-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-011-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-contents-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-contents-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-004-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-004-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-005-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-005-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-006-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-006-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-007-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-007-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-008-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-008-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-009-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-009-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-010-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-010-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-011-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-011-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-012-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-012-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-013-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-013-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-014-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-014-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-015-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-015-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-016-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-016-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-017-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-017-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-018-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-018-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-019-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-019-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-020-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-020-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-021-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-021-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-022-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-022-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-023-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-023-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-024-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-block-merge-contents-024-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-br-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-br-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-br-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-br-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-br-007-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-br-007-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-br-008-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-br-008-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-br-010-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-br-010-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-character-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-character-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-contiguous-ws-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-contiguous-ws-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-first-list-item-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-first-list-item-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-hr-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-hr-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-image-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-image-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-image-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-image-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-image-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-image-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-004-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-004-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-005-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-005-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-006-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-006-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-007-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-007-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-008-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-008-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-009-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-009-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-010-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-010-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-012-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-012-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-013-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-013-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-014-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-014-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-015-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-015-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-016-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-016-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-line-017-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-line-017-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-listitem-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-listitem-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-listitem-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-listitem-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-selection-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-selection-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-tab-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-tab-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-tab-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-tab-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-to-select-table-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-to-select-table-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-trailing-ws-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-trailing-ws-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-trailing-ws-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-trailing-ws-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-002-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-002-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-003-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-003-expected.txt: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-004-expected.png: Added.
- platform/ios-simulator/editing/deleting/delete-ws-fixup-004-expected.txt: Added.
- platform/ios-simulator/editing/deleting/forward-delete-expected.png: Added.
- platform/ios-simulator/editing/deleting/forward-delete-expected.txt: Added.
- platform/ios-simulator/editing/deleting/list-item-1-expected.png: Added.
- platform/ios-simulator/editing/deleting/list-item-1-expected.txt: Added.
- platform/ios-simulator/editing/deleting/merge-different-styles-expected.png: Added.
- platform/ios-simulator/editing/deleting/merge-different-styles-expected.txt: Added.
- platform/ios-simulator/editing/deleting/merge-endOfParagraph-expected.png: Added.
- platform/ios-simulator/editing/deleting/merge-endOfParagraph-expected.txt: Added.
- platform/ios-simulator/editing/deleting/merge-no-br-expected.png: Added.
- platform/ios-simulator/editing/deleting/merge-no-br-expected.txt: Added.
- platform/ios-simulator/editing/deleting/merge-unrendered-space-expected.png: Added.
- platform/ios-simulator/editing/deleting/merge-unrendered-space-expected.txt: Added.
- platform/ios-simulator/editing/deleting/non-smart-delete-expected.png: Added.
- platform/ios-simulator/editing/deleting/non-smart-delete-expected.txt: Added.
- platform/ios-simulator/editing/deleting/pruning-after-merge-2-expected.png: Added.
- platform/ios-simulator/editing/deleting/pruning-after-merge-2-expected.txt: Added.
- platform/ios-simulator/editing/deleting/smart-delete-001-expected.png: Added.
- platform/ios-simulator/editing/deleting/smart-delete-001-expected.txt: Added.
- platform/ios-simulator/editing/deleting/table-cells-expected.png: Added.
- platform/ios-simulator/editing/deleting/table-cells-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/4641880-1-expected.png: Added.
- platform/ios-simulator/editing/execCommand/4641880-1-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/4641880-2-expected.png: Added.
- platform/ios-simulator/editing/execCommand/4641880-2-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/5142012-1-expected.png: Added.
- platform/ios-simulator/editing/execCommand/5142012-1-expected.txt:
- platform/ios-simulator/editing/execCommand/create-list-with-hr-expected.png: Added.
- platform/ios-simulator/editing/execCommand/create-list-with-hr-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/indent-empty-root-expected.png: Added.
- platform/ios-simulator/editing/execCommand/indent-empty-root-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/indent-list-item-expected.png: Added.
- platform/ios-simulator/editing/execCommand/indent-list-item-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/indent-selection-expected.png: Added.
- platform/ios-simulator/editing/execCommand/indent-selection-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/insert-list-and-stitch-expected.png: Added.
- platform/ios-simulator/editing/execCommand/insert-list-and-stitch-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/insertHorizontalRule-expected.png: Added.
- platform/ios-simulator/editing/execCommand/insertHorizontalRule-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/insertImage-expected.png: Added.
- platform/ios-simulator/editing/execCommand/insertImage-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/nsresponder-indent-expected.png: Added.
- platform/ios-simulator/editing/execCommand/nsresponder-indent-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/nsresponder-outdent-expected.png: Added.
- platform/ios-simulator/editing/execCommand/nsresponder-outdent-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/print-expected.png: Added.
- platform/ios-simulator/editing/execCommand/print-expected.txt: Added.
- platform/ios-simulator/editing/execCommand/remove-list-from-range-selection-expected.png: Added.
- platform/ios-simulator/editing/execCommand/remove-list-from-range-selection-expected.txt: Added.
- platform/ios-simulator/editing/pasteboard/4989774-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/4989774-expected.txt: Added.
- platform/ios-simulator/editing/pasteboard/drag-drop-dead-frame-expected.png: Added.
- platform/ios-simulator/editing/selection/3690703-2-expected.png: Added.
- platform/ios-simulator/editing/selection/3690703-2-expected.txt: Added.
- platform/ios-simulator/editing/selection/3690703-expected.png: Added.
- platform/ios-simulator/editing/selection/3690703-expected.txt: Added.
- platform/ios-simulator/editing/selection/3690719-expected.png: Added.
- platform/ios-simulator/editing/selection/3690719-expected.txt: Added.
- platform/ios-simulator/editing/selection/4397952-expected.png: Added.
- platform/ios-simulator/editing/selection/4397952-expected.txt: Added.
- platform/ios-simulator/editing/selection/4889598-expected.png: Added.
- platform/ios-simulator/editing/selection/4889598-expected.txt: Added.
- platform/ios-simulator/editing/selection/4932260-1-expected.png: Added.
- platform/ios-simulator/editing/selection/4932260-1-expected.txt: Added.
- platform/ios-simulator/editing/selection/4932260-2-expected.png: Added.
- platform/ios-simulator/editing/selection/4932260-2-expected.txt: Added.
- platform/ios-simulator/editing/selection/4932260-3-expected.png: Added.
- platform/ios-simulator/editing/selection/4932260-3-expected.txt: Added.
- platform/ios-simulator/editing/selection/4947387-expected.png: Added.
- platform/ios-simulator/editing/selection/4947387-expected.txt: Added.
- platform/ios-simulator/editing/selection/5195166-2-expected.png: Added.
- platform/ios-simulator/editing/selection/5195166-2-expected.txt: Added.
- platform/ios-simulator/editing/selection/7152-1-expected.png: Added.
- platform/ios-simulator/editing/selection/7152-1-expected.txt: Added.
- platform/ios-simulator/editing/selection/7152-2-expected.png: Added.
- platform/ios-simulator/editing/selection/7152-2-expected.txt: Added.
- platform/ios-simulator/editing/selection/after-line-wrap-expected.png: Added.
- platform/ios-simulator/editing/selection/after-line-wrap-expected.txt: Added.
- platform/ios-simulator/editing/selection/extend-by-character-007-expected.txt: Added.
- platform/ios-simulator/editing/selection/focus_editable_html-expected.png: Added.
- platform/ios-simulator/editing/selection/focus_editable_html-expected.txt: Added.
- platform/ios-simulator/editing/selection/iframe-expected.png: Added.
- platform/ios-simulator/editing/selection/iframe-expected.txt: Added.
- platform/ios-simulator/editing/selection/image-before-linebreak-expected.png: Added.
- platform/ios-simulator/editing/selection/image-before-linebreak-expected.txt: Added.
- platform/ios-simulator/editing/selection/inline-table-expected.png: Added.
- platform/ios-simulator/editing/selection/inline-table-expected.txt: Added.
- platform/ios-simulator/editing/selection/leave-requested-block-expected.png: Added.
- platform/ios-simulator/editing/selection/leave-requested-block-expected.txt: Added.
- platform/ios-simulator/editing/selection/mixed-editability-10-expected.txt: Added.
- platform/ios-simulator/editing/selection/mixed-editability-3-expected.png: Added.
- platform/ios-simulator/editing/selection/mixed-editability-3-expected.txt: Added.
- platform/ios-simulator/editing/selection/mixed-editability-4-expected.png: Added.
- platform/ios-simulator/editing/selection/mixed-editability-4-expected.txt: Added.
- platform/ios-simulator/editing/selection/mixed-editability-5-expected.png: Added.
- platform/ios-simulator/editing/selection/mixed-editability-5-expected.txt: Added.
- platform/ios-simulator/editing/selection/mixed-editability-8-expected.png: Added.
- platform/ios-simulator/editing/selection/mixed-editability-8-expected.txt: Added.
- platform/ios-simulator/editing/selection/mixed-editability-9-expected.png: Added.
- platform/ios-simulator/editing/selection/mixed-editability-9-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-3875618-fix-expected.png: Added.
- platform/ios-simulator/editing/selection/move-3875618-fix-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-3875641-fix-expected.png: Added.
- platform/ios-simulator/editing/selection/move-3875641-fix-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-backwords-by-word-001-expected.png: Added.
- platform/ios-simulator/editing/selection/move-backwords-by-word-001-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-between-blocks-no-001-expected.png: Added.
- platform/ios-simulator/editing/selection/move-between-blocks-no-001-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-between-blocks-yes-001-expected.png: Added.
- platform/ios-simulator/editing/selection/move-between-blocks-yes-001-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-character-001-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-character-001-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-character-002-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-character-002-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-character-003-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-character-003-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-character-004-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-character-004-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-character-005-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-character-005-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-character-6-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-character-6-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-by-sentence-001-expected.png: Added.
- platform/ios-simulator/editing/selection/move-by-sentence-001-expected.txt: Added.
- platform/ios-simulator/editing/selection/move-past-trailing-space-expected.png: Added.
- platform/ios-simulator/editing/selection/move-past-trailing-space-expected.txt: Added.
- platform/ios-simulator/editing/selection/previous-line-position-expected.png: Added.
- platform/ios-simulator/editing/selection/previous-line-position-expected.txt: Added.
- platform/ios-simulator/editing/selection/range-between-block-and-inline-expected.png: Added.
- platform/ios-simulator/editing/selection/replaced-boundaries-1-expected.png: Added.
- platform/ios-simulator/editing/selection/replaced-boundaries-1-expected.txt: Added.
- platform/ios-simulator/editing/selection/replaced-boundaries-2-expected.png: Added.
- platform/ios-simulator/editing/selection/replaced-boundaries-2-expected.txt: Added.
- platform/ios-simulator/editing/selection/replaced-boundaries-3-expected.png: Added.
- platform/ios-simulator/editing/selection/replaced-boundaries-3-expected.txt: Added.
- platform/ios-simulator/editing/selection/select-all-005-expected.png: Added.
- platform/ios-simulator/editing/selection/select-all-005-expected.txt: Added.
- platform/ios-simulator/editing/selection/select-all-006-expected.png: Added.
- platform/ios-simulator/editing/selection/select-all-006-expected.txt: Added.
- platform/ios-simulator/editing/selection/select-box-expected.png: Added.
- platform/ios-simulator/editing/selection/select-box-expected.txt: Added.
- platform/ios-simulator/editing/selection/select-element-paragraph-boundary-expected.png: Added.
- platform/ios-simulator/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
- platform/ios-simulator/editing/selection/selection-3748164-fix-expected.png: Added.
- platform/ios-simulator/editing/selection/selection-3748164-fix-expected.txt: Added.
- platform/ios-simulator/editing/selection/table-caret-1-expected.png: Added.
- platform/ios-simulator/editing/selection/table-caret-1-expected.txt: Added.
- platform/ios-simulator/editing/selection/table-caret-2-expected.png: Added.
- platform/ios-simulator/editing/selection/table-caret-2-expected.txt: Added.
- platform/ios-simulator/editing/selection/table-caret-3-expected.png: Added.
- platform/ios-simulator/editing/selection/table-caret-3-expected.txt: Added.
- platform/ios-simulator/editing/selection/unrendered-space-expected.png: Added.
- platform/ios-simulator/editing/selection/unrendered-space-expected.txt: Added.
- platform/ios-simulator/editing/unsupported-content: Added.
- platform/ios-simulator/editing/unsupported-content/list-type-after-expected.png: Added.
- 4:54 AM Changeset in webkit [184559] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebInspectorUI
Unreviewed. Fix make distcheck.
- GNUmakefile.am:
- 3:03 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 1:21 AM Changeset in webkit [184558] by
-
- 2 edits in trunk/Tools
Fix tautological-compare warning in AtomicString.cpp
https://bugs.webkit.org/show_bug.cgi?id=145120
Reviewed by Alexey Proskuryakov.
- TestWebKitAPI/Tests/WTF/AtomicString.cpp:
(TestWebKitAPI::TEST): Removed always true assert.
- 12:58 AM Changeset in webkit [184557] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF
[GTK] Miscellaneous changes for msys/mingw
https://bugs.webkit.org/show_bug.cgi?id=143907
Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.
- wtf/Platform.h: Remove autogenerated header not needed by GTK
port.
- 12:24 AM Changeset in webkit [184556] by
-
- 8 edits in releases/WebKitGTK/webkit-2.4
[GTK] Expand wildcards inside generate-inspector-gresource-manifest.py
https://bugs.webkit.org/show_bug.cgi?id=138134
Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.
.:
- GNUmakefile.am: Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the
python script.
Source/WebInspectorUI:
- GNUmakefile.am: Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the
python script.
Source/WebKit2:
- PlatformGTK.cmake: Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the
python script.
Tools:
- gtk/generate-inspector-gresource-manifest.py:
(get_filenames): Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the
python script.
- 12:22 AM Changeset in webkit [184555] by
-
- 34 edits in trunk/Source
Mark static variables as const when possible
https://bugs.webkit.org/show_bug.cgi?id=145161
Reviewed by Andreas Kling.
Source/WebCore:
- Modules/mediasession/WebMediaSessionManager.cpp:
- Modules/mediasource/SourceBuffer.cpp:
- Modules/webdatabase/SQLException.cpp:
- dom/DOMCoreException.cpp:
- inspector/NetworkResourcesData.cpp:
- loader/icon/IconDatabase.cpp:
(WebCore::urlForLogging):
- page/AutoscrollController.cpp:
- page/Page.cpp:
- platform/RuntimeApplicationChecksIOS.mm:
(WebCore::applicationIsAdSheet):
(WebCore::applicationIsMobileMail):
(WebCore::applicationIsMobileSafari):
(WebCore::applicationIsDumpRenderTree):
(WebCore::applicationIsWebApp):
(WebCore::applicationIsOkCupid):
(WebCore::applicationIsFacebook):
(WebCore::applicationIsEpicurious):
(WebCore::applicationIsDaijisenDictionary):
(WebCore::applicationIsNASAHD):
(WebCore::applicationIsMASH):
(WebCore::applicationIsTheEconomistOnIPhone):
(WebCore::applicationIsWebProcess):
(WebCore::applicationIsIBooksOnIOS):
- platform/audio/HRTFElevation.cpp:
- platform/audio/mac/AudioHardwareListenerMac.cpp:
(WebCore::processIsRunningPropertyDescriptor):
(WebCore::outputDevicePropertyDescriptor):
- platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
- platform/graphics/ca/GraphicsLayerCA.cpp:
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::toCoreTextFontWeight):
(WebCore::toAppKitFontWeight):
(WebCore::toNSFontWeight):
- platform/mac/ScrollAnimatorMac.mm:
(supportsUIStateTransitionProgress):
(supportsExpansionTransitionProgress):
(supportsContentAreaScrolledInDirection):
- platform/mac/ScrollbarThemeMac.mm:
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::dataForURLComponentType):
- platform/mock/ScrollbarThemeMock.cpp:
- platform/text/icu/UTextProviderLatin1.cpp:
- platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::matchedEndLine):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
- rendering/RenderFrameBase.cpp:
(WebCore::shouldExpandFrame):
- rendering/RenderTableSection.cpp:
- rendering/RenderThemeIOS.mm:
(WebCore::getInsetGradient):
(WebCore::getShineGradient):
(WebCore::getShadeGradient):
(WebCore::getConvexGradient):
(WebCore::getConcaveGradient):
(WebCore::getSliderTrackGradient):
(WebCore::getReadonlySliderTrackGradient):
(WebCore::getSliderThumbOpaquePressedGradient):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
- rendering/RenderThemeMac.mm:
(WebCore::toFontWeight):
(WebCore::TopGradientInterpolate):
(WebCore::BottomGradientInterpolate):
(WebCore::MainGradientInterpolate):
(WebCore::TrackGradientInterpolate):
Source/WebKit2:
- Platform/IPC/MessageEncoder.cpp:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::networkProcessLatencyQOS):
(WebKit::networkProcessThroughputQOS):
(WebKit::webProcessLatencyQOS):
(WebKit::webProcessThroughputQOS):
- UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
(WebKit::pluginProcessLatencyQOS):
(WebKit::pluginProcessThroughputQOS):
- WebProcess/WebPage/WebPage.cpp:
Source/WTF:
- wtf/dtoa.cpp:
(WTF::pow5mult):
- 12:20 AM Changeset in webkit [184554] by
-
- 3 edits in trunk/Source/WTF
[EFL] Remove unnecessary PLATFORM(EFL) macro in EFL specific files
https://bugs.webkit.org/show_bug.cgi?id=145160
Reviewed by Csaba Osztrogonác.
- wtf/efl/EflTypedefs.h: Remove PLATFORM(EFL).
- wtf/efl/UniquePtrEfl.h: ditto.
- 12:12 AM Changeset in webkit [184553] by
-
- 8 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Convert stackTrace from raw payload data to an array of CallFrames
https://bugs.webkit.org/show_bug.cgi?id=144982
Reviewed by Joseph Pecoraro.
- UserInterface/Controllers/LogManager.js:
- UserInterface/Main.html:
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromPayload):
Consider an empty string url as a native code as it was in
WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame
- UserInterface/Models/ConsoleMessage.js:
(WebInspector.ConsoleMessage):
Convert _stackTrace from an array of payload objects to WebInspector.StackTrace model.
- UserInterface/Models/StackTrace.js: Added.
(WebInspector.StackTrace):
(WebInspector.StackTrace.prototype.get callFrames):
(WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): Added.
(WebInspector.StackTrace.fromPayload):
- UserInterface/Test.html:
- UserInterface/Views/CallFrameView.js:
(WebInspector.CallFrameView):
Don't show a URL when sourceCodeLocation is missing, fix webkit.org/b/145071.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
(WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
(WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
(WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame): Deleted.
May 18, 2015:
- 11:49 PM Changeset in webkit [184552] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF
[W32] weakCompareAndSwap assembler code is not used when building with MinGW GCC
https://bugs.webkit.org/show_bug.cgi?id=143754
Unreviewed.
Allow MinGW-GCC to use GCC asm code for weakCompareAndSwap.
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-16
- wtf/Atomics.h:
(WTF::x86_mfence):
(WTF::weakCompareAndSwap):
- 11:43 PM Changeset in webkit [184551] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
[W32] Buildsystem may use wrong Python interpreter
https://bugs.webkit.org/show_bug.cgi?id=143755
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Use confgured Python interpreter
Configure script has tests for Python (AC_PATH_PROG(PYTHON, python)),
use the interpretor they provide (which is overridable by user by
the way of passing PYTHON=... to configure) instead of the first
thing found in PATH.
Otherwise wrong version of Python might be used. Mingw-python,
for example, which has commandline length limit, which results in
errors like:
/usr/bin/env: python: Argument list too long
GNUmakefile:82317: recipe for target
'DerivedSources/WebInspectorUI/GResourceBundle.xml' failed
Source/WebInspectorUI:
- GNUmakefile.am:
Tools:
- gtk/GNUmakefile.am:
- 11:40 PM Changeset in webkit [184550] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
WebCore uses M_PI_2 instead of piOverTwoDouble
https://bugs.webkit.org/show_bug.cgi?id=143758
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.
Because M_PI_2 is not defined everywhere.
Fixes errors like:
CXX Source/WebCore/platform/graphics/freetype/libPlatformGtk_la-FontPlatformDataFreeType.lo
../webkitgtk-2.4.8/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp: In function 'void WebCore::rotateCairoMatrixForVerticalOrientation(cairo_matrix_t*)':
../webkitgtk-2.4.8/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp:123:34: error: 'M_PI_2' was not declared in this scope
cairo_matrix_rotate(matrix, -M_PI_2);
GNUmakefile:51663: recipe for target 'Source/WebCore/platform/graphics/freetype/libPlatformGtk_la-FontPlatformDataFreeType.lo' failed
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::rotateCairoMatrixForVerticalOrientation):
- 11:35 PM Changeset in webkit [184549] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
[GTK][W32] FileSystemGtk calls GetModuleHandleExA(), but does not include appropriate header
https://bugs.webkit.org/show_bug.cgi?id=143759
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.
Add missing includes to FileSystemGtk
Needed for GetModuleHandleExA() & Co.
- platform/gtk/FileSystemGtk.cpp:
- 11:30 PM Changeset in webkit [184548] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
[W32] Compile-time assertion failure: RenderBlock_should_stay_small
https://bugs.webkit.org/show_bug.cgi?id=143760
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Move enum LineLayoutPath in RenderBlock
This removes the bitfield interruption, allowing more efficient
packing.
Otherwise compile-time assertion fails:
In file included from ../webkitgtk-2.4.8/Source/WTF/wtf/PossiblyNull.h:29:0,
from ../webkitgtk-2.4.8/Source/WTF/wtf/FastMalloc.h:27,
from ../webkitgtk-2.4.8/Source/WebCore/config.h:74,
from ../webkitgtk-2.4.8/Source/WebCore/rendering/RenderBlock.cpp:24:
../webkitgtk-2.4.8/Source/WTF/wtf/Assertions.h:326:35: error: static assertion failed: RenderBlock_should_stay_small
../webkitgtk-2.4.8/Source/WebCore/rendering/RenderBlock.cpp:88:1: note: in expansion of macro 'COMPILE_ASSERT'
COMPILE_ASSERT(sizeof(RenderBlock) == sizeof(SameSizeAsRenderBlock), RenderBlock_should_stay_small);
- 11:24 PM Changeset in webkit [184547] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4/Source
[W32] GraphicsContextCairoWin.cpp fails to compile: unallowed function template partial specialization
https://bugs.webkit.org/show_bug.cgi?id=143761
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.
Fix deleteObject prototypte, fix header case
Apparently, <T> is unneeded here:
Source/WebCore:
In file included from ../webkitgtk-2.4.8/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp:35:0:
../webkitgtk-2.4.8/Source/WTF/wtf/win/GdiObject.h:114:58: error: function template partial specialization 'deleteObject<T>' is not allowed
template<typename T> inline void deleteObject<T>(T object)
As a bonus, change GdiObject.h -> GDIObject.h (this matters when
cross-compiling or when using case-sensitive filesystems on W32).
Source/WTF:
In file included from ../webkitgtk-2.4.8/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp:35:0:
../webkitgtk-2.4.8/Source/WTF/wtf/win/GdiObject.h:114:58: error: function template partial specialization 'deleteObject<T>' is not allowed
template<typename T> inline void deleteObject<T>(T object)
As a bonus, change GdiObject.h -> GDIObject.h (this matters when
cross-compiling or when using case-sensitive filesystems on W32).
- wtf/win/GDIObject.h:
(WTF::deleteObject):
- 11:19 PM Changeset in webkit [184546] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/ThirdParty/ANGLE
[ANGLE][W32] Buildsystem is hardcoded for UNIX
https://bugs.webkit.org/show_bug.cgi?id=143762
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Don't hardcode ossource_posix.cpp in the makefile
Compile ossource_posix.cpp or ossource_win.cpp depending on the target.
Otherwise you get an error:
../webkitgtk-2.4.8/Source/ThirdParty/ANGLE/src/compiler/ossource_posix.cpp:13:2: error: #error Trying to build a posix specific file in a non-posix build.
- GNUmakefile.am:
- 11:15 PM Changeset in webkit [184545] by
-
- 5 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
[W32][GTK] Conflict between NO_ERROR from W32API and GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=143768
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Work around name conflicts (NO_ERROR)
In file included from /mingw/include/_mingw.h:12:0,
from ../webkitgtk-2.4.8/Source/WTF/wtf/Compiler.h:93,
from ../webkitgtk-2.4.8/Source/WTF/wtf/Platform.h:32,
from ../webkitgtk-2.4.8/Source/JavaScriptCore/config.h:30,
from ../webkitgtk-2.4.8/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:27:
../webkitgtk-2.4.8/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: In member function 'virtual int WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB()':
../webkitgtk-2.4.8/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:144:31: error: expected unqualified-id before numeric constant
return GraphicsContext3D::NO_ERROR;
because NO_ERROR is also a macro defined in Windows headers. Ouch.
Also expand this to the (PLATFORM(GTK) && OS(WINDOWS)) combination,
in addition to the workaround for VERSION already present there.
- 11:05 PM Changeset in webkit [184544] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
[W32] Fails to build - missing references to OpenGL context functions
https://bugs.webkit.org/show_bug.cgi?id=143769
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Also use GL-related files when compiling with MinGW
CXXLD libwebkitgtk-3.0.la
./.libs/../source/webcore/platform/graphics/.libs/libplatform_la-graphicscontext3dprivate.o: In function `GraphicsContext3DPrivate':
/src/mingw/webkitgtk-2.4.8-1\bld/../webkitgtk-2.4.8/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp:59: undefined reference to `ZN7WebCore9GLContext14sharingContextEv'
/src/mingw/webkitgtk-2.4.8-1\bld/../webkitgtk-2.4.8/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp:59: undefined reference to `ZN7WebCore9GLContext22createOffscreenContextEPS0_'
./.libs/../source/webcore/platform/graphics/.libs/libplatform_la-graphicscontext3dprivate.o: In function `platformContext':
/src/mingw/webkitgtk-2.4.8-1\bld/../webkitgtk-2.4.8/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp:84: undefined reference to `ZN7WebCore9GLContext10getCurrentEv'
Becuase GLContext.cpp is not used, which happens because it's
under TARGET_X11_OR_WAYLAND condition in the GNUmakefile.list.am.
Move TARGET_X11_OR_WAYLAND up a bit to free up GLContext.cpp (now
only protected by USE_OPENGL).
- GNUmakefile.list.am:
- 10:55 PM Changeset in webkit [184543] by
-
- 16 edits in trunk/Source/WebCore
Use Ref instead of PassRefPtr in WebCore/bindings
https://bugs.webkit.org/show_bug.cgi?id=144981
Reviewed by Darin Adler.
As a step to purge PassRefPtr, remove PassRefPtr in WebCore/bindings.
No new tests, no behavior changes.
- bindings/gobject/GObjectNodeFilterCondition.h:
(WebCore::GObjectNodeFilterCondition::create):
- bindings/gobject/GObjectXPathNSResolver.h:
(WebCore::GObjectXPathNSResolver::create):
- bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::create):
- bindings/js/JSCustomXPathNSResolver.h:
- bindings/js/JSDOMGlobalObjectTask.cpp:
- bindings/js/JSErrorHandler.h:
(WebCore::JSErrorHandler::create):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::createForNode):
(WebCore::JSLazyEventListener::createForDOMWindow):
- bindings/js/JSLazyEventListener.h:
- bindings/js/JSMutationCallback.h:
(WebCore::JSMutationCallback::create):
- bindings/js/JSNodeFilterCondition.h:
(WebCore::JSNodeFilterCondition::create):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::nullValue):
- bindings/js/SerializedScriptValue.h:
- bindings/objc/ObjCEventListener.h:
- bindings/objc/ObjCEventListener.mm:
(WebCore::ObjCEventListener::wrap):
- bindings/objc/ObjCNodeFilterCondition.h:
(WebCore::ObjCNodeFilterCondition::create):
- 9:46 PM Changeset in webkit [184542] by
-
- 4 edits in trunk/Source/JavaScriptCore
Better optimize 'if' with ternaries conditional tests.
https://bugs.webkit.org/show_bug.cgi?id=144136
Reviewed by Benjamin Poulain.
This is the last fix I'll do for this for now. BooleanToNumber(Untyped:) where the input
is proved to be either BoolInt32 or Boolean should be optimized to just masking the
lowest bit.
This is another 37% speed-up on JSRegress/slow-ternaries.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):
- 8:39 PM Changeset in webkit [184541] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
<rdar://problem/21003555> cloberrize() is wrong for ArithRound because it doesn't account for the arith mode
https://bugs.webkit.org/show_bug.cgi?id=145147
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-18
Reviewed by Filip Pizlo.
Really stupid bug: ArithRound nodes with different rounding modes
were not distinguished and CSE would happily unify with a node of
a different rounding mode.
DFG::clobberize() already support additional data but I was not using it.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- tests/stress/math-round-arith-rounding-mode.js: Added.
(firstCareAboutZeroSecondDoesNot):
(firstDoNotCareAboutZeroSecondDoes):
(warmup):
(verifyNegativeZeroIsPreserved):
- 7:30 PM Changeset in webkit [184540] by
-
- 4 edits in trunk/Source/JavaScriptCore
Add SpecBoolInt32 type that means "I'm an int and I'm either 0 or 1"
https://bugs.webkit.org/show_bug.cgi?id=145137
Reviewed by Benjamin Poulain.
It's super useful to know if an integer value could be either zero or one. We have an
immediate need for this because of Int32|Boolean uses, where knowing that the Int32 is
either 0 or 1 means that there is no actual polymorphism if you just look at the low bit
(1 behaves like true, 0 behaves like false, and the low bit of 1|true is 1, and the low
bit of 0|false is 0).
We do this by splitting the SpecInt32 type into SpecBoolInt32 and SpecNonBoolInt32. This
change doesn't have any effect on behavior, yet. But it does give us the ability to
predict and prove when values are SpecBoolInt32; it's just we don't leverage this yet.
This is perf-neutral.
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):
- bytecode/SpeculatedType.h:
(JSC::isStringOrStringObjectSpeculation):
(JSC::isBoolInt32Speculation):
(JSC::isInt32Speculation):
(JSC::isInt32OrBooleanSpeculation):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 7:02 PM Changeset in webkit [184539] by
-
- 2 edits in trunk/Tools
[EFL] Fix unsequenced warning in MiniBrowser's main.c
https://bugs.webkit.org/show_bug.cgi?id=145123
Reviewed by Gyuyoung Kim.
- MiniBrowser/efl/main.c:
(on_key_down):
- 6:49 PM Changeset in webkit [184538] by
-
- 3 edits in trunk/LayoutTests
Improve coverage of platform/mac/fast/text/font-weights.html
https://bugs.webkit.org/show_bug.cgi?id=145152
Reviewed by Anders Carlsson.
Add coverage of italics.
- platform/mac/fast/text/font-weights-expected.txt:
- platform/mac/fast/text/font-weights.html:
- 6:39 PM Changeset in webkit [184537] by
-
- 2 edits in trunk/Source/WebCore
Fix uninitialized warnings in RealtimeMediaSourceCenterOwr.cpp
https://bugs.webkit.org/show_bug.cgi?id=145119
Reviewed by Gyuyoung Kim.
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):
- 6:35 PM Changeset in webkit [184536] by
-
- 21 edits in trunk
[CMake] Ignore warnings in system headers
https://bugs.webkit.org/show_bug.cgi?id=144747
Reviewed by Darin Adler.
.:
Require CMake 2.8.12 when compiling the GTK+ port. This is because we use the
target_include_directories command (added in 2.8.11) in GTK-specific cmake files, and also
use the SYSTEM argument to the command (added in 2.8.12).
- CMakeLists.txt:
Source/JavaScriptCore:
Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.
- CMakeLists.txt:
- PlatformGTK.cmake:
Source/WebCore:
Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
Source/WebKit:
Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.
- CMakeLists.txt:
- PlatformMac.cmake:
Source/WebKit2:
Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
Source/WTF:
Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.
- wtf/CMakeLists.txt:
- wtf/PlatformEfl.cmake:
- wtf/PlatformGTK.cmake:
- 6:11 PM Changeset in webkit [184535] by
-
- 2 edits in trunk/Source/WebKit2
Fix return-type warnings in test_ewk2_color_picker.cpp
https://bugs.webkit.org/show_bug.cgi?id=145122
Reviewed by Gyuyoung Kim.
- UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
(EWK2ColorPickerTest::hideColorPicker):
(EWK2ColorPickerTest::hideColorPickerByRemovingElement):
- 6:06 PM Changeset in webkit [184534] by
-
- 5 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184397. rdar://problem/20979071
- 6:06 PM Changeset in webkit [184533] by
-
- 7 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184367. rdar://problem/20979071
- 6:00 PM Changeset in webkit [184532] by
-
- 2 edits in trunk/LayoutTests
platform/mac/fast/text/font-weights.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=145149
Reviewed by Alexey Proskuryakov.
- platform/mac/TestExpectations:
- 5:24 PM Changeset in webkit [184531] by
-
- 2 edits in trunk/Websites/perf.webkit.org
REGRESSION: v2 UI reports a higher memory usage
https://bugs.webkit.org/show_bug.cgi?id=145151
Reviewed by Chris Dumez.
The bug was caused by v2 UI using 1000 to divide the number of bytes instead of by 1024 as done in v1.
Fixed the bug by manually implementing the formatter as done in v1.
- public/v2/manifest.js:
(App.Manfiest._formatBytes): Added.
(App.Manifest._formatFetchedData): Use _formatByte instead of format('s').
- 5:09 PM Changeset in webkit [184530] by
-
- 7 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184513. rdar://problem/21006738
- 5:09 PM Changeset in webkit [184529] by
-
- 4 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184439. rdar://problem/20975978
- 5:09 PM Changeset in webkit [184528] by
-
- 3 edits3 adds in branches/safari-601.1.32-branch
Merge r184510. rdar://problem/21004989
- 5:09 PM Changeset in webkit [184527] by
-
- 12 edits1 move3 adds1 delete in branches/safari-601.1.32-branch/Source/JavaScriptCore
Merge r184445. rdar://problem/20979071
- 5:08 PM Changeset in webkit [184526] by
-
- 5 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore
Merge r184397. rdar://problem/20979071
- 5:08 PM Changeset in webkit [184525] by
-
- 15 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore
Merge r184368. rdar://problem/20979071
- 5:08 PM Changeset in webkit [184524] by
-
- 7 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore
Merge r184367. rdar://problem/20979071
- 5:05 PM Changeset in webkit [184523] by
-
- 5 edits in tags/Safari-601.1.32.2.2/Source
Versioning.
- 5:03 PM Changeset in webkit [184522] by
-
- 1 copy in tags/Safari-601.1.32.2.2
New tag.
- 4:56 PM Changeset in webkit [184521] by
-
- 2 edits1 add in trunk/Tools
prepare-ChangeLog reports function above deleted function as deleted; uninitialized value warning
when staged non-empty file for commit
https://bugs.webkit.org/show_bug.cgi?id=145082
Reviewed by Darin Adler.
Fixes two issues when running prepare-ChangeLog:
- The function above a deleted function is reported as changed.
- With a Git checkout of WebKit, a Perl uninitialized value warning is emitted when a new non-empty file is staged for commit (e.g. extractLineRangeBeforeAndAfterChange.pl, included in this patch).
Simplify code by using unified diff parsing logic for both SVN and Git support. Currently
prepare-ChangeLog has logic to parse normal diff- and unified diff- chunk range lines as
generated bysvn diffandgit diff, respectively. The logic for parsing these formats
has correctness issues. We should make use of the VCSUtil::parseChunkRange() to parse
chunk range lines of a unified diff as opposed to having specialized logic in prepare-ChangeLog.
VCSUtil::parseChunkRange() has existing test coverage.
- Scripts/prepare-ChangeLog:
(generateFunctionLists): Only add a line range to %line_ranges_before_changed, %line_ranges_after_changed
when the beginning line number, ending line number >= 1. Modified for-loop condition to iterate over
all the files represented by %line_ranges_before_changed and %line_ranges_after_changed so that we
examine files that only have deletions. Currently this works as a side effect of the behavior of
extractLineRangeAfterChange(), which always returns a well-formed (though nonsensical) line range for
a change that represents a deletion (e.g. extractLineRangeAfterChange("@@ -166,6 +165,0 @@") => [165, 165]).
(diffCommand): Generate a unified diff instead of a normal diff when using a SVN checkout of WebKit.
(extractLineRangeAfterChange): Remove logic to parse a normal diff chunk range line and write
the logic to parse a unified diff chunk range line in terms of VCSUtil::parseChunkRange().
We return (-1, -1) when the change represents a deletion.
(extractLineRangeBeforeChange): Remove logic to parse a normal diff chunk range line and write
the logic to parse a unified diff chunk range line in terms of VCSUtil::parseChunkRange().
We return (-1, -1) when the change represents an addition.
- Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl: Added;
unit tests.
- 4:52 PM Changeset in webkit [184520] by
-
- 5 edits in branches/safari-601.1.32.2-branch/Source
Versioning.
- 4:16 PM Changeset in webkit [184519] by
-
- 5 edits in trunk/Source
Addressing post-review comments on r184353
https://bugs.webkit.org/show_bug.cgi?id=145146
Reviewed by Benjamin Poulain.
Source/WebCore:
See per-file comments.
No new tests because there is no behavior change.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWithFamilySpecialCase): Use equalIgnoringASCIICase() AtomicString overload.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updateCachedSystemFontDescription): Implement Ben's ideas for
cheaply constructing AtomicStrings only when necessary.
Source/WTF:
Create an overload for equalIgnoringASCIICase() for AtomicString and string literals.
- wtf/text/AtomicString.h:
(WTF::equalIgnoringASCIICase):
- 4:01 PM Changeset in webkit [184518] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184417. rdar://problem/20770052
- 3:53 PM Changeset in webkit [184517] by
-
- 12 edits in trunk
[ES6] Arrow function syntax. Feature flag for arrow function
https://bugs.webkit.org/show_bug.cgi?id=145108
Patch by Skachkov Alexandr <gskachkov@gmail.com> on 2015-05-18
Reviewed by Ryosuke Niwa.
Added feature flag ENABLE_ES6_ARROWFUNCTION_SYNTAX for arrow function
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
- 3:39 PM Changeset in webkit [184516] by
-
- 9 edits in trunk/Source/WebKit2
WKWebsiteDataStore should fully support session storage
https://bugs.webkit.org/show_bug.cgi?id=145145
rdar://problem/10690447
Reviewed by Sam Weinig.
Add a session store data type and handle it when clearing and fetching data.
- Shared/WebsiteData/WebsiteDataTypes.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore allWebsiteDataTypes]):
- UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::SessionStorageNamespace::origins):
(WebKit::StorageManager::SessionStorageNamespace::clearStorageAreasMatchingOrigin):
(WebKit::StorageManager::SessionStorageNamespace::clearAllStorageAreas):
(WebKit::StorageManager::getSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
- UIProcess/Storage/StorageManager.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
- 3:16 PM Changeset in webkit [184515] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve Reliability of Closing and Reopening Elements Tab
https://bugs.webkit.org/show_bug.cgi?id=145139
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-18
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.highlightSearchResults):
(WebInspector.DOMTreeElement.prototype.hideSearchHighlights):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
(WebInspector.DOMTreeElement.prototype._startEditingAsHTML.dispose):
(WebInspector.DOMTreeElement.prototype._startEditingAsHTML):
(WebInspector.DOMTreeElement.prototype.updateTitle):
Stop using thedeleteoperator.
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype.setVisible):
Trigger an update when the outline is made visible.
- UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Provide a reasonable default selection if there is no body or document element.
For example in an augmented DOM tree.
- 3:09 PM Changeset in webkit [184514] by
-
- 2 edits in trunk/Source/WebKit2
Followup to: Networking process on iOS can be suspended and never exit
https://bugs.webkit.org/show_bug.cgi?id=144971.
Unreviewed. Fixing API tests that revealed the unintentional change in behavior.
- Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess): The on WebProcessProxy code path that this
was adopted from had an m_connection null check, and that null check needs to remain.
- 3:01 PM Changeset in webkit [184513] by
-
- 7 edits in trunk/Source/WebCore
REGRESSION(142590): Scroll-snap points are improperly snapping to earlier index values
https://bugs.webkit.org/show_bug.cgi?id=145140
<rdar://problem/21006738>
Reviewed by Beth Dakin.
The new "nearestActiveSnapPoint" logic is firing while scroll snap animations are running. We need
to add an "isScrollSnapInProgress" predicate, much like the existing "isRubberBandInProgress" to avoid
certain "fix-up" logic that we don't want running while we are in the process of moving to a new position.
- platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::ScrollAnimator::isScrollSnapInProgress): Added.
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::updateScrollSnapState): If we are in the midst of a scroll snap operation,
do not attempt to reset position to the current active snap point.
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::isScrollSnapInProgress): Added.
- platform/mac/ScrollAnimatorMac.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::isScrollSnapInProgress): Added.
- 2:28 PM Changeset in webkit [184512] by
-
- 2 edits in trunk/Tools
Add ATS keys to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=145141
Reviewed by Sam Weinig.
- MiniBrowser/mac/Info.plist:
- 1:45 PM Changeset in webkit [184511] by
-
- 15 edits in trunk/Source/JavaScriptCore
[JSC] When entering a CheckTierUp without OSREntry, force the CheckTierUp for the outer loops with OSR Entry
https://bugs.webkit.org/show_bug.cgi?id=145092
Reviewed by Filip Pizlo.
When we have a hot loop without OSR Entry inside a slower loop that support OSR Entry,
we get the inside loop driving the tierUpCounter and we have very little chance of
doing a CheckTierUp on the outer loop. In turn, this give almost no opportunity to tier
up in the outer loop and OSR Enter there.
This patches changes CheckTierUp to force its outer loops to do a CheckTierUp themselves.
To do that, CheckTierUp sets a flag "nestedTriggerIsSet" to force the outer loop to
enter their CheckTierUp regardless of the tier-up counter.
- bytecode/ExecutionCounter.cpp:
(JSC::ExecutionCounter<countingVariant>::setThreshold):
This is somewhat unrelated. This assertion is incorrect because it relies on
m_counter, which changes on an other thread.
I have hit it a couple of times with this patch because we are a bit more aggressive
on CheckTierUp. What happens is:
1) ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet() first checks
hasCrossedThreshold(), and it is false.
2) On the main thread, the hot loops keeps running and the counter becomes large
enough to cross the threshold.
3) ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet() runs the next
test, setThreshold(), where the assertion is. Since the counter is now large enough,
the assertion fails.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGJITCode.h:
I used a uint8_t instead of a boolean to make the code generation clearer
in DFGSpeculativeJIT64.
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
This is a bit annoying: we have the NaturalLoops analysis that provides us
everything we need to know about loops, but the TierUpCheck are conservative
and set on LoopHint.
To make the two work together, we first find all the CheckTierUp that cannot
OSR enter and we keep a list of all the natural loops containing them.
Then we do a second pass over the LoopHints, get their NaturalLoop, and check
if it contains a loop that cannot OSR enter.
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint):
- 1:41 PM Changeset in webkit [184510] by
-
- 3 edits3 adds in trunk
Add a Int-or-Boolean speculation to Branch
https://bugs.webkit.org/show_bug.cgi?id=145134
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
After https://bugs.webkit.org/show_bug.cgi?id=126778 we no longer have a reason not to do the
int-or-boolean optimization that we already do everywhere else.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
LayoutTests:
Added the reduced asm.js test case from https://bugs.webkit.org/show_bug.cgi?id=144136. We don't yet
run it as fast as we should but this is a big step.
- js/regress/script-tests/slow-ternaries.js: Added.
(.f):
(asmMod):
- js/regress/slow-ternaries-expected.txt: Added.
- js/regress/slow-ternaries.html: Added.
- 1:15 PM Changeset in webkit [184509] by
-
- 9 edits in branches/safari-601.1.32.2-branch/Source
Merge custom patch. rdar://problem/20950052
- 12:53 PM Changeset in webkit [184508] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Tab Restoration incorrectly makes ContentViews "shown" in background tabs
https://bugs.webkit.org/show_bug.cgi?id=145080
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-18
Reviewed by Timothy Hatcher.
Many tabs have their own content browser / navigation sidebar. During
state restoration, each tab would immediately try to restore an
appropriate ContentView after the load / navigation. However, in doing
so, we weren't respecting whether or not the Tab the ContentBrowser
was in was hidden or not, so ContentViews in background tags were
still being treated as shown/visible.
This patch changes state restoration to only affect the foreground
tab, and be delayed on all background tabs until that tab is shown.
This reduces the amount of work on load and navigation to just a
single tab instead of all tabs. Most importantly, it avoids having
performing work on ContentBrowsers that are non-visible, so state
restoration only happens for visible ContentBrowsers.
For simplicity, in the case of a delayed tab restoration triggered
by the user switching tabs, we don't try twice (like we occasionally
do on load/reload). We could add back some hueristic here if needed.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.activateExtraDomains):
(WebInspector._mainResourceDidChange):
(WebInspector._restoreCookieForOpenTabs):
- UserInterface/Views/NavigationSidebarPanel.js:
- UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView.prototype.shown):
(WebInspector.TabContentView.prototype.restoreStateFromCookie):
(WebInspector.TabContentView.prototype.saveStateToCookie):
When asked to restore state, save that logic until the next time the tab is shown.
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.get visible):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): Deleted.
Although this didn't actually catch the issue, it could potentially
catch other issues in the future. We don't want to enable the annotators
in a non-visible text editor, as it could be a performance issue.
- 12:35 PM Changeset in webkit [184507] by
-
- 5 edits in branches/safari-601.1.32-branch
Merge r183912. rdar://problem/20926150
- 12:24 PM Changeset in webkit [184506] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] URTBF after r184503.
- PlatformGTK.cmake:
- 11:44 AM Changeset in webkit [184505] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
[W32] Wrong configure tests for OpenGL on Windows, wrong ifdefs
https://bugs.webkit.org/show_bug.cgi?id=143763
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Change OpenGL checks to work on W32, add libopengl32
AGain, use OS(WINDOWS) for things that are W32 but not necessarily MSVC.
Don't try to check for dlopen() on W32 (it might be available, but
native code is already here, so use it).
Correctly cast the result of GetProcAddress(), because C++.
Link W32 version to -lOpenGL32 instead of -lGL, otherwise libtool complains:
* Warning: linker path does not have real file for library -lGL.
.:
- Source/autotools/FindDependencies.m4:
Source/WebCore:
- platform/graphics/OpenGLShims.cpp:
(WebCore::getProcAddress):
- 11:24 AM Changeset in webkit [184504] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit/gtk
[W32][GTK] GI fails due to W32-incompatible arguments to the scanner
https://bugs.webkit.org/show_bug.cgi?id=143764
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Use correct .la files as --library arguments for GI scanner
This way it plays well with W32 gobject-introspection library resolution
code.
Without that one would get things like:
ERROR: can't resolve libraries to shared libraries: webkitgtk-3.0, javascriptcoregtk-3.0
- GNUmakefile.am:
- 10:53 AM Changeset in webkit [184503] by
-
- 12 edits1 add in trunk/Source/WebKit2
Networking process on iOS can be suspended and never exit.
<rdar://problem/20368630> and https://bugs.webkit.org/show_bug.cgi?id=144971
Reviewed by Darin Adler.
There's a few issues here.
1 - When the NetworkProcessProxy goes away, it takes its process assertion with it. This causes
the Network process to suspend indefinitely, unable to ever respond to IPC::Connection callbacks.
We already solved this with WebProcess with a watchdog timer keeping both the process assertion
and xpc_connection alive while the process shuts down. This patch expands that to the network
process, and it will be easy to expand that to database and plugin processes doing forward.
2 - All of our child processes either decide to self-terminate or listen for their connection to
close at which point they terminate. This leads to various races. We should
move to a model where the UI process explicitly tells them to shutdown, and this patch starts us
down that path.
- CMakeLists.txt:
- DerivedSources.make:
- WebKit2.xcodeproj/project.pbxproj:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess.
- Shared/ChildProcess.cpp:
(WebKit::ChildProcess::shutDown): For now, just terminate the process. In the future have the
process do cleanup work before it is terminated.
- Shared/ChildProcess.h:
- Shared/ChildProcess.messages.in: Added.
- Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess): Set a watchdog and - if possible - explicitly message
the process to ShutDown.
(WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded): Deleted.
- Shared/ChildProcessProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::~WebProcessPool): Explicitly tell the network process to shut down.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage): Move abortProcessLaunchIfNeeded() and the watchdog timer
code to ChildProcessProxy::shutDownProcess.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess::didReceiveMessage.
- 10:51 AM Changeset in webkit [184502] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4
[W32] Configure may misdetect ICU libraries
https://bugs.webkit.org/show_bug.cgi?id=143767
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.
Try to use pkg-config to detect ICU libraries.
MinGW packages tend to have .pc files these days. Use them.
ICU naming and structure is complex enough to warrant this, and
asking pkg-config might result in things like
UNICODE_LIBS="-licui18n54 -licuuc54 -licudata54"
instead of the default
UNICODE_LIBS="-licui18n -licuuc"
and pkg-config usually knows best.
- Source/autotools/FindDependencies.m4:
- 10:46 AM Changeset in webkit [184501] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>
Reviewed by Anders Carlsson.
We were calling strchr() for every character when doing URL encoding/decoding and it stood out
like a sore O(n) thumb in Instruments. Optimize this by using a Bitmap<256> instead.
5.5% progression on Kraken/stanford-crypto-sha256-iterative.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::makeCharacterBitmap):
(JSC::encode):
(JSC::decode):
(JSC::globalFuncDecodeURI):
(JSC::globalFuncDecodeURIComponent):
(JSC::globalFuncEncodeURI):
(JSC::globalFuncEncodeURIComponent):
(JSC::globalFuncEscape):
- 10:01 AM Changeset in webkit [184500] by
-
- 12 edits1 move3 adds1 delete in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184445. rdar://problem/20979071
- 10:01 AM Changeset in webkit [184499] by
-
- 15 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184368. rdar://problem/20979071
- 10:01 AM Changeset in webkit [184498] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2
Merge r184422. rdar://problem/20410944
- 10:01 AM Changeset in webkit [184497] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2
Merge r184399. rdar://problem/20939743
- 10:01 AM Changeset in webkit [184496] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore
Merge r184360. rdar://problem/20865442
- 10:01 AM Changeset in webkit [184495] by
-
- 10 edits1 delete in branches/safari-601.1.32.2-branch
Merge r184353. rdar://problem/20809399
- 10:00 AM Changeset in webkit [184494] by
-
- 9 edits in branches/safari-601.1.32.2-branch
Merge r184341. rdar://problem/20809399
- 10:00 AM Changeset in webkit [184493] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184289. rdar://problem/18717477
- 10:00 AM Changeset in webkit [184492] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/WTF
Merge r184245. rdar://problem/19611967
- 10:00 AM Changeset in webkit [184491] by
-
- 2 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore
Merge r184019. rdar://problem/20764509
- 9:47 AM Changeset in webkit [184490] by
-
- 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
[W32] windowsVersion() and osVersionForUAString() are outdated
https://bugs.webkit.org/show_bug.cgi?id=143771
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler
Update windowsVersion() and osVersionForUAString()
Add support for newer Windows versions to windowsVersion(), handle
all defined cases in osVersionForUAString(), avoiding warnings like
../webkitgtk-2.4.8/Source/WebCore/platform/win/SystemInfo.cpp: In function 'WTF::String WebCore::osVersionForUAString()':
../webkitgtk-2.4.8/Source/WebCore/platform/win/SystemInfo.cpp:94:12: warning: enumeration value 'WindowsCE5' not handled in switch [-Wswitch]
repeated for each unhandled value
- platform/win/SystemInfo.cpp:
(WebCore::windowsVersion):
(WebCore::osVersionForUAString):
- platform/win/SystemInfo.h:
- 9:17 AM Changeset in webkit [184489] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4/Source
[GTK] Replace M_SQRT2 with sqrtOfTwoDouble
https://bugs.webkit.org/show_bug.cgi?id=143906
Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.
Source/WebCore:
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
Source/WTF:
- wtf/MathExtras.h:
- 7:24 AM Changeset in webkit [184488] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebInspectorUI
Merge r184364. rdar://problem/20965745
- 7:24 AM Changeset in webkit [184487] by
-
- 20 edits in branches/safari-601.1.32-branch
Merge r184358. rdar://problem/19790341
- 7:24 AM Changeset in webkit [184486] by
-
- 10 edits1 delete in branches/safari-601.1.32-branch
Merge r184353. rdar://problem/20809399
- 7:23 AM Changeset in webkit [184485] by
-
- 9 edits in branches/safari-601.1.32-branch
Merge r184341. rdar://problem/20809399
- 7:23 AM Changeset in webkit [184484] by
-
- 5 edits2 adds in branches/safari-601.1.32-branch
Merge r184308. rdar://problem/20895753
- 7:23 AM Changeset in webkit [184483] by
-
- 7 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184304. rdar://problem/19790341
- 7:23 AM Changeset in webkit [184482] by
-
- 3 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184296. rdar://problem/20100706
- 7:23 AM Changeset in webkit [184481] by
-
- 11 edits in branches/safari-601.1.32-branch/Source
Merge r184290. rdar://problem/19790341
- 7:23 AM Changeset in webkit [184480] by
-
- 7 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184204. rdar://problem/20909871
- 7:22 AM Changeset in webkit [184479] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184052. rdar://problem/20890647
- 7:22 AM Changeset in webkit [184478] by
-
- 10 edits1 add in branches/safari-601.1.32-branch/Source
Merge r184047. rdar://problem/20890647
- 7:22 AM Changeset in webkit [184477] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184024. rdar://problem/19790341
- 7:22 AM Changeset in webkit [184476] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184022. rdar://problem/19790341
- 7:22 AM Changeset in webkit [184475] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184016. rdar://problem/19790341
- 7:22 AM Changeset in webkit [184474] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184014. rdar://problem/19790341
- 7:21 AM Changeset in webkit [184473] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184012. rdar://problem/19790341
- 7:21 AM Changeset in webkit [184472] by
-
- 13 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184011. rdar://problem/19790341
- 7:21 AM Changeset in webkit [184471] by
-
- 5 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r183978. rdar://problem/20635659
- 6:54 AM Changeset in webkit [184470] by
-
- 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
[GTK] Make preprocessor.pm / make_names.pl work under msys/mingw
https://bugs.webkit.org/show_bug.cgi?id=143908
Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.
- bindings/scripts/preprocessor.pm:
(applyPreprocessor):
- dom/make_names.pl:
- 6:46 AM Changeset in webkit [184469] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF
Merge r182848 - Harmonize binary semaphore ifdefs
They should be either OS(WINDOWS) (in which case we'd need
BinarySemaphoreWin.cpp, which is not shipped by WebKitGTK)
or PLATFORM(WIN) (in which case Mutex/ThreadCondition-based
implementation is used).
This fixes errors like:
CXX Source/WTF/wtf/threads/libWTF_la-BinarySemaphore.lo
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In constructor 'WTF::BinarySemaphore::BinarySemaphore()':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:34:7: error: class 'WTF::BinarySemaphore' does not have any field named 'm_isSet'
: m_isSet(false)
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In member function 'void WTF::BinarySemaphore::signal()':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:44:24: error: 'm_mutex' was not declared in this scope
MutexLocker locker(m_mutex);
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:46:5: error: 'm_isSet' was not declared in this scope
m_isSet = true;
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:47:5: error: 'm_condition' was not declared in this scope
m_condition.signal();
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In member function 'bool WTF::BinarySemaphore::wait(double)':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:52:24: error: 'm_mutex' was not declared in this scope
MutexLocker locker(m_mutex);
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:55:13: error: 'm_isSet' was not declared in this scope
while (!m_isSet) {
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:56:21: error: 'm_condition' was not declared in this scope
timedOut = !m_condition.timedWait(m_mutex, absoluteTime);
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:62:5: error: 'm_isSet' was not declared in this scope
m_isSet = false;
GNUmakefile:52762: recipe for target 'Source/WTF/wtf/threads/libWTF_la-BinarySemaphore.lo' failed
[W32] Inconsistent ifdefs in BinarySemaphore.h and BinarySemaphore.cpp
https://bugs.webkit.org/show_bug.cgi?id=143756
Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.
- wtf/threads/BinarySemaphore.h:
- 6:38 AM Changeset in webkit [184468] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore
[GTK][Stable] Missing implementation of callToJavaScript/callToNativeFunction with msys/mingw32
https://bugs.webkit.org/show_bug.cgi?id=132856
Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
- jit/JITStubsX86.h:
- 6:11 AM WebKitGTK/2.4.x edited by
- (diff)
- 6:09 AM Changeset in webkit [184467] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
[GTK] fails to build with --disable-accelerated-compositing
https://bugs.webkit.org/show_bug.cgi?id=137640
Patch by Alexander Tsoy <alexander@tsoy.me> on 2015-05-18
Reviewed by Alberto Garcia.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel):
- 5:41 AM WebKitGTK/2.4.x edited by
- (diff)
- 5:39 AM Changeset in webkit [184466] by
-
- 16 edits in releases/WebKitGTK/webkit-2.4/Source
[GTK] Add HighDPI support for non-accelerated compositing contents
https://bugs.webkit.org/show_bug.cgi?id=131562
Patch by Owen Taylor <otaylor@redhat.com> on 2014-05-29
Reviewed by Anders Carlsson.
Source/WebCore:
No new tests. This will be tested once we have the proper dependencies in the WebKit testing
JHBuild.
Adapted by Michael Kuhn for 2.4 branch.
- platform/cairo/WidgetBackingStore.h:
(WebCore::WidgetBackingStore::WidgetBackingStore): Accept a device scale argument.
- platform/cairo/WidgetBackingStoreCairo.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
- platform/cairo/WidgetBackingStoreCairo.h: Accept a device scale argument.
- platform/graphics/cairo/CairoUtilities.cpp: Add a new helper to set the device scale if Cairo built against is new enough.
- platform/graphics/cairo/CairoUtilities.h:
- platform/gtk/GtkVersioning.h: Add the HAVE_GTK_SCALE_FACTOR macro.
- platform/gtk/WidgetBackingStoreGtkX11.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
- platform/gtk/WidgetBackingStoreGtkX11.h: Accept a device scale argument.
Source/WebKit2:
Adapted by Michael Kuhn for 2.4 branch.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(deviceScaleFactorChanged): Added this callback to pass scale changes to the page proxy.
(webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.
- UIProcess/WebPageProxy.cpp:
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::WebPageProxy::setCustomDeviceScaleFactor): Do not set a custom device scale factor for cairo when it's not supported.
(WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
(WebKit::BackingStore::incorporateUpdate): Ditto.
- 5:23 AM Changeset in webkit [184465] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore
webkit-gtk 2.3.3 fails to build on OS X - Conflicting type "Fixed"
https://bugs.webkit.org/show_bug.cgi?id=126433
Don't include CoreFoundation.h when building the GTK port.
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-01-06
- Source/JavaScriptCore/API/WebKitAvailability.h: Add
!defined(BUILDING_GTK) to defined(APPLE).
- 5:07 AM Changeset in webkit [184464] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r183729 - [GTK] API tests crashing on debug builds due to extra unref
https://bugs.webkit.org/show_bug.cgi?id=144508
Reviewed by Mario Sanchez Prada.
The problem is that we were assuming that when a new DOMWindow is
created, the DOM object cache was notified about the previous
DOMWindow being destroyed before objects for the new DOMWindow are
added to the cache. However, that's not always the case and we
only create a DOMWindowObserver for the first DOMWindow. We need
to keep a pointer to the DOMWindow being observed to clear() the
cache and create a new DOMWindowObserver when it changes in the
Frame.
Fixes crashes in several unit tests in debug builds.
- bindings/gobject/DOMObjectCache.cpp:
- 5:05 AM Changeset in webkit [184463] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r181787 - [GTK] Crash due to empty drag image during drag-and-drop
https://bugs.webkit.org/show_bug.cgi?id=142671
Reviewed by Philippe Normand.
Return early from ImageBuffer constructor if an empty size is
given. This is a speculative fix for a crash while starting a drag
and drop operation, that I haven't been able to reproduce.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
- 5:02 AM Changeset in webkit [184462] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.4/Source
Merge r181305 - 8-bit version of weakCompareAndSwap() can cause an infinite loop.
https://webkit.org/b/142513>
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Added a test that exercises the 8-bit CAS from multiple threads. The threads
will contend to set bits in a large array of bytes using the CAS function.
- API/tests/CompareAndSwapTest.cpp: Added.
(Bitmap::Bitmap):
(Bitmap::numBits):
(Bitmap::clearAll):
(Bitmap::concurrentTestAndSet):
(setBitThreadFunc):
(testCompareAndSwap):
- API/tests/testapi.c:
(main):
- JavaScriptCore.vcxproj/testapi/testapi.vcxproj:
- JavaScriptCore.vcxproj/testapi/testapi.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/WTF:
Presently, Bitmap::concurrentTestAndSet() uses the 8-bit version of
weakCompareAndSwap() (which compares and swaps an uint8_t value).
Bitmap::concurrentTestAndSet() has a loop that checks if a bit in the
byte of interest has been set. If not, it will call the 8-bit CAS
function to set the bit.
Under the covers, for ARM, the 8-bit CAS function actually works with a
32-bit CAS. The 8-bit CAS will first fetch the 32-bit value in memory
that should contain the 8-bit value, and check if it contains the
expected byte. If the value in memory doesn't have the expected byte,
it will return early to its caller. The expectation is that the caller
will reload the byte from memory and call the 8-bit CAS again.
Unfortunately, this code path that returns early does not have a
compiler fence. Without a compiler fence, the C++ compiler can
optimize away the reloading of the expected byte value, leaving it
unchanged. As a result, we'll have a infinite loop here that checks a
value that will never change, and the loop will not terminate until the
value changes.
The fix is to eliminate the early return check in the 8-bit CAS, and
have it always call down to the 32-bit CAS. The 32-bit CAS has a
compiler fence which will prevent this issue.
- wtf/Atomics.h:
(WTF::weakCompareAndSwap):
- 4:29 AM Changeset in webkit [184461] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r181074 - [SOUP] Check TLS errors as soon as they are set in the SoupMessage
https://bugs.webkit.org/show_bug.cgi?id=142244
Reviewed by Sergio Villar Senin.
Source/WebCore:
Connect to the notify::tls-errors signal of SoupMessage to cancel
the load earlier in case of TLS failure, preventing any private
data from being sent to the server before the TLS errors are checked.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::tlsErrorsChangedCallback):
(WebCore::gotHeadersCallback):
(WebCore::createSoupMessageForHandleAndRequest):
- 4:27 AM Changeset in webkit [184460] by
-
- 3 edits in releases/WebKitGTK/webkit-2.4
Merge r180927 - [SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508
Reviewed by Sergio Villar Senin.
Source/WebCore:
Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
- 4:24 AM Changeset in webkit [184459] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r181744 - [GTK] Scrollbars look bad with GTK+ 3.16
https://bugs.webkit.org/show_bug.cgi?id=140800
Reviewed by Sergio Villar Senin.
Take margin into account when rendering scrollbars. This fixes the
huge scrollbars rendered with GTK+ 3.16. We don't need to check
the GTK+ version because in previous versions the marging were 0,
so the same code just works.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::adjustRectAccordingToMargin):
(WebCore::ScrollbarThemeGtk::paintTrackBackground):
(WebCore::ScrollbarThemeGtk::paintThumb):
- 4:10 AM Changeset in webkit [184458] by
-
- 6 edits4 adds2 deletes in releases/WebKitGTK/webkit-2.4
Merge r176930 - [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
https://bugs.webkit.org/show_bug.cgi?id=128739
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-12-07
Reviewed by Martin Robinson.
Source/WebCore:
Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.
Test: http/tests/xmlhttprequest/response-special-characters.html
- platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::headerCallback): Removed header conversion.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): Ditto.
(WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
(WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
(WebCore::ResourceRequest::toSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage):
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
(WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.
LayoutTests:
Tests that non ascii header & reason phrase values are correctly retrieved by the web application.
headers.php script sends a response that includes non ascii header value.
not-ascii-status.php sends a response that includes non ascii reason phrase.
Removed specific gtk/efl expectations as now aligned with regular expectation.
- http/tests/xmlhttprequest/resources/headers.php: Added.
- http/tests/xmlhttprequest/resources/not-ascii-status.php: Added.
- http/tests/xmlhttprequest/response-special-characters-expected.txt: Added.
- http/tests/xmlhttprequest/response-special-characters.html: Added.
- platform/efl/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
- platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
- 4:06 AM Changeset in webkit [184457] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4/Source
Merge r176803 - Serialization of MapData object provides unsafe access to internal types
https://bugs.webkit.org/show_bug.cgi?id=138653
Patch by Oliver Hunt <oliver@apple.com> on 2014-12-04
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Converting these ASSERTs into RELEASE_ASSERTs, as it is now obvious
that despite trying hard to be safe in all cases it's simply to easy
to use an iterator in an unsafe state.
- runtime/MapData.h:
(JSC::MapData::const_iterator::key):
(JSC::MapData::const_iterator::value):
Source/WebCore:
We now keep the value portion of the key/value pair in MapData as a
separate stack. This allows us to maintain the spec semantic of
"atomic" serialisation of the key/value pair without retaining the
use of a potentially invalid iterator.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
- 3:35 AM Changeset in webkit [184456] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r175363 - ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
https://bugs.webkit.org/show_bug.cgi?id=138054.
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-29
Reviewed by Zalan Bujtas.
Source/WebCore:
A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.
Tests: css3/calculated-word-spacing.html.
Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):
LayoutTests:
Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.
- css3/calculated-word-spacing-expected.txt: Added.
- css3/calculated-word-spacing.html: Added.
- 3:32 AM Changeset in webkit [184455] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r175197 - Clamp wordSpacing percentage value.
https://bugs.webkit.org/show_bug.cgi?id=129350.
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-24
Reviewed by Zalan Bujtas.
Source/WebCore:
When the CSS wordSpacing property is percentage, its value has to be within the
pre-defined min/max values for the CSS length type. This is done the same way
the wordSpacing of type <length> is handled.
Tests: css3/infinite-word-spacing.html.
Move the definitions of minValueForCssLength and maxValueForCssLength from the
.cpp file to the .h file.
- css/CSSPrimitiveValue.cpp:
- css/CSSPrimitiveValue.h:
Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
its type is percentage.
- css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyWordSpacing::applyValue):
LayoutTests:
Make sure that setting the CSS style wordSpacing property to very huge percentage
value and blending this value with other values for animating key frames does
not assert or crash. The expectation is to have this huge value to be clamped to
the pre-defined min/max values for the CSS length type. So when blending the clamped
value with other wordSpacing values, the result can't be NaN. This should be very
similar to the case when it is set to a huge <length> value.
- css3/infinite-word-spacing-expected.txt: Added.
- css3/infinite-word-spacing.html: Added.
- 3:23 AM Changeset in webkit [184454] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r175177 - Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
https://bugs.webkit.org/show_bug.cgi?id=138047
Reviewed by Andreas Kling.
No change in functionality.
- css/CSSPrimitiveValue.cpp:
- 3:19 AM Changeset in webkit [184453] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r175345 - Remove invalid float from RootInlineBox.
https://bugs.webkit.org/show_bug.cgi?id=137707
Reviewed by Antti Koivisto.
In certain cases, floating boxes get attached to the last (root) inline box.
When this particular floating box gets destroyed, it also needs to be detached
from the last inline box.
Source/WebCore:
- Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
- Ensure that it is called when the floating box is being destroyed.
Test: fast/inline/crash-when-inline-box-has-invalid-float.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
tearing down the render tree, we can get to a state where a block element has both inline and block children.
It happens when the style change on an element makes sibling anonymous block wrappers detached.
In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
block child elements as we return early at the childrenInline() check.
- rendering/RootInlineBox.h:
(WebCore::RootInlineBox::removeFloat):
LayoutTests:
- fast/inline/crash-when-inline-box-has-invalid-float-expected.txt: Added.
- fast/inline/crash-when-inline-box-has-invalid-float.html: Added.
- 3:14 AM Changeset in webkit [184452] by
-
- 3 edits6 adds in releases/WebKitGTK/webkit-2.4
Merge r175243 - Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<https://webkit.org/b/137814>
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.
In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.
- jit/ThunkGenerators.cpp:
(JSC::arrayIteratorNextThunkGenerator):
LayoutTests:
- js/array-length-shortening-expected.txt: Added.
- js/array-length-shortening.html: Added.
- js/for-of-crash-expected.txt: Added.
- js/for-of-crash.html: Added.
- js/script-tests/array-length-shortening.js: Added.
(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):
- js/script-tests/for-of-crash.js: Added.
(foo):
- 3:04 AM Changeset in webkit [184451] by
-
- 13 edits in releases/WebKitGTK/webkit-2.4
Merge r175078 - String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
https://bugs.webkit.org/show_bug.cgi?id=130967
Patch by Byungseon Shin <sun.shin@lge.com> on 2014-10-22
Reviewed by Mark Lam.
Source/JavaScriptCore:
By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.
- JavaScriptCore.order:
- runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::callDate):
(JSC::dateUTC):
- runtime/DateInstance.cpp:
(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):
- runtime/DatePrototype.cpp:
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):
- runtime/JSDateMath.cpp:
(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):
- runtime/JSDateMath.h:
- runtime/VM.h:
(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
Passing TimeType argument to distingush UTC time and local time.
Source/WTF:
By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.
- wtf/DateMath.cpp:
(WTF::calculateLocalTimeOffset):
(WTF::parseDateFromNullTerminatedCharacters):
Compensate time offset depends on UTC time or local time.
- wtf/DateMath.h:
Add argument to differenciate UTC or local time.
LayoutTests:
Set latest DST timezone boundary values on
<http://www.timeanddate.com/time/zone/usa/los-angeles>
- js/dom/script-tests/date-DST-time-cusps.js:
- 2:40 AM Changeset in webkit [184450] by
-
- 3 edits9 adds in releases/WebKitGTK/webkit-2.4
Merge r175074 - SVG loaded through html <img> can't request to load any external resources.
https://bugs.webkit.org/show_bug.cgi?id=137762.
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-22
Reviewed by Daniel Bates.
Source/WebCore:
SVG images have unique security rules that prevent them from loading any external
resources. This patch enforces these rules in CachedResourceLoader::canRequest for
all non-data-uri resources.
The fix and the tests are ported but modified a little from the chromium fix:
http://src.chromium.org/viewvc/blink?view=rev&rev=176084
Test: http/tests/security/svg-image-with-cached-remote-image.html
http/tests/security/svg-image-with-css-cross-domain.html
For the SVG image, prevent loading any external sub-resource except for data urls.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
LayoutTests:
Ensure that SVG images, which are loaded through the <img> tag or through the
CSS background image, cannot load any external sub-resource except for data-
URL resources (though this doesn't work at the time of writing, see bug #137941).
Also ensure the same rule is enforced on cached resources.
The tests are ported but modified a little from the chromium fix:
http://src.chromium.org/viewvc/blink?view=rev&rev=176084
Set the circle background to orange
- http/tests/security/resources/image-with-css-cross-domain-circle.css: Added.
(circle):
Set the circle stroke-width = 2 and the circle stroke = red
- http/tests/security/resources/image-with-css-cross-domain-circle2.css: Added.
(circle):
This svg references the two css files: one is relative path and the other is absolute path
- http/tests/security/resources/image-with-css-cross-domain.svg: Added.
This svg references an external image.
- http/tests/security/resources/image-with-remote-image.svg: Added.
A helper css which sets the formatting style for some html tags
- http/tests/security/svg-image-with-css-cross-domain.css: Added.
(span):
(span.circle-css-cross-domain):
(embed):
(iframe):
Test the svg which is referenced as a cached image by an <object> tag, does not load
external sub-resource.
- http/tests/security/svg-image-with-cached-remote-image-expected.html: Added.
- http/tests/security/svg-image-with-cached-remote-image.html: Added.
Test loading sub-resources for an svg which is included in the html by different ways
and which references external css files.
Ensure the image object does not load any external sub-resources.
- http/tests/security/svg-image-with-css-cross-domain-expected.html: Added.
- http/tests/security/svg-image-with-css-cross-domain.html: Added.
May 17, 2015:
- 11:31 PM Changeset in webkit [184449] by
-
- 8 edits1 copy in trunk/Source/WebKit2
Network Cache: Make Data::adoptMap take the ownership of the file descriptor
https://bugs.webkit.org/show_bug.cgi?id=144950
Reviewed by Antti Koivisto.
It will be required to implement ShareableResource for soup
network backend. Also move the common code of Data to a common
file and add mapToFile(). The mapFile version that receives a file
descriptor has been renamed to adoptAndMapFile().
- CMakeLists.txt: Add new file to compilation.
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::add): Use mapToFile().
- NetworkProcess/cache/NetworkCacheData.cpp: Added.
(WebKit::NetworkCache::Data::mapToFile): Write the data to the
given file and map it.
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::adoptAndMapFile):
(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::bytesEqual):
- NetworkProcess/cache/NetworkCacheData.h:
- NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::adoptMap): Close the file descriptor.
- NetworkProcess/cache/NetworkCacheDataSoup.cpp:
(WebKit::NetworkCache::Data::Data): Use a constructor that
receives a file descriptor instead of the one receiving
Backing. If the file descriptor is not -1 then the Data is a map.
(WebKit::NetworkCache::MapWrapper::~MapWrapper): Also close the
file descriptor.
(WebKit::NetworkCache::Data::adoptMap): Pass the file descriptor
to the MapWrapper and create the Data passing the file descriptor.
- UIProcess/API/APIUserContentExtensionStore.cpp:
(API::openAndMapContentExtension): Use mapFile that receives a
file path.
(API::compiledToFile): Use adoptAndMapFile() and don't close the
descriptor.
- 11:26 PM Changeset in webkit [184448] by
-
- 6 edits in trunk/Source
Do not use fastMallocGoodSize anywhere
https://bugs.webkit.org/show_bug.cgi?id=145103
Reviewed by Michael Saboff.
Source/JavaScriptCore:
- assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::grow):
Source/WTF:
It is silly we see fastMallocGoodSize in profiles, it does absolutely nothing.
This patch keeps fastMallocGoodSize() around for older code linking
with newer WebKit, but remove any use of it inside WebKit.
- wtf/FastMalloc.cpp:
(WTF::fastMallocGoodSize):
- wtf/FastMalloc.h:
- wtf/Vector.h:
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
- 11:23 PM Changeset in webkit [184447] by
-
- 4 edits3 adds in trunk
[JSC] Make StringRecursionChecker faster in the simple cases without any recursion
https://bugs.webkit.org/show_bug.cgi?id=145102
Reviewed by Darin Adler.
Source/JavaScriptCore:
In general, the array targeted by Array.toString() or Array.join() are pretty
simple. In those simple cases, we spend as much time in StringRecursionChecker
as we do on the actual operation.
The reason for this is the HashSet stringRecursionCheckVisitedObjects used
to detect recursion. We are constantly adding and removing objects which
dirty buckets and force constant rehash.
This patch adds a simple shortcut for those simple case: in addition to the HashSet,
we keep a pointer to the root object of the recursion.
In the vast majority of cases, we no longer touch the HashSet at all.
This patch is a 12% progression on the overall score of ArrayWeighted.
- runtime/StringRecursionChecker.h:
(JSC::StringRecursionChecker::performCheck):
(JSC::StringRecursionChecker::~StringRecursionChecker):
- runtime/VM.h:
LayoutTests:
Improve the coverage a tiny bit.
- js/array-string-recursion-expected.txt: Added.
- js/array-string-recursion.html: Added.
- js/script-tests/array-string-recursion.js: Added.
- 11:16 PM Changeset in webkit [184446] by
-
- 3 edits2 adds in trunk
[CSS Grid Layout] Add scrollbar width in intrinsic logical widths computation
https://bugs.webkit.org/show_bug.cgi?id=145021
Source/WebCore:
Like for flexboxes we've to take into account the scrollbar logical
width while computing the intrinsic min and max logical widths.
Reviewed by Sergio Villar Senin.
Test: fast/css-grid-layout/compute-intrinsic-widths-scrollbar.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Add scrollbar
logical width.
LayoutTests:
Reviewed by Sergio Villar Senin.
- fast/css-grid-layout/compute-intrinsic-widths-scrollbar-expected.txt: Added.
- fast/css-grid-layout/compute-intrinsic-widths-scrollbar.html: Added.
- 8:39 PM Changeset in webkit [184445] by
-
- 12 edits4 adds2 deletes in trunk/Source/JavaScriptCore
Insert store barriers late so that IR transformations don't have to worry about them
https://bugs.webkit.org/show_bug.cgi?id=145015
Reviewed by Geoffrey Garen.
We have had three kinds of bugs with store barriers. For the sake of discussion we say
that a store barrier is needed when we have something like:
base.field = value
- We sometimes fail to realize that we could remove a barrier when value is a non-cell. This might happen if we prove value to be a non-cell even though in the FixupPhase it wasn't predicted non-cell.
- We sometimes have a barrier in the wrong place after object allocation sinking. We might sink an allocation to just above the store, but that puts it just after the StoreBarrier that FixupPhase inserted.
- We don't remove redundant barriers across basic blocks.
This comprehensively fixes these issues by doing store barrier insertion late, and
removing the store barrier elision phase. Store barrier insertion uses an epoch-based
algorithm to determine when stores need barriers. Briefly, a barrier is not needed if
base is in the current GC epoch (i.e. was the last object that we allocated or had a
barrier since last GC) or if base has a newer GC epoch than value (i.e. value would have
always been allocated before base). We do conservative things when merging epoch state
between basic blocks, and we only do such inter-block removal in the FTL. FTL also
queries AI to determine what type we've proved about value, and avoids barriers when
value is not a cell. FixupPhase still inserts type checks on some stores, to maximize
the likelihood that this AI-based removal is effective.
Rolling back in after fixing some debug build test failures.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGBlockMap.h:
(JSC::DFG::BlockMap::at):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
- dfg/DFGEpoch.h:
(JSC::DFG::Epoch::operator<):
(JSC::DFG::Epoch::operator>):
(JSC::DFG::Epoch::operator<=):
(JSC::DFG::Epoch::operator>=):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::speculateForBarrier):
(JSC::DFG::FixupPhase::insertStoreBarrier): Deleted.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGStoreBarrierElisionPhase.cpp: Removed.
- dfg/DFGStoreBarrierElisionPhase.h: Removed.
- dfg/DFGStoreBarrierInsertionPhase.cpp: Added.
(JSC::DFG::performFastStoreBarrierInsertion):
(JSC::DFG::performGlobalStoreBarrierInsertion):
- dfg/DFGStoreBarrierInsertionPhase.h: Added.
- ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR): Fix an unrelated debug-only bug.
- tests/stress/load-varargs-then-inlined-call-and-exit.js: Test for that debug-only bug.
- tests/stress/load-varargs-then-inlined-call-and-exit-strict.js: Strict version of that test.
- 11:44 AM Changeset in webkit [184444] by
-
- 10 edits in trunk/Source/WebCore
[Streams API] Delegate ReadableStreamReader reference counting to ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=144907
Reviewed by Darin Adler.
Changed the link between readadable stream and reader.
Controller ref()/deref() now increments/decrements its stream ref counter, similarly to ReadableStreamController.
This ensures that even if JS scripts do not keep track of the readable stream,
the readable stream will not be disposed as long as the JS script has access to its reader.
All readers of a given stream are kept by the stream, either in an array (for released readers)
or and in ReadableStream::m_reader for the active reader.
This removes the need for the code synchronizing stream and reader.
As a reader can now already count on its stream, the reader no longer needs to store the error in errored state.
Removal of ReadableJSStream::Reader as closed promise rejection error is directly retrieved from the ReadableStream.
Moved the creation of reader directly in ReadableStream.
Next step should be to remove ReadableStreamReader::m_state and to delegate the handling of ReadableStreamReader closed promise callbacks to ReadableStream.
No change in behavior.
- Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::changeStateToClosed):
(WebCore::ReadableStream::changeStateToErrored):
(WebCore::ReadableStream::getReader):
- Modules/streams/ReadableStream.h:
(WebCore::ReadableStream::reader):
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::clean):
(WebCore::ReadableStreamReader::ref):
(WebCore::ReadableStreamReader::deref):
(WebCore::ReadableStreamReader::closed):
(WebCore::ReadableStreamReader::changeStateToClosed):
(WebCore::ReadableStreamReader::changeStateToErrored):
- Modules/streams/ReadableStreamReader.h:
(WebCore::ReadableStreamReader::ReadableStreamReader):
- Modules/streams/ReadableStreamReader.idl:
- bindings/js/JSReadableStreamCustom.cpp:
(WebCore::JSReadableStream::getReader):
- bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed):
(WebCore::constructJSReadableStreamReader):
- bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::storeError):
(WebCore::ReadableJSStream::ReadableJSStream): Deleted.
- bindings/js/ReadableJSStream.h:
- 10:39 AM Changeset in webkit [184443] by
-
- 2 edits in trunk/Source/WebCore
Crash when uploading huge files to YouTube or Google Drive
https://bugs.webkit.org/show_bug.cgi?id=145083
rdar://problem/15468529
Reviewed by Darin Adler.
This fixes the crash, but uploading will fail.
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::start): Tell SubresourceLoader to not store a copy of
all received data, FileReaderLoader has its own buffer.
(WebCore::FileReaderLoader::didReceiveResponse): Fixed a bounds check - not every
64-bit value that doesn't fit into 32 bits is negative. With this, FileReader fails
on huge files right away, as intended.
(WebCore::FileReaderLoader::didReceiveData): Fixed multiple bugs in code that's
executed when size is not available upfront. This is the code that used to crash,
but with the above fix, it's not executed by YouTube.
Not only overflow was handled incorrectly, but even simply growing a buffer for
append was buggy.
- 10:36 AM Changeset in webkit [184442] by
-
- 2 edits in trunk/Tools
bisect-builds: Add 'retry' option when prompting whether the bug reproduced
<http://webkit.org/b/145100>
Reviewed by Darin Adler.
- Scripts/bisect-builds:
- Add PROMPT_ANSWER_* constants for yes/no/retry/broken prompt.
- Switch to using PROMPT_RESPONSE_* constants when testing the value of $didReproduceBug.
- Add do { } while loops to implement 'retry' mode.
(promptForTest):
- Switch to returning PROMPT_RESPONSE_* constants.
- Add support for 'retry' response.
May 16, 2015:
- 5:24 PM Changeset in webkit [184441] by
-
- 7 edits in trunk/Source/WebKit2
[iOS] WKPDFView should not follow javascript: links
https://bugs.webkit.org/show_bug.cgi?id=145101
Reviewed by Dan Bernstein.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick): Returned early if url's protocol is javascript:.
(WebKit::WebPageProxy::navigateToURLWithSimulatedClick): Renamed to navigateToPDFLinkWithSimulatedClick to
reflect that this function is exclusively for following PDF links.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView annotation:wasTouchedAtPoint:controller:]):
(-[WKPDFView actionSheetAssistant:openElementAtLocation:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick): Renamed from navigateToURLWithSimulatedClick.
(WebKit::WebPage::navigateToURLWithSimulatedClick): Renamed to navigateToPDFLinkWithSimulatedClick.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:24 PM Changeset in webkit [184440] by
-
- 3 edits4 adds in trunk
REGRESSION (Subpixel): Dashed underline is missing when box is positioned at subpixels.
https://bugs.webkit.org/show_bug.cgi?id=145097
rdar://problem/18588415
Reviewed by Simon Fraser.
Dashed and dotted border painting needs clipping in order to properly display corners.
Similarly to solid border's quad calculation, we pixelsnap the border positions before computing the clipping quad values.
Source/WebCore:
Test: fast/borders/dashed-border-on-subpixel-position.html
fast/borders/dotted-border-on-subpixel-position.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
LayoutTests:
- fast/borders/dashed-border-on-subpixel-position-expected.html: Added.
- fast/borders/dashed-border-on-subpixel-position.html: Added.
- fast/borders/dotted-border-on-subpixel-position-expected.html: Added.
- fast/borders/dotted-border-on-subpixel-position.html: Added.
- 4:00 PM Changeset in webkit [184439] by
-
- 4 edits in trunk/Source/WebKit2
[iOS] Remote scrolling tree needs to coordinate scroll snap state during resize/rotations
https://bugs.webkit.org/show_bug.cgi?id=145059
<rdar://problem/20975978>
Reviewed by Simon Fraser.
The web view needs to update its scroll snap point offsets to take into account any
adjustments to the view size caused by content insets. We also need to update the
offstes after device rotation.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Retrieve the proper
computed content inset for the view and incorporate into any scroll snap point adjustments.
(-[WKWebView _updateVisibleContentRects]): If we have active scroll snap points,
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
- UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Update to account
for content inset.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Also validate that the
active index is valid.
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Update to track
current active snap offset index.
(WebKit::RemoteScrollingCoordinatorProxy::hasActiveSnapPoint): Added.
(WebKit::RemoteScrollingCoordinatorProxy::nearestActiveSnapPoint): Added. It calculates the proper
scroll position incorporating any snap point and content insets.
- 2:01 PM Changeset in webkit [184438] by
-
- 11 edits1 move1 add1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r184415.
https://bugs.webkit.org/show_bug.cgi?id=145096
Broke several tests (Requested by msaboff on #webkit).
Reverted changeset:
"Insert store barriers late so that IR transformations don't
have to worry about them"
https://bugs.webkit.org/show_bug.cgi?id=145015
http://trac.webkit.org/changeset/184415
- 1:00 PM Changeset in webkit [184437] by
-
- 3 edits in trunk/Source/WebCore
Remove styleText() and applyStyleText() from InspectorStyle.
https://bugs.webkit.org/show_bug.cgi?id=145093
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-16
Reviewed by Darin Adler.
styleText() and applyStyleText() in InspectorStyle are private aliases for the public
accessors in the same class but are rarely used. I think it would be better off removing
these aliases and updating all the current call sites to use the public accessors directly
as noted in InspectorStyleSheet.h.
No new tests, no behavior change.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::populateAllProperties):
- inspector/InspectorStyleSheet.h:
- 12:57 PM Changeset in webkit [184436] by
-
- 3 edits in trunk/Source/WebCore
Remove MessageType variant of addMessageToConsole() from ChromeClient.
https://bugs.webkit.org/show_bug.cgi?id=145095
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-16
Reviewed by Darin Adler.
All addMessageToConsole() in ChromeClient are exactly the same thing.
So there is no reason to keep all this methods.
No new tests, no behavior change.
- page/ChromeClient.h:
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
- 11:16 AM Changeset in webkit [184435] by
-
- 12 edits1 copy2 adds in trunk
Add getElementById to DocumentFragment
https://bugs.webkit.org/show_bug.cgi?id=145094
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Match the latest DOM standard and other browsers by adding getElementById
to DocumentFragment in addition to Document and SVGSVGElement. Add NonElementParentNode
interface that the DOM standard defines.
Test: fast/dom/DocumentFragment/getElementById.html
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
Add NonElementParentNode.idl
- dom/Document.idl:
Mark Document as implementing NonElementParentNode and remove now redundant getElementById
declaration.
- dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::getElementById):
- dom/DocumentFragment.h:
Add implementation of getElementById for DocumentFragments. Add a fast path for ShadowRoots
which can take advantage of the fact that they are TreeScopes to use the elements by id cache
in TreeScrope.
- dom/DocumentFragment.idl:
Mark DocumentFragment as implementing NonElementParentNode.
- dom/NonElementParentNode.idl: Copied from Source/WebCore/dom/NonDocumentTypeChildNode.idl.
Added.
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::getElementById):
- svg/SVGSVGElement.h:
- svg/SVGSVGElement.idl:
Convert to taking an AtomicString to match other getElementByIds.
LayoutTests:
- fast/dom/DocumentFragment/getElementById-expected.txt: Added.
- fast/dom/DocumentFragment/getElementById.html: Added.
- 6:53 AM Changeset in webkit [184434] by
-
- 11 edits2 adds in trunk
When redirecting to data URL use HTTP response for same origin policy checks
https://bugs.webkit.org/show_bug.cgi?id=145054
rdar://problem/20299050
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: http/tests/security/canvas-remote-read-data-url-image-redirect.html
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::notifyFinished):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::sanitizeScriptError):
- html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::responseReceived):
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::notifyFinished):
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::isOriginClean):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::passesAccessControlCheck):
(WebCore::CachedResource::passesSameOriginPolicyCheck):
Factor repeatedly used same origin policy test into a function.
(WebCore::CachedResource::redirectReceived):
When redirecting to a data URL save the redirect response.
(WebCore::CachedResource::responseForSameOriginPolicyChecks):
In case we got redirected to data use that response instead of the final data response for policy checks.
- loader/cache/CachedResource.h:
LayoutTests:
- http/tests/security/canvas-remote-read-data-url-image-redirect-expected.txt: Added.
- http/tests/security/canvas-remote-read-data-url-image-redirect.html: Added.
- 12:52 AM Changeset in webkit [184433] by
-
- 2 edits in trunk/Source/WebCore
[iOS] wireless playback picker button is drawn incorrectly
https://bugs.webkit.org/show_bug.cgi?id=145057
rdar://problem/20877518
Reviewed by Jer Noble.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.updateWirelessTargetPickerButton): This method is
defined in Controller, but is only meant to run on Macs. Override it with
an empty function for iOS.
- 12:11 AM Changeset in webkit [184432] by
-
- 2 edits in trunk/Tools
[EFL][WK2] Minibrowser : Add search icon to search bar
https://bugs.webkit.org/show_bug.cgi?id=139773
Patch by Tanay C <tanay.c@samsung.com> on 2015-05-16
Reviewed by Gyuyoung Kim.
- MiniBrowser/efl/main.c:
(search_icon_show): Added.
(search_box_show): Modified.
May 15, 2015:
- 11:42 PM Changeset in webkit [184431] by
-
- 3 edits in trunk/Tools
run_benchmark should have an option to specify the number of runs
https://bugs.webkit.org/show_bug.cgi?id=145091
Reviewed by Stephanie Lewis.
Added --count option.
- Scripts/run-benchmark:
(main):
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.init):
- 9:24 PM Changeset in webkit [184430] by
-
- 4 edits2 adds in trunk
REGRESSION (r183300): Background missing on top links on apple.com
https://bugs.webkit.org/show_bug.cgi?id=145079
rdar://problem/20914252
Reviewed by Tim Horton.
Source/WebCore:
Re-land r184421 with a fix to check against rects.coverageRect
rather than the stale m_coverageRect.
Test: compositing/visible-rect/backing-change-height-from-zero.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldSkipLayerInDump):
LayoutTests:
Re-land.
- compositing/visible-rect/backing-change-height-from-zero-expected.txt: Added.
- compositing/visible-rect/backing-change-height-from-zero.html: Added.
- 8:47 PM Changeset in webkit [184429] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: empty timeline should not use previous timeline's zoom interval
https://bugs.webkit.org/show_bug.cgi?id=132754
Reviewed by Joseph Pecoraro.
When a timeline recording is started in response to a provisional load, TimelineManager should check whether
the main resource url is changing before loading a new timeline recording. If the main resource is changing,
set the selection start, selection duration, and duration-per-pixel settings of the TimelineOverview to their
default values.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.isCapturingPageReload):
(WebInspector.TimelineManager.prototype.capturingStopped):
(WebInspector.TimelineManager.prototype.pageDidLoad):
(WebInspector.TimelineManager.prototype._startAutoCapturing):
Added a property for checking whether auto capture was triggered by a page reload.
- UserInterface/Views/LinearTimelineOverview.js:
(WebInspector.LinearTimelineOverview):
Increase default selection time to 15 seconds.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
Reset selection and zoom if TimelineManager isn't capturing in response to a page reload.
(WebInspector.TimelineOverview.prototype.reset):
Reset selection and zoom.
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
(WebInspector.TimelineOverview.prototype._resetSelection):
Added a helper function for resetting selection and zoom to their default values.
- 8:46 PM Changeset in webkit [184428] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: REGRESSION (r181625): Timeline recording started from console.profile is always empty
https://bugs.webkit.org/show_bug.cgi?id=144882
Reviewed by Joseph Pecoraro.
A timeline recording will always be stopped before the end of the current run loop is observed. Before
dispatching the recording stopped event, any events that are currently in progress should be considered
complete and sent to the frontend.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStop):
- 8:00 PM Changeset in webkit [184427] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Timeline data grid displays wrong records after switching between Timelines/Frames mode
https://bugs.webkit.org/show_bug.cgi?id=145084
Reviewed by Timothy Hatcher.
Update timeline sidebar filter whenever the view mode changes.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
(WebInspector.TimelineSidebarPanel.get else):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
- 7:31 PM Changeset in webkit [184426] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Bump image format number to force image regeneration
https://bugs.webkit.org/show_bug.cgi?id=145074
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-15
Reviewed by Timothy Hatcher.
- UserInterface/Base/ImageUtilities.js:
- 7:24 PM Changeset in webkit [184425] by
-
- 2 edits in trunk/Source/WebKit2
Don't reset the preview recognizer in [WKContentViewInteraction cleanupInteraction]
https://bugs.webkit.org/show_bug.cgi?id=145081
We shouldn't reset the recognizer in [WKContentViewInteraction cleanupInteraction] since we don't re-add it
back to WKContentView when the process relaunched. Since we already add/remove it when the view is move into/
removed from the window, we don't need reset it in cleanupInteraction.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-05-15
Reviewed by Dan Bernstein.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanupInteraction]):
- 6:46 PM Changeset in webkit [184424] by
-
- 1 edit2 adds in trunk/LayoutTests
Test the interaction between font-family and font-weight
https://bugs.webkit.org/show_bug.cgi?id=145078
Reviewed by Dean Jackson.
This test is designed to test the interaction between font-family and font-weight. In particular,
our implementation of font-family accepts PostScript names, which may name a font with a particular
weight. However, there is another CSS property, font-weight, in which the author may also name a
particular weight. Our font selection algorithm takes both of these signals into account when
choosing fonts.
There is currently no good way in JavaScript to find the actual font chosen for some text.
Therefore, the best way to test this aspect of the font selection algorithm is to dump the render
tree, therefore testing glyph advances (which are a property of font weight).
- platform/mac/fast/text/font-weights-expected.txt: Added.
- platform/mac/fast/text/font-weights.html: Added.
- 6:37 PM Changeset in webkit [184423] by
-
- 4 edits2 deletes in trunk
Unreviewed, rolling out r184421.
https://bugs.webkit.org/show_bug.cgi?id=145087
Introduced 42 layout test failures (Requested by rniwa on
#webkit).
Reverted changeset:
"REGRESSION (r183300): Background missing on top links on
apple.com"
https://bugs.webkit.org/show_bug.cgi?id=145079
http://trac.webkit.org/changeset/184421
- 5:21 PM Changeset in webkit [184422] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r181910): WKWebView incorrectly scales snapshot
https://bugs.webkit.org/show_bug.cgi?id=145076
Patch by James Savage <James Savage> on 2015-05-15
Reviewed by Tim Horton.
We added a fast path to snapshotting using IOSurfaces with
http://trac.webkit.org/changeset/181910 which incorrectly determined
scale and transform and resulted in bad snapshots in some situations.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
When snapshotting an IOSurface we need to compute our scale based off of
the rect in the WKWebView coordinates, we also failed to account for
non-zero origins in the snapshot rect. Remove an unused varible while
we're here.
- 4:29 PM Changeset in webkit [184421] by
-
- 4 edits2 adds in trunk
REGRESSION (r183300): Background missing on top links on apple.com
https://bugs.webkit.org/show_bug.cgi?id=145079
rdar://problem/20914252
Reviewed by Tim Horton.
Source/WebCore:
GraphicsLayerCA::setVisibleAndCoverageRects() only set the m_intersectsCoverageRect
flag if the coverage rect changed, but it doesn't if you simply change the size of
the layer.
Instead, always re-evaluate the intersection, and set the CoverageRectChanged bit
if it changes.
Test: compositing/visible-rect/backing-change-height-from-zero.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldSkipLayerInDump): Don't skip any layers in a
debug layer dump, to assist debugging.
LayoutTests:
Composited box that toggles to a non-zero height and dumps layers.
- compositing/visible-rect/backing-change-height-from-zero-expected.txt: Added.
- compositing/visible-rect/backing-change-height-from-zero.html: Added.
- 3:55 PM Changeset in webkit [184420] by
-
- 13 edits2 adds in trunk
Move HTMLElement's children property to ParentNode
https://bugs.webkit.org/show_bug.cgi?id=145072
Reviewed by Chris Dumez.
Source/WebCore:
Match the latest DOM standard and other browsers by moving the children property
to ParentNode, thus exposing it on Element, Document and DocumentFragment.
Test: fast/dom/ParentNode-children.html
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::children):
Moved implementation from HTMLElement to here.
(WebCore::ContainerNode::ensureCachedHTMLCollection):
(WebCore::ContainerNode::cachedHTMLCollection):
Moved implementation from Element to here so that ContainerNode::children
can use it.
(WebCore::ContainerNode::firstElementChild):
(WebCore::ContainerNode::lastElementChild):
(WebCore::ContainerNode::childElementCount):
Remove unnecessary assertions.
- dom/ContainerNode.h:
Moved declarations from HTMLElement and Element to here.
- dom/Element.cpp:
(WebCore::Element::ensureCachedHTMLCollection): Deleted.
(WebCore::Element::cachedHTMLCollection): Deleted.
- dom/Element.h:
Moved to ContainerNode.
- dom/Node.cpp:
(WebCore::Node::previousElementSibling):
(WebCore::Node::nextElementSibling):
Remove unnecessary assertions.
- dom/ParentNode.idl:
Moved the children property here from HTMLElement.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::children): Deleted.
- html/HTMLElement.h:
Moved to ContainerNode.
- html/HTMLElement.idl:
Get rid of the children property for all bindings except Objective-C which needs
to keep it to avoid changing the public API.
LayoutTests:
- fast/dom/ParentNode-children-expected.txt: Added.
- fast/dom/ParentNode-children.html: Added.
Test children on Element, Document and DocumentFragment.
- fast/dom/xmlserializer-serialize-to-string-exception-expected.txt:
Update results since document.children is no longer undefined.
- js/dom/dom-static-property-for-in-iteration-expected.txt:
Update results.
- 3:10 PM WindowsWithoutCygwin edited by
- (diff)
- 2:59 PM Changeset in webkit [184419] by
-
- 2 edits in trunk/Source/WebCore
WebCore ASan debug build fails. ERROR: WebCore has a weak external symbol in it.
https://bugs.webkit.org/show_bug.cgi?id=145070
Reviewed by David Kilzer.
Build fix.
- Configurations/WebCore.unexp:
- 2:36 PM Changeset in webkit [184418] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Reduce type annotation update frequency
https://bugs.webkit.org/show_bug.cgi?id=145066
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-15
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/TypeTokenAnnotator.js:
Reduce the frequency which could commonly be 16-24ms
to a minimum of 100ms and maximum of 2000ms.
- 2:31 PM Changeset in webkit [184417] by
-
- 2 edits in trunk/Source/WebCore
Prefix force on MouseEvent and add constants for click and force click values
https://bugs.webkit.org/show_bug.cgi?id=145065
-and corresponding-
rdar://problem/20770052
Reviewed by Tim Horton.
(WebCore::MouseEvent::webkitForce):
- dom/MouseEvent.idl:
- 2:30 PM Changeset in webkit [184416] by
-
- 8 edits in trunk/Source/WebCore
[MediaControls] Refactor media controls & bring improvements made to iOS controls to Mac.
https://bugs.webkit.org/show_bug.cgi?id=144973
Reviewed by Dean Jackson.
Pull improvements made to the iOS media controls back into the Mac controls by moving
code from mediaControlsiOS.js into MediaControlsApple.js.
The largest refactored feature is the ability to drop individual controls from the media
controls when the video is too small to contain them. To allow these controls to resize
dynamically, a new "resize" event is fired inside the media element's shadow DOM.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel .dropped): Added; sets "display: none".
- Modules/mediacontrols/mediaControlsApple.js:
(Controller): Set defaults for new variables.
(Controller.prototype.updateControls): Update the controls width; moved from iOS.js.
(Controller.prototype.handleReadyStateChange): Update the controls; moved from iOS.js.
(Controller.prototype.handleTimeUpdate): Update the progress; moved from iOS.js.
(Controller.prototype.handleTimelineInput): Pause if scrubbing; moved from iOS.js.
(Controller.prototype.handleTimelineChange): Update the progress; moved from iOS.js.
(Controller.prototype.showControls): Update the controls width; moved from iOS.js.
(Controller.prototype.hideControls): Removed _potentiallyScrubbing check; not needed due to changes
to controlsAlwaysVisible().
(Controller.prototype.scheduleUpdateLayoutForDisplayedWidth): Moved from iOS.js.
(Controller.prototype.isControlVisible): Added; checks whether control is parented & not hidden.
(Controller.prototype.updateLayoutForDisplayedWidth): Moved from iOS.js and refactored.
(Controller.prototype.controlsAlwaysVisible): Return true if scrubbing.
(Controller.prototype.updateHasAudio): Check currentPlaybackTargetIsWireless(); moved from iOS.js.
(Controller.prototype.get scrubbing): Simple getter for _scrubbing.
(Controller.prototype.set scrubbing): Check play state if scrubbing; start playback (if necessary)
if not scrubbing.
(Controller.prototype.get pageScaleFactor): Moved from iOS.js.
(Controller.prototype.set pageScaleFactor): Ditto.
(Controller.prototype.handleRootResize): Schedule an update of the contrtols width.
Remove a bunch of newly unnecessary code from the iOS media controls:
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS):
(ControllerIOS.prototype.createControls): Remove ivars moved into Apple.js.
(ControllerIOS.prototype.configureInlineControls): Remove spacer; made unnecessary.
(ControllerIOS.prototype.showControls): Deleted.
(ControllerIOS.prototype.updateTime): Deleted.
(ControllerIOS.prototype.handleTimelineTouchStart): Just call "scrubbing = true", handled in Apple.js.
(ControllerIOS.prototype.handleTimelineTouchEnd): Just call "scrubbing = false", handled in Apple.js.
(ControllerIOS.prototype.handleReadyStateChange): Deleted.
(ControllerIOS.prototype.setPlaying): Don't check _timelineIsHidden; not needed.
(ControllerIOS.prototype.get pageScaleFactor): Deleted.
(ControllerIOS.prototype.set pageScaleFactor): Deleted.
(ControllerIOS.prototype.scheduleUpdateLayoutForDisplayedWidth): Deleted.
(ControllerIOS.prototypeupdateLayoutForDisplayedWidth): Deleted.
Fire a "resize" event at the shadow DOM root when layout results in a size change.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged): Fire the "resize" event at the shadow DOM.
- html/HTMLMediaElement.h:
- rendering/RenderMedia.cpp:
(WebCore::RenderMedia::layout): Trigger layoutSizeChanged()
- rendering/RenderMedia.h:
Drive-by fixes:
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls): aria-label text is totally wrong; removed.
(Controller.prototype.updateWirelessPlaybackStatus): Use class-names to hide controls, not inline styles.
- 2:11 PM Changeset in webkit [184415] by
-
- 11 edits2 adds2 deletes in trunk/Source/JavaScriptCore
Insert store barriers late so that IR transformations don't have to worry about them
https://bugs.webkit.org/show_bug.cgi?id=145015
Reviewed by Geoffrey Garen.
We have had three kinds of bugs with store barriers. For the sake of discussion we say
that a store barrier is needed when we have something like:
base.field = value
- We sometimes fail to realize that we could remove a barrier when value is a non-cell. This might happen if we prove value to be a non-cell even though in the FixupPhase it wasn't predicted non-cell.
- We sometimes have a barrier in the wrong place after object allocation sinking. We might sink an allocation to just above the store, but that puts it just after the StoreBarrier that FixupPhase inserted.
- We don't remove redundant barriers across basic blocks.
This comprehensively fixes these issues by doing store barrier insertion late, and
removing the store barrier elision phase. Store barrier insertion uses an epoch-based
algorithm to determine when stores need barriers. Briefly, a barrier is not needed if
base is in the current GC epoch (i.e. was the last object that we allocated or had a
barrier since last GC) or if base has a newer GC epoch than value (i.e. value would have
always been allocated before base). We do conservative things when merging epoch state
between basic blocks, and we only do such inter-block removal in the FTL. FTL also
queries AI to determine what type we've proved about value, and avoids barriers when
value is not a cell. FixupPhase still inserts type checks on some stores, to maximize
the likelihood that this AI-based removal is effective.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGBlockMap.h:
(JSC::DFG::BlockMap::at):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
- dfg/DFGEpoch.h:
(JSC::DFG::Epoch::operator<):
(JSC::DFG::Epoch::operator>):
(JSC::DFG::Epoch::operator<=):
(JSC::DFG::Epoch::operator>=):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::speculateForBarrier):
(JSC::DFG::FixupPhase::insertStoreBarrier): Deleted.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGStoreBarrierElisionPhase.cpp: Removed.
- dfg/DFGStoreBarrierElisionPhase.h: Removed.
- dfg/DFGStoreBarrierInsertionPhase.cpp: Added.
(JSC::DFG::performFastStoreBarrierInsertion):
(JSC::DFG::performGlobalStoreBarrierInsertion):
- dfg/DFGStoreBarrierInsertionPhase.h: Added.
- 2:10 PM Changeset in webkit [184414] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ARM64] Do not fail branchConvertDoubleToInt32 when the result is zero and not negative zero
https://bugs.webkit.org/show_bug.cgi?id=144976
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-15
Reviewed by Michael Saboff.
Failing the conversion on zero is pretty dangerous as we discovered on x86.
This patch does not really impact performance significantly because
r184220 removed the zero checks from Kraken. This patch is just to be
on the safe side for cases not covered by existing benchmarks.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branchConvertDoubleToInt32):
- 1:48 PM Changeset in webkit [184413] by
-
- 5 edits in trunk/Source
[Content Extensions] Fail to load old content extension files
https://bugs.webkit.org/show_bug.cgi?id=145027
Reviewed by Eric Carlson.
Source/WebCore:
- contentextensions/DFABytecode.h:
Source/WebKit2:
- UIProcess/API/APIUserContentExtensionStore.cpp:
(API::openAndMapContentExtension):
- UIProcess/API/APIUserContentExtensionStore.h:
- 1:47 PM Changeset in webkit [184412] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove unnecessary forward declarations in PropertyNameArray.h.
https://bugs.webkit.org/show_bug.cgi?id=145058
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-15
Reviewed by Andreas Kling.
No new tests, no behavior change.
- runtime/PropertyNameArray.h:
- 1:47 PM Changeset in webkit [184411] by
-
- 11 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix some possible event listener leakers in content views
https://bugs.webkit.org/show_bug.cgi?id=145068
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-15
Reviewed by Timothy Hatcher.
Now that some content views can be closed that weren't closable before, ensure
we clean up after global event listeners that may strongly reference "this".
- UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.closed):
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype.close):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype.closed):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.closed):
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype.closed):
- UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView.prototype.closed):
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.closed):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.close):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.closed):
- UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.closed):
(WebInspector.TimelineDataGrid.prototype.handleEvent):
- 1:45 PM Changeset in webkit [184410] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Initiator Popovers no longer work in Layout Timeline
https://bugs.webkit.org/show_bug.cgi?id=145067
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-15
Reviewed by Timothy Hatcher.
- UserInterface/Views/LayoutTimelineDataGrid.js:
(WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
Update the column name, which changed in r183134.
- 1:45 PM Changeset in webkit [184409] by
-
- 2 edits in trunk/Tools
Temporarily disable failing API test.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):
- 1:21 PM Changeset in webkit [184408] by
-
- 4 edits in branches/safari-600.7-branch/Tools
2015-03-26 Jer Noble <jer.noble@apple.com>
Add --allowed-host support to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=142938
Reviewed by Brent Fulgham.
Accept --allowed-host arguments from run-webkit-tests and pass them through to
DumpRenderTree and WebKitTestRunner.
Drive-by fix: Depending on the value of the --layout-test-dir parameter, layout test results
are placed in the wrong location. The argument is compared with each tests's path, and if a
relative path or a path with '..' was used, results are placed alongside the test. Take the
absolute path of the --layout-test-dir argument, collapsing path components like '..'.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args):
- Scripts/webkitpy/port/base.py: (Port.init): (Port.allowed_hosts):
- Scripts/webkitpy/port/driver.py: (Driver.cmd_line):
2015-03-06 Jer Noble <jer.noble@apple.com>
Add an option to run-webkit-tests to override the LayoutTests/ directory
https://bugs.webkit.org/show_bug.cgi?id=142418
Reviewed by David Kilzer.
Add an arugment to run-webkit-tests which, when set, overrides the port's default LayoutTests
directory. The base port will parse the options during initialization and store the override
location if present. layout_tests_dir() will return this overridden location if set.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args):
- Scripts/webkitpy/port/base.py: (Port.init): (Port.layout_tests_dir):
- 1:02 PM Changeset in webkit [184407] by
-
- 5 edits in trunk/Source/JavaScriptCore
JSArray::setLength() should reallocate instead of zero-filling if the reallocation would be small enough.
https://bugs.webkit.org/show_bug.cgi?id=144622
Reviewed by Geoffrey Garen.
When setting the array to a new length that is shorter, we now check if it is worth
just making a new butterfly instead of clearing out the slots in the old butterfly
that resides beyond the new length. If so, we will make a new butterfly instead.
There is no perf differences in the benchmark results. However, this does benefit
the perf of pathological cases where we need to shorten the length of a very large
array, as is the case in tests/mozilla/js1_5/Array/regress-101964.js. With this
patch, we can expect that test to complete in a short time again.
- runtime/JSArray.cpp:
(JSC::JSArray::setLength):
- runtime/JSObject.cpp:
(JSC::JSObject::reallocateAndShrinkButterfly):
- makes a new butterfly with a new shorter length.
- runtime/JSObject.h:
- tests/mozilla/js1_5/Array/regress-101964.js:
- Undo this test change since this patch will prevent us from spending a lot of time clearing a large butterfly.
- 1:02 PM Changeset in webkit [184406] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Add clang pragmas to ignore
deprecation warnings.
- 12:30 PM Changeset in webkit [184405] by
-
- 3 edits in trunk/Source/JavaScriptCore
DFGLICMPhase shouldn't create NodeOrigins with forExit but without semantic
https://bugs.webkit.org/show_bug.cgi?id=145062
Reviewed by Filip Pizlo.
We assert in various places (including NodeOrigin::isSet()) that a
NodeOrigin's semantic and forExit must be either both set, or both
unset. However, LICM'ing a node with unset NodeOrigin would only set
forExit, and leave semantic unset. This can for instance happen when a
Phi node is constant-folded into a JSConstant, which in turn gets
LICM'd.
This patch changes DFGLICMPhase to set the NodeOrigin's semantic in
addition to its forExit if semantic was previously unset.
It also adds two validators to DFGValidate.cpp:
- In both SSA and CPS form, a NodeOrigin semantic and forExit must be either both set or both unset
- In CPS form, all nodes must have a set NodeOrigin forExit (this is the CPS counterpart to the SSA validator that checks that all nodes must have a set NodeOrigin except possibly for a continuous chunk of nodes at the top of a block)
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateCPS):
- 12:12 PM Changeset in webkit [184404] by
-
- 6 edits in trunk/Source
Limit alternate fullscreen with linked on or after.
https://bugs.webkit.org/show_bug.cgi?id=144894
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-15
Reviewed by Dean Jackson.
Source/WebCore:
- platform/ios/WebCoreSystemInterfaceIOS.h: add new wkIOSSystemVersion
Source/WebKit/mac:
- WebView/WebView.mm:
(shouldAllowAlternateFullscreen): Added.
(-[WebView _preferencesChanged:]):
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebView.mm:
(shouldAllowAlternateFullscreen): Added.
(-[WKWebView initWithFrame:configuration:]):
- 12:07 PM Changeset in webkit [184403] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Revert part of r184361.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.configureInlineControls):
HI wants the buttons flipped.
- 11:44 AM Changeset in webkit [184402] by
-
- 2 edits in trunk/Source/WebCore
Fix trivial typo in TextEncodingDetectorICU.cpp.
https://bugs.webkit.org/show_bug.cgi?id=145055
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-15
Reviewed by Alexey Proskuryakov.
No new tests, no behavior change..
- platform/text/TextEncodingDetectorICU.cpp:
(WebCore::detectTextEncoding):
- 11:41 AM Changeset in webkit [184401] by
-
- 2 edits in trunk/Source/WebCore
Cyrillic top-level domains are displayed as punycode
https://bugs.webkit.org/show_bug.cgi?id=145024
rdar://problem/17747133
rdar://problem/14116594
Reviewed by Tim Horton.
Handling each TLD in code is annoying, but we can probably survive like this
for a few more years, and maybe we'll think of an entirely different way to deal
with non-ASCII domain labels in the meanwhile.
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isSecondLevelDomainNameAllowedByTLDRules):
(WebCore::allCharactersAllowedByTLDRules):
- 11:40 AM Changeset in webkit [184400] by
-
- 2 edits in trunk/Source/WebCore
Cursor is displayed after full screen video controls fade away.
https://bugs.webkit.org/show_bug.cgi?id=145034.
<rdar://problem/20458604>
Reviewed by Jer Noble.
- Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-controls-panel):
Unnecessary cursor style is on the control panel while hidden but
the cursor will already be hidden anyways from being auto-hidden.
Causes style to change when controls are hidden,
which causes the cursor to reappear.
- 11:25 AM Changeset in webkit [184399] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][Cocoa] Back swipe tab snapshot takes a long time to be removed on bing.com
https://bugs.webkit.org/show_bug.cgi?id=145061
<rdar://problem/20939743>
Reviewed by Tim Horton.
When swiping back from a video search result to the list of video
search results on bing.com, the back swipe gesture tab snapshot takes
~3 seconds to be removed, even though the page gets loaded almost
instantly from PageCache. The tab snapshot should be removed as soon as
the load is done.
The issue is that we only cleared the back swipe gesture tab snapshot
after PageClient::didFinishLoadForMainFrame() has been called. However,
PageClient::didFinishLoadForMainFrame() was only being called by
WebPageProxy if the main frame loaded *without* error. In case the main
frame loaded with an error, only WebPageProxy::didFailLoadForFrame() is
called, not WebPageProxy::didFinishLoadForFrame() and we would fail to
remove the gesture snapshot until the 3 seconds timeout.
This patch calls PageClient::didFinishLoadForMainFrame() from
WebPageProxy::didFailLoadForFrame() so we remove the snapshot in the
error case as well.
The reason didFailLoadForFrame() is being called on bing.com video
search results is because a "ping" load is aborted when the page is
entering PageCache. Aborting any kind of resource load sets a
"cancellation" error on the main document.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailLoadForFrame):
- 11:21 AM Changeset in webkit [184398] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, remove an unused declaration.
- dfg/DFGSpeculativeJIT.h:
- 11:09 AM Changeset in webkit [184397] by
-
- 5 edits in trunk/Source/JavaScriptCore
Remove unused constant-base and constant-value store barrier code in the DFG
https://bugs.webkit.org/show_bug.cgi?id=145039
Reviewed by Andreas Kling.
Just killing dead code.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::storeToWriteBarrierBuffer): Deleted.
(JSC::DFG::SpeculativeJIT::writeBarrier): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::writeBarrier):
- 10:58 AM Changeset in webkit [184396] by
-
- 2 edits in trunk/Source/WebCore
Checkmark on OFF option of captions sometimes does not appear.
https://bugs.webkit.org/show_bug.cgi?id=145060.
<rdar://problem/19388333>
Reviewed by Eric Carlson.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.buildCaptionMenu):
Audio tracks don’t have an OFF option.
Remove related code to allow OFF option for subtitles to work properly.
- 10:39 AM Changeset in webkit [184395] by
-
- 17 edits2 adds in trunk
White edge on animating panel on http://rokkosunnyvale.com
https://bugs.webkit.org/show_bug.cgi?id=144986
rdar://problem/20907683
Reviewed by Simon Fraser.
Background image geometry calculation needs to be based on the final painting size of the container
in order to accurately compute tile sizes, repeating positions etc.
The container's size is pixelsnapped at painting using absolute coordinates. This patch
ensures that we snap to the same size while computing background geometry.
Source/WebCore:
Test: fast/images/background-image-size-changes-fractional-position.html
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::getBackgroundPaintedExtent):
(WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
(WebCore::RenderBox::maskClipRect):
(WebCore::RenderBox::repaintLayerRectsForImage): unable to get absolute coords.
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground):
- rendering/RenderBoxModelObject.h:
- rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
(WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
- rendering/RenderImage.h:
- rendering/RenderLayer.cpp: unable to get absolute coords.
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): currently not used.
- rendering/RenderObject.h:
(WebCore::RenderObject::computeBackgroundIsKnownToBeObscured):
(WebCore::RenderObject::backgroundIsKnownToBeObscured):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground):
- rendering/RenderTableCell.h:
LayoutTests:
- fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position-expected.html: progression.
- fast/images/background-image-size-changes-fractional-position-expected.html: Added.
- fast/images/background-image-size-changes-fractional-position.html: Added.
- 10:15 AM Changeset in webkit [184394] by
-
- 3 edits in trunk/Source/WebCore
Crash in RenderFlowThread::popFlowThreadLayoutState() due to mismatched push/pop count
https://bugs.webkit.org/show_bug.cgi?id=145042
Reviewed by David Hyatt.
RenderFlowThread previously used a ListHashSet to store its stack of active objects. This
is problematic because, if the same object is pushed twice, only a single entry of that
object is added to the stack. After this occurs, a matching number of pushes will pop too
many items off the stack, causing a crash when popping a stack with zero items. This
specifically happens in FrameView::layout(), which will push its root renderer on the stack
of active items, and then ask the root to layout(), which will attempt to push itself on the
stack of active items.
Instead of a ListHashSet, use a Vector, which has similar memory characteristics and no
uniqueness requirements.
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::pushFlowThreadLayoutState):
(WebCore::RenderFlowThread::popFlowThreadLayoutState):
- rendering/RenderFlowThread.h:
- 9:46 AM Changeset in webkit [184393] by
-
- 2 edits in trunk/Source/WTF
Build fix for some versions of clang.
- wtf/SaturatedArithmetic.h:
(signedAddOverflows):
(signedSubtractOverflows):
- 8:32 AM Changeset in webkit [184392] by
-
- 2 edits1 add in trunk/LayoutTests
[GTK] Gardening 15th May.
https://bugs.webkit.org/show_bug.cgi?id=145047
Unreviewed.
Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-15
- platform/gtk/TestExpectations:
- platform/gtk/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
- 6:53 AM Changeset in webkit [184391] by
-
- 1 copy in releases/WebKitGTK/webkit-2.8.3
WebKitGTK+ 2.8.3
- 6:52 AM Changeset in webkit [184390] by
-
- 4 edits in releases/WebKitGTK/webkit-2.8
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.8.3 release.
.:
- Source/cmake/OptionsGTK.cmake:
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.8.3.
- 6:50 AM Changeset in webkit [184389] by
-
- 3 edits in trunk/Source/WebCore
[Curl] WebSocket platform part is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=144628
Reviewed by Darin Adler.
Add Curl platform code implementation for WebSockets.
- platform/network/curl/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
(WebCore::SocketStreamHandle::SocketData::SocketData):
- platform/network/curl/SocketStreamHandleCurl.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::~SocketStreamHandle):
(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::SocketStreamHandle::readData):
(WebCore::SocketStreamHandle::sendData):
(WebCore::SocketStreamHandle::waitForAvailableData):
(WebCore::SocketStreamHandle::startThread):
(WebCore::SocketStreamHandle::stopThread):
(WebCore::SocketStreamHandle::didReceiveData):
(WebCore::SocketStreamHandle::didOpenSocket):
(WebCore::SocketStreamHandle::createCopy):
- 5:56 AM Changeset in webkit [184388] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
REGRESSION(r183861): [SOUP] Downloads are broken when using the Network Process
https://bugs.webkit.org/show_bug.cgi?id=144738
When converting the main resource handle to a download, the
NetworkResourceLoader is aborted, but the ResourceHandle shouldn't
be cleaned up because it's still used for the download.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::cleanup):
- 5:49 AM Changeset in webkit [184387] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.8
Merge r184373 - Images on www.fitstylelife.com jiggle on hover.
https://bugs.webkit.org/show_bug.cgi?id=145020
rdar://problem/20885337
Reviewed by Simon Fraser.
This patch ensures that the clipping layer of a composited content is pixel snapped properly.
Source/WebCore:
Tests: compositing/composited-parent-clipping-layer-on-subpixel-position.html
compositing/parent-clipping-layer-on-subpixel-position.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
LayoutTests:
- compositing/composited-parent-clipping-layer-on-subpixel-position-expected.html: Added.
- compositing/composited-parent-clipping-layer-on-subpixel-position.html: Added.
- compositing/parent-clipping-layer-on-subpixel-position-expected.html: Added.
- compositing/parent-clipping-layer-on-subpixel-position.html: Added.
- 5:46 AM Changeset in webkit [184386] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r184355 - Crash in ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline
https://bugs.webkit.org/show_bug.cgi?id=119068
Reviewed by Enrica Casucci.
Source/WebCore:
The bug was caused by makeInsertedContentRoundTrippableWithHTMLTreeBuilder not updating
nodes kept tracked by insertedNodes and moveNodeOutOfAncestor stumbling upon it.
Fixed the bug by updating insertedNodes in makeInsertedContentRoundTrippableWithHTMLTreeBuilder.
Test: editing/inserting/insert-table-in-paragraph-crash.html
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):
- editing/ReplaceSelectionCommand.h:
LayoutTests:
Added a test based on https://chromium.googlesource.com/chromium/blink/+/3500267482e60550ce84fadd6c0db883937ce744
- editing/inserting/insert-table-in-paragraph-crash-expected.txt: Added.
- editing/inserting/insert-table-in-paragraph-crash.html: Added.
- 5:44 AM Changeset in webkit [184385] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore
Merge r184346 - String.prototype.split() should create efficient substrings.
<https://webkit.org/b/144985>
<rdar://problem/20949344>
Reviewed by Geoffrey Garen.
Teach split() how to make substring JSStrings instead of relying on StringImpl's
substring sharing mechanism. The optimization works by deferring the construction
of a StringImpl until the substring's value is actually needed.
This knocks ~2MB off of theverge.com by avoiding the extra StringImpl allocations.
Out of ~70000 substrings created by split(), only ~2000 of them get reified.
- runtime/StringPrototype.cpp:
(JSC::jsSubstring):
(JSC::splitStringByOneCharacterImpl):
(JSC::stringProtoFuncSplit):
- 5:38 AM Changeset in webkit [184384] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
Merge r184334 - [GTK] Add missing ENABLE(NETSCAPE_PLUGIN_API) build guards
https://bugs.webkit.org/show_bug.cgi?id=144994
Reviewed by Carlos Garcia Campos.
This fixes the build when configured with Netscape plugin API
support disabled.
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_additional_plugins_directory):
(webkitWebContextGetPluginThread):
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
- 5:37 AM Changeset in webkit [184383] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184323 - REGRESION (r179958): Crash in WebCore::DocumentLoader::detachFromFrame when -[id<WebPolicyDelegate> decidePolicyForMIMEType:request:frame:decisionListener:] fails to call -[id<WebPolicyDecisionListener> download|ignore|use]
<http://webkit.org/b/144975>
Reviewed by Andy Estes.
This change reverts r179958. It changes RELEASE_ASSERT*()
statements back to Debug-only ASSERT*() statements.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::detachFromFrame):
- 5:22 AM Changeset in webkit [184382] by
-
- 6 edits in trunk/Tools
User interruption while running of run-webkit-tests should also generate results.html
https://bugs.webkit.org/show_bug.cgi?id=122154
Patch by Ravi Phaneendra Kasibhatla <r.kasibhatla@samsung.com> on 2015-05-15
Reviewed by Csaba Osztrogonác.
Generation of results.html on execution of run-webkit-tests happens only
on completion of entire layout tests run. It should be created even when
the execution has been interrupted - either by user (by pressing Ctrl+C)
or because of other interruptions (like exit-after-n-failures option).
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.init):
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_keyboard_interrupt):
(MainTest.test_exception_handling):
- 5:04 AM Changeset in webkit [184381] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184293 - Don't compute selection painting info when we don't have selection.
https://bugs.webkit.org/show_bug.cgi?id=144920
<rdar://problem/20919920>
Reviewed by Simon Fraser.
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
Just set the selection paint style to the text paint style when we don't have a selection
at all. Computing the selection style takes time in the case where a ::selection pseudo is
used on the page, so we don't want to waste time computing that info unless it's actually
needed.
- 4:59 AM Changeset in webkit [184380] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r184219 - REGRESSION(r175617): Some text doesn't render on internationalculinarycenter.com
https://bugs.webkit.org/show_bug.cgi?id=144917
rdar://problem/20545878
Reviewed by Andreas Kling.
This patch ensures that text stroke width value is taken into account while
calculating visual overflow for simple line layout.
Ceiling the text stroke width value matches the normal text layout behaviour.
Source/WebCore:
Test: fast/text/simple-line-layout-text-stroke-width.html
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):
LayoutTests:
- fast/text/simple-line-layout-text-stroke-width-expected.txt: Added.
- fast/text/simple-line-layout-text-stroke-width.html: Added.
- 4:54 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 4:00 AM Changeset in webkit [184379] by
-
- 2 edits in trunk/Tools
[buildbot] Fix the URL of the performance bots
https://bugs.webkit.org/show_bug.cgi?id=145043
Reviewed by Ryosuke Niwa.
- BuildSlaveSupport/build.webkit.org-config/templates/root.html:
- 2:50 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 2:22 AM Changeset in webkit [184378] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix typo in function name parseFunctionParamters -> parseFunctionParameters
https://bugs.webkit.org/show_bug.cgi?id=145040
Patch by Alexandr Skachkov <gskachkov@gmail.com> on 2015-05-15
Reviewed by Mark Lam.
- parser/Parser.h:
- parser/Parser.cpp:
- 1:42 AM Changeset in webkit [184377] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184273 - [EGL][X11] XPixmap created in GLContextEGL::createPixmapContext() is leaked
https://bugs.webkit.org/show_bug.cgi?id=144909
Reviewed by Sergio Villar Senin and Žan Doberšek.
The pixmap is created and passed to eglCreatePixmapSurface(), but
never released. eglCreatePixmapSurface() doesn't take the
ownership of the pixmap, so we should explicitly free it when the
GLContextEGL is destroyed.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createPixmapContext): Use XUniquePixmap
and transfer the ownership to the context by using the new
constructor that receives a XUniquePixmap&&.
(WebCore::GLContextEGL::createContext): createPixmapContext() is
now only defined for X11.
(WebCore::GLContextEGL::GLContextEGL): New constructor that
receives a XUniquePixmap&&.
- platform/graphics/egl/GLContextEGL.h: Add new constructor and
initialize the cairo device when defined to simplify constructors.
- 1:03 AM Changeset in webkit [184376] by
-
- 5 edits in trunk/Source
REGRESSION(r183861): [SOUP] Downloads are broken when using the Network Process
https://bugs.webkit.org/show_bug.cgi?id=144738
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Add ResourceHandle::releaseForDownload() that releases the current
handle to be used as a download.
- platform/network/ResourceHandle.h:
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::releaseForDownload):
Source/WebKit2:
When converting the main resource handle to a download, the
NetworkResourceLoader is aborted, and the ResourceHandle is
cleaned up aborting the download operation. We need to use a
different ResourceHandle for the download operation.
- Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::startWithHandle): Use ResourceHandle::releaseForDownload()
instead of reusing the given handle.
- 1:01 AM Changeset in webkit [184375] by
-
- 3 edits in trunk/LayoutTests
Removed failing test expectations from passing tests.
- TestExpectations:
- platform/mac/TestExpectations:
- 12:05 AM Changeset in webkit [184374] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fix PlatformDisplayWayland construction error, implement the destructor
https://bugs.webkit.org/show_bug.cgi?id=144997
Reviewed by Carlos Garcia Campos.
The PlatformDisplayWayland constructor is private, so we can't use
std::make_unique<>() to construct an object of this class.
Implement the PlatformDisplayWayland destructor, cleaning out all
the Wayland resources, if present.
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::create):
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
May 14, 2015:
- 10:09 PM Changeset in webkit [184373] by
-
- 3 edits4 adds in trunk
Images on www.fitstylelife.com jiggle on hover.
https://bugs.webkit.org/show_bug.cgi?id=145020
rdar://problem/20885337
Reviewed by Simon Fraser.
This patch ensures that the clipping layer of a composited content is pixel snapped properly.
Source/WebCore:
Tests: compositing/composited-parent-clipping-layer-on-subpixel-position.html
compositing/parent-clipping-layer-on-subpixel-position.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
LayoutTests:
- compositing/composited-parent-clipping-layer-on-subpixel-position-expected.html: Added.
- compositing/composited-parent-clipping-layer-on-subpixel-position.html: Added.
- compositing/parent-clipping-layer-on-subpixel-position-expected.html: Added.
- compositing/parent-clipping-layer-on-subpixel-position.html: Added.
- 10:07 PM Changeset in webkit [184372] by
-
- 6 edits in trunk/Source/WebCore
Have DOMWindow::createWindow() take references to frames
https://bugs.webkit.org/show_bug.cgi?id=145037
Reviewed by Gyuyoung Kim.
Have DOMWindow::createWindow() take references to frames instead of
pointers as they are expected to be non-null. Also return a RefPtr
instead of a PassRefPtr.
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
- loader/FrameLoader.cpp:
(WebCore::createWindow):
- loader/FrameLoader.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):
(WebCore::DOMWindow::showModalDialog):
- page/DOMWindow.h:
- 9:43 PM Changeset in webkit [184371] by
-
- 5 edits2 adds in trunk
REGRESSION (r183794): Garbage tiles when body background switches to fixed
https://bugs.webkit.org/show_bug.cgi?id=145032
rdar://problem/20963679
Reviewed by Dean Jackson.
Source/WebCore:
After r183794 (or possibly an earlier commit), we failed to dynamically update
the configuration of layers that handled fixed background attachment on the root.
This would result in unpainted tiles, and non-fixed-background behavior.
Fix by calling RenderLayerCompositor::rootOrBodyStyleChanged() whenever the
style changes on the root or body renderers, and triggering a compositing update
if the fixedness of the background changes. It calls the existing rootBackgroundTransparencyChanged()
if the color changes.
Test: platform/mac-wk2/tiled-drawing/toggle-to-fixed-background.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged):
- rendering/RenderLayerCompositor.h:
LayoutTests:
Test that toggles the attachment of the body background to fixed, then dumps layers.
- platform/mac-wk2/tiled-drawing/toggle-to-fixed-background-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/toggle-to-fixed-background.html: Added.
- 9:39 PM Changeset in webkit [184370] by
-
- 17 edits in trunk/Source/WebKit2
Rename connectionDidClose and related methods to be more clear.
https://bugs.webkit.org/show_bug.cgi?id=145030
Reviewed by Darin Adler.
These methods were easy to confuse with "Connection::Client::didClose()", yet they
were about something much more explicit: A child process being shut down by the UI Process.
Let's call them as such.
- Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess):
(WebKit::ChildProcessProxy::clearConnection): Deleted.
(WebKit::ChildProcessProxy::connectionDidClose): Deleted.
- Shared/ChildProcessProxy.h:
- UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::processWillShutDown):
- UIProcess/Databases/DatabaseProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::processWillShutDown):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::processWillShutDown):
- UIProcess/Plugins/PluginProcessProxy.h:
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::webProcessWillShutDown):
(WebKit::WebFrameProxy::disconnect): Deleted.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webProcessWillShutDown):
(WebKit::WebPageProxy::connectionDidClose): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::webProcessWillShutDown):
(WebKit::WebProcessLifetimeTracker::connectionDidClose): Deleted.
- UIProcess/WebProcessLifetimeTracker.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processWillShutDown):
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::disconnectFramesFromPage):
(WebKit::WebProcessProxy::shouldTerminate):
(WebKit::WebProcessProxy::requestTermination):
(WebKit::WebProcessProxy::connectionDidClose): Deleted.
(WebKit::WebProcessProxy::disconnect): Deleted.
- UIProcess/WebProcessProxy.h:
- 9:36 PM Changeset in webkit [184369] by
-
- 2 edits in trunk/Source/WTF
Reverted r177753, now that <rdar://problem/19347133> is fixed.
Rubber-stamped by Benjamin Poulain.
- wtf/SaturatedArithmetic.h:
(signedAddOverflows):
(signedSubtractOverflows):
- 9:14 PM Changeset in webkit [184368] by
-
- 15 edits in trunk/Source/JavaScriptCore
Remove StoreBarrierWithNullCheck, nobody ever generates this.
Rubber stamped by Benjamin Poulain and Michael Saboff.
If we did bring something like this back in the future, we would just use UntypedUse instead
of CellUse to indicate that this is what we want.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::isStoreBarrier):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStoreBarrier):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck): Deleted.
- 8:51 PM Changeset in webkit [184367] by
-
- 7 edits in trunk/Source/JavaScriptCore
PutGlobalVar should reference the global object it's storing into
https://bugs.webkit.org/show_bug.cgi?id=145036
Reviewed by Michael Saboff.
This makes it easier to reason about store barrier insertion and elimination. This changes
the format of PutGlobalVar so that child1 is the global object and child2 is the value.
Previously it just had child1, and that was the value.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar):
- 8:28 PM Changeset in webkit [184366] by
-
- 8 edits in trunk/Source/WebCore
Unreviewed, rolling out r184359 and r184362.
https://bugs.webkit.org/show_bug.cgi?id=145035
Introduced a crash in six media element tests (Requested by
rniwa on #webkit).
Reverted changesets:
"[MediaControls] Refactor media controls & bring improvements
made to iOS controls to Mac."
https://bugs.webkit.org/show_bug.cgi?id=144973
http://trac.webkit.org/changeset/184359
"Unreviewed build fix after r184359; typo."
http://trac.webkit.org/changeset/184362
- 7:03 PM Changeset in webkit [184365] by
-
- 2 edits in trunk/Source/WebKit2
Some CFNetwork SPI to reset HSTS hosts added since a date should not be used on Yosemite.
https://bugs.webkit.org/show_bug.cgi?id=145025.
and
rdar://problem/20646308.
Patch by Zhuo Li <zachli@apple.com> on 2015-05-14
Reviewed by Alexey Proskuryakov.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate):
- 5:25 PM Changeset in webkit [184364] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Update the New Tab button disabled state after extra domains are activated
https://bugs.webkit.org/show_bug.cgi?id=145028
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-14
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector.activateExtraDomains):
- 5:08 PM Changeset in webkit [184363] by
-
- 4 edits in trunk
[CMake] Error out when ruby is too old
https://bugs.webkit.org/show_bug.cgi?id=145014
Reviewed by Martin Robinson.
.:
Error out immediately after checking for Ruby if the ruby executable is not found, or if it
is too old.
- CMakeLists.txt:
Source/JavaScriptCore:
Don't enforce the check for the Ruby executable here; it's now enforced in the top-level
CMakeLists.txt instead.
- CMakeLists.txt:
- 4:52 PM Changeset in webkit [184362] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r184359; typo.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged):
- 4:40 PM Changeset in webkit [184361] by
-
- 3 edits in trunk/Source/WebCore
Adjust button CSS and positioning in preparation.
https://bugs.webkit.org/show_bug.cgi?id=144973.
<rdar://problem/20306227>
Reviewed by Dean Jackson.
The only visual change here is the swapping of the rewind and play button positions.
Also, position buttons based off of both left and right margins instead of just one of the two.
This allows the controls drop off to work without having to use a spacer element to take the place
of the timeline if the controls are too small.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-panel .mute-box):
(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-fullscreen-button.exit):
(audio::-webkit-media-controls-time-remaining-display):
(audio:-webkit-full-screen::-webkit-media-controls-toggle-closed-captions-button):
(audio:-webkit-full-screen::-webkit-media-controls-wireless-playback-picker-button):
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.configureInlineControls):
- 4:35 PM Changeset in webkit [184360] by
-
- 2 edits in trunk/Source/WebCore
MediaControls: controls are live even when invisible
https://bugs.webkit.org/show_bug.cgi?id=145029
<rdar://problem/20865442>
Reviewed by Jer Noble.
When the controls are invisible they should ignore touch/mouse
events.
- Modules/mediacontrols/mediaControlsiOS.css: Add pointer-events: none where appropriate.
(video::-webkit-media-controls-panel-container):
(video::-webkit-media-controls-panel-background):
(video::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel.paused):
- 4:27 PM Changeset in webkit [184359] by
-
- 8 edits in trunk/Source/WebCore
[MediaControls] Refactor media controls & bring improvements made to iOS controls to Mac.
https://bugs.webkit.org/show_bug.cgi?id=144973
Reviewed by Dean Jackson.
Pull improvements made to the iOS media controls back into the Mac controls by moving
code from mediaControlsiOS.js into MediaControlsApple.js.
The largest refactored feature is the ability to drop individual controls from the media
controls when the video is too small to contain them. To allow these controls to resize
dynamically, a new "resize" event is fired inside the media element's shadow DOM.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel .dropped): Added; sets "display: none".
- Modules/mediacontrols/mediaControlsApple.js:
(Controller): Set defaults for new variables.
(Controller.prototype.updateControls): Update the controls width; moved from iOS.js.
(Controller.prototype.handleReadyStateChange): Update the controls; moved from iOS.js.
(Controller.prototype.handleTimeUpdate): Update the progress; moved from iOS.js.
(Controller.prototype.handleTimelineInput): Pause if scrubbing; moved from iOS.js.
(Controller.prototype.handleTimelineChange): Update the progress; moved from iOS.js.
(Controller.prototype.showControls): Update the controls width; moved from iOS.js.
(Controller.prototype.hideControls): Removed _potentiallyScrubbing check; not needed due to changes
to controlsAlwaysVisible().
(Controller.prototype.scheduleUpdateLayoutForDisplayedWidth): Moved from iOS.js.
(Controller.prototype.isControlVisible): Added; checks whether control is parented & not hidden.
(Controller.prototype.updateLayoutForDisplayedWidth): Moved from iOS.js and refactored.
(Controller.prototype.controlsAlwaysVisible): Return true if scrubbing.
(Controller.prototype.updateHasAudio): Check currentPlaybackTargetIsWireless(); moved from iOS.js.
(Controller.prototype.get scrubbing): Simple getter for _scrubbing.
(Controller.prototype.set scrubbing): Check play state if scrubbing; start playback (if necessary)
if not scrubbing.
(Controller.prototype.get pageScaleFactor): Moved from iOS.js.
(Controller.prototype.set pageScaleFactor): Ditto.
(Controller.prototype.handleRootResize): Schedule an update of the contrtols width.
Remove a bunch of newly unnecessary code from the iOS media controls:
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS):
(ControllerIOS.prototype.createControls): Remove ivars moved into Apple.js.
(ControllerIOS.prototype.configureInlineControls): Remove spacer; made unnecessary.
(ControllerIOS.prototype.showControls): Deleted.
(ControllerIOS.prototype.updateTime): Deleted.
(ControllerIOS.prototype.handleTimelineTouchStart): Just call "scrubbing = true", handled in Apple.js.
(ControllerIOS.prototype.handleTimelineTouchEnd): Just call "scrubbing = false", handled in Apple.js.
(ControllerIOS.prototype.handleReadyStateChange): Deleted.
(ControllerIOS.prototype.setPlaying): Don't check _timelineIsHidden; not needed.
(ControllerIOS.prototype.get pageScaleFactor): Deleted.
(ControllerIOS.prototype.set pageScaleFactor): Deleted.
(ControllerIOS.prototype.scheduleUpdateLayoutForDisplayedWidth): Deleted.
(ControllerIOS.prototypeupdateLayoutForDisplayedWidth): Deleted.
Fire a "resize" event at the shadow DOM root when layout results in a size change.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged): Fire the "resize" event at the shadow DOM.
- html/HTMLMediaElement.h:
- rendering/RenderMedia.cpp:
(WebCore::RenderMedia::layout): Trigger layoutSizeChanged()
- rendering/RenderMedia.h:
Drive-by fixes:
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls): aria-label text is totally wrong; removed.
(Controller.prototype.updateWirelessPlaybackStatus): Use class-names to hide controls, not inline styles.
- 3:46 PM Changeset in webkit [184358] by
-
- 20 edits in trunk
Add a layout mode that scales down the view to try to fit the document
https://bugs.webkit.org/show_bug.cgi?id=145022
<rdar://problem/19790341>
Reviewed by Dean Jackson.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setShouldScaleViewToFitDocument):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setShouldScaleViewToFitDocument):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Plumb shouldScaleViewToFitDocument through to the DrawingArea.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy willChangeLayoutStrategy]):
- UIProcess/API/C/WKLayoutMode.h:
- UIProcess/API/Cocoa/_WKLayoutMode.h:
Add a new layout mode, which just turns on shouldScaleViewToFitDocument,
and otherwise behaves as normal.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setShouldScaleViewToFitDocument):
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
On every flush where either the document size or view size has changed,
or layout is outstanding, do a layout with fixed layout off to determine
whether the document fits inside the view. If it doesn't, scale it down
to fit. This will require an extra layout for every resize while in the
scaled-down state, but there is potential for future optimization.
- MiniBrowser/mac/BrowserWindow.xib:
- MiniBrowser/mac/BrowserWindowController.h:
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController toggleShrinkToFit:]):
(-[WK2BrowserWindowController toggleUseMinimumViewSize:]): Deleted.
Switch to _WKLayoutModeDynamicSizeComputedFromMinimumDocumentSize.
- 3:29 PM Changeset in webkit [184357] by
-
- 2 edits in trunk/Tools
[CMake] Don't read the LOCATION property of targets
https://bugs.webkit.org/show_bug.cgi?id=145018
Reviewed by Martin Robinson.
Use the TARGET_FILE_DIR generator expression to determine the location of the test injected
bundle, rather than assuming that the LOCATION property of TestWebKitAPIInjectedBundle will
be the same at configure-time as it is at generate-time.
- TestWebKitAPI/CMakeLists.txt:
- 2:43 PM Changeset in webkit [184356] by
-
- 5 edits in trunk/Source/WebKit2
Local storage origins should include origins with transient local storage
https://bugs.webkit.org/show_bug.cgi?id=145017
rdar://problem/10690447
Reviewed by Sam Weinig.
The transient local storage namespaces are used for third party data blocking and will stay
around until the UI process exits so we need to be able to include website data from transient storage
in the website data store APIs.
- UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::TransientLocalStorageNamespace::origins):
(WebKit::StorageManager::getLocalStorageOrigins):
- UIProcess/Storage/StorageManager.h:
- UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
- 2:39 PM Changeset in webkit [184355] by
-
- 4 edits2 adds in trunk
Crash in ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline
https://bugs.webkit.org/show_bug.cgi?id=119068
Reviewed by Enrica Casucci.
Source/WebCore:
The bug was caused by makeInsertedContentRoundTrippableWithHTMLTreeBuilder not updating
nodes kept tracked by insertedNodes and moveNodeOutOfAncestor stumbling upon it.
Fixed the bug by updating insertedNodes in makeInsertedContentRoundTrippableWithHTMLTreeBuilder.
Test: editing/inserting/insert-table-in-paragraph-crash.html
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):
- editing/ReplaceSelectionCommand.h:
LayoutTests:
Added a test based on https://chromium.googlesource.com/chromium/blink/+/3500267482e60550ce84fadd6c0db883937ce744
- editing/inserting/insert-table-in-paragraph-crash-expected.txt: Added.
- editing/inserting/insert-table-in-paragraph-crash.html: Added.
- 2:32 PM Changeset in webkit [184354] by
-
- 4 edits in trunk/Source/JavaScriptCore
Enforce options coherency
https://bugs.webkit.org/show_bug.cgi?id=144921
Reviewed by Mark Lam.
JavaScriptCore should be failing early when the options are set in such
a way that we don't have a meaningful way to execute JavaScript, rather
than failing for obscure reasons at some point during execution.
This patch adds a new function that checks whether the options are set
in a coherent way, and makes JSC::Options::initialize() crash when the
environment enforces incoherent options.
Client applications able to add or change additional options are
responsible to check for coherency again before starting to actually
execute JavaScript, if any additional options have been set. This is
implemented for the jsc executable in this patch.
- jsc.cpp:
(CommandLine::parseArguments):
- runtime/Options.cpp:
(JSC::Options::initialize):
(JSC::Options::ensureOptionsAreCoherent): Added.
- runtime/Options.h:
(JSC::Options::ensureOptionsAreCoherent): Added.
- 2:28 PM Changeset in webkit [184353] by
-
- 13 edits1 delete in trunk
[Mac] Expose more font weights for -apple-system
https://bugs.webkit.org/show_bug.cgi?id=144707
Reviewed by Simon Fraser.
Source/WebCore:
Previously, when we parsed a CSS declaration of the form font: keyword; where keyword
is one of caption, icon, menu, message-box, small-caption, -webkit-mini-control, -webkit-small-control,
or -webkit-control (which html.css does for form controls), we would ask the system what the appropriate
system font is, get that font's family name, and synthesize a font-family CSS property for the element.
Then, later when we actually go to look up the font, we would look up the font by family name using this
information. However, this round-tripping of a font through a family name is actually lossy, and is not
guaranteed to preserve system-font-ness (which we use for various things including metrics calculations).
This patch modifies this logic to specify a token family name instead, which the font lookup code special
cases (and reacts by making the appropriate system-font lookup call). This approach is currently how iOS
handles these system fonts; this patch simply brings this approach to OS X.
There is also an added progression here. We used to simply call [NSFont fontWithName:size:] on the system
font family name (which the parser found for us) which entirely disregards weight. This means that we
used to be getting synthesized bold in form controls which ask for a heavy weight. Migrating to this
system-font aware call means that we get the real bold font instead of synthesized bold.
Once this system-font-ness is guaranteed to be preserved between parsing time and font lookup time, we
can safely migrate to using [NSFont systemFontOfSize:weight] instead of [NSFont systemFontOfSize:] on
platforms which support it.
Tests: fast/text/systemFont.html
fast/css/css2-system-fonts.html
fast/forms/select/optgroup-rendering.html
fast/forms/validation-message-appearance.html
- css/CSSParser.cpp:
(WebCore::CSSParser::parseSystemFont): Add a comment regarding why we are bothering with expanding out
the font property in the first place.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::primaryFontIsSystemFont): Update to use new system font tokens.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::toNSFontWeight): New static method to map font weights to NSFontWeight constants available on
Yosemite and later.
(WebCore::fontWithFamilySpecialCase): Pull all these special-case font token name handling into a
separate function, which returns an Optional.
(WebCore::fontWithFamily):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont): Use the font token name instead of the generated system font family
name.
- platform/spi/mac/NSFontSPI.h: Add [NSFont systemFontWithSize:weight:] and the proper NSFontWeight
constants.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updateCachedSystemFontDescription): Use the font token names instead of the
generated system font family name.
(WebCore::RenderThemeMac::setFontFromControlSize): Ditto.
LayoutTests:
- platform/mac/fast/text/systemFont-expected.txt: Update expectations.
- platform/mac/fast/text/systemFont.html: Update test to include font weights for -apple-system.
- platform/mac/fast/css/css2-system-fonts-expected.txt: Updated to not hardcode the system font family name.
- platform/mac-mavericks/fast/css/css2-system-fonts-expected.txt: Ditto.
- platform/mac/fast/forms/select/optgroup-rendering-expected.txt: Updated to not use synthetic bold.
- platform/mac/fast/forms/validation-message-appearance-expected.txt: Ditto.
- 2:24 PM Changeset in webkit [184352] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION (r184337): [EFL] unresolved reference errors in ARM builds
https://bugs.webkit.org/show_bug.cgi?id=145019
Reviewed by Ryosuke Niwa.
Attempt to fix compile errors in EFL ARM buildbots.
By executingnm, found JSTemplateRegistryKey.cpp.o and TemplateRegistry.cpp.o have
unresolved reference to Structure::get. That is inlined function in StructureInlines.h.
- runtime/JSTemplateRegistryKey.cpp:
- runtime/TemplateRegistry.cpp:
- 2:19 PM Changeset in webkit [184351] by
-
- 4 edits in trunk/Source/WebCore
Add internals setting to disable wireless playback availability for layout tests
https://bugs.webkit.org/show_bug.cgi?id=145012.
<rdar://problem/20946504>
Reviewed by Eric Carlson.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState):
(WebCore::InternalSettings::setWirelessPlaybackDisabled):
- testing/InternalSettings.idl:
- 1:56 PM Changeset in webkit [184350] by
-
- 5 edits in branches/safari-601.1.32.2-branch/Source
Versioning.
- 1:38 PM Changeset in webkit [184349] by
-
- 3 edits in trunk/Source/JavaScriptCore
Small refactoring before implementation of the ES6 arrow function.
https://bugs.webkit.org/show_bug.cgi?id=144954
Patch by Alexandr Skachkov <gskachkov@gmail.com> on 2015-05-14
Reviewed by Ryosuke Niwa.
- parser/Parser.h:
- parser/Parser.cpp:
- 1:27 PM Changeset in webkit [184348] by
-
- 1 copy in tags/Safari-601.1.32.2.1
New tag.
- 12:58 PM Changeset in webkit [184347] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION (r184337): ASSERT failed in debug builds for tagged templates
https://bugs.webkit.org/show_bug.cgi?id=145013
Reviewed by Filip Pizlo.
Fix the regression introduced by r184337.
- JSTemporaryRegistryKey::s_info should inherit the Base::s_info, JSDestructibleObject::s_info.
- The first register argument of BytecodeGenerator::emitNode should be a referenced register if it is a temporary register.
- bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
- runtime/JSTemplateRegistryKey.cpp:
- 12:07 PM Changeset in webkit [184346] by
-
- 2 edits in trunk/Source/JavaScriptCore
String.prototype.split() should create efficient substrings.
<https://webkit.org/b/144985>
<rdar://problem/20949344>
Reviewed by Geoffrey Garen.
Teach split() how to make substring JSStrings instead of relying on StringImpl's
substring sharing mechanism. The optimization works by deferring the construction
of a StringImpl until the substring's value is actually needed.
This knocks ~2MB off of theverge.com by avoiding the extra StringImpl allocations.
Out of ~70000 substrings created by split(), only ~2000 of them get reified.
- runtime/StringPrototype.cpp:
(JSC::jsSubstring):
(JSC::splitStringByOneCharacterImpl):
(JSC::stringProtoFuncSplit):
- 11:17 AM Changeset in webkit [184345] by
-
- 5 edits in trunk/Source
Change range of possible forces for mouseforcechanged DOM event
https://bugs.webkit.org/show_bug.cgi?id=144987
-and corresponding-
rdar://problem/20472802
Reviewed by Tim Horton.
Change to a 0-3 range.
Source/WebCore:
- platform/PlatformMouseEvent.h:
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
Source/WebKit2:
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
- 11:11 AM Changeset in webkit [184344] by
-
- 2 edits in trunk/Source/JavaScriptCore
Change the status of ES6 tagged templates to Done in features.json
https://bugs.webkit.org/show_bug.cgi?id=145003
Reviewed by Benjamin Poulain.
Now it's implemented in r184337.
- features.json:
- 10:59 AM Changeset in webkit [184343] by
-
- 5 edits in branches/safari-601.1.32.2-branch/Source
Versioning.
- 10:55 AM Changeset in webkit [184342] by
-
- 1 copy in branches/safari-601.1.32.2-branch
New Branch.
- 10:55 AM Changeset in webkit [184341] by
-
- 9 edits in trunk
Add String literal overloads to equalIgnoringASCIICase()
https://bugs.webkit.org/show_bug.cgi?id=145008
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-05-14
Reviewed by Benjamin Poulain.
Source/WTF:
Create an overload for equalIgnoringASCIICase for string literals.
- wtf/text/StringImpl.h:
(WTF::equalIgnoringASCIICase): Use a non-templated helper function.
- wtf/text/StringImpl.cpp:
(WTF::equalIgnoringASCIICase): Implement it.
- wtf/text/StringView.h:
(WTF::equalIgnoringASCIICase): Use a non-templated helper function.
- wtf/text/StringView.cpp:
(WTF::equalIgnoringASCIICase): Implement it.
- wtf/text/WTFString.h:
(WTF::equalIgnoringASCIICase): Delegate to StringImpl's implementation.
Tools:
Test changes to WTF.
- TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(WTF.StringImplEqualIgnoringASCIICaseBasic): Test const char*.
(WTF.StringImplEqualIgnoringASCIICaseWithLatin1Characters): Ditto.
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(WTF.StringViewEqualIgnoringASCIICaseBasic): Ditto.
(WTF.StringViewEqualIgnoringASCIICaseWithLatin1Characters): Ditto.
- 10:36 AM Changeset in webkit [184340] by
-
- 6 edits1 add in trunk/Source/JavaScriptCore
Introduce SymbolType into SpeculativeTypes
https://bugs.webkit.org/show_bug.cgi?id=142651
Reviewed by Filip Pizlo.
Introduce SpecSymbol type into speculative types.
Previously symbol type is categorized into SpecCellOther.
But SpecCellOther is not intended to be used for such cells.
This patch just introduces SpecSymbol.
It represents the type of target value is definitely the symbol type.
It is the part of SpecCell.
In this patch, we do not introduce SymbolUse tracking.
It will be added in the separate patch.
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromStructure):
- bytecode/SpeculatedType.h:
(JSC::isSymbolSpeculation):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::setType):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- tests/stress/typeof-symbol.js: Added.
- 9:37 AM Changeset in webkit [184339] by
-
- 7 edits in trunk/Source/WebCore
Fix typo in RenderBox::instrinsicScrollbarLogicalWidth()
https://bugs.webkit.org/show_bug.cgi?id=144999
Reviewed by Sergio Villar Senin.
Rename RenderBox::instrinsicScrollbarLogicalWidth() to
RenderBox::intrinsicScrollbarLogicalWidth().
No new tests, no behavior changes.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeIntrinsicLogicalWidths):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
(WebCore::RenderBox::instrinsicScrollbarLogicalWidth): Deleted.
- rendering/RenderBox.h:
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
- 9:31 AM Changeset in webkit [184338] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip js/regress-141098.html. The fix will be tracked in https://bugs.webkit.org/show_bug.cgi?id=145007
- 9:07 AM Changeset in webkit [184337] by
-
- 24 edits11 adds in trunk/Source/JavaScriptCore
[ES6] Implement tagged templates
https://bugs.webkit.org/show_bug.cgi?id=143183
Reviewed by Oliver Hunt.
This patch implements ES6 tagged templates.
In tagged templates, the function takes the template object.
The template object contains the raw and cooked template strings,
so when parsing the tagged templates, we need to tokenize the raw and cooked strings.
While tagged templates require the both strings, the template literal only requires
the cooked strings. So when tokenizing under the template literal context,
we only builds the cooked strings.
As per ES6 spec, the template objects for the same raw strings are shared in the same realm.
The template objects is cached. And every time we evaluate the same tagged templates,
the same (cached) template objects are used.
Since the spec freezes this template objects completely,
we cannot attach some properties to it.
So we can say that it behaves as if the template objects are the primitive values (like JSString).
Since we cannot attach properties, the only way to test the identity of the template object is comparing. (===)
As the result, when there is no reference to the template object, we can garbage collect it
because the user has no way to test that the newly created template object does not equal
to the already collected template object.
So, to implement tagged templates, we implement the following components.
- JSTemplateRegistryKey
It holds the template registry key and it does not exposed to users.
TemplateRegistryKey holds the vector of raw and cooked strings with the pre-computed hash value.
When obtaining the template object for the (statically, a.k.a. at the parsing time) given raw string vectors,
we use this JSTemplateRegistryKey as a key to the map and look up the template object from
TemplateRegistry.
JSTemplateRegistryKey is created at the bytecode compiling time and
stored in the CodeBlock as like as JSString content values.
- TemplateRegistry
This manages the cached template objects.
It holds the weak map (JSTemplateRegistryKey -> the template object).
The template object is weakly referenced.
So if there is no reference to the template object,
the template object is automatically GC-ed.
When looking up the template object, it searches the cached template object.
If it is found, it is returned to the users.
If there is no cached template objects, it creates the new template object and
stores it with the given template registry key.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::addTemplateRegistryKeyConstant):
(JSC::BytecodeGenerator::emitGetTemplateObject):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
(JSC::TemplateLiteralNode::emitBytecode): Deleted.
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createTaggedTemplate):
(JSC::ASTBuilder::createTemplateLiteral): Deleted.
- parser/Lexer.cpp:
(JSC::Lexer<T>::setCode):
(JSC::Lexer<T>::parseTemplateLiteral):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanTrailingTemplateString):
(JSC::Lexer<T>::clear):
- parser/Lexer.h:
(JSC::Lexer<T>::makeEmptyIdentifier):
- parser/NodeConstructors.h:
(JSC::TaggedTemplateNode::TaggedTemplateNode):
(JSC::TemplateLiteralNode::TemplateLiteralNode): Deleted.
- parser/Nodes.h:
(JSC::TemplateLiteralNode::templateStrings):
(JSC::TemplateLiteralNode::templateExpressions):
(JSC::TaggedTemplateNode::templateLiteral):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseTemplateString):
(JSC::Parser<LexerType>::parseTemplateLiteral):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
- parser/Parser.h:
- parser/ParserArena.h:
(JSC::IdentifierArena::makeEmptyIdentifier):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTaggedTemplate):
(JSC::SyntaxChecker::createTemplateLiteral): Deleted.
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::getTemplateObject):
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::templateRegistry):
- runtime/JSTemplateRegistryKey.cpp: Added.
(JSC::JSTemplateRegistryKey::JSTemplateRegistryKey):
(JSC::JSTemplateRegistryKey::create):
(JSC::JSTemplateRegistryKey::destroy):
- runtime/JSTemplateRegistryKey.h: Added.
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorFreeze):
- runtime/ObjectConstructor.h:
- runtime/TemplateRegistry.cpp: Added.
(JSC::TemplateRegistry::TemplateRegistry):
(JSC::TemplateRegistry::getTemplateObject):
- runtime/TemplateRegistry.h: Added.
- runtime/TemplateRegistryKey.h: Added.
(JSC::TemplateRegistryKey::isDeletedValue):
(JSC::TemplateRegistryKey::isEmptyValue):
(JSC::TemplateRegistryKey::hash):
(JSC::TemplateRegistryKey::rawStrings):
(JSC::TemplateRegistryKey::cookedStrings):
(JSC::TemplateRegistryKey::operator==):
(JSC::TemplateRegistryKey::operator!=):
(JSC::TemplateRegistryKey::Hasher::hash):
(JSC::TemplateRegistryKey::Hasher::equal):
(JSC::TemplateRegistryKey::TemplateRegistryKey):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- tests/stress/tagged-templates-identity.js: Added.
(shouldBe):
- tests/stress/tagged-templates-raw-strings.js: Added.
(shouldBe):
(tag):
(testEval):
- tests/stress/tagged-templates-syntax.js: Added.
(tag):
(testSyntax):
(testSyntaxError):
- tests/stress/tagged-templates-template-object.js: Added.
(shouldBe):
(tag):
- tests/stress/tagged-templates-this.js: Added.
(shouldBe):
(tag):
- tests/stress/tagged-templates.js: Added.
(shouldBe):
(raw):
(cooked):
(Counter):
- 8:33 AM Changeset in webkit [184336] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Current time marker is always at zero in Rendering Frames ruler
https://bugs.webkit.org/show_bug.cgi?id=144518
Reviewed by Timothy Hatcher.
The current and end time values for the rendering frame timeline overview should always be equal to the frame
number of the last record in the rendering frames timeline.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.updateLayout):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
- 3:52 AM Changeset in webkit [184335] by
-
- 2 edits in trunk
[GTK] Enable plugin-related CMake options and variables for the X11 target only
https://bugs.webkit.org/show_bug.cgi?id=144995
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsGTK.cmake: Plugins are only supported for
the X11 windowing target at the moment, so the following options
and variables should be enabled or disabled accordingly:
- ENABLE_PLUGIN_PROCESS_GTK2
- ENABLE_NETSCAPE_PLUGIN_API
- ENABLE_PLUGIN_PROCESS
- 2:33 AM Changeset in webkit [184334] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Add missing ENABLE(NETSCAPE_PLUGIN_API) build guards
https://bugs.webkit.org/show_bug.cgi?id=144994
Reviewed by Carlos Garcia Campos.
This fixes the build when configured with Netscape plugin API
support disabled.
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_additional_plugins_directory):
(webkitWebContextGetPluginThread):
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
- 2:32 AM Changeset in webkit [184333] by
-
- 2 edits in trunk/Source/WTF
[GTK] RunLoop constructor should properly retrieve or establish the thread-default GMainContext
https://bugs.webkit.org/show_bug.cgi?id=144732
Reviewed by Carlos Garcia Campos.
RunLoop constructor in the GTK implementation should use the
existing thread-default context, create a new one if not on
the main thread, or use the global-default one if on the main
thread.
In RunLoop::run(), the GMainContext should then be pushed as
the thread-default before calling g_main_loop_run(), and popped
off when the main loop stops.
- wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::run):
- 12:59 AM Changeset in webkit [184332] by
-
- 2 edits in trunk/LayoutTests
[EFL] Unskip passing AX tests since r184198
Unreviewed EFL gardening.
- platform/efl/TestExpectations: Two AX tests have been passed since r184198.
- 12:57 AM Changeset in webkit [184331] by
-
- 12 edits2 adds in trunk
SharedBuffer::createWithContentsOfFile should use map file routines
https://bugs.webkit.org/show_bug.cgi?id=144192
Reviewed by Darin Adler.
Source/WebCore:
Made use of mmap routines within SharedBuffer::createWithContentsOfFile for EFL, GTK and Mac ports.
If mapping is failing, it falls back to the previous version of SharedBuffer::createWithContentsOfFile renamed as
SharedBuffer::createFromReadingFile (using open/read method).
File content is mapped until SharedBuffer is cleared, destroyed or additional content is appended to the SharedBuffer.
A helper class, MappedFileData, is introduced to handle mapped files through calls to open/mmap/munmap/close.
Patch covered by existing layout tests and added unit tests.
- platform/FileSystem.cpp:
(WebCore::MappedFileData::MappedFileData):
(WebCore::MappedFileData::operator=):
(WebCore::MappedFileData::~MappedFileData):
- platform/FileSystem.h:
(WebCore::MappedFileData::MappedFileData):
(WebCore::MappedFileData::operator bool):
(WebCore::MappedFileData::data):
(WebCore::MappedFileData::size):
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::createWithContentsOfFile): Making use of MappedFileData before using createFromReadingFile.
(WebCore::SharedBuffer::size): Checking whether data is coming from a MappedFileData.
(WebCore::SharedBuffer::data): Ditto.
(WebCore::SharedBuffer::append): Ditto.
(WebCore::SharedBuffer::clear): Clearing MappedFileData if needed.
(WebCore::SharedBuffer::copy): Transferring mapped data to buffer if needed.
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::maybeTransferMappedFileData):
- platform/SharedBuffer.h:
- platform/gtk/SharedBufferGtk.cpp:
(WebCore::SharedBuffer::createFromReadingFile): renamed from createWithContentsOfFile.
- platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createFromReadingFile): Dito.
- platform/posix/SharedBufferPOSIX.cpp:
(WebCore::SharedBuffer::createFromReadingFile): Ditto.
- platform/win/SharedBufferWin.cpp:
(WebCore::SharedBuffer::createFromReadingFile): Ditto.
Tools:
Adding SharedBuffer and FileSystem Unit tests to Mac and GTK, not yet for EFL.
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/FileSystem.cpp: Added.
(TestWebKitAPI::FileSystemTest::tempFilePath):
(TestWebKitAPI::FileSystemTest::tempEmptyFilePath):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: Added.
(TestWebKitAPI::SharedBufferTest::tempFilePath):
(TestWebKitAPI::SharedBufferTest::tempEmptyFilePath):
(TestWebKitAPI::TEST_F):
May 13, 2015:
- 10:59 PM Changeset in webkit [184330] by
-
- 2 edits in trunk/Source/WebKit2
[SOUP] Network Cache: NetworkProcess segfault when file system doesn't support xattrs
https://bugs.webkit.org/show_bug.cgi?id=144953
Reviewed by Martin Robinson.
Return early if we fail to get the birthtime xattr.
- NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
(WebKit::NetworkCache::fileTimes):
- 10:10 PM Changeset in webkit [184329] by
-
- 5 edits in trunk/Source/WebCore
Get the ScriptController from the correct frame for media elements and plug-ins
https://bugs.webkit.org/show_bug.cgi?id=144983
rdar://problem/20692642&19943135
Reviewed by Sam Weinig.
HTMLMediaElement, QuickTimePluginReplacement and HTMLPlugInImageElement were
getting the main frame's ScriptController instead of the one for their frame.
This caused media controls JS to be running in the context of the main frame,
which broke media controls which use getCSSCanvasContext() and -webkit-canvas.
Fix by getting the frame via the element's document.
Also undo r180584 which was working around this bug.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.drawTimelineBackground):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected):
(WebCore::QuickTimePluginReplacement::installReplacement):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::pageScaleFactorChanged):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
- 9:19 PM Changeset in webkit [184328] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
REGRESSION(r180595): same-callee profiling no longer works
https://bugs.webkit.org/show_bug.cgi?id=144787
Reviewed by Filip Pizlo.
This patch introduces a DFG optimization to use NewObject node when the callee of op_create_this is
always the same JSFunction. This condition doesn't hold when the byte code creates multiple
JSFunction objects at runtime as in: function y() { return function () {} }; new y(); new y();
To enable this optimization, LLint and baseline JIT now store the last callee we saw in the newly
added fourth operand of op_create_this. We use this JSFunction's structure in DFG after verifying
our speculation that the callee is the same. To avoid recompiling the same code for different callee
objects in the polymorphic case, the special value of seenMultipleCalleeObjects() is set in
LLint and baseline JIT when multiple callees are observed.
Tests: stress/create-this-with-callee-variants.js
- bytecode/BytecodeList.json: Increased the number of operands to 5.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode): Dump the newly added callee cache.
(JSC::CodeBlock::finalizeUnconditionally): Clear the callee cache if the callee is no longer alive.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCreateThis): Add the instruction to propertyAccessInstructions so that
we can clear the callee cache in CodeBlock::finalizeUnconditionally. Also initialize the newly added
operand.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Implement the optimization. Speculate the actual callee to
match the cache. Use the cached callee's structure if the speculation succeeds. Otherwise, OSR exit.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_this): Go to the slow path to update the cache unless it's already marked
as seenMultipleCalleeObjects() to indicate the polymorphic behavior and/or we've OSR exited here.
(JSC::JIT::emitSlow_op_create_this):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_this): Ditto.
(JSC::JIT::emitSlow_op_create_this):
- llint/LowLevelInterpreter32_64.asm:
(_llint_op_create_this): Ditto.
- llint/LowLevelInterpreter64.asm:
(_llint_op_create_this): Ditto.
- runtime/CommonSlowPaths.cpp:
(slow_path_create_this): Set the callee cache to the actual callee if it's not set. If the cache has
been set to a JSFunction* different from the actual callee, set it to seenMultipleCalleeObjects().
- runtime/JSCell.h:
(JSC::JSCell::seenMultipleCalleeObjects): Added.
- runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::unvalidatedGet): Removed the compile guard around it.
- tests/stress/create-this-with-callee-variants.js: Added.
- 9:07 PM Changeset in webkit [184327] by
-
- 3 edits in trunk/Source/WebCore
Fix trivial typos in ApplyBlockElementCommand
https://bugs.webkit.org/show_bug.cgi?id=144984
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-13
Reviewed by Alexey Proskuryakov.
No new tests, no behavior change.
- editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::formatSelection):
(WebCore::ApplyBlockElementCommand::endOfNextParagraphSplittingTextNodesIfNeeded):
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Deleted.
- editing/ApplyBlockElementCommand.h:
- 8:07 PM Changeset in webkit [184326] by
-
- 13 edits in trunk/Source/WebKit2
Rename ProcessThrottlerClient::{send, cancel}ProcessWillSuspend() to {send, cancel}PrepareToSuspend()
https://bugs.webkit.org/show_bug.cgi?id=144619
<rdar://problem/20812779>
Reviewed by Andy Estes.
The names of the functions ProcessThrottlerClient::{send, cancel}ProcessWillSuspend() are misnomers. These
functions are called when the ProcessThrottler wants to prepare the process that it manages for suspension
and changes its mind, respectively. That is, these functions do not actually correspond to the OS decision
to suspend a process or cancel the suspension of a process, respectively. So, rename these functions and
associated {Network, Web}ProcessProxy message names to better describe their purpose.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::cancelPrepareToSuspend):
(WebKit::NetworkProcess::processWillSuspend): Deleted.
(WebKit::NetworkProcess::cancelProcessWillSuspend): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendPrepareToSuspend):
(WebKit::NetworkProcessProxy::sendCancelPrepareToSuspend):
(WebKit::NetworkProcessProxy::sendProcessWillSuspend): Deleted.
(WebKit::NetworkProcessProxy::sendCancelProcessWillSuspend): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::updateAssertion):
- UIProcess/ProcessThrottlerClient.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcess::actualPrepareToSuspend): Formerly named prepareToSuspend.
(WebKit::WebProcessProxy::sendPrepareToSuspend):
(WebKit::WebProcessProxy::sendCancelPrepareToSuspend):
(WebKit::WebProcessProxy::sendProcessWillSuspend): Deleted.
(WebKit::WebProcessProxy::sendCancelProcessWillSuspend): Deleted.
- UIProcess/WebProcessProxy.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::processWillSuspend): Deleted.
(WebKit::WebProcess::cancelProcessWillSuspend): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 6:34 PM Changeset in webkit [184325] by
-
- 7 edits in trunk/Source
Clean up some possible RefPtr to PassRefPtr churn
https://bugs.webkit.org/show_bug.cgi?id=144779
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-13
Reviewed by Darin Adler.
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
- runtime/Structure.cpp:
(JSC::Structure::toStructureShape):
- runtime/TypedArrayBase.h:
(JSC::TypedArrayBase::create):
(JSC::TypedArrayBase::createUninitialized):
- tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
Release the last use of a RefPtr as it is passed on.
- 6:32 PM Changeset in webkit [184324] by
-
- 37 edits3 adds in trunk
ES6: Allow duplicate property names
https://bugs.webkit.org/show_bug.cgi?id=142895
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-13
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Introduce new
op_put_getter_by_idandop_put_setter_by_idopcodes
that will define a single getter or setter property on an object.
The existing
op_put_getter_setteropcode is still preferred for
putting both a getter and setter at the same time but cannot be used
for putting an individual getter or setter which is needed in
some cases.
Add a new slow path when generating bytecodes for a property list
with computed properties, as computed properties are the only time
the list of properties cannot be determined statically.
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
- fast path for all constant properties
- slow but paired getter/setter path if there are no computed properties
- slow path, individual put operation for every property, if there are computed properties
- parser/Nodes.h:
Distinguish a Computed property from a Constant property.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parsePropertyMethod):
Distingish Computed and Constant properties.
(JSC::Parser<LexerType>::parseObjectLiteral):
When we drop into strict mode it is because we saw a getter
or setter, so be more explicit.
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
Eliminate duplicate property syntax error exception.
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::getName):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::getName): Deleted.
No longer used.
- runtime/JSObject.h:
(JSC::JSObject::putDirectInternal):
When updating a property. If the Accessor attribute changed
update the Structure.
- runtime/JSObject.cpp:
(JSC::JSObject::putGetter):
(JSC::JSObject::putSetter):
Called by the opcodes, just perform the same operation that
defineGetter or defineSetter would do.
(JSC::JSObject::putDirectNonIndexAccessor):
This transition is now handled in putDirectInternal.
- runtime/Structure.h:
Add needed export.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPutGetterById):
(JSC::BytecodeGenerator::emitPutSetterById):
- bytecompiler/BytecodeGenerator.h:
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITInlines.h:
(JSC::JIT::callOperation):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
New bytecodes. Modelled after existing op_put_getter_setter.
LayoutTests:
- js/object-literal-duplicate-properties-expected.txt: Added.
- js/object-literal-duplicate-properties.html: Added.
- js/script-tests/object-literal-duplicate-properties.js: Added.
Include a new test all about testing duplicate property names
and their expected cascading results.
- ietestcenter/Javascript/11.1.5_4-4-b-1-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-b-2-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-c-1-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-c-2-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-d-1-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-d-2-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-d-3-expected.txt:
- ietestcenter/Javascript/11.1.5_4-4-d-4-expected.txt:
ES5 behavior for duplciate properties has changed.
- js/mozilla/strict/11.1.5-expected.txt:
- js/object-literal-syntax-expected.txt:
- js/script-tests/object-literal-syntax.js:
Update other tests and values now that duplicate properties
are allowed, and their cascade order behaves correctly.
- 6:21 PM Changeset in webkit [184323] by
-
- 2 edits in trunk/Source/WebCore
REGRESION (r179958): Crash in WebCore::DocumentLoader::detachFromFrame when -[id<WebPolicyDelegate> decidePolicyForMIMEType:request:frame:decisionListener:] fails to call -[id<WebPolicyDecisionListener> download|ignore|use]
<http://webkit.org/b/144975>
Reviewed by Andy Estes.
This change reverts r179958. It changes RELEASE_ASSERT*()
statements back to Debug-only ASSERT*() statements.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::detachFromFrame):
- 5:39 PM Changeset in webkit [184322] by
-
- 5 edits in branches/safari-600.5.17-branch/Source
Versioning.
- 5:36 PM Changeset in webkit [184321] by
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 5:11 PM Changeset in webkit [184320] by
-
- 2 edits in branches/safari-600.7-branch/LayoutTests
Add a Pass/Failure test expectation on
fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html.
I don't know why this test expectation was not in the branch given it was added back in r174585.
Perhaps it got lost during some merges.
- platform/mac/TestExpectations:
- 5:08 PM Changeset in webkit [184319] by
-
- 1 copy in tags/Safari-601.1.32.2
New tag.
- 4:57 PM Changeset in webkit [184318] by
-
- 7 edits1 add in trunk/Source/JavaScriptCore
Creating a new blank document in icloud pages causes an AI error: Abstract value (CellBytecodedoubleBoolOther, TOP, TOP) for double node has type outside SpecFullDouble.
https://bugs.webkit.org/show_bug.cgi?id=144856
Reviewed by Benjamin Poulain.
First I made fixTypeForRepresentation() print out better diagnostics when it dies.
Then I fixed the bug: Node::convertToIdentityOn(Node*) needs to make sure that when it
converts to a representation-changing node, it needs to use one of the UseKinds that such
a node expects. For example, DoubleRep(UntypedUse:) doesn't make sense; it needs to be
something like DoubleRep(NumberUse:) since it will speculate that the input is a number.
- dfg/DFGAbstractInterpreter.h:
(JSC::DFG::AbstractInterpreter::setBuiltInConstant):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::fixTypeForRepresentation):
- dfg/DFGAbstractValue.h:
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::initialize):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToIdentityOn):
- tests/stress/cloned-arguments-get-by-val-double-array.js: Added.
(foo):
- 4:33 PM Changeset in webkit [184317] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r184313.
https://bugs.webkit.org/show_bug.cgi?id=144974
Introduced an assertion failure in class-syntax-
declaration.js, class-syntax-expression.js, and object-
literal-syntax.js (Requested by rniwa on #webkit).
Reverted changeset:
"Small refactoring before ES6 Arrow function implementation."
https://bugs.webkit.org/show_bug.cgi?id=144954
http://trac.webkit.org/changeset/184313
- 4:18 PM Changeset in webkit [184316] by
-
- 7 edits in trunk/Source
Source/JavaScriptCore:
Ensure that all the smart pointer types in WTF clear their pointer before deref
https://bugs.webkit.org/show_bug.cgi?id=143789
Reviewed by Ryosuke Niwa.
One of the simpler cases of this in JavaScriptCore. There
are other cases where we need to guard the derefs but they
are more complex cases.
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::releaseImpl):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::releaseImpl):
Source/WTF:
Ensure that all the smart pointer types in WTF clear their pointer before deref
https://bugs.webkit.org/show_bug.cgi?id=143789
Reviewed by Ryosuke Niwa.
In order to prevent use after free bugs caused by destructors
that end up trying to access the smart pointer itself, we should
make sure we always clear the m_ptr field before calling deref.
Essentially the UaF path is:
struct Foo : RefCounted<Foo> {
Wibble* m_wibble;
void doSomething();
~Foo() { m_wibble->doSomethingLikeCleanup(); }
};
struct Wibble {
void doSomethingLikeCleanup()
{
if (m_foo) {
/* if this branch is not here we get a null deref */
m_foo->doSomething();
}
}
void replaceFoo(Foo* foo) { m_foo = foo; }
RefPtr<Foo> m_foo;
};
Wibble* someWibble = /* a Wibble with m_foo->m_refCount == 1 */;
/* and m_foo points to someWibble */;
someWibble->replaceFoo(someOtherFoo);
+ someWibble->m_foo->m_ptr->deref();
+ someWibble->m_foo->m_ptr->~Foo()
+ someWibble->m_foo->m_ptr->m_wibble->doSomethingLikeCleanup()
+ someWibble->m_foo->m_ptr->m_wibble /* someWibble */ ->m_foo->m_ptr /*logically dead*/ ->doSomething()
By clearing m_ptr first we either force a null pointer deref or
we force our code down a path that does not use the dead smart
pointer.
- wtf/PassRefPtr.h: (WTF::PassRefPtr::~PassRefPtr):
- wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::operator=):
- wtf/RefPtr.h: (WTF::RefPtr::~RefPtr):
- wtf/RetainPtr.h: (WTF::RetainPtr::~RetainPtr): (WTF::RetainPtr<T>::clear):
- 4:09 PM Changeset in webkit [184315] by
-
- 31 edits5 adds in trunk
Cached CSS image resources don't show up after reloading <http://nightly.webkit.org/start/>
https://bugs.webkit.org/show_bug.cgi?id=144952
Source/WebCore:
rdar://problem/13387307
Reviewed by Oliver Hunt.
This is a symptom of a general problem that we don't revalidate subresources of cached parsed stylesheets.
Fix by tightening the check we perform when choosing to used the cached sheet. If there are expired subresources
we reparse the sheet.
Test: http/tests/cache/stylesheet-sharing.html
- css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::traverseSubresources):
(WebCore::CSSCrossfadeValue::hasFailedOrCanceledSubresources): Deleted.
Replace hasFailedOrCanceledSubresources with general purpose subresource traversal functions.
- css/CSSCrossfadeValue.h:
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::traverseSubresources):
(WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources): Deleted.
- css/CSSFilterImageValue.h:
- css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::traverseSubresources):
(WebCore::CSSFontFaceSrcValue::hasFailedOrCanceledSubresources): Deleted.
- css/CSSFontFaceSrcValue.h:
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources): Deleted.
- css/CSSImageValue.h:
- css/CSSValue.cpp:
(WebCore::CSSValue::traverseSubresources):
(WebCore::CSSValue::hasFailedOrCanceledSubresources): Deleted.
- css/CSSValue.h:
- css/CSSValueList.cpp:
(WebCore::CSSValueList::traverseSubresources):
(WebCore::CSSValueList::hasFailedOrCanceledSubresources): Deleted.
- css/CSSValueList.h:
- css/StyleProperties.cpp:
(WebCore::StyleProperties::traverseSubresources):
(WebCore::StyleProperties::hasFailedOrCanceledSubresources): Deleted.
- css/StyleProperties.h:
- css/StyleSheetContents.cpp:
(WebCore::traverseSubresourcesInRules):
(WebCore::StyleSheetContents::traverseSubresources):
(WebCore::StyleSheetContents::subresourcesAllowReuse):
Disallow reuse if there are expired subresources.
(WebCore::StyleSheetContents::isLoadingSubresources):
Testing support.
(WebCore::childRulesHaveFailedOrCanceledSubresources): Deleted.
(WebCore::StyleSheetContents::hasFailedOrCanceledSubresources): Deleted.
- css/StyleSheetContents.h:
(WebCore::StyleSheetContents::loadCompleted):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::makeRevalidationDecision):
(WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Deleted.
Move the logging code out from this function (it requires frame access this function doesn't otherwise need)
and refactor to return a decision enum.
- loader/cache/CachedImage.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::makeRevalidationDecision):
(WebCore::logResourceRevalidationReason): Deleted.
(WebCore::CachedResource::mustRevalidateDueToCacheHeaders): Deleted.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::loadFailedOrCanceled):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::logRevalidation):
(WebCore::logResourceRevalidationDecision):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
Move logging here.
- testing/Internals.cpp:
(WebCore::Internals::isSharingStyleSheetContents):
(WebCore::Internals::isStyleSheetLoadingSubresources):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Reviewed by Oliver Hunt.
- http/tests/cache/resources/non-shareable.css: Added.
(#foo):
(#bar):
(#test1):
(#test2):
- http/tests/cache/resources/shareable.css: Added.
(#foo):
(#bar):
(#test1):
(#test2):
- http/tests/cache/resources/stylesheet-html.php: Added.
- http/tests/cache/stylesheet-sharing-expected.txt: Added.
- http/tests/cache/stylesheet-sharing.html: Added.
- 3:27 PM Changeset in webkit [184314] by
-
- 3 edits in trunk/Tools
[Content Extensions] Test interactions between multiple extensions and multiple domains.
https://bugs.webkit.org/show_bug.cgi?id=144967
Patch by Alex Christensen <achristensen@webkit.org> on 2015-05-13
Reviewed by Benjamin Poulain.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Xcode wanted to fix an alphabetization issue.
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Test interactions that worked but were not explicitly tested before.
- 3:23 PM Changeset in webkit [184313] by
-
- 3 edits in trunk/Source/JavaScriptCore
Small refactoring before ES6 Arrow function implementation.
https://bugs.webkit.org/show_bug.cgi?id=144954
Patch by Alexandr Skachkov <gskachkov@gmail.com> on 2015-05-13
Reviewed by Filip Pizlo.
- parser/Parser.h:
- parser/Parser.cpp:
- 3:16 PM Changeset in webkit [184312] by
-
- 6 edits in trunk/Source/WebCore
[CoordinatedGraphics] Remove scaleFactor from SurfaceUpdateInfo
https://bugs.webkit.org/show_bug.cgi?id=144935
Reviewed by Darin Adler.
The members of SurfaceUpdateInfo are only used to update tile except scaleFactor.
So, this patch removes scaleFactor from SurfaceUpdateInfo.
In addition, removes unnecessary parameters in createTile()
No new tests because there is no behavior change.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::createTile):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
- platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
(WebCore::CoordinatedTile::updateBackBuffer):
- platform/graphics/texmap/coordinated/CoordinatedTile.h:
- platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h:
- 3:14 PM Changeset in webkit [184311] by
-
- 8 edits3 adds in trunk/Source/JavaScriptCore
The liveness pruning done by ObjectAllocationSinkingPhase ignores the possibility of an object's bytecode liveness being longer than its DFG liveness
https://bugs.webkit.org/show_bug.cgi?id=144945
Reviewed by Michael Saboff.
We were making the mistake of using DFG liveness for object allocation sinking decisions.
This is wrong. In fact we almost never want to use DFG liveness directly. The only place
where that makes sense is pruning in DFG AI.
So, I created a CombinedLiveness class that combines the DFG liveness with bytecode
liveness.
In the process of doing this, I realized that the DFGForAllKills definition of combined
liveness at block tail was not strictly right; it was using the bytecode liveness at the
block terminal instead of the union of the bytecode live-at-heads of successor blocks. So,
I changed DFGForAllKills to work in terms of CombinedLiveness.
This allows me to unskip the test I added in r184260. I also added a new test that tries to
trigger this bug more directly.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGCombinedLiveness.cpp: Added.
(JSC::DFG::liveNodesAtHead):
(JSC::DFG::CombinedLiveness::CombinedLiveness):
- dfg/DFGCombinedLiveness.h: Added.
(JSC::DFG::CombinedLiveness::CombinedLiveness):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKillsInBlock):
(JSC::DFG::forAllLiveNodesAtTail): Deleted.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::performSinking):
(JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):
- tests/stress/escape-object-in-diamond-then-exit.js: Added.
- tests/stress/sink-object-past-invalid-check-sneaky.js:
- 3:07 PM Changeset in webkit [184310] by
-
- 8 edits in trunk/Source/WebKit2
Don't create a per-pool data store when using the modern API
https://bugs.webkit.org/show_bug.cgi?id=144963
rdar://problem/20331756
Reviewed by Tim Horton.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
Keep track of whether the process pool should have a data store.
- UIProcess/API/C/WKContext.cpp:
(WKContextGetWebsiteDataStore):
- UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
Update now that WebProcessPool::dataStore() no longer returns a reference.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
Only create a data store if the configuration states that we should.
- UIProcess/WebProcessPool.h:
Change dataStore() to return a pointer instead of a reference.
- 3:06 PM Changeset in webkit [184309] by
-
- 3 edits in trunk/Source/WebCore
Modernize ContainerNode::childElementCount
https://bugs.webkit.org/show_bug.cgi?id=144930
Patch by Sam Weinig <sam@webkit.org> on 2015-05-13
Reviewed by Darin Adler.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::childElementCount):
Use std::distance to compute the number of child elements.
- dom/ElementChildIterator.h:
Add typedefs to make the child element iterators conform STL standards.
- 2:58 PM Changeset in webkit [184308] by
-
- 5 edits2 adds in trunk
REGRESSION(r183770): Crash inside WebEditorClient::shouldApplyStyle when applying underline
https://bugs.webkit.org/show_bug.cgi?id=144949
Source/WebCore:
<rdar://problem/20895753>
Reviewed by Darin Adler.
The crash was caused by the variant of applyStyleToSelection that takes EditingStyle passing
a null pointer to shouldApplyStyle when we're only applying text decoration changes so that
m_mutableStyle in the editing style is null. This didn't reproduce in execCommand since we
wouldn't call shouldApplyStyle in that case. It didn't reproduce in my manual testing because
font panel also sets text shadow, which ends up filling up m_mutableStyle.
Fixed the bug by creating a mutable style properties when one is not provided by EditingStyle.
Also fixed the "FIXME" in the function by converting text decoration changes to a corresponding
text decoration value. The values passed to shouldApplyStyle now matches the old behavior prior
to r183770.
Test: editing/style/underline-by-user.html
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::styleWithResolvedTextDecorations): Added.
- editing/EditingStyle.h:
- editing/Editor.cpp:
(WebCore::Editor::applyStyleToSelection): Use styleWithResolvedTextDecorations to avoid the crash.
LayoutTests:
Reviewed by Darin Adler.
Added a test that emulates underlining of text by the user. Unlike document.execCommand,
testRunner.execCommand simulates a user initiated editing command and therefore invokes
shouldApplyStyle.
- editing/style/underline-by-user-expected.txt: Added.
- editing/style/underline-by-user.html: Added.
- 2:37 PM Changeset in webkit [184307] by
-
- 1 copy in tags/Safari-600.5.17.2
New tag.
- 2:18 PM Changeset in webkit [184306] by
-
- 2 edits in trunk/Source/WebCore
Work around HTMLMediaElement::documentDidResumeFromPageCache being called twice
https://bugs.webkit.org/show_bug.cgi?id=144969
Reviewed by Alexey Proskuryakov.
- dom/Document.cpp:
(WebCore::Document::addPlaybackTargetPickerClient): Replace ASSERT with early
return to work around https://webkit.org/b/144970.
- 2:05 PM Changeset in webkit [184305] by
-
- 3 edits in trunk/Source/JavaScriptCore
I skipped a wrong test in r184270. Fix that.
The failure is tracked by webkit.org/b/144947.
- tests/stress/arith-modulo-node-behaviors.js:
- tests/stress/arith-mul-with-constants.js:
- 1:51 PM Changeset in webkit [184304] by
-
- 7 edits in trunk/Source/WebCore
Going back after resizing causes scroll knob to appear in the middle of the page
https://bugs.webkit.org/show_bug.cgi?id=144968
<rdar://problem/18299827>
Reviewed by Beth Dakin.
- history/CachedPage.cpp:
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):
- history/CachedPage.h:
(WebCore::CachedPage::markForContentsSizeChanged):
- history/PageCache.cpp:
(WebCore::PageCache::markPagesForContentsSizeChanged):
- history/PageCache.h:
Add a flag that will cause us to call updateContentsSize() after a page
comes out of the page cache, if necessary.
- page/FrameView.cpp:
(WebCore::FrameView::setContentsSize):
- page/FrameView.h:
Mark all cached pages for this frame as needing updateContentsSize()
when setContentsSize happens. This will ensure that scrollbar layers
are repositioned when coming out of the page cache.
- 1:42 PM Changeset in webkit [184303] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] Sandbox violation reading SubmitDiagInfo.domains
https://bugs.webkit.org/show_bug.cgi?id=144962
rdar://problem/20719330
Reviewed by Darin Adler.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:40 PM Changeset in webkit [184302] by
-
- 3 edits in branches/safari-600.5.17-branch/Source/JavaScriptCore
Merged r184229. rdar://problem/18736465
- 1:10 PM Changeset in webkit [184301] by
-
- 18 edits in branches/safari-601.1.32-branch
Merged r183976.
- 1:08 PM Changeset in webkit [184300] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merged r183958.
- 12:59 PM Changeset in webkit [184299] by
-
- 2 edits in trunk/Source/WebKit2
Speculative build fix.
- UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h:
- 12:56 PM Changeset in webkit [184298] by
-
- 2 edits in trunk/Source/WebKit2
[GTK][CMake] Extra include directory when libnotify is present but disabled
https://bugs.webkit.org/show_bug.cgi?id=144941
Reviewed by Martin Robinson.
Add LIBNOTIFY_INCLUDE_DIRS to WebKit2_INCLUDE_DIRECTORIES only if USE_LIBNOTIFY is true,
rather than checking LIBNOTIFY_FOUND.
- PlatformGTK.cmake:
- 12:28 PM Changeset in webkit [184297] by
-
- 18 edits1 add in trunk/Source
Need SPI to set the overlay scroll bar style
https://bugs.webkit.org/show_bug.cgi?id=144928
-and corresponding-
rdar://problem/20143614
Reviewed by Anders Carlsson.
Source/WebCore:
New ChromeClient function preferredScrollbarOverlayStyle() will fetch the
scrollbar style that was set via the new SPI.
- page/ChromeClient.h:
If the preferredScrollbarOverlayStyle() is anything but None, then use it. None is
used to indicate that the normal heuristic should compute the appropriate color.
- page/FrameView.cpp:
(WebCore::FrameView::recalculateScrollbarOverlayStyle):
- page/FrameView.h:
Source/WebKit2:
Make scrollbarOverlayStyle a part of the creation parameters.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
New SPI.
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h: Added.
- UIProcess/API/mac/WKView.mm:
(-[WKView _setOverlayScrollbarStyle:]):
(-[WKView _overlayScrollbarStyle]):
Store m_scrollbarOverlayStyle on WebPageProxy, and set it to the WebProcess.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setOverlayScrollbarStyle):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::overlayScrollbarStyle):
- WebKit2.xcodeproj/project.pbxproj:
Return WebPage’s scrollbarOverlayStyle().
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::preferredScrollbarOverlayStyle):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Cache the scrollbarOverlayStyle() here for the WebProcess.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setScrollbarOverlayStyle):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::scrollbarOverlayStyle):
- WebProcess/WebPage/WebPage.messages.in:
- 12:26 PM Changeset in webkit [184296] by
-
- 3 edits in trunk/Source/WebCore
Scrollbars in overflow regions are not vanishing after scrolling with scroll snap points
https://bugs.webkit.org/show_bug.cgi?id=142521
<rdar://problem/20100706>
Reviewed by Darin Adler.
The scrollbars were not being dismissed because they were not being notified that the wheel
gesture was finished. This was happening because the wheel event 'ended' state has zero
deltaX and deltaY. If the region did not allow stretching, it would exit early, never passing
through the 'handleWheelEventPhase' code that would notify the scrollbar controller that
the gesture had ended.
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::mouseExitedContentArea): The wrong ScrollAnimator method was being
called when the mouse exited the content area.
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEvent): Do not early return when the wheel event has
no change in X or Y coordinate.
- 12:24 PM Changeset in webkit [184295] by
-
- 5 edits in trunk/Source/WebKit2
Rename some StorageManager functions to indicate that they work on local storage entries
https://bugs.webkit.org/show_bug.cgi?id=144958
First part of rdar://problem/10690447.
Reviewed by Beth Dakin.
- UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::getLocalStorageOrigins):
(WebKit::StorageManager::getLocalStorageDetailsByOrigin):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigin):
(WebKit::StorageManager::deleteAllLocalStorageEntries):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
(WebKit::StorageManager::getOrigins): Deleted.
(WebKit::StorageManager::getStorageDetailsByOrigin): Deleted.
(WebKit::StorageManager::deleteEntriesForOrigin): Deleted.
(WebKit::StorageManager::deleteAllEntries): Deleted.
(WebKit::StorageManager::deleteEntriesForOrigins): Deleted.
- UIProcess/Storage/StorageManager.h:
- UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
- 12:20 PM Changeset in webkit [184294] by
-
- 2 edits in trunk/Source/WebKit2
Crash under WebKit::WebInspectorProxy::attachAvailabilityChanged sometimes opening new page
https://bugs.webkit.org/show_bug.cgi?id=144957
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-13
Reviewed by Simon Fraser.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::attachAvailabilityChanged):
- 11:56 AM Changeset in webkit [184293] by
-
- 2 edits in trunk/Source/WebCore
Don't compute selection painting info when we don't have selection.
https://bugs.webkit.org/show_bug.cgi?id=144920
<rdar://problem/20919920>
Reviewed by Simon Fraser.
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
Just set the selection paint style to the text paint style when we don't have a selection
at all. Computing the selection style takes time in the case where a ::selection pseudo is
used on the page, so we don't want to waste time computing that info unless it's actually
needed.
- 11:51 AM Changeset in webkit [184292] by
-
- 2 edits in trunk/Source/JavaScriptCore
Avoid always running some debug code in type profiling
https://bugs.webkit.org/show_bug.cgi?id=144775
Reviewed by Daniel Bates.
- runtime/TypeProfilerLog.cpp:
(JSC::TypeProfilerLog::processLogEntries):
- 11:51 AM Changeset in webkit [184291] by
-
- 36 edits in trunk/Source
Pass String as reference in more places
https://bugs.webkit.org/show_bug.cgi?id=144769
Reviewed by Daniel Bates.
Source/JavaScriptCore:
- debugger/Breakpoint.h:
(JSC::Breakpoint::Breakpoint):
- parser/Parser.h:
(JSC::Parser::setErrorMessage):
(JSC::Parser::updateErrorWithNameAndMessage):
- parser/ParserError.h:
(JSC::ParserError::ParserError):
- runtime/RegExp.cpp:
(JSC::RegExpFunctionalTestCollector::outputOneTest):
- runtime/RegExpObject.cpp:
(JSC::regExpObjectSourceInternal):
- runtime/TypeProfiler.cpp:
(JSC::TypeProfiler::typeInformationForExpressionAtOffset):
- runtime/TypeProfilerLog.cpp:
(JSC::TypeProfilerLog::processLogEntries):
- runtime/TypeProfilerLog.h:
- tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
- inspector/scripts/codegen/generate_objc_conversion_helpers.py:
(ObjCConversionHelpersGenerator._generate_enum_from_protocol_string):
- inspector/scripts/codegen/objc_generator_templates.py:
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
- inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
- inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
- inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
- inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-declaration-object-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
Rebaseline tests after updating the generator.
Source/WebCore:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpString):
(WebCore::CloneSerializer::dumpStringObject):
- dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addMarker):
- dom/DocumentMarkerController.h:
- inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
- inspector/InspectorApplicationCacheAgent.h:
- inspector/InspectorNodeFinder.cpp:
(WebCore::stripCharacters):
(WebCore::InspectorNodeFinder::InspectorNodeFinder):
- inspector/InspectorNodeFinder.h:
Source/WebKit2:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::showMainResourceForFrame):
- WebProcess/WebPage/WebInspectorUI.h:
- 11:11 AM Changeset in webkit [184290] by
-
- 11 edits in trunk/Source
View scale changes are temporarily lost after restoring a page from the page cache
https://bugs.webkit.org/show_bug.cgi?id=144934
Reviewed by Brady Eidson.
- history/CachedPage.cpp:
(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):
- history/CachedPage.h:
(WebCore::CachedPage::markForDeviceOrPageScaleChanged): Renamed.
- history/PageCache.cpp:
(WebCore::PageCache::markPagesForDeviceOrPageScaleChanged): Renamed.
- history/PageCache.h:
Rename PageCache/CachedPage methods to make it more clear that they
will eventually result in calling deviceOrPageScaleFactorChanged().
Also, use modern initialization for CachedPage members.
- loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
(WebCore::HistoryController::restoreScrollPositionAndViewState):
Store the pageScaleFactor on HistoryItem with the view scale factored out,
because the view scale can change while the page is in the page cache, and
WebCore needs a way - without consulting with WebKit2 - to apply the changed
view scale to the cached page scale.
- page/Page.cpp:
(WebCore::Page::setViewScaleFactor):
(WebCore::Page::setDeviceScaleFactor):
- page/Page.h:
(WebCore::Page::viewScaleFactor):
Keep track of the viewScaleFactor, and mark all pages in the page cache
as needing to call deviceOrPageScaleFactorChanged and do a full style recalc
when they come back from the page cache.
For now, we expect all callers of setPageScaleFactor (including WebKit2 and
HistoryController) to multiply the viewScale in manually, to avoid the
significant amount of change in WebCore that would be required to keep them
totally separately.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::scalePage):
(WebKit::WebPage::scalePageInViewCoordinates):
(WebKit::WebPage::pageScaleFactor):
(WebKit::WebPage::viewScaleFactor):
(WebKit::WebPage::scaleView):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewScaleFactor): Deleted.
Get rid of m_viewScaleFactor, instead using Page::viewScaleFactor.
- 10:58 AM Changeset in webkit [184289] by
-
- 2 edits in trunk/Source/JavaScriptCore
com.apple.WebKit.WebContent crashed at JavaScriptCore: JSC::CodeBlock::finalizeUnconditionally
https://bugs.webkit.org/show_bug.cgi?id=144933
Changed the RELEASE_ASSERT_NOT_REACHED into an ASSERT. Added some diagnostic messages to
help determine the cause for any crash.
Reviewed by Geoffrey Garen.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
- 10:39 AM Changeset in webkit [184288] by
-
- 7 edits in trunk/Source/JavaScriptCore
REGRESSION(r184260): arguments elimination has stopped working because of Check(UntypedUse:) from SSAConversionPhase
https://bugs.webkit.org/show_bug.cgi?id=144951
Reviewed by Michael Saboff.
There were two issues here:
- In r184260 we expected a small number of possible use kinds in Check nodes, and UntypedUse was not one of them. That seemed like a sensible assumption because we don't create Check nodes unless it's to have a check. But, SSAConversionPhase was creating a Check that could have UntypedUse. I fixed this. It's cleaner for SSAConversionPhase to follow the same idiom as everyone else and not create tautological checks.
- It's clearly not very robust to assume that Checks will not be used tautologically. So, this changes how we validate Checks in the escape analyses. We now use willHaveCheck, which catches cases that AI would have already marked as unnecessary. It then also uses a new helper called alreadyChecked(), which allows us to just ask if the check is unnecessary for objects. That's a good fall-back in case AI hadn't run yet.
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGMayExit.cpp:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
- dfg/DFGUseKind.h:
(JSC::DFG::alreadyChecked):
- dfg/DFGVarargsForwardingPhase.cpp:
- 9:48 AM Changeset in webkit [184287] by
-
- 8 edits2 adds in trunk
[ES6] Implement String.raw
https://bugs.webkit.org/show_bug.cgi?id=144330
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Implement String.raw. It is intended to be used with tagged-templates syntax.
To implement ToString abstract operation efficiently,
we introduce @toString bytecode intrinsic. It emits op_to_string directly.
- CMakeLists.txt:
- builtins/StringConstructor.js: Added.
(raw):
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toString):
- runtime/CommonIdentifiers.h:
- runtime/StringConstructor.cpp:
- tests/stress/string-raw.js: Added.
(shouldBe):
(.get shouldBe):
(Counter):
LayoutTests:
Add String.raw.
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 2:32 AM Changeset in webkit [184286] by
-
- 5 edits in branches/safari-601.1.32-branch/Tools
Merged r184018.
- 2:31 AM Changeset in webkit [184285] by
-
- 2 edits in trunk/Source/WebKit2
Minor cleanups to PluginProxy.cpp.
https://bugs.webkit.org/show_bug.cgi?id=144948
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-13
Reviewed by Gyuyoung Kim.
- Remove unnecessary #include.
- Remove unnecessary return statement from PluginProxy::paint().
No new tests, no behavior change.
- WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::paint):
- 2:23 AM Changeset in webkit [184284] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merged r183980. rdar://problem/20769741
- 2:13 AM Changeset in webkit [184283] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r176631): [EFL] Fullscreen feature doesn't work correctly on MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=144906
Patch by Daegyu Lee <daegyu.lee@navercorp.com> on 2015-05-13
Reviewed by Gyuyoung Kim.
- UIProcess/CoordinatedGraphics/PageViewportController.cpp:
(WebKit::PageViewportController::updateMinimumScaleToFit): Recover the r176631 condition to
call applyScaleAfterRenderingContents function to apply correct scale.
- 1:26 AM Changeset in webkit [184282] by
-
- 6 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merged r184028. rdar://problem/20210267
- 12:21 AM Changeset in webkit [184281] by
-
- 2 edits in branches/safari-601.1.32-branch/Tools
Merged r183915.
- 12:10 AM Changeset in webkit [184280] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merged r184241. rdar://problem/20172315
- 12:09 AM Changeset in webkit [184279] by
-
- 8 edits in branches/safari-601.1.32-branch/Source
Merged r184231. rdar://problem/20923031
- 12:04 AM Changeset in webkit [184278] by
-
- 12 edits3 copies in branches/safari-601.1.32-branch/Source/WebKit2
Merged r184215. rdar://problem/19708579
- 12:02 AM Changeset in webkit [184277] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merged r184125. rdar://problem/19708579
- 12:01 AM Changeset in webkit [184276] by
-
- 6 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merged r184061. rdar://problem/20856497
May 12, 2015:
- 11:48 PM Changeset in webkit [184275] by
-
- 4 edits1 copy in branches/safari-601.1.32-branch
Merged r183933. rdar://problem/20681226
- 11:47 PM Changeset in webkit [184274] by
-
- 4 edits in trunk/Source/WebCore
Reduce TransformationMatrix copies in MatrixTransformOperation, Matrix3DTransformOperation
https://bugs.webkit.org/show_bug.cgi?id=144797
Reviewed by Darin Adler.
Using std::swap() on TransformationMatrix objects which don't
provide move constructors will result in copies.
Instead, use a helper function in both MatrixTransformOperation
and Matrix3DTransformOperation that calls TransformationMatrix::blend()
and returns the new Matrix(3D)TransformOperation object, and call it
with fromT and toT arguments switched when blending to identity.
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::createOperation):
(WebCore::Matrix3DTransformOperation::blend):
- platform/graphics/transforms/Matrix3DTransformOperation.h: No need
to copy the m_matrix member, it won't change when passed to
TransformationMatrix::multiply().
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::createOperation):
(WebCore::MatrixTransformOperation::blend):
- 11:18 PM Changeset in webkit [184273] by
-
- 3 edits in trunk/Source/WebCore
[EGL][X11] XPixmap created in GLContextEGL::createPixmapContext() is leaked
https://bugs.webkit.org/show_bug.cgi?id=144909
Reviewed by Sergio Villar Senin and Žan Doberšek.
The pixmap is created and passed to eglCreatePixmapSurface(), but
never released. eglCreatePixmapSurface() doesn't take the
ownership of the pixmap, so we should explicitly free it when the
GLContextEGL is destroyed.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createPixmapContext): Use XUniquePixmap
and transfer the ownership to the context by using the new
constructor that receives a XUniquePixmap&&.
(WebCore::GLContextEGL::createContext): createPixmapContext() is
now only defined for X11.
(WebCore::GLContextEGL::GLContextEGL): New constructor that
receives a XUniquePixmap&&.
- platform/graphics/egl/GLContextEGL.h: Add new constructor and
initialize the cairo device when defined to simplify constructors.
- 10:47 PM Changeset in webkit [184272] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit/mac
Merged r183968. rdar://problem/20281886
- 10:44 PM Changeset in webkit [184271] by
-
- 2 edits in trunk/Tools
Unreviewed build fix.
Added the missing metric name and wrapped values in an array as done in SunSpider.patch.
- Scripts/webkitpy/benchmark_runner/data/patches/Kraken.patch:
- 10:39 PM Changeset in webkit [184270] by
-
- 2 edits in trunk/Source/JavaScriptCore
Temporarily disable the test on Windows. The failure is tracked in webkit.org/b/144897.
- tests/stress/arith-mul-with-constants.js:
- 10:34 PM Changeset in webkit [184269] by
-
- 12 edits in branches/safari-601.1.32-branch
Fix horked ChangeLogs
- 10:33 PM Changeset in webkit [184268] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184226. rdar://problem/20707307
- 10:33 PM Changeset in webkit [184267] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184207. rdar://problem/20707307
- 10:33 PM Changeset in webkit [184266] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184140. rdar://problem/20907253
- 10:33 PM Changeset in webkit [184265] by
-
- 21 edits in branches/safari-601.1.32-branch/Source
Merge r184139. rdar://problem/20125088
- 10:33 PM Changeset in webkit [184264] by
-
- 54 edits in branches/safari-601.1.32-branch
Merge r184137. rdar://problem/20707307
- 10:33 PM Changeset in webkit [184263] by
-
- 7 edits in branches/safari-601.1.32-branch/Source/WebInspectorUI
Merge r184130. rdar://problem/20829494
- 10:31 PM Changeset in webkit [184262] by
-
- 2 edits in trunk/Source/WebCore
Reindent DIBPixelData.h for consistency.
https://bugs.webkit.org/show_bug.cgi?id=144942
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-12
Reviewed by Darin Adler.
No new tests, no behavior change.
- platform/graphics/win/DIBPixelData.h:
(WebCore::DIBPixelData::DIBPixelData):
(WebCore::DIBPixelData::buffer):
(WebCore::DIBPixelData::bufferLength):
(WebCore::DIBPixelData::size):
(WebCore::DIBPixelData::bytesPerRow):
(WebCore::DIBPixelData::bitsPerPixel):
- 10:25 PM Changeset in webkit [184261] by
-
- 2 edits in trunk/LayoutTests
fast/text/simple-line-layout-text-stroke-width.html fails on Windows
- platform/win/TestExpectations: Mark it as such. The tets likely needs to be
improved to work cross-platform.
- 10:21 PM Changeset in webkit [184260] by
-
- 11 edits13 adds in trunk
js/dom/stack-trace.html fails with eager compilation
https://bugs.webkit.org/show_bug.cgi?id=144853
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
All of our escape analyses were mishandling Check(). They were assuming that this is a
non-escaping operation. But, if we do for example a Check(Int32:@x) and @x is an escape
candidate, then we need to do something: if we eliminate or sink @x, then the check no
longer makes any sense since a phantom allocation has no type. This will make us forget
that this operation would have exited. This was causing us to not call a valueOf method in
js/dom/stack-trace.html with eager compilation enabled, because it was doing something like
+o where o had a valueOf method, and o was otherwise sinkable.
This changes our escape analyses to basically pretend that any Check() that isn't obviously
unnecessary is an escape. We don't have to be super careful here. Most checks will be
completely eliminated by constant-folding. If that doesn't run in time, then the most
common check we will see is CellUse. So, we just recognize some very obvious check kinds
that we know would have passed, and for all of the rest we just assume that it's an escape.
This was super tricky to test. The obvious way to test it is to use +o like
stack-trace.html, except that doing so relies on the fact that we still haven't implemented
the optimal behavior for op_to_number. So, I take four approaches in testing this patch:
1) Use +o. These will test what we want it to test for now, but at some point in the future
these tests will just be a good sanity-check that our op_to_number implementation is
right.
2) Do fancy control flow tricks to fool the profiling into thinking that some arithmetic
operation always sees integers even though we eventually feed it an object and that
object is a sink candidate.
3) Introduce a new jsc.cpp intrinsic called isInt32() which returns true if the incoming
value is an int32. This intrinsic is required to be implemented by DFG by
unconditionally speculating that the input is int32. This allows us to write much more
targetted tests of the underlying issue.
4) I made a version of stack-trace.html that runs in run-jsc-stress-tests, so that we can
get regression test coverage of this test in eager mode.
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLExitValue.cpp:
(JSC::FTL::ExitValue::dumpInContext):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionIsInt32):
- runtime/Intrinsic.h:
- tests/stress/sink-arguments-past-invalid-check-dfg.js: Added.
- tests/stress/sink-arguments-past-invalid-check-int32-dfg.js: Added.
- tests/stress/sink-arguments-past-invalid-check-int32.js: Added.
- tests/stress/sink-arguments-past-invalid-check-sneakier.js: Added.
- tests/stress/sink-arguments-past-invalid-check.js: Added.
- tests/stress/sink-function-past-invalid-check-sneakier.js: Added.
- tests/stress/sink-function-past-invalid-check-sneaky.js: Added.
- tests/stress/sink-object-past-invalid-check-int32.js: Added.
- tests/stress/sink-object-past-invalid-check-sneakier.js: Added.
- tests/stress/sink-object-past-invalid-check-sneaky.js: Added.
- tests/stress/sink-object-past-invalid-check.js: Added.
LayoutTests:
Make a copy of the stack-trace test that only runs in run-jsc-stress-tests. Sadly, we don't
have a good way of having different expectation files for when a test runs in RJST versus
RWT. So, the approach I take is that I make a copy of the test just for RJST and I exclude
the .html file, which makes RWT overlook it. The test has different expectations in the
two harnesses because it does some small DOM things.
- js/script-tests/stack-trace.js: Added.
- js/stack-trace-expected.txt: Added.
- 10:18 PM Changeset in webkit [184259] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r184224.
https://bugs.webkit.org/show_bug.cgi?id=144946
Made inspector/page/main-frame-resource.html assert every time
(Requested by ap on #webkit).
Reverted changeset:
"Web Inspector: REGRESSION (r181625): Timeline recording
started from console.profile is always empty"
https://bugs.webkit.org/show_bug.cgi?id=144882
http://trac.webkit.org/changeset/184224
- 9:38 PM Changeset in webkit [184258] by
-
- 2 edits in trunk/Source/WebKit2
In Safari, Debug > Get Bytecode Profile crashes the Web Content process
https://bugs.webkit.org/show_bug.cgi?id=144944
Reviewed by Darin Adler.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getBytecodeProfile): Don’t assert that m_perBytecodeProfiler isn’t null,
because it is when the profiler is disabled, which is the default. In that case, return
after sending back the empty string, rather than continuing to dereference a null pointer.
- 9:25 PM Changeset in webkit [184257] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184121. rdar://problem/20774613
- 9:25 PM Changeset in webkit [184256] by
-
- 27 edits3 adds in branches/safari-601.1.32-branch
Merge r184116. rdar://problem/20774613
- 9:25 PM Changeset in webkit [184255] by
-
- 6 edits in branches/safari-601.1.32-branch/Source/WebInspectorUI
Merge r184108. rdar://problem/20903134
- 9:25 PM Changeset in webkit [184254] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184104. rdar://problem/20727702
- 9:17 PM Changeset in webkit [184253] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r184026. rdar://problem/20757196
- 9:17 PM Changeset in webkit [184252] by
-
- 3 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184005. rdar://problem/20486538
- 9:17 PM Changeset in webkit [184251] by
-
- 4 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r184001. rdar://problem/20862460
- 9:17 PM Changeset in webkit [184250] by
-
- 3 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r183971. rdar://problem/20065572
- 9:10 PM Changeset in webkit [184249] by
-
- 3 edits in trunk/Source/WebCore
[Mac] Hang in MediaPlayerPrivateAVFoundationObjC::audioSourceProvider() - 'tracks' property not yet loaded
https://bugs.webkit.org/show_bug.cgi?id=144937
Reviewed by Eric Carlson.
Querying for the -[AVAsset tracks] property blocks for network loading; and could
block forever if the asset in question is not reachable. Add a "safe" mechanism for
querying the list of audible tracks, and use that when providing the audioSourceProvider()
with an audible track.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::audioSourceProvider):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeAVAssetTracksForAudibleMedia):
- 9:08 PM Changeset in webkit [184248] by
-
- 6 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r183970. rdar://problem/20769741
- 9:08 PM Changeset in webkit [184247] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r183965. rdar://problem/20866590
- 9:08 PM Changeset in webkit [184246] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit/mac
Merge r183957. rdar://problem/20811128
- 9:02 PM Changeset in webkit [184245] by
-
- 2 edits in trunk/Source/WTF
If JSC cannot get executable memory, it shouldn't call madvise
https://bugs.webkit.org/show_bug.cgi?id=144931
Reviewed by Mark Lam.
Made calling madvise conditional on really getting mmapped memory.
- wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::reserveUncommitted):
- 8:58 PM Changeset in webkit [184244] by
-
- 15 edits in branches/safari-601.1.32-branch
Merge r183954. rdar://problem/20281886
- 8:58 PM Changeset in webkit [184243] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r183953. rdar://problem/19997548
- 8:58 PM Changeset in webkit [184242] by
-
- 7 edits2 adds in branches/safari-601.1.32-branch
Merge r183943. rdar://problem/19913748
- 8:51 PM Changeset in webkit [184241] by
-
- 2 edits in trunk/Source/WebKit2
Crash when using <input type=file>
<https://bugs.webkit.org/show_bug.cgi?id=144939>
<rdar://problem/20172315>
Reviewed by Andy Estes.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
Use a RefPtr to hold the WebOpenPanelResultListenerProxy, because the
WKFileUploadPanel can outlive it.
- 8:45 PM Changeset in webkit [184240] by
-
- 3 edits in branches/safari-600.7-branch/LayoutTests
Added prefixes in the test added in r182985 (merged in r183180) since we don't support unprefixed versions in this branch.
- compositing/animation/animation-backing.html:
- platform/mac-wk2/TestExpectations: Removed merge conflict lines.
- 8:42 PM Changeset in webkit [184239] by
-
- 1 edit1 add in trunk/LayoutTests
AX: [Win] REGRESSION(r184213) breaks aria-menubar-menuitems.html
https://bugs.webkit.org/show_bug.cgi?id=144936
Unreviewed gardening.
Adding the platform-specific expectations for Windows now that the
accessibility tree is being correctly generated for this test.
- platform/win/accessibility/aria-menubar-menuitems-expected.txt: Added.
- 8:22 PM Changeset in webkit [184238] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r183937. rdar://problem/20458697
- 8:22 PM Changeset in webkit [184237] by
-
- 3 edits in branches/safari-601.1.32-branch/Source/WebCore
Merge r183927. rdar://problem/20854785
- 8:15 PM Changeset in webkit [184236] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merge r183911. rdar://problem/20702435
- 8:15 PM Changeset in webkit [184235] by
-
- 15 edits in branches/safari-601.1.32-branch/Source
Merge r183909. rdar://problem/18894598
- 8:08 PM Changeset in webkit [184234] by
-
- 2 edits in trunk/Source/WebCore
Mac build fix after r184228.
- bindings/scripts/CodeGeneratorJS.pm:
- 8:02 PM Changeset in webkit [184233] by
-
- 4 edits in branches/safari-601.1.32-branch
Merge r183942. rdar://problem/20049088
- 8:02 PM Changeset in webkit [184232] by
-
- 5 edits2 adds in branches/safari-601.1.32-branch
Merge r183894. rdar://problem/20049088
- 7:01 PM Changeset in webkit [184231] by
-
- 8 edits in trunk/Source
Turn antialiased font dilation off by default
https://bugs.webkit.org/show_bug.cgi?id=144940
rdar://problem/20923031
Reviewed by Sam Weinig.
Source/WebCore:
Turn antialised font dilation off by default.
- page/Settings.cpp:
(WebCore::Settings::Settings):
- platform/graphics/FontCascade.cpp:
Source/WebKit/mac:
Turn antialised font dilation off by default.
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Source/WebKit2:
Turn antialised font dilation off by default.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- 6:52 PM Changeset in webkit [184230] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the iteration count of arith-modulo-node-behaviors.js
- tests/stress/arith-modulo-node-behaviors.js:
No need for big numbers for the real testing.
- 6:47 PM Changeset in webkit [184229] by
-
- 2 edits in trunk/Source/JavaScriptCore
Windows: Cannot use HANDLE from GetCurrentThread() to get the CONTEXT of another thread.
https://bugs.webkit.org/show_bug.cgi?id=144924
Reviewed by Alex Christensen.
The present stack scanning code in the Windows port is expecting that the
GetCurrentThread() API will provide a unique HANDLE for each thread. The code
then saves and later uses that HANDLE with GetThreadContext() to get the
runtime state of the target thread from the GC thread. According to
https://msdn.microsoft.com/en-us/library/windows/desktop/ms683182(v=vs.85).aspx,
GetCurrentThread() does not provide this unique HANDLE that we expect:
"The function cannot be used by one thread to create a handle that can
be used by other threads to refer to the first thread. The handle is
always interpreted as referring to the thread that is using it. A
thread can create a "real" handle to itself that can be used by other
threads, or inherited by other processes, by specifying the pseudo
handle as the source handle in a call to the DuplicateHandle function."
As a result of this, GetCurrentThread() always returns the same HANDLE value, and
we end up never scanning the stacks of other threads because we wrongly think that
they are all equal (in identity) to the scanning thread. This, in turn, results
in crashes due to objects that are incorrectly collected.
The fix is to call DuplicateHandle() to create a HANDLE that we can use. The
MachineThreads::Thread class already accurately tracks the period of time when
we need that HANDLE for the VM. Hence, the life-cycle of the HANDLE can be tied
to the life-cycle of the MachineThreads::Thread object for the corresponding thread.
- heap/MachineStackMarker.cpp:
(JSC::getCurrentPlatformThread):
(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::Thread::~Thread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::Thread::resume):
(JSC::MachineThreads::Thread::getRegisters):
- 6:47 PM Changeset in webkit [184228] by
-
- 18 edits in trunk/Source/WebCore
Don't export all JS bindings classes.
https://bugs.webkit.org/show_bug.cgi?id=144932
Reviewed by Dan Bernstein.
This change is good if it compiles and links successfully.
- bindings/scripts/CodeGeneratorJS.pm:
(ExportLabelForClass):
Add a list of the JS bindings classes that need WEBCORE_EXPORT to prevent exporting too many symbols from WebCore.
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.h:
Update bindings tests to remove WEBCORE_EXPORT from most of the tests,
but keep one test with WEBCORE_EXPORT and one test with WEBCORE_TESTSUPPORT_EXPORT.
- 6:43 PM Changeset in webkit [184227] by
-
- 2 edits in trunk/LayoutTests
AX: [Win] REGRESSION(r184213) breaks aria-menubar-menuitems.html
https://bugs.webkit.org/show_bug.cgi?id=144936
Reviewed by Chris Fleizach.
Use focusedElement + childAtIndex rather than accessibleElementById
as the latter seems to be failing, and the former worked on Windows
to get the menubar in the original version of this test.
- accessibility/aria-menubar-menuitems.html: Modified.
- 5:57 PM Changeset in webkit [184226] by
-
- 2 edits in trunk/Source/WebCore
[Win] Update DXSDK_DIR settings for build system.
Unreviewed build fix.
- WebCore.vcxproj/WebCore.proj: Add DXSDK_DIR definition for builder.
- 5:30 PM Changeset in webkit [184225] by
-
- 25 edits in trunk/Source/WebCore
Return Ref instead of PassRefPtr in create() factory functions of WebCore/dom
https://bugs.webkit.org/show_bug.cgi?id=144904
Reviewed by Andreas Kling.
We return Ref when we're sure if pointer can't be null. If not, we use RefPtr instead PassRefPtr.
No new tests, no behavior changes.
- dom/AutocompleteErrorEvent.h:
- dom/DOMNamedFlowCollection.h:
(WebCore::DOMNamedFlowCollection::create):
- dom/MessageChannel.h:
(WebCore::MessageChannel::create):
- dom/MessagePort.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::create):
- dom/MutationObserver.h:
- dom/NamedFlowCollection.h:
- dom/NodeFilter.h:
(WebCore::NodeFilter::create):
- dom/NodeIterator.h:
(WebCore::NodeIterator::create):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::create):
- dom/ProcessingInstruction.h:
- dom/ScriptedAnimationController.h:
(WebCore::ScriptedAnimationController::create):
- dom/SecurityPolicyViolationEvent.h:
- dom/StaticNodeList.h:
- dom/TemplateContentDocumentFragment.h:
- dom/Touch.cpp:
(WebCore::Touch::cloneWithNewTarget):
- dom/Touch.h:
(WebCore::Touch::create):
- dom/TouchEvent.h:
- dom/TouchList.h:
(WebCore::TouchList::create):
- dom/TreeWalker.h:
(WebCore::TreeWalker::create):
- dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::create):
- dom/WebKitNamedFlow.h:
- dom/default/PlatformMessagePortChannel.cpp:
(WebCore::PlatformMessagePortChannel::create):
- dom/default/PlatformMessagePortChannel.h:
(WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
- 4:13 PM Changeset in webkit [184224] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: REGRESSION (r181625): Timeline recording started from console.profile is always empty
https://bugs.webkit.org/show_bug.cgi?id=144882
Reviewed by Brian Burg.
A timeline recording will always be stopped before the end of the current run loop is observed. Before
dispatching the recording stopped event, the last run loop record must be completed and sent to the frontend
to prevent it from being discarded.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStop):
- 3:06 PM Changeset in webkit [184223] by
-
- 7 edits in trunk/Source/WebKit2
Make {Network, Web}ProcessProxy inherit from ProcessThrottleClient privately
https://bugs.webkit.org/show_bug.cgi?id=144886
Reviewed by Darin Adler.
{Network, Web}ProcessProxy are implemented in terms of ProcessThrottleClient, an
interface that defines the callbacks that ProcessThrottler makes to a client. We
do not want to allow arbitrary callers to make use of the interface ProcessThrottleClient.
So, we should use private inheritance to represent the relationship between
{Network, Web}ProcessProxy and ProcessThrottleClient instead of public inheritance.
Additionally make ProcessThrottler a instance variable of {Network, Web}ProcessProxy instead
of holding a smart pointer to a ProcessThrottler instance because we always want to
have a ProcessThrottler for each instance of {Network, Web}ProcessProxy.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy): Update code to work now that m_throttler
is an instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
(WebKit::NetworkProcessProxy::didFinishLaunching): Update code to access functions of
m_throttler by reference instead of by pointer.
(WebKit::NetworkProcessProxy::didCancelProcessSuspension): Ditto.
(WebKit::NetworkProcessProxy::processReadyToSuspend): Ditto.
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles): Ditto.
- UIProcess/Network/NetworkProcessProxy.h: Inherit from ProcessThrottleClient privately.
(WebKit::NetworkProcessProxy::throttler): Update code to work now that m_throttler is an
instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::ProcessThrottler): Update code to work now that m_process is
a lvalue reference instead of a pointer.
(WebKit::ProcessThrottler::updateAssertion): Ditto.
(WebKit::ProcessThrottler::assertionWillExpireImminently): Ditto.
- UIProcess/ProcessThrottler.h: Ditto.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy): Update code to work now that m_throttler is an
instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
(WebKit::WebProcessProxy::didFinishLaunching): Update code to access functions of
m_throttler by reference instead of by pointer.
(WebKit::WebProcessProxy::processReadyToSuspend): Ditto.
(WebKit::WebProcessProxy::didCancelProcessSuspension): Ditto.
(WebKit::WebProcessProxy::setIsHoldingLockedFiles): Ditto.
- UIProcess/WebProcessProxy.h: Inherit from ProcessThrottleClient privately.
(WebKit::WebProcessProxy::throttler): Update code to work now that m_throttler is an
instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
- 2:50 PM Changeset in webkit [184222] by
-
- 2 edits in trunk/Tools
Fix the previous commit, which made both bubbles green.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
(.status-line.good .bubble):
(.status-line.bad .bubble):
(.status-line.good .message):
- 2:30 PM Changeset in webkit [184221] by
-
- 2 edits in trunk/Tools
People with Deuteranopia can't tell red and green apart on bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=144929
Reviewed by Eric Carlson.
Tweaked colors as I see fit.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
(.status-line.good .bubble):
(.status-line.bad .bubble):
- 2:28 PM Changeset in webkit [184220] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
[JSC] Make the NegZero backward propagated flags of ArithMod stricter
https://bugs.webkit.org/show_bug.cgi?id=144897
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-12
Reviewed by Geoffrey Garen.
The NegZero flags of ArithMod were the same as ArithDiv: both children were
marked as needing to handle NegativeZero.
Lucky for us, ArithMod is quite a bit different than ArithDiv.
First, the sign of the result is completely independent from
the sign of the divisor. A zero on the divisor always produces a NaN.
That's great, we can remove the NodeBytecodeNeedsNegZero
from the flags propagated to child2.
Second, the sign of the result is always the same as the sign of
the dividend. A dividend of zero produces a zero of same sign
unless the divisor is zero (in which case the result is NaN).
This is great too: we can just pass the flags we got into
ArithMod.
With those two out of the way, we can make a faster version of ArithRound
for Kraken's oscillator. Since we no longer care about negative zero,
rounding becomes cast<int32>(value + 0.5). This gives ~3% faster runtime
on the benchmark.
Unfortunatelly, most of the time is spent in FTL and the same optimization
does not apply well just yet: rdar://problem/20904149.
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
Never add NodeBytecodeNeedsNegZero unless needed by the users of this node.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithRound):
Faster Math.round() when negative zero is not important.
- tests/stress/arith-modulo-node-behaviors.js: Added.
(moduloWithNegativeZeroDividend):
(moduloWithUnusedNegativeZeroDividend):
(moduloWithNegativeZeroDivisor):
- 2:24 PM Changeset in webkit [184219] by
-
- 3 edits2 adds in trunk
REGRESSION(r175617): Some text doesn't render on internationalculinarycenter.com
https://bugs.webkit.org/show_bug.cgi?id=144917
rdar://problem/20545878
Reviewed by Andreas Kling.
This patch ensures that text stroke width value is taken into account while
calculating visual overflow for simple line layout.
Ceiling the text stroke width value matches the normal text layout behaviour.
Source/WebCore:
Test: fast/text/simple-line-layout-text-stroke-width.html
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::collectFlowOverflow):
LayoutTests:
- fast/text/simple-line-layout-text-stroke-width-expected.txt: Added.
- fast/text/simple-line-layout-text-stroke-width.html: Added.
- 2:20 PM Changeset in webkit [184218] by
-
- 2 edits in trunk/Source/JavaScriptCore
Refactor MachineStackMarker.cpp so that it's easier to reason about MachineThreads::Thread.
https://bugs.webkit.org/show_bug.cgi?id=144925
Reviewed by Michael Saboff.
Currently, the code in MachineStackMarker.cpp is written as a bunch of functions that
operate on the platformThread value in the MachineThreads::Thread struct. Instead, we
can apply better OO encapsulation and convert all these functions into methods of the
MachineThreads::Thread struct.
This will also make it easier to reason about the fix for
https://bugs.webkit.org/show_bug.cgi?id=144924 later.
- heap/MachineStackMarker.cpp:
(JSC::getCurrentPlatformThread):
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::Thread::operator!=):
(JSC::MachineThreads::Thread::operator==):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::Thread::resume):
(JSC::MachineThreads::Thread::getRegisters):
(JSC::MachineThreads::Thread::Registers::stackPointer):
(JSC::MachineThreads::Thread::freeRegisters):
(JSC::MachineThreads::Thread::captureStack):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::equalThread): Deleted.
(JSC::suspendThread): Deleted.
(JSC::resumeThread): Deleted.
(JSC::getPlatformThreadRegisters): Deleted.
(JSC::otherThreadStackPointer): Deleted.
(JSC::freePlatformThreadRegisters): Deleted.
(JSC::otherThreadStack): Deleted.
- 2:04 PM Changeset in webkit [184217] by
-
- 4 edits in trunk/Source/JavaScriptCore
Array.slice should have a fast path like Array.splice
https://bugs.webkit.org/show_bug.cgi?id=144901
Reviewed by Geoffrey Garen.
Add a fast memcpy path to Array.prototype.slice as done for Array.prototype.splice.
In Kraken, this appears to be 30% win on stanford-crypto-ccm and 10% win on stanford-crypto-pbkdf2.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSlice):
- runtime/JSArray.cpp:
(JSC::JSArray::fastSlice): Added.
- runtime/JSArray.h:
- 2:02 PM Changeset in webkit [184216] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- platform/spi/cf/CFNetworkSPI.h:
- 1:46 PM Changeset in webkit [184215] by
-
- 12 edits3 copies in trunk/Source/WebKit2
Production builds should link against the shims directly
https://bugs.webkit.org/show_bug.cgi?id=144922
rdar://problem/19708579
Reviewed by Dan Bernstein.
- Configurations/NetworkService.xcconfig:
Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
Link directly against SecItemShim.dylib where possible.
- Configurations/PluginProcessShim.xcconfig:
Set the install name and install path.
- Configurations/PluginService.32.xcconfig:
Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
Link directly against PluginProcessShim.dylib where possible.
- Configurations/PluginService.64.xcconfig:
Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
Link directly against PluginProcessShim.dylib where possible.
- Configurations/SecItemShim.xcconfig:
Set the install name and install path.
- Configurations/WebContentService.xcconfig:
Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
Link directly against WebProcessShim.dylib where possible.
- Configurations/WebProcessShim.xcconfig:
Set the install name and install path.
- NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist.
- NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
Add an Info.plist for 10.9 and 10.10 and remove DYLD_INSERT_LIBRARIES from the non-legacy plist.
- PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Copied from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist.
- PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
Add an Info.plist for 10.9 and 10.10 and remove DYLD_INSERT_LIBRARIES from the non-legacy plist.
- WebKit2.xcodeproj/project.pbxproj:
Add new files.
- WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist.
- WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
Add an Info.plist for 10.9 and 10.10 and remove DYLD_INSERT_LIBRARIES from the non-legacy plist.
- 12:49 PM Changeset in webkit [184214] by
-
- 2 edits in trunk/Source/WebCore
ROLLOUT [Win] Unreviewed build fix for older DirectX build environments.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
- 12:44 PM Changeset in webkit [184213] by
-
- 9 edits2 adds2 deletes in trunk
AX: [ATK] ARIA menu items should not have anonymous block children
https://bugs.webkit.org/show_bug.cgi?id=144653
Reviewed by Chris Fleizach.
Source/WebCore:
Exclude anonymous block children of menu items from the accessible tree
for ATK. Exclude list markers from the accessibility tree if the parent
is not being exposed as an accessible list item.
No new tests. Instead, modified the existing tests to reflect the correct
behavior.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
LayoutTests:
The existing test was not cross-platform friendly and was rewritten as
part of the fix for this bug. New expectations were generated for Mac,
Efl, and Gtk. The shared expectations and the Windows expectations were
removed so as not to break the Win port. The search-predicate test also
was updated because it included an ARIA treeitem which had a listmarker
child it should not have, and no longer has as a result of the bug fix.
- accessibility/aria-menubar-menuitems-expected.txt: Removed. Platform hierarchies vary vastly.
- accessibility/aria-menubar-menuitems.html: Rewritten to work better as a shared test.
- platform/efl/accessibility/aria-menubar-menuitems-expected.txt: Added.
- platform/gtk/accessibility/aria-menubar-menuitems-expected.txt: Added.
- platform/mac/accessibility/aria-menubar-menuitems-expected.txt: Modified as result of rewrite.
- platform/mac/accessibility/search-predicate.html: Modified to reflect correct treeitem children.
- platform/mac/accessibility/search-predicate-expected.txt: Modified to reflect correct treeitem children.
- platform/win/accessibility/aria-menubar-menuitems-expected.txt: Removed. New file should be generated.
- resources/accessibility-helper.js: Added an argument so dumpAccessibilityTree can print title rather than value.
(dumpAccessibilityTree):
- 12:42 PM Changeset in webkit [184212] by
-
- 3 edits in trunk/Source/WebKit2
Undo a mistaken part of r184211.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::cookieStorageDirectory):
- UIProcess/WebProcessPool.h:
cookieStorageDirectory() is used on iOS, so bring it back.
- 12:37 PM Changeset in webkit [184211] by
-
- 19 edits in trunk
[Mac] Share cookie storage between UI process and secondary processes
https://bugs.webkit.org/show_bug.cgi?id=144820
rdar://problem/20572830
Reviewed by Darin Adler.
Source/WebCore:
- platform/network/mac/CookieJarMac.mm:
- platform/spi/cf/CFNetworkSPI.h:
Moved SPIs into an SPI header, so that WebKit2 could use them too without duplication.
Source/WebKit2:
Pass a cookie storage descriptor that includes file path as well as other data that
CFNetwork needs to use the same cookies storage as in another process (session cookies
are still separate).
While at it, started to clean up code that passes cookie storage path. It was mostly
dead and unimplemented, only used in child processes when USE(SECCOMP_FILTERS) was enabled.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
- Shared/Network/NetworkProcessCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::cookieStorageDirectory):
- UIProcess/WebProcessPool.h:
- UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
- WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize):
Don't set cookie storage directory, as it's a no-op, we use an ephemeral session
for testing.
- 12:29 PM Changeset in webkit [184210] by
-
- 5 edits in trunk/Source
[WK2] Log using diagnostic logging how far back in history we navigate
https://bugs.webkit.org/show_bug.cgi?id=144919
<rdar://problem/20920043>
Reviewed by Gavin Barraclough.
Source/WebCore:
Add diagnostic logging keys for logging back history navigation delta.
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::deltaKey):
(WebCore::DiagnosticLoggingKeys::backNavigationKey):
- page/DiagnosticLoggingKeys.h:
Source/WebKit2:
Log using diagnostic logging how far back in history we navigate.
When a back navigation or a backward indexed navigation occurs, we
log the delta: (HistoryListSize - 1) - NewHistoryItemIndex.
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::goToItem):
- 12:23 PM Changeset in webkit [184209] by
-
- 9 edits in trunk/Tools
Fix internal build configuration issues
https://bugs.webkit.org/show_bug.cgi?id=144762
Reviewed by David Kilzer.
Modifies DumpRenderTree's xcconfig files to use SDK selectors.
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
- DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
- DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig:
- DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
- DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
- DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig:
- 11:40 AM Changeset in webkit [184208] by
-
- 4 edits in trunk/Source/WebCore
Avoid CSSPrimitiveValue allocation when parsing sizes
https://bugs.webkit.org/show_bug.cgi?id=144910
Reviewed by Darin Adler.
Turn non-calc length calculation logic into a static method,
so that it can be called without a CSSPrimitiveValue object.
Then, call that method to calculate the default source-size length.
No new tests, since no functionality change.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthDouble): Split out the logic for everything that's not calc into a static method.
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble): Static length computation logic for everything that is not calc.
- css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isFontRelativeLength): Turn into static.
- css/SourceSizeList.cpp:
(WebCore::defaultLength): Use the new static method to compute the length.
(WebCore::computeLength): Use the calc length computation methods directly.
- 11:07 AM Changeset in webkit [184207] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix for older DirectX build environments.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Switch back to our
d3d stub header to avoid build failures on July 2004 DXSDK build environments.
- 11:01 AM Changeset in webkit [184206] by
-
- 5 edits2 adds in trunk/Source/JavaScriptCore
OSR availability analysis would be more scalable (and correct) if it did more liveness pruning
https://bugs.webkit.org/show_bug.cgi?id=143078
Reviewed by Andreas Kling.
In https://bugs.webkit.org/show_bug.cgi?id=144883, we found an example of where liveness
pruning is actually necessary. Well, not quite: we just need to prune out keys from the
heap availability map where the base node doesn't dominate the point where we are asking
for availability. If we don't do this, then eventually the IR gets corrupt because we'll
insert PutHints that reference the base node in places where the base node doesn't
dominate. But if we're going to do any pruning, then it makes sense to prune by bytecode
liveness. This is the strongest possible pruning we can do, and it should be sound. We
shouldn't have a node available for a virtual register if that register is live and the
node doesn't dominate.
Making this work meant reusing the prune-to-liveness algorithm from the FTL backend. So, I
abstracted this a bit better. You can now availabilityMap.pruneByLiveness(graph, origin).
- dfg/DFGAvailabilityMap.cpp:
(JSC::DFG::AvailabilityMap::pruneHeap):
(JSC::DFG::AvailabilityMap::pruneByLiveness):
(JSC::DFG::AvailabilityMap::prune): Deleted.
- dfg/DFGAvailabilityMap.h:
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
- tests/stress/liveness-pruning-needed-for-osr-availability.js: Added. This is a proper regression test.
- tests/stress/liveness-pruning-needed-for-osr-availability-eager.js: Added. This is the original reduced test case, requires eager-no-cjit to fail prior to this changeset.
- 10:30 AM Changeset in webkit [184205] by
-
- 2 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
- platform/mac-wk2/TestExpectations: Marking as flaky for now.
- 9:41 AM Changeset in webkit [184204] by
-
- 7 edits in trunk/Source/WebCore
[Mac] Refine media playback target client configuration
https://bugs.webkit.org/show_bug.cgi?id=144892
Reviewed by Brent Fulgham.
Client and target picker state changes fequently happen several times in quick succession, so
don't react to immediately so we can batch callbacks to the web process.
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::ClientState::ClientState): Store the client as a reference rather than a pointer
because it can never be NULL.
(WebCore::ClientState::operator == ): New.
(WebCore::WebMediaSessionManager::addPlaybackTargetPickerClient): Schedule the initial client
configuration and a target configuration check.
(WebCore::WebMediaSessionManager::removePlaybackTargetPickerClient): Schedule a target monitoring
update, and a target configuration check.
(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients): Ditto.
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Schedule a target monitoring update.
(WebCore::WebMediaSessionManager::clientStateDidChange): If the client whose state has changed
can play to a target, tell it to start using the target even if it isn't playing as long as
no other client is actively using a target.
(WebCore::WebMediaSessionManager::setPlaybackTarget): Configure clients after a pause.
(WebCore::WebMediaSessionManager::configureNewClients): New, do new client configuration.
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): New, configure target clients.
(WebCore::WebMediaSessionManager::scheduleDelayedTask): Schedule the timer.
(WebCore::WebMediaSessionManager::taskTimerFired): Execute delayed tasks.
(WebCore::WebMediaSessionManager::find):
- Modules/mediasession/WebMediaSessionManager.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setMuted): Call updateMediaState.
(WebCore::HTMLMediaElement::setPlaying): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Ditto.
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Expand logging.
(WebCore::HTMLMediaElement::updateMediaState): New, don't broadcast a media state change
unless something actually changed.
- html/HTMLMediaElement.h:
- html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::externalOutputDeviceAvailableDidChange): Update logging.
(WebCore::HTMLMediaSession::setShouldPlayToPlaybackTarget): Ditto.
(WebCore::HTMLMediaSession::mediaEngineUpdated): Cleanup.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Remove the call to
deprecated API and the "-Wdeprecated-declarations".
- 9:25 AM Changeset in webkit [184203] by
-
- 6 edits in trunk/Source/WebKit2
ChildProcess should take an os_activity
https://bugs.webkit.org/show_bug.cgi?id=141781
Reviewed by Ryosuke Niwa.
- DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
(DatabaseServiceInitializer):
- NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
- PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(PluginServiceInitializer):
- WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
Start an os_activity in the initializer for each XPC service.
- config.h:
Add HAVE_OS_ACTIVITY where available.
- 7:31 AM Changeset in webkit [184202] by
-
- 3 edits in trunk/Tools
Switch to launching iOS Simulator using bundle ID
<rdar://problem/20916096>
This is required to fix the layout tests on internal bots.
- Scripts/webkitdirs.pm:
(relaunchIOSSimulator): Switch to use bundle ID to launch iOS
Simulator. Add FIXME.
(quitIOSSimulator): Add FIXME.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.setup_test_run): Switch to use bundle ID to
launch iOS Simulator. Add FIXME.
(IOSSimulatorPort.check_sys_deps): Add FIXME.
- 7:22 AM Changeset in webkit [184201] by
-
- 2 edits in trunk/Tools
Fix run-javascriptcore-tests step on the WinCairo bot
https://bugs.webkit.org/show_bug.cgi?id=144866
Reviewed by Csaba Osztrogonác.
Catch exception when failing to create soft link, so we can fall back to copy.
- Scripts/run-jsc-stress-tests:
- 6:28 AM Changeset in webkit [184200] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ debug build after r184197.
- UIProcess/gtk/RedirectedXCompositeWindow.cpp: Add missing include.
- 5:01 AM Changeset in webkit [184199] by
-
- 10 edits in trunk
AX: [GTK] Defer to WebCore Accessibility for table exposure
https://bugs.webkit.org/show_bug.cgi?id=144896
Reviewed by Chris Fleizach.
Source/WebCore:
Stop unconditionally exposing all HTMLTableElement nodes as AccessibilityTables
for WebKitGtk.
No new tests. Several existing tests already cover table exposure. They have
been updated accordingly.
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
LayoutTests:
Several platform tests are testing accessibility of tables. In order to ensure
that those tables continue to be exposed as tables, a border was added so that
they are not judged to be layout tables. For the remainder of the tests, the
expectations were updated to reflect the fact that layout tables are no longer
exposed as AccessibilityTables in WebKitGtk.
- platform/gtk/accessibility/caret-offsets.html: Added border to table.
- platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
- platform/gtk/accessibility/table-hierarchy-expected.txt: Updated to reflect new behavior.
- platform/gtk/accessibility/table-one-cell-expected.txt: Updated to reflect new behavior.
- platform/gtk/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
- platform/gtk/accessibility/text-for-range-table-cells.html: Added border to table.
- platform/gtk/accessibility/text-for-table.html: Added border to table.
- 4:59 AM Changeset in webkit [184198] by
-
- 6 edits in trunk
[GTK][WK2] rowAtIndex is not implemented in DRT/WKTR
https://bugs.webkit.org/show_bug.cgi?id=116971
Reviewed by Chris Fleizach.
Source/WebCore:
Because ATK lacks API to directly get an accessible row via its index,
the implementation of rowAtIndex gets a cell in the indexed row and
returns the parent row. The failing test continued to fail because
AccessibilityARIAGridCell::parentTable called parentObjectUnignored at
most twice, the second call in place to handle rows which are included
in the tree. However, given a well-formed ARIA grid with a rowgroup that
is interactive, that rowgroup also needs to be in the tree necessitating
parentObjectUnignored be called a third time to get to the grid. Given a
poorly-formed ARIA grid, there may additional objects which pass the test
for inclusion standing in between the cell and grid necessitating more
calls still. Therefore, ascend the hierarchy to find the parent grid.
No new tests. The failing test now passes.
- accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::parentTable):
Tools:
Implement rowAtIndex for ATK.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::rowAtIndex):
LayoutTests:
- platform/gtk/TestExpectations: Removed previously-failing test.
- 4:11 AM Changeset in webkit [184197] by
-
- 21 edits3 adds in trunk/Source
[X11] Add XUniquePtr and XUniqueResource to automatically free X resources
https://bugs.webkit.org/show_bug.cgi?id=144521
Reviewed by Darin Adler.
Source/WebCore:
Add XUniquePtr as a template alias of std:unique_ptr to handle X
resources using pointers and XUniqueResource as a new class to
handle X resources using a long unsigned identifier. This
simplifies the code and makes it more difficult to leak X resources.
- PlatformEfl.cmake: Add new files to compilation.
- PlatformGTK.cmake: Ditto.
- platform/graphics/cairo/BackingStoreBackendCairoX11.cpp:
(WebCore::BackingStoreBackendCairoX11::BackingStoreBackendCairoX11):
Remove the display member, and use XUnique for Pixmap and GC.
(WebCore::BackingStoreBackendCairoX11::~BackingStoreBackendCairoX11):
Remove code to explicitly free Pixmap and GC.
(WebCore::BackingStoreBackendCairoX11::scroll):
- platform/graphics/cairo/BackingStoreBackendCairoX11.h:
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::createWindowContext): Use XUnique and the
new constructor that receives a XID, since there's no longer
conflict with the one receiving a Pbuffer.
(WebCore::GLContextGLX::createPbufferContext): Use XUnique and the
new constructor that receives a XUniqueGLXPbuffer&&.
(WebCore::GLContextGLX::createPixmapContext):
(WebCore::GLContextGLX::createContext):
(WebCore::GLContextGLX::GLContextGLX):
(WebCore::GLContextGLX::~GLContextGLX): Remove code to explicitly
free X resources.
(WebCore::GLContextGLX::makeContextCurrent):
(WebCore::GLContextGLX::cairoDevice):
(WebCore::GLContextGLX::platformContext):
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/surfaces/egl/EGLXSurface.cpp:
(WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
(WebCore::EGLXTransportSurfaceClient::destroy):
(WebCore::EGLXTransportSurfaceClient::prepareTexture):
- platform/graphics/surfaces/egl/EGLXSurface.h:
- platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::findMatchingConfig): Use XUnique
instead of the custom std::unique X11Deleter.
(WebCore::GLXConfigSelector::findMatchingConfigWithVisualId): Ditto.
- platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface): Ditto.
(WebCore::GLXOffScreenSurface::initialize):
- platform/graphics/surfaces/glx/X11Helper.cpp:
(WebCore::X11Helper::createOffScreenWindow): Ditto.
(WebCore::X11Helper::createPixmap): Ditto.
- platform/graphics/surfaces/glx/X11Helper.h:
- platform/graphics/x11/XUniquePtr.h: Remove X11Deleter.
(WebCore::XPtrDeleter::operator()):
- platform/graphics/x11/XUniqueResource.cpp: Added.
(WebCore::XUniqueResource<XResource::Colormap>::deleteXResource):
(WebCore::XUniqueResource<XResource::Damage>::deleteXResource):
(WebCore::XUniqueResource<XResource::Pixmap>::deleteXResource):
(WebCore::XUniqueResource<XResource::Window>::deleteXResource):
(WebCore::XUniqueResource<XResource::GLXPbuffer>::deleteXResource):
(WebCore::XUniqueResource<XResource::GLXPixmap>::deleteXResource):
- platform/graphics/x11/XUniqueResource.h: Added.
(WebCore::XUniqueResource::XUniqueResource):
(WebCore::XUniqueResource::operator=):
(WebCore::XUniqueResource::~XUniqueResource):
(WebCore::XUniqueResource::get):
(WebCore::XUniqueResource::release):
(WebCore::XUniqueResource::reset):
(WebCore::XUniqueResource::operator!):
(WebCore::XUniqueResource::operator UnspecifiedBoolType*):
Source/WebKit2:
Use XUniquePtr and XUniqueResource to free X resources.
- PlatformEfl.cmake: Add Source/WebCore/platform/graphics/x11 dir
to the include dir list.
- PlatformGTK.cmake: Ditto.
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend): Do not pass the display to
the BackingStoreBackendCairoX11 constructor.
- UIProcess/gtk/RedirectedXCompositeWindow.cpp:
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::resize):
(WebKit::RedirectedXCompositeWindow::cleanupPixmapAndPixmapSurface):
(WebKit::RedirectedXCompositeWindow::surface):
- UIProcess/gtk/RedirectedXCompositeWindow.h:
(WebKit::RedirectedXCompositeWindow::windowID):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::platformPostInitializeWindowless):
(WebKit::NetscapePlugin::platformDestroy):
(WebKit::NetscapePlugin::platformGeometryDidChange):
(WebKit::NetscapePlugin::platformPaint):
- 3:17 AM Changeset in webkit [184196] by
-
- 1 copy in releases/WebKitGTK/webkit-2.8.2
WebKitGTK+ 2.8.2
- 3:17 AM Changeset in webkit [184195] by
-
- 4 edits in releases/WebKitGTK/webkit-2.8
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.8.2 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.8.2.
- 3:16 AM Changeset in webkit [184194] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Unreviewed. Fix the build with RESOURCE_TIMING disabled.
- loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::isolatedCopy):
- 2:53 AM Changeset in webkit [184193] by
-
- 18 edits in trunk/Source/WebCore
Move TransformOperation-based classes off of PassRefPtr
https://bugs.webkit.org/show_bug.cgi?id=144876
Reviewed by Darin Adler.
Remove uses of PassRefPtr from the TransformOperation class and its
derivatives, operating on Ref and RefPtr objects instead.
- platform/graphics/transforms/IdentityTransformOperation.h:
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::blend):
- platform/graphics/transforms/Matrix3DTransformOperation.h:
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::MatrixTransformOperation::blend):
- platform/graphics/transforms/MatrixTransformOperation.h:
- platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::PerspectiveTransformOperation::blend):
- platform/graphics/transforms/PerspectiveTransformOperation.h:
- platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend):
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.cpp:
(WebCore::ScaleTransformOperation::blend):
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/SkewTransformOperation.cpp:
(WebCore::SkewTransformOperation::blend):
- platform/graphics/transforms/SkewTransformOperation.h:
- platform/graphics/transforms/TransformOperation.h:
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::blendByMatchingOperations):
- platform/graphics/transforms/TranslateTransformOperation.cpp:
(WebCore::TranslateTransformOperation::blend):
- platform/graphics/transforms/TranslateTransformOperation.h:
- 2:36 AM Changeset in webkit [184192] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore
Merge r184170 - Workaround for Cortex-A53 erratum 843419
https://bugs.webkit.org/show_bug.cgi?id=144680
Reviewed by Michael Saboff.
This patch is about to give simple workaround for Cortex-A53 erratum 843419.
It inserts nops after ADRP instruction to avoid wrong address accesses.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::adrp):
(JSC::ARM64Assembler::nopCortexA53Fix843419):
- 2:35 AM Changeset in webkit [184191] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184154 - Clean up redundant resources in case of failure in GLContextEGL context creation methods
https://bugs.webkit.org/show_bug.cgi?id=144878
Reviewed by Martin Robinson.
GLContextEGL::createWindowContext() and GLContextEGL::createPixmapContext() methods
should clean up the freshly-created resources when prematurely returning due to a
failure.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPixmapContext):
- 2:25 AM Changeset in webkit [184190] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184104 - WebContent crash under com.apple.WebCore: WebCore::WebKitCSSResourceValue::isCSSValueNone const + 6
https://bugs.webkit.org/show_bug.cgi?id=144870
rdar://problem/20727702
Reviewed by Simon Fraser.
No repro but we are seeing null pointer crashes like this:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.WebCore 0x00007fff92da5706 WebCore::WebKitCSSResourceValue::isCSSValueNone() const + 6
1 com.apple.WebCore 0x00007fff93382b48 WebCore::MaskImageOperation::isCSSValueNone() const + 24
2 com.apple.WebCore 0x00007fff92e0475e WebCore::FillLayer::hasNonEmptyMaskImage() const + 30
- platform/graphics/MaskImageOperation.cpp:
(WebCore::MaskImageOperation::MaskImageOperation):
(WebCore::MaskImageOperation::isCSSValueNone):
This would crash like this if both m_styleImage and m_cssMaskImageValue are null.
There are no obvious guarantees that this doesn't happen. Two of the constructor variants allow it
and there is setImage which may turn m_styleImage null later too.
Fix by making null m_cssMaskImageValue always signify CSSValueNone.
(WebCore::MaskImageOperation::cssValue):
- 2:24 AM Changeset in webkit [184189] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r184097 - AX: Crash at WebCore::AccessibilityMenuList::addChildren()
https://bugs.webkit.org/show_bug.cgi?id=144860
Reviewed by Mario Sanchez Prada.
Source/WebCore:
There were some unsafe pointer accesses in AccessibilityMenuList code that needed to be cleaned up.
Test: accessibility/menu-list-crash2.html
- accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::addChildren):
LayoutTests:
- accessibility/menu-list-crash2-expected.txt: Added.
- accessibility/menu-list-crash2.html: Added.
- 2:23 AM Changeset in webkit [184188] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source
Merge r184072 - [GTK] WorkQueue objects are not released
https://bugs.webkit.org/show_bug.cgi?id=144824
Reviewed by Žan Doberšek.
Do not keep a reference of the WorkQueue for the entire life of
its worker thread, since every task scheduled on the WorkQueue
already takes a reference. Instead, take a reference of the main
loop to make sure that when the worker thread starts, the main
loop hasn't been released to avoid runtime warnings (see
webkit.org/b/140998). Also removed the g_main_context_pop_thread_default()
from the thread body, since the thread-specific context queue will
be freed anyway when the thread exits.
If the WorkQueue is released early, before the thread has started,
schedule a main loop quit in the context, to make sure it will
be the first thing run by the main loop and the thread will exit.
- wtf/WorkQueue.h: Remove unused event loop mutex.
- wtf/gtk/WorkQueueGtk.cpp:
(WTF::WorkQueue::platformInitialize):
(WTF::WorkQueue::platformInvalidate):
- 2:17 AM Changeset in webkit [184187] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184070 - Reduce TransformationMatrix copies in WebKitCSSMatrix operations
https://bugs.webkit.org/show_bug.cgi?id=144795
Reviewed by Darin Adler.
Instead of copying the TransformationMatrix member, performing
the operation on it and then copying it again when creating
the new WebKitCSSMatrix object, copy it just once by first
creating the new WebKitCSSMatrix object and then performing
the operation on that object's TransformationMatrix directly.
- css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::multiply):
(WebCore::WebKitCSSMatrix::translate):
(WebCore::WebKitCSSMatrix::scale):
(WebCore::WebKitCSSMatrix::rotate):
(WebCore::WebKitCSSMatrix::rotateAxisAngle):
(WebCore::WebKitCSSMatrix::skewX):
(WebCore::WebKitCSSMatrix::skewY):
- 2:17 AM Changeset in webkit [184186] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r184005 - Crashes in SocketStreamHandleBase::close
https://bugs.webkit.org/show_bug.cgi?id=144767
rdar://problem/20486538
Reviewed by Brady Eidson.
This is a speculative fix, I could not reproduce the crash.
- Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::processFrame):
Normally, processOutgoingFrameQueue() closes the handle in the end when called in
OutgoingFrameQueueClosing state. But there is no definitive protection against
processing two CLOSE frames, in which case we'd try to close the handle twice.
- platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::readStreamCallback): Passing empty data to the client
results in the socket being closed, which makes no sense here.
- 2:16 AM Changeset in webkit [184185] by
-
- 6 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc
Merge r183959 - Release assert in com.apple.WebKit.WebContent under JavaScriptCore: JSC::JSONProtoFuncStringify
https://bugs.webkit.org/show_bug.cgi?id=144758
Reviewed by Andreas Kling.
This was an out-of-memory error when trying to shrink a string builder.
bmalloc was missing the optimization that allowed realloc() to shrink
without copying. So, let's add it.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate): Added Large and XLarge cases for
shrinking without copying. This isn't possible for small and medium
objects, and probably not very profitable, either.
- bmalloc/Heap.cpp:
(bmalloc::Heap::findXLarge):
(bmalloc::Heap::deallocateXLarge):
- bmalloc/Heap.h: Refactored this code to return a reference to an
XLarge range. This makes the code reusable, and also makes it easier
for realloc() to update metadata.
- bmalloc/LargeObject.h:
(bmalloc::LargeObject::split): Allow allocated objects to split because
that's what realloc() wants to do, and there's nothing intrinsically
wrong with it.
- 2:02 AM Changeset in webkit [184184] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r183950 - REGRESSION (r164449): Subpixel rendering: http://www.apple.com/iphone-6/ "Faster wireless." image displays vertical black line on 1x displays at specific window width.
https://bugs.webkit.org/show_bug.cgi?id=144723
rdar://problem/18307094
Reviewed by Simon Fraser.
This patch ensures that the backing store's graphics layer is always positioned on a device pixel boundary.
While calculating the backing store's graphics layer location, its ancestor layer's compositing bounds is taken into account.
However the compositing bounds is an unsnapped value, so in order to place the graphics layer properly,
we need to pixel align the ancestor compositing bounds before using it to adjust the child's graphics layer position.
Source/WebCore:
Test: compositing/ancestor-compositing-layer-is-on-subpixel-position.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
LayoutTests:
- compositing/ancestor-compositing-layer-is-on-subpixel-position-expected.html: Added.
- compositing/ancestor-compositing-layer-is-on-subpixel-position.html: Added.
- platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt: progression.
- 2:01 AM Changeset in webkit [184183] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r183948 - Fix sizes crash and add invalid value tests.
https://bugs.webkit.org/show_bug.cgi?id=144739
Reviewed by Darin Adler.
Source/WebCore:
Make sure that only CSS length are allowed when the sizes parser is calling computeLength.
Also make sure that for invalid lengths, the 100vw default is used instead.
Test: fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html
- css/SourceSizeList.cpp:
(WebCore::computeLength):
(WebCore::defaultLength):
(WebCore::parseSizesAttribute):
LayoutTests:
Add tests that make sure that invalid values are properly handled, and a 100vw
source-size length is being used for srcset and for intrinsic dimension calculation.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html: Added.
- 2:00 AM Changeset in webkit [184182] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
Merge r183941 - Add PLUGIN_ARCHITECTURE(X11) around m_frameRectInWindowCoordinates in NetscapePlugin.
https://bugs.webkit.org/show_bug.cgi?id=144490
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-07
Reviewed by Darin Adler.
m_frameRectInWindowCoordinates in NetscapePlugin is currently being used only for
the windowed plugins, and the windowed plugins are only supported on X11. So we can
guard it with PLUGIN_ARCHITECTURE(X11).
No new tests, no behavior change.
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::geometryDidChange):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- 1:57 AM Changeset in webkit [184181] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.8
Merge r183933 - Fix a couple of cases where the backForwardListState's currentIndex is not set correctly in WebBackForwardList::backForwardListState().
https://bugs.webkit.org/show_bug.cgi?id=144666
Reviewed by Darin Adler.
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardListState):
If the first item is filtered out and the currentIndex is 0, don't decrement currentIndex.
If all the items are filtered out, set currentIndex to the uninitialized value.
Tools:
Add a test for WKPageCopySessionState() with filtering.
https://bugs.webkit.org/show_bug.cgi?id=144666
Reviewed by Darin Adler.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::filterFirstItemCallback):
(TestWebKitAPI::filterAllItemsCallback):
(TestWebKitAPI::createSessionStates):
(TestWebKitAPI::TEST):
- 1:56 AM Changeset in webkit [184180] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WTF
Merge r183921 - [GTK] Clean up RunLoop implementation
https://bugs.webkit.org/show_bug.cgi?id=144729
Reviewed by Carlos Garcia Campos.
Clean up the RunLoop implementation for the GTK port,
removing unnecessary methods and using simpler variable names.
Nested GMainLoops in RunLoop::run() are now created for the
RunLoop's GMainContext, and not for the default context (enforced
through the null argument to g_main_loop_new()).
- wtf/RunLoop.h:
- wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::run):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::innermostLoop): Deleted.
(WTF::RunLoop::pushNestedMainLoop): Deleted.
(WTF::RunLoop::popNestedMainLoop): Deleted.
- 1:53 AM Changeset in webkit [184179] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183891 - Avoid copies in scrollOffsetForFixedPosition() and inline it.
https://bugs.webkit.org/show_bug.cgi?id=144709
Reviewed by Simon Fraser.
- page/FrameView.cpp:
(WebCore::FrameView::frameScaleFactor):
Added so that scrollOffsetForFixedPosition() can be inlined without having to
reference Frame's implementation.
(WebCore::FrameView::scrollOffsetForFixedPosition): Deleted.
Moved this to the header.
- page/FrameView.h:
Inline scrollOffsetForFixedPosition() and get rid of all the copying
it was doing.
- 1:48 AM Changeset in webkit [184178] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183887 - RenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
https://bugs.webkit.org/show_bug.cgi?id=144708
Reviewed by Simon Fraser.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform):
Only compute a pixel snapped rect if we actually end up needing it. The common case
is that this rect is not needed, so pushing it inside the two if statements
speeds up the common case.
- 1:47 AM Changeset in webkit [184177] by
-
- 10 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183885 - Optimize topLeftLocationOffset() addition in updateLayerPosition
https://bugs.webkit.org/show_bug.cgi?id=144704
Reviewed by Dean Jackson.
- page/FrameView.cpp:
(WebCore::FrameView::FrameView):
- page/FrameView.h:
Move the hasFlippedBlocks bit to FrameView instead of RenderView. Works better for inlining
the check in any renderer header, and it also makes more sense conceptually, since the RenderView
itself could be a flipped block.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
Change over to the FrameView bit.
- rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset):
Add a new inlined function that can apply the top left location offset to a point without
multiple LayoutSize creations and copies. It invokes a helper for flipping that is not
inlined only in the case where actual flipped blocks exist in the render tree.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
Set the bit on the FrameView now instead of the RenderView.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
Call the new applyTopLeftLocationOffset function so that the point can have offsets added
in without any extra copies.
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
Switch over to the bit on the FrameView.
- rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
- rendering/RenderView.h:
Get rid of the bit on the RenderView.
- 1:38 AM Changeset in webkit [184176] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183879 - Optimize relativePositionOffset() to avoid doing unnecessary work
https://bugs.webkit.org/show_bug.cgi?id=144698
Reviewed by Simon Fraser.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffset):
Patch relativePositionOffset to avoid doing unnecessary work in the common case where
all values of top/left/right/bottom are either auto or fixed. We no longer fetch
containingBlock() into a local always, but instead just invoke the function only
when necessary.
Also avoid computing the percentage-relative maximum for the top/right/bottom/left lengths
when they are fixed values, since that maximum won't be examined at all.
- 1:37 AM Changeset in webkit [184175] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
Merge r183861 - NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
https://bugs.webkit.org/show_bug.cgi?id=144641
rdar://problem/20250960
Reviewed by David Kilzer.
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
Clear the client pointer.
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
Updated comments, which were not accurate, at least on Mac.
- 1:35 AM Changeset in webkit [184174] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183855 - EventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initialized
https://bugs.webkit.org/show_bug.cgi?id=144583
Reviewed by Daniel Bates.
- page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): The
m_eventHandlerWillResetCapturingMouseEventsElement is a boolean,
so initialize it to false, instead of to nullptr.
- 1:34 AM Changeset in webkit [184173] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source
Merge r183800 - [GTK] Async operations running in the WorkQueue thread should schedule their sources to the WorkQueue main lopp
https://bugs.webkit.org/show_bug.cgi?id=144541
Reviewed by Žan Doberšek.
Source/WTF:
They are currently sent to the main thread run loop, because we
are not setting the WorkQueue main context as the default one in
the worker thread.
- wtf/gtk/WorkQueueGtk.cpp:
(WTF::WorkQueue::platformInitialize): Call
g_main_context_push_thread_default() to set the WorkQueue main
context as the default of the thread before running the main loop,
and g_main_context_pop_thread_default() when the main loop quits.
- 1:29 AM Changeset in webkit [184172] by
-
- 7 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183788 - RenderWidget::setWidgetGeometry() can end up destroying *this*.
https://bugs.webkit.org/show_bug.cgi?id=144601
Reviewed by Andreas Kling.
This is a speculative fix to ensure we don't crash on an invalid *this* renderer
while flattening the current iframe.
Calling RenderWidget::setWidgetGeometry() can result in destroying the current renderer.
While it is not a issue in case of normal layout flow as widget positions are updated at post layout,
frame flattening initiates this action in the middle of layout.
This patch re-introduces refcount model for RenderWidgets so that the renderer is protected during layout
when frame flattening is in use.
- rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening): Let's be paranoid about child view.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
- rendering/FrameView.cpp:
(WebCore::FrameView::layout):
- rendering/RenderView.h:
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::~RenderWidget):
- rendering/RenderWidget.h:
(WebCore::RenderWidget::ref):
(WebCore::RenderWidget::deref):
- 1:15 AM Changeset in webkit [184171] by
-
- 6 edits3 adds in releases/WebKitGTK/webkit-2.8
Merge r183781 - Crash at com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createWindow + 185
https://bugs.webkit.org/show_bug.cgi?id=144597
<rdar://problem/20361579>
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/dom/Window/window-open-activeWindow-null-frame.html
In our implementation of window.open(), we make sure that the window
which window.open() is called has a frame. However, we did not have the
same check for the activeDOMWindow (i.e. the lexicalGlobalObject) causing
us to crash in WebCore::createWindow() when dereferencing it.
This patch updates WebCore::createWindow() takes a reference to the
openerFrame instead of a pointer to make it clear the implementation
expects it to be non-null. A null check is then added for the frame
at the call site: DOMWindow::createWindow().
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
- loader/FrameLoader.cpp:
(WebCore::isDocumentSandboxed):
(WebCore::FrameLoader::submitForm):
(WebCore::createWindow):
Take a reference to openerFrame instead of a pointer as the
implementation expects it to be non-null.
- loader/FrameLoader.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
Add null check for activeFrame before passing it to
WebCore::createWindow().
LayoutTests:
Add a layout test to cover the case where window.open() is called on a
window that is different than the activeDOMWindow and where the
activeDOMWindow does not have a frame.
- fast/dom/Window/resources/test-frame.html: Added.
- fast/dom/Window/window-open-activeWindow-null-frame-expected.txt: Added.
- fast/dom/Window/window-open-activeWindow-null-frame.html: Added.
- 1:15 AM Changeset in webkit [184170] by
-
- 2 edits in trunk/Source/JavaScriptCore
Workaround for Cortex-A53 erratum 843419
https://bugs.webkit.org/show_bug.cgi?id=144680
Reviewed by Michael Saboff.
This patch is about to give simple workaround for Cortex-A53 erratum 843419.
It inserts nops after ADRP instruction to avoid wrong address accesses.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::adrp):
(JSC::ARM64Assembler::nopCortexA53Fix843419):
- 1:06 AM Changeset in webkit [184169] by
-
- 6 edits4 adds in releases/WebKitGTK/webkit-2.8
Merge r183765 - REGRESSION (r178156): CSS Parser incorrectly rejects valid calc() in padding-right property
https://bugs.webkit.org/show_bug.cgi?id=144584
<rdar://problem/20796829>
Reviewed by Darin Adler.
Source/WebCore:
The CSS parser was rejecting calculated values at parsing time if it
considered the value was negative and the CSS property did not allow
negative values. However, doing so at this point will not always work
because we don't necessarily know the font-size yet (for e.g. for
calc(0.5em - 2px). Also, rejecting negative calculated values is not
the right behavior as the the specification. The specification says
we should clamp:
http://dev.w3.org/csswg/css-values-3/#calc-range
This patch updates validateCalculationUnit() to stop marking the value
as invalid if it is negative. Instead, let the CSSCalcValue's permitted
range clamp the value as needed.
This bug was causing the bottom graphic on aldentrio.com to not be
rendered properly.
Test: fast/css/negative-calc-values.html
fast/css/padding-calc-value.html
- css/CSSParser.cpp:
(WebCore::CSSParser::validateCalculationUnit):
LayoutTests:
- fast/css/negative-calc-values-expected.txt: Added.
- fast/css/negative-calc-values.html: Added.
Add a layout test that assigns negative calc() values to properties
whose values cannot be negative to verify that values are clamped as
per the specification:
http://dev.w3.org/csswg/css-values-3/#calc-range
- fast/css/padding-calc-value-expected.txt: Added.
- fast/css/padding-calc-value.html: Added.
Add a layout test to test that using calc(.5em - 2px) for padding-right
CSS property works as intended. It used to be resolved as 0px instead
of "2*font-size - 2px".
- fast/css/text-shadow-calc-value-expected.txt:
- fast/css/text-shadow-calc-value.html:
Update test to match what the specification says:
http://dev.w3.org/csswg/css-values-3/#calc-range
"width: calc(5px - 10px);" is equivalent to "width: 0px;" since widths
smaller than 0px are not allowed.
- 1:03 AM Changeset in webkit [184168] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8
Merge r183741 - [cmake] Disable GNU Gold linker on Cortex A53
https://bugs.webkit.org/show_bug.cgi?id=144382
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsCommon.cmake:
- 1:00 AM Changeset in webkit [184167] by
-
- 4 edits in releases/WebKitGTK/webkit-2.8/Source
Merge r183740 - [ARM] Don't compare unsigned chars to EOF (-1)
https://bugs.webkit.org/show_bug.cgi?id=144439
Reviewed by Geoffrey Garen.
Source/WebCore:
- platform/linux/MemoryPressureHandlerLinux.cpp:
(WebKit::nextToken): Don't cast return value of fgetc() to char.
Source/WebKit2:
- Shared/linux/WebMemorySamplerLinux.cpp:
(WebKit::nextToken): Don't cast return value of fgetc() to char.
- 12:59 AM Changeset in webkit [184166] by
-
- 3 edits in trunk
Linker fails without -DDEVELOPER_MODE=ON
https://bugs.webkit.org/show_bug.cgi?id=144117
Reviewed by Gyuyoung Kim.
- Source/cmake/OptionsEfl.cmake:
Remove fvisibility flags. linker script will cover the functionality for ewebkit2.so in release mode,
- Source/cmake/eflsymbols.filter: Updated symbol patterns which should be exposed for ewebkit2.
- 12:58 AM Changeset in webkit [184165] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183729 - [GTK] API tests crashing on debug builds due to extra unref
https://bugs.webkit.org/show_bug.cgi?id=144508
Reviewed by Mario Sanchez Prada.
The problem is that we were assuming that when a new DOMWindow is
created, the DOM object cache was notified about the previous
DOMWindow being destroyed before objects for the new DOMWindow are
added to the cache. However, that's not always the case and we
only create a DOMWindowObserver for the first DOMWindow. We need
to keep a pointer to the DOMWindow being observed to clear() the
cache and create a new DOMWindowObserver when it changes in the
Frame.
Fixes crashes in several unit tests in debug builds.
- bindings/gobject/DOMObjectCache.cpp:
- 12:57 AM Changeset in webkit [184164] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r183706 - Reproducible crash removing name attribute from <img> node
<https://webkit.org/b/144371>
<rdar://problem/17198583>
Reviewed by Darin Adler.
Source/WebCore:
The problem here was with HTMLImageElement::getNameAttribute(), which relies
on Element::hasName() to avoid slow attribute lookups when the attribute
is already known not to be present. Unfortunately hasName() uses an ElementData
flag that wasn't getting updated until after the call to parseAttribute().
This patch fixes the issue by moving the code that updates the hasName() flag
before the parseAttribute() virtual dispatch.
Test: fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
LayoutTests:
- fast/dom/HTMLImageElement/remove-name-id-attribute-from-image-expected.txt: Added.
- fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html: Added.
- 12:55 AM Changeset in webkit [184163] by
-
- 12 edits1 add in releases/WebKitGTK/webkit-2.8
Merge r183698 - Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501
Reviewed by Darin Adler.
Test: TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm
Normally, loading substitute data (such as an error page) creates a new back-forward list
item. FrameLoader has a mechanism that detects when a substitute data load occurs during
handling of a provisional load error and prevents the creation of a new back-forwards list
item in that case if the unreachable URL is the same as the failing provisional URL. This
mechanism was broken in WebKit2, where handling the provisional load error is asynchronous.
The fix is to capture some state (namely, the failing provisional URL) when dispatching the
load error and allow it to be restored when loading the substitute data.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader): Removed initialization of
m_delegateIsHandlingProvisionalLoadError.
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): Instead of checking
m_delegateIsHandlingProvisionalLoadError and if true using the provisional document loader’s
URL, check m_provisionalLoadErrorBeingHandledURL.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Instead of checking and setting
m_delegateIsHandlingProvisionalLoadError, use m_provisionalLoadErrorBeingHandledURL.
- loader/FrameLoader.h:
(WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL): Added this getter. The client
can call this from its override of dispatchDidFailProvisionalLoad and store the result.
(WebCore::FrameLoader::setProvisionalLoadErrorBeingHandledURL): Added this setter. The
client can call this prior to loading substitute data if it’s done as part of handling a
previously-dispatched didFailProvisionalLoad.
Source/WebKit2:
WebKit2 part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501
Reviewed by Darin Adler.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString): If this is called during
didFailProvisionalLoadForFrame, send back the provisional URL captured at the time of
failure.
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Get the provisioinal URL and keep
it in new member variable m_failingProvisionalLoadURL for the duration of the client’s
handling of this message.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in: Added provisionalURL parameter to
DidFailProvisionalLoadForFrame.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Send the URL for this error
to the UI process.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString): Temporarily restore the loader’s state to
reflect the provisional load error being handled.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Added provisionalLoadErrorURL parameter to
LoadAlternateHTMLString.
- 12:40 AM Changeset in webkit [184162] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183648 - DOM bindings should not be using a reference type to point to a temporary object
https://bugs.webkit.org/show_bug.cgi?id=144474
Reviewed by Beth Dakin.
The DOM bindings will currently try and use a local reference to point
to a temporary object. This currently works as a by product of the compiler's
stack layout. This patch removes the dependency on undefined behaviour
by ensuring that we use a value rather than reference type.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetNativeTypeForCallbacks):
- 12:35 AM Changeset in webkit [184161] by
-
- 5 edits in trunk/LayoutTests
[EFL] Rebaseline some editing tests
Also add some missing baselines.
- platform/efl/editing/execCommand/5142012-1-expected.png:
- platform/efl/editing/execCommand/5142012-1-expected.txt:
- platform/efl/editing/inserting/insert-at-end-02-expected.png:
- platform/efl/editing/inserting/insert-at-end-02-expected.txt:
- 12:16 AM Changeset in webkit [184160] by
-
- 5 edits3 adds in releases/WebKitGTK/webkit-2.8
Merge r183646 - Javascript using WebSQL can create their own WebKit info table.
<rdar://problem/20688792> and https://bugs.webkit.org/show_bug.cgi?id=144466
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/websql/alter-to-info-table.html
- Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::databaseInfoTableName): Return the info table name.
(WebCore::fullyQualifiedInfoTableName): Append "main." to the info table name.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Use the fully qualified name.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Ditto.
(WebCore::DatabaseBackendBase::getVersionFromDatabase): Ditto.
(WebCore::DatabaseBackendBase::setVersionInDatabase): Ditto.
LayoutTests:
- storage/websql/alter-to-info-table-expected.txt: Added.
- storage/websql/alter-to-info-table.html: Added.
- storage/websql/alter-to-info-table.js: Added.
- 12:15 AM Changeset in webkit [184159] by
-
- 8 edits in trunk
[Streams API] ReadableStream reader should not be disposable when having pending promises
https://bugs.webkit.org/show_bug.cgi?id=144869
Reviewed by Darin Adler.
Source/WebCore:
Made error promise callback to take a ref to the reader so that the reader is not disposed as long as the promise callback is not resolved.
Covered by tests added to streams/readable-stream-gc.html.
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::ReadableStreamReader): Moved initialize() call outside constructor as it can ref/unref.
(WebCore::ReadableStreamReader::releaseStreamAndClean): Added protector.
- Modules/streams/ReadableStreamReader.h:
- bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Lambda for error now takes a ref to the reader.
- bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::Reader::create): Calling initialize() after adoptRef().
LayoutTests:
- streams/readable-stream-gc.html:
- streams/readable-stream-gc-expected.txt:
- 12:12 AM Changeset in webkit [184158] by
-
- 7 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183636 - Avoid containingBlock() calls when no writing mode flipping is needed.
https://bugs.webkit.org/show_bug.cgi?id=144407
Reviewed by Simon Fraser.
Add a bool to RenderView that indicates whether or not any flipped blocks have been
added to the view. Once tainted, the view just stays dirty forever. If no flipped
blocks are ever seen, we can then optimize away calls to containingBlock().
The motivation for this patch is to improve layer position updating, which makes many
calls to topLeftLocationOffset(), one of the functions that can be optimized by this
change.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
- rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
- rendering/RenderView.h:
- 12:07 AM Changeset in webkit [184157] by
-
- 2 edits1 add in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore
Merge r183564 - Safari WebKit crash when loading Google Spreadsheet.
https://bugs.webkit.org/show_bug.cgi?id=144020
Reviewed by Filip Pizlo.
The bug is that the object allocation sinking phase did not account for a case
where a property of a sunken object is only initialized on one path and not
another. As a result, on the path where the property is not initialized, we'll
encounter an Upsilon with a BottomValue (which is not allowed by definition).
The fix is to use a JSConstant(undefined) as the bottom value instead (of
BottomValue). If the property is uninitialized, it should still be accessible
and have the value undefined.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):
- tests/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js: Added.
(foo):
(foo2):
- 12:03 AM Changeset in webkit [184156] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r183538 - Fix crash in WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock().
https://bugs.webkit.org/show_bug.cgi?id=140261
Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-04-29
Reviewed by Darin Adler.
Source/WebCore:
We need to check whether RenderObject is valid in RenderView::fooSubtreeSelection functions
because invalid object has caused a crash. This patch adds isValidObjectForNewSelection(), and use it.
- rendering/RenderView.cpp:
(WebCore::isValidObjectForNewSelection):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):
LayoutTests:
- editing/execCommand/crash-140261-expected.txt: Added.
- editing/execCommand/crash-140261.html: Added.
- 12:01 AM Changeset in webkit [184155] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WTF
Merge r183504 - Properly reset deleted count when clearing HashTables.
https://bugs.webkit.org/show_bug.cgi?id=144343
Reviewed by Andreas Kling.
- wtf/HashTable.h:
(WTF::KeyTraits>::clear):
Reset m_deletedCount, which appears to have been forgotten.
May 11, 2015:
- 11:39 PM Changeset in webkit [184154] by
-
- 2 edits in trunk/Source/WebCore
Clean up redundant resources in case of failure in GLContextEGL context creation methods
https://bugs.webkit.org/show_bug.cgi?id=144878
Reviewed by Martin Robinson.
GLContextEGL::createWindowContext() and GLContextEGL::createPixmapContext() methods
should clean up the freshly-created resources when prematurely returning due to a
failure.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPixmapContext):
- 10:51 PM Changeset in webkit [184153] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r184009.
https://bugs.webkit.org/show_bug.cgi?id=144900
Caused crashes on inspector tests (Requested by ap on
#webkit).
Reverted changeset:
"MapDataImpl::add() shouldn't do the same hash lookup twice."
https://bugs.webkit.org/show_bug.cgi?id=144759
http://trac.webkit.org/changeset/184009
- 10:48 PM Changeset in webkit [184152] by
-
- 13 edits1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r184123.
https://bugs.webkit.org/show_bug.cgi?id=144899
Seems to have introduced flaky crashes in many JS tests
(Requested by rniwa on #webkit).
Reverted changeset:
"REGRESSION(r180595): same-callee profiling no longer works"
https://bugs.webkit.org/show_bug.cgi?id=144787
http://trac.webkit.org/changeset/184123
- 10:38 PM Changeset in webkit [184151] by
-
- 12 edits1 add in trunk
Source/WebCore:
WebCore part of <rdar://problem/20878075> Trying to navigate to an invalid URL loads about:blank, but -[WKWebView URL] returns the invalid URL
Reviewed by Alexey Proskuryakov.
Test: TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLChange.mm
In some cases, trying to navigate to an invalid URL results in navigation to about:blank.
When the about:blank load is committed, the UI process still thinks that the provisional
URL is the original, invalid URL, and updates its state to reflect that that’s the URL that
has been committed.
The provisional URL changes (1) when a provisional load begins, (2) when a server redirect
happens, (3) when the client changes the request in willSendRequest, and (4) in this
about:blank case. For (1) and (2), there are frame loader client callbacks. (3) is client-
initiated. So this patch addresses (4).
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::maybeLoadEmpty): If our request URL is changing to about:blank and
while loading the main resource, call FrameLoaderClient::dispatchDidChangeProvisionalURL.
- loader/FrameLoaderClient.h: Added dispatchDidChangeProvisionalURL with an empty
implementation.
Source/WebKit2:
WebKit2 part of <rdar://problem/20878075> Trying to navigate to an invalid URL loads about:blank, but -[WKWebView URL] returns the invalid URL
Reviewed by Alexey Proskuryakov.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame): Added. Update internal state the
same way we update it for server redirects, but don’t make client callbacks. Clients
observing the URL property will see it change.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in: Added DidChangeProvisionalURLForFrame.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL): Override this new
FrameLoaderClient function to send a DidChangeProvisionalURLForFrame message to the UI
process.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Tools:
Test for <rdar://problem/20878075> Trying to navigate to an invalid URL loads about:blank, but -[WKWebView URL] returns the invalid URL
Reviewed by Alexey Proskuryakov.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm: Fixed copyright header.
- TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLChange.mm: Added.
(-[ProvisionalURLChangeController webView:didFinishNavigation:]):
- 9:01 PM Changeset in webkit [184150] by
-
- 10 edits2 adds in trunk
Text is misplaced when custom font does not have space glyph.
https://bugs.webkit.org/show_bug.cgi?id=144879
Reviewed by Myles C. Maxfield
This patch ensures that we use fallback font for the missing space glyph only when the rendered text has space in it.
If a font does not provide all the glyphs required to render the associated text, we initiate fallback fonts. It is done while
measuring the text at layout time. However due to the fact that we always pre-measure space, a font with no space glyph in it is never sufficient.
(even when the text does not require space at all)
Fallback fonts impact line positions through ascent/descent calculation.
Source/WebCore:
Test: fast/text/font-with-no-space-glyph.html
- rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
- rendering/line/BreakingContext.h:
(WebCore::WordTrailingSpace::WordTrailingSpace):
(WebCore::WordTrailingSpace::width):
(WebCore::BreakingContext::handleText):
LayoutTests:
- fast/ruby/ruby-expansion-cjk-2-expected.html: progression
- fast/ruby/ruby-expansion-cjk-3-expected.html: progression
- fast/ruby/ruby-expansion-cjk-4-expected.html: progression
- fast/ruby/ruby-expansion-cjk-5-expected.html: progression
- fast/ruby/ruby-expansion-cjk-expected.html: progression
- fast/text/font-with-no-space-glyph-expected.html: Added.
- fast/text/font-with-no-space-glyph.html: Added.
- platform/mac/svg/fonts/svg-font-general-expected.html: progression
- 7:45 PM Changeset in webkit [184149] by
-
- 5 edits in trunk/Source/WebKit2
<rdar://problem/19773721> [iOS] Find on page feels like it zooms in too much
https://bugs.webkit.org/show_bug.cgi?id=144891
Reviewed by Darin Adler.
Sometimes, Find on Page’s constant 1.6 scale factor is too much. Smart magnification is
designed to choose a scale factor that is just right.
- UIProcess/ios/SmartMagnificationController.h:
- UIProcess/ios/SmartMagnificationController.messages.in: Added Magnify message.
- UIProcess/ios/SmartMagnificationController.mm:
(WebKit::SmartMagnificationController::magnify): Added. Handle the new message using
-[WKContentView _soomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:].
- WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::updateFindIndicator): Instead of zooming to the selection rect,
get the surrounding render rect (the area we would target for a double-tap at the beginning
of the selection), and tell the magnification controller to target it. Use the center of the
start of the selection as the origin.
- 7:39 PM Changeset in webkit [184148] by
-
- 4 edits in trunk/Source/WebCore
Small tidyup in animations code
https://bugs.webkit.org/show_bug.cgi?id=144893
Reviewed by Eric Carlson.
Reading progress(1, 0, 0) in callers of AnimationBase::progress() was confusing,
particularly as the last parameter is a TimingFunction*. Put default values
in the header (with nullptr) and fix the callers. Also fix variable names in
the implementation.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::progress):
- page/animation/AnimationBase.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate):
(WebCore::ImplicitAnimation::getAnimatedStyle):
(WebCore::ImplicitAnimation::blendPropertyValueInStyle):
- 7:17 PM ApplicationsGtk edited by
- kiosk product (diff)
- 7:11 PM ApplicationsGtk edited by
- suckless surf (diff)
- 7:06 PM Changeset in webkit [184147] by
-
- 20 edits in trunk/Source/WebCore
Purge PassRefPtr in WebCore/rendering
https://bugs.webkit.org/show_bug.cgi?id=144872
Patch by Gyuyoung Kim <Gyuyoung Kim> on 2015-05-11
Reviewed by Darin Adler.
As a step to remove PassRefPtr, this patch replaces PassRefPtr with Ref in WebCore/rendering.
No new tests, no behavior changes.
- rendering/HitTestingTransformState.h:
(WebCore::HitTestingTransformState::create):
- rendering/RenderLayer.cpp:
(WebCore::ClipRects::create):
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::create):
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeGtk.h:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeIOS::create):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeMac::create):
- rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::create):
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeSafari.h:
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::create):
(WebCore::RenderTheme::themeForPage):
- rendering/RenderThemeWin.h:
- rendering/TextAutoSizing.h:
(WebCore::TextAutoSizingValue::create):
- rendering/style/ShapeValue.h:
(WebCore::ShapeValue::createShapeValue):
(WebCore::ShapeValue::createBoxShapeValue):
(WebCore::ShapeValue::createImageValue):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleCachedImageSet.h:
- rendering/style/StyleGeneratedImage.h:
- rendering/style/StylePendingImage.h:
- rendering/style/StyleReflection.h:
(WebCore::StyleReflection::create):
- 6:54 PM Changeset in webkit [184146] by
-
- 8 edits in trunk/Tools
Fix internal build configuration issues
https://bugs.webkit.org/show_bug.cgi?id=144762
Reviewed by Darin Adler.
Modifies TestWebKitAPI and WebKitTestRunner's xcconfig files to use SDK selectors.
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/InjectedBundle.xcconfig:
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
- WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
- 6:43 PM Changeset in webkit [184145] by
-
- 5 edits in branches/safari-600.1.4.16-branch/Source
Versioning.
- 6:43 PM Changeset in webkit [184144] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 6:40 PM Changeset in webkit [184143] by
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 6:29 PM Changeset in webkit [184142] by
-
- 1 copy in tags/Safari-601.1.32.1
New tag.
- 6:17 PM Changeset in webkit [184141] by
-
- 1 copy in tags/Safari-600.7.7
New tag.
- 6:13 PM Changeset in webkit [184140] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Update device picker icon when video tracks change
https://bugs.webkit.org/show_bug.cgi?id=144889
<rdar://problem/20907253>
Reviewed by Brent Fulgham.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateHasVideo):
- 6:12 PM Changeset in webkit [184139] by
-
- 21 edits in trunk/Source
Scroll snap logic should be triggered when resizing the WebView
https://bugs.webkit.org/show_bug.cgi?id=142590
<rdar://problem/20125088>
Reviewed by Simon Fraser.
Source/WebCore:
Tests coming in a second patch.
Resizing of the main frame or overflow regions was properly recalculating the scroll snap points,
but there was no code to honor these values when window resizing was occurring. The correction was
handled in two ways:
- Scrolling thread operations that moved to new snap points needed to notify the main thread that it had shifted to a new snap point, so that the resize code (which happens on the main thread) could ensure that we stayed clamped to the correct 'tile' in the snap region.
- Main thread (overflow) resizes were likewise missing code to honor the current snap position after resizing calculations were complete.
This change also required the addition of two indices to the scrollable area to track which scroll
snap point was currently being used. We don't bother with a 'none' case because you cannot have a
'none' state when you have an active set of scroll snap points, and we do not execute this code
if the scroll snap points are null.
The FrameView code was computing updated snap offsets after it had dispatched frame view layout
information to the scrolling thread, which was wrong. This was also corrected.
I think it might be possible to track all of this state inside the ScrollController, but the current
scroll snap architecture destroys and recreates the state each time a new set of interactions starts.
This should be fixed in the future, which would allow us to remove some of this local state.
- page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks): Make sure 'updateSnapOffsets' is called prior to
calling 'frameViewLayoutUpdated' so the scrolling thread gets correct updated points. Add a new
call to 'scrollToNearestActiveSnapPoint', which will keep us on our current snap point during
resize (if appropriate).
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollSnapOffsetIndices): Added. This finds and notifies
the correct scroll region when a new snap position (index) has been selected by user interaction on
the scrolling thread.
(WebCore::AsyncScrollingCoordinator::deferTestsForReason): Added an assertion for 'isMainThread'.
(WebCore::AsyncScrollingCoordinator::removeTestDeferralForReason): Ditto.
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/AxisScrollSnapOffsets.h:
(WebCore::closestSnapOffset): Modified to also return the selected snap point index so we can track
it to handle resize operations.
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::updateScrollSnapOffsetIndices):
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::updateScrollSnapOffsetIndices): Added method to dispatch the active
horizontal and vertical scroll snap indices back to the main thread.
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): After the scroll controller processes
the current event, notify the main thread of any change in the active scroll snap index.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::activeScrollSnapOffsetIndexDidChange): Added method to allow ScrollAnimator
clients to find out about the current scroll snap state, which is only known by the ScrollController.
(WebCore::ScrollAnimator::activeScrollSnapOffsetIndexForAxis): Ditto.
- platform/ScrollAnimator.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::scrollToNearestActiveSnapPoint): Added method that allows us to set scroll position
to one of our active scroll snap offsets.
- platform/ScrollView.h:
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::handleWheelEvent): If the active scroll snap offset has changed, make sure we
keep track of the new values for potential resize operations.
(WebCore::ScrollableArea::clearHorizontalSnapOffsets): Make sure to also clear out the current snap index.
(WebCore::ScrollableArea::clearVerticalSnapOffsets): Ditto.
(WebCore::ScrollableArea::nearestActiveSnapPoint): New method that returns an updated IntPoint reflecting
the proper scroll position based on the active scroll snap offset.
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::currentHorizontalSnapPointIndex): Added.
(WebCore::ScrollableArea::setCurrentHorizontalSnapPointIndex): Added.
(WebCore::ScrollableArea::currentVerticalSnapPointIndex): Added.
(WebCore::ScrollableArea::setCurrentVerticalSnapPointIndex): Added.
(WebCore::ScrollableArea::scrollToNearestActiveSnapPoint): Added.
- platform/cocoa/ScrollController.h:
(WebCore::ScrollControllerClient::activeScrollOffsetIndex): Added new method for clients to implement.
(WebCore::ScrollController::activeScrollSnapOffsetIndexDidChange): Added.
(WebCore::ScrollController::setScrollSnapOffsetIndexDidChange): Added.
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::activeScrollSnapOffsetIndexForAxis): Helper method to return current active
index (if applicable).
(WebCore::ScrollController::setActiveScrollSnapOffsetIndexForAxis): Helper function to safely set
the current active index.
(WebCore::ScrollController::beginScrollSnapAnimation): Updated to keep track of the new active scroll snap
index, as well as whether the current animation actually changed the active snap point offset.
- platform/cocoa/ScrollSnapAnimatorState.h: Revise to use modern C++ initializers, and to track a new index
that represents the current scroll snap offset.
- platform/cocoa/ScrollSnapAnimatorState.mm:
(WebCore::ScrollSnapAnimatorState::ScrollSnapAnimatorState): Update for modern C++ syntax.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollToNearestActiveSnapPoint): New method to set scroll position to be one of our
active scroll snap points.
(WebCore::RenderLayer::updateScrollInfoAfterLayout): Add a new call to 'scrollToNearestActiveSnapPoint' so that
we stay on the current scroll snap offset during resizing.
- rendering/RenderLayer.h:
Source/WebKit2:
- UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Modify use of 'closestSnapOffset' to satisfy the additional
argument I added. This is currently not used for anything on iOS.
- UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Ditto.
- 6:06 PM Changeset in webkit [184138] by
-
- 2 edits in trunk/Source/WebCore
Addressing post-review comments after r184037.
Unreviewed.
No new tests because there is no behavior change.
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
- 5:58 PM Changeset in webkit [184137] by
-
- 54 edits in trunk
[Win] Move Windows build target to Windows 7 (or newer)
https://bugs.webkit.org/show_bug.cgi?id=144890
<rdar://problem/20707307>
Reviewed by Anders Carlsson.
Update linked SDK and minimal Windows level to be compatible with
Windows 7 or newer.
Source/JavaScriptCore:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.vcxproj/JavaScriptCoreGenerated.vcxproj:
- JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj:
- JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.vcxproj:
- JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcxproj:
- JavaScriptCore.vcxproj/jsc/jsc.vcxproj:
- JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj:
- JavaScriptCore.vcxproj/libllvmForJSC/libllvmForJSC.vcxproj:
- JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj:
- JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj:
- JavaScriptCore.vcxproj/testapi/testapi.vcxproj:
- JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj:
- config.h:
Source/ThirdParty:
- gtest/msvc/gtest-md.vcxproj:
Source/ThirdParty/ANGLE:
- ANGLE.vcxproj/libEGL.vcxproj:
- ANGLE.vcxproj/libGLESv2.vcxproj:
- ANGLE.vcxproj/preprocessor.vcxproj:
- ANGLE.vcxproj/translator_common.vcxproj:
- ANGLE.vcxproj/translator_glsl.vcxproj:
- ANGLE.vcxproj/translator_hlsl.vcxproj:
Source/WebCore:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCoreGenerated.vcxproj:
- WebCore.vcxproj/WebCoreTestSupport.vcxproj:
- WebCorePrefix.h:
- config.h:
- testing/js/WebCoreTestSupportPrefix.h:
Source/WebInspectorUI:
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
Source/WebKit:
- WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
- WebKit.vcxproj/WebKit/WebKit.vcxproj:
- WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:
Source/WebKit/win:
- WebKitPrefix.h:
Source/WTF:
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTFGenerated.vcxproj:
- config.h:
Tools:
- DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:
- DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:
- DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiff.vcxproj:
- DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncher.vcxproj:
- DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:
- DumpRenderTree/config.h:
- TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
- WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj:
- WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
- WinLauncher/stdafx.h:
- 5:15 PM Changeset in webkit [184136] by
-
- 2 edits in branches/safari-600.7-branch/LayoutTests
commit-log-editor -p ChangeLog
- 5:09 PM Changeset in webkit [184135] by
-
- 12 edits in trunk
AX: [ATK] Always include rows in the tree of accessible tables
https://bugs.webkit.org/show_bug.cgi?id=144885
Reviewed by Chris Fleizach.
Source/WebCore:
Remove the code that excluded rows from the tree of accessible tables for
Gtk and Efl, the latter of which inherited the exclusion from the former.
No new tests. We already have several tests which cover table hierarchy.
The associated expectations have been updated as part of this fix.
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildrenFromSection):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetParent):
LayoutTests:
Update the expectations to reflect the rows which are now included in the tree.
- platform/efl/accessibility/table-attributes-expected.txt: Updated.
- platform/efl/accessibility/table-cell-spans-expected.txt: Updated.
- platform/efl/accessibility/table-cells-expected.txt: Updated.
- platform/efl/accessibility/table-sections-expected.txt: Updated.
- platform/gtk/accessibility/table-attributes-expected.txt: Updated.
- platform/gtk/accessibility/table-cell-spans-expected.txt: Updated.
- platform/gtk/accessibility/table-cells-expected.txt: Updated.
- platform/gtk/accessibility/table-sections-expected.txt: Updated.
- 5:06 PM Changeset in webkit [184134] by
-
- 1 copy in tags/Safari-600.1.4.16.3
New tag.
- 4:41 PM Changeset in webkit [184133] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r184119.
https://bugs.webkit.org/show_bug.cgi?id=144888
broke JSC tests on Apple Windows bots (Requested by kling on
#webkit).
Reverted changeset:
"Fix run-javascriptcore-tests step on the WinCairo bot"
https://bugs.webkit.org/show_bug.cgi?id=144866
http://trac.webkit.org/changeset/184119
- 4:27 PM Changeset in webkit [184132] by
-
- 2 edits in trunk/Source/WebKit2
Force a rebuild of JSNPObject.cpp on bots.
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
- 4:21 PM Changeset in webkit [184131] by
-
- 1 edit4 adds in trunk/Tools
run-benchmark should support Dromaeo
https://bugs.webkit.org/show_bug.cgi?id=144849
Reviewed by Chris Dumez.
Added the benchmark plans for Dromaeo DOM tests. We only run these tests once since
they can take as much as 15 minutes to run each.
- Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan: Added.
- 4:18 PM Changeset in webkit [184130] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (Tabs): Issues reloading a resource with breakpoints
https://bugs.webkit.org/show_bug.cgi?id=144650
Fix a number of issues with Debugger tab and navigation/reloading:
- Close old content views in the Debugger tab when main frame navigates.
- Prune old resource tree elements before attempting to restore a cookie that might match an old resource.
- Allow breakpoint selections to be restored from a saved cookie.
- Fix an assert when closing a content view that isn't the current index, but is the current view.
- Avoid calling closed() multiple times when a ContentView is in the back/forward list more than once.
- Make restoreStateFromCookie properly set and use the causedByNavigation argument for a longer restore delay.
- Create a new cookie object per tab instead of it being cumulative from the previous cookie.
Reviewed by Brian Burg.
- UserInterface/Base/Main.js:
(WebInspector._mainResourceDidChange): Delay calling _restoreCookieForOpenTabs to give time for sidebars
and tabs to respond to the main resource change.
(WebInspector._restoreCookieForOpenTabs): Rename causedByReload to causedByNavigation. Nothing special about
reload since we restore on all navigation.
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView): Support Breakpoint as a represented object, which happens during a cookie restore.
(WebInspector.ContentView.isViewable): Ditto.
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.closeAllContentViews): Disassociate if the view is current and not just
the current entry index. This matches other close functions. This fixes an assert in _disassociateFromContentView.
(WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Don't disassociate multiple times. This
avoids calling the closed() function on a view more than once.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange): Renamed from _mainResourceChanged.
Close all content views if this is the main frame. Also prune all old resources. Doing this now avoids a flash
of having old and new resources in the tree caused by the default delay in NavigationSidebarPanel's _checkForOldResources.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel): Set _autoPruneOldTopLevelResourceTreeElements for later.
(WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Deleted.
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView): Fix typo.
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement): Fix whitespace.
(WebInspector.NavigationSidebarPanel.prototype.pruneOldResourceTreeElements): Added. Broken out from
_checkForOldResources.delayedWork so it can be called manually. Also check all visible tree outlines.
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Pass treeElement in an array.
(WebInspector.NavigationSidebarPanel.prototype._checkForOldResourcesIfNeeded): Added.
(WebInspector.NavigationSidebarPanel.prototype._checkForOldResources): Call pruneOldResourceTreeElements on a delay.
(WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Deleted.
(WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie): Call _checkForOldResourcesIfNeeded.
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): Remove array folding code.
- UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView.prototype.restoreStateFromCookie): Rename causedByReload to causedByNavigation.
(WebInspector.TabContentView.prototype.saveStateToCookie): Don't allow the cookie to build on the old cookie.
- 3:51 PM Changeset in webkit [184129] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Unreviewed build fix. Add "Duration" as a time metric.
- public/js/helper-classes.js:
- public/v2/data.js:
(RunsData.unitFromMetricName):
- 3:42 PM Changeset in webkit [184128] by
-
- 2 edits in trunk/Source/JavaScriptCore
CPS rethreading phase's flush detector flushes way too many SetLocals
https://bugs.webkit.org/show_bug.cgi?id=144819
Reviewed by Geoffrey Garen.
After probably unrelated changes, this eventually caused some arguments elimination to stop
working because it would cause more SetLocals to turn into PutStacks. But it was a bug for
a long time. Basically, we don't want the children of a SetLocal to be flushed. Flushing is
meant to only affect the SetLocal itself.
This is a speed-up on Octane/earley.
- dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
- 3:41 PM Changeset in webkit [184127] by
-
- 2 edits in trunk/Source/JavaScriptCore
gmail and google maps fail to load with eager compilation: Failed to insert inline cache for varargs call (specifically, CallForwardVarargs) because we thought the size would be 250 but it ended up being 262 prior to compaction.
https://bugs.webkit.org/show_bug.cgi?id=144854
Reviewed by Oliver Hunt.
This is easy: just lift the threshold. Also remove the need for some duplicate thresholds.
It used to be that Construct required less code, but that's not the case for now.
- ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfCallForwardVarargs):
(JSC::FTL::sizeOfConstructVarargs):
(JSC::FTL::sizeOfConstructForwardVarargs):
- 3:36 PM Changeset in webkit [184126] by
-
- 2 edits in trunk/Tools
Build fix. jetstream has a local copy, not remote archive.
- Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:
- 3:31 PM Changeset in webkit [184125] by
-
- 2 edits in trunk/Source/WebKit2
Simplify shim path computation
https://bugs.webkit.org/show_bug.cgi?id=144884
Part of rdar://problem/19708579.
Reviewed by Sam Weinig.
Factor the code that computes the shim path out into a separate function. Also make this mac only
since we don't have any shims on iOS.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::computeProcessShimPath):
(WebKit::addDYLDEnvironmentAdditions):
- 2:40 PM Changeset in webkit [184124] by
-
- 10 edits6 adds1 delete in trunk/Tools
run-benchmark should support SunSpider, Kraken and Octane
https://bugs.webkit.org/show_bug.cgi?id=144840
Reviewed by Darin Adler.
Added the support for SunSpider, Kraken, and Octane. Because of the licensing issues, we can't commit the
Kraken source code into the WebKit repository as done for other benchmarks. Instead, we'll dynamically
download it from the remote server using newly added RemoteZipBenchmarkBuilder. We do the same for Octane
for simplicity. Use newly added --local-copy option to specify the location of a local copy if there is any.
Renamed "original_benchmark in the plan file to "local_copy" and added a new optional "remote_archive" to
specify the URL to a remote ZIP file. This optional field is used by Kraken and Octane benchmark plans.
In addition, generalized the ability to run a "create script" in JetStreamBenchmarkBuilder since it's also
needed for SunSpider and Kraken. This feature has now been folded into GenericBenchmarkBuilder.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json: Added
RemoteZipBenchmarkBuilder for Kraken and removed JetStreamBenchmarkBuilder since GenericBenchmarkBuilder
now has the ability to run an arbitrary "create script".
- Scripts/run-benchmark:
(main): Added an optional argument, --local-copy, to override the location of the benchmark's local copy.
This also overrides the remote archive URL specified in the plan.
- Scripts/webkitpy/benchmark_runner/README.md: Updated the description.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json: Deleted the entry for
JetStreamBenchmarkBuilder.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:
(GenericBenchmarkBuilder.prepare): Call _fetchRemoteArchive if local_copy is not specified in the plan or
by --local-copy option but remote_archive is specified. Also call self.clean() here instead of relying on
_runCreateScript and _applyPatch to clean after themselves.
(GenericBenchmarkBuilder._runCreateScript): Moved from JetStreamBenchmarkBuilder._runCreateScript since
JetStream, SunSpider, Kraken all use this feature.
(GenericBenchmarkBuilder._copyBenchmarkToTempDir): Use self.name as the destination location instead of
the leaf directory name since the latter is not available when a remote ZIP file is used.
(GenericBenchmarkBuilder._fetchRemoteArchive): Added.
(GenericBenchmarkBuilder._applyPatch): Apply the patch inside destination directory to avoid hard coding
the benchmark name in the patches.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/jetstream_benchmark_builder.py: Removed.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.init): Set self.planName. Also override 'local_copy' when --local-copy option is used.
(BenchmarkRunner.execute): Exit early if neither local_copy nor remote_archive is specified. Prefix the URL
the browser opens by planName as the plan file no longer contains that.
- Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Changed the path to be relative against
the top directory of JetStream instead of its parent.
- Scripts/webkitpy/benchmark_runner/data/patches/Kraken.patch: Added.
- Scripts/webkitpy/benchmark_runner/data/patches/Octane.patch: Added.
- Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Changed the path to be relative against
the top directory of JetStream instead of its parent.
- Scripts/webkitpy/benchmark_runner/data/patches/SunSpider.patch: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Uses GenericBenchmarkBuilder and specifies
the script to run. The entry point was changed to the relative path from the top directory of JetStream as
done in JetStream.patch.
- Scripts/webkitpy/benchmark_runner/data/plans/kraken.plan: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/octane.plan: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: The entry point was changed to the relative
path from the top directory of JetStream as done in JetStream.patch.
- Scripts/webkitpy/benchmark_runner/data/plans/sunspider.plan: Added.
- 2:21 PM Changeset in webkit [184123] by
-
- 13 edits1 add in trunk/Source/JavaScriptCore
REGRESSION(r180595): same-callee profiling no longer works
https://bugs.webkit.org/show_bug.cgi?id=144787
Reviewed by Michael Saboff.
This patch introduces a DFG optimization to use NewObject node when the callee of op_create_this is
always the same JSFunction. This condition doesn't hold when the byte code creates multiple
JSFunction objects at runtime as in: function y() { return function () {} }; new y(); new y();
To enable this optimization, LLint and baseline JIT now store the last callee we saw in the newly
added fourth operand of op_create_this. We use this JSFunction's structure in DFG after verifying
our speculation that the callee is the same. To avoid recompiling the same code for different callee
objects in the polymorphic case, the special value of seenMultipleCalleeObjects() is set in
LLint and baseline JIT when multiple callees are observed.
Tests: stress/create-this-with-callee-variants.js
- bytecode/BytecodeList.json: Increased the number of operands to 5.
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset): op_create_this uses 2nd (constructor) and 4th (callee cache)
operands.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode): Dump the newly added callee cache.
(JSC::CodeBlock::finalizeUnconditionally): Clear the callee cache if the callee is no longer alive.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCreateThis): Add the instruction to propertyAccessInstructions so that
we can clear the callee cache in CodeBlock::finalizeUnconditionally. Also initialize the newly added
operand.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Implement the optimization. Speculate the actual callee to
match the cache. Use the cached callee's structure if the speculation succeeds. Otherwise, OSR exit.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_this): Go to the slow path to update the cache unless it's already marked
as seenMultipleCalleeObjects() to indicate the polymorphic behavior.
(JSC::JIT::emitSlow_op_create_this):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_this): Ditto.
(JSC::JIT::emitSlow_op_create_this):
- llint/LowLevelInterpreter32_64.asm:
(_llint_op_create_this): Ditto.
- llint/LowLevelInterpreter64.asm:
(_llint_op_create_this): Ditto.
- runtime/CommonSlowPaths.cpp:
(slow_path_create_this): Set the callee cache to the actual callee if it's not set. If the cache has
been set to a JSFunction* different from the actual callee, set it to seenMultipleCalleeObjects().
- runtime/JSCell.h:
(JSC::JSCell::seenMultipleCalleeObjects): Added.
- runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::unvalidatedGet): Removed the compile guard around it.
- tests/stress/create-this-with-callee-variants.js: Added.
- 2:20 PM Changeset in webkit [184122] by
-
- 1 edit2 adds in trunk/LayoutTests
AX: [ATK] Need expectation files for menu-list-crash2.html for Gtk and Efl
https://bugs.webkit.org/show_bug.cgi?id=144881
Unreviewed GTK+ and EFL gardening.
- platform/efl/accessibility/menu-list-crash2-expected.txt: Added.
- platform/gtk/accessibility/menu-list-crash2-expected.txt: Added.
- 2:14 PM Changeset in webkit [184121] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix
Unreviewed.
- UIProcess/API/APIUserContentExtensionStore.cpp:
(API::compiledToFile):
- 2:13 PM Changeset in webkit [184120] by
-
- 6 edits1 delete in trunk/Source/JavaScriptCore
PropertyNameArray should use a Vector when there are few entries.
<https://webkit.org/b/144874>
Reviewed by Geoffrey Garen.
Bring back an optimization that was lost in the for-in refactoring.
PropertyNameArray now holds a Vector<AtomicStringImpl*> until there are
enough (20) entries to justify converting to a HashSet for contains().
Also inlined the code while we're here, since it has so few clients and
the call overhead adds up.
~5% progression on Kraken/json-stringify-tinderbox.
- runtime/PropertyNameArray.cpp: Removed.
- runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::canAddKnownUniqueForStructure):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::addKnownUnique):
- 1:42 PM Changeset in webkit [184119] by
-
- 2 edits in trunk/Tools
Fix run-javascriptcore-tests step on the WinCairo bot
https://bugs.webkit.org/show_bug.cgi?id=144866
Reviewed by Darin Adler.
- Scripts/run-jsc-stress-tests:
- 1:28 PM Changeset in webkit [184118] by
-
- 1 edit1 add in trunk/LayoutTests
Add a Windows-specific result for the new accessibility/menu-list-crash2.html test.
- platform/win/accessibility/menu-list-crash2-expected.txt: Added.
- 1:09 PM Changeset in webkit [184117] by
-
- 7 edits in trunk/Source
Web Inspector: REGRESSION (r175203): No profile information is shown in Inspector
https://bugs.webkit.org/show_bug.cgi?id=144808
Reviewed by Darin Adler.
Source/JavaScriptCore:
Since a profile can be started after a timeline recording has already begun, we can't assume a zero start time.
The start time for the root node's call entry should be based on the stopwatch used by the ProfileGenerator.
- profiler/Profile.cpp:
(JSC::Profile::create):
(JSC::Profile::Profile):
- profiler/Profile.h:
- profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::operator()):
Source/WebCore:
Profiles started from the console should always use the Inspector environment's shared stopwatch.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
- 12:54 PM Changeset in webkit [184116] by
-
- 27 edits3 adds in trunk
[Content Extensions] Support domain-specific rules and exceptions.
https://bugs.webkit.org/show_bug.cgi?id=144833
Patch by Alex Christensen <achristensen@webkit.org> on 2015-05-11
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/contentextensions/domain-rules.html
(And lots of API tests)
This patch adds if-domain and unless-domain to the trigger in the JSON format.
if-domain makes the rule apply only to domains in the list.
unless-domain makes the rule apply to domains that are not in the list.
All rules without if-domain or unless-domain are compiled into a set of DFAs. This behavior is unchanged.
All rules with if-domain or unless-domain are compiled into a separate set of DFAs.
The domains are also compiled into another set of DFAs. This makes 3 arrays of DFA bytecode instead of 1.
If there are no domain specific rules, there is no change in behavior.
If there are domain specific rules, the URL will be checked for matches in both
filtersWithoutDomainsBytecode and filtersWithDomainsBytecode. If there are matches from
filtersWithDomainsBytecode then the domain of the main document will be checked with
domainFiltersBytecode to see which of the matches applies to this domain.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::CombinedURLFilters::isEmpty):
(WebCore::ContentExtensions::CombinedURLFilters::addDomain):
- contentextensions/CombinedURLFilters.h:
Added addDomain, which adds characters from a domain to the prefix tree directly without using YARR.
- contentextensions/CompiledContentExtension.cpp:
(WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors):
- contentextensions/CompiledContentExtension.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::serializeActions):
(WebCore::ContentExtensions::compileRuleList):
Separate the rules into rules with domains and rules without domains and compile to bytecode.
- contentextensions/ContentExtensionCompiler.h:
Updated compiler interface to reflect the slightly more complicated structure.
- contentextensions/ContentExtensionError.cpp:
(WebCore::ContentExtensions::contentExtensionErrorCategory):
- contentextensions/ContentExtensionError.h:
Added new parsing errors.
- contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::getDomainList):
(WebCore::ContentExtensions::loadTrigger):
(WebCore::ContentExtensions::loadEncodedRules):
- contentextensions/ContentExtensionRule.h:
(WebCore::ContentExtensions::Trigger::operator==):
Parse the new domain structures from JSON into the Trigger structure.
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
Interpret as much bytecode as necessary to determine which rules apply to this URL and domain.
- contentextensions/DFABytecode.h:
(WebCore::ContentExtensions::instructionSizeWithArguments):
- contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
- contentextensions/DFABytecodeCompiler.h:
- contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
- contentextensions/DFABytecodeInterpreter.h:
- loader/ResourceLoadInfo.h:
Keep track of which actions have an if-domain trigger. If an action is in the
filtersWithDomainsBytecode, then it either has an if-domain or an unless-domain in its trigger.
This requires additional information in the bytecode, so there are two new bytecode types.
Source/WebKit2:
- Shared/WebCompiledContentExtension.cpp:
(WebKit::WebCompiledContentExtension::filtersWithoutDomainsBytecode):
(WebKit::WebCompiledContentExtension::filtersWithoutDomainsBytecodeLength):
(WebKit::WebCompiledContentExtension::filtersWithDomainsBytecode):
(WebKit::WebCompiledContentExtension::filtersWithDomainsBytecodeLength):
(WebKit::WebCompiledContentExtension::domainFiltersBytecode):
(WebKit::WebCompiledContentExtension::domainFiltersBytecodeLength):
(WebKit::WebCompiledContentExtension::bytecode): Deleted.
(WebKit::WebCompiledContentExtension::bytecodeLength): Deleted.
- Shared/WebCompiledContentExtension.h:
- Shared/WebCompiledContentExtensionData.cpp:
(WebKit::WebCompiledContentExtensionData::encode):
(WebKit::WebCompiledContentExtensionData::decode):
- Shared/WebCompiledContentExtensionData.h:
(WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
- UIProcess/API/APIUserContentExtensionStore.cpp:
(API::ContentExtensionMetaData::fileSize):
(API::encodeContentExtensionMetaData):
(API::decodeContentExtensionMetaData):
(API::compiledToFile):
(API::createExtension):
Keep track of 3 different types of bytecode to be able to handle domain-specific rules.
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
Moved CompiledContentExtensionData from ContentExtensionCompiler.h because it is only used for testing.
(TestWebKitAPI::mainDocumentRequest):
(TestWebKitAPI::subResourceRequest):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkCompilerError):
Added tests for parsing and functionality of if-domain and unless-domain.
LayoutTests:
- http/tests/contentextensions/domain-rules-expected.txt: Added.
- http/tests/contentextensions/domain-rules.html: Added.
- http/tests/contentextensions/domain-rules.html.json: Added.
- 12:32 PM Changeset in webkit [184115] by
-
- 2 edits in trunk/Source/WebCore
Add srcset, sizes and picture to the features json
https://bugs.webkit.org/show_bug.cgi?id=144862
Reviewed by Benjamin Poulain.
Add the srcset w descriptor and sizes attribute as a new feature in the JSON file,
as well as adding the picture element and srcset's x descriptor as seperate features.
No new tests, since no new functionality added.
- features.json:
- 12:01 PM Changeset in webkit [184114] by
-
- 2 edits in trunk/Source/WebCore
Fix checkingLogicalHeight initialization in Document::updateLayoutIfDimensionsOutOfDate()
https://bugs.webkit.org/show_bug.cgi?id=144873
Reviewed by Simon Fraser.
Fix checkingLogicalHeight initialization in Document::updateLayoutIfDimensionsOutOfDate().
checkingLogicalHeight should only be initialized to true when
"dimensionsCheck & WidthDimensionsCheck" if isVertical is true.
- dom/Document.cpp:
(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
- 11:59 AM Changeset in webkit [184113] by
-
- 2 edits in branches/safari-601.1.32-branch/Source/WebKit2
Merged r184004. rdar://problem/20593291
- 11:41 AM Changeset in webkit [184112] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, remove unintended change.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 11:30 AM Changeset in webkit [184111] by
-
- 3 edits in trunk/Source/JavaScriptCore
Make it easy to enable eager/non-concurrent JIT compilation
https://bugs.webkit.org/show_bug.cgi?id=144877
Reviewed by Michael Saboff.
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
- 11:18 AM Changeset in webkit [184110] by
-
- 3 edits7 adds in trunk
We shouldn't promote LoadVarargs to a sequence of GetStacks and PutStacks if doing so would exceed the LoadVarargs' limit
https://bugs.webkit.org/show_bug.cgi?id=144851
Reviewed by Michael Saboff.
Source/JavaScriptCore:
LoadVarargs loads arguments from some object and puts them on the stack. The region of
stack is controlled by a bunch of meta-data, including InlineCallFrame. InlineCallFrame
shouldn't really be edited after ByteCodeParser, so we cannot convert LoadVarargs to
something that uses more stack than the LoadVarargs wanted to.
This check was missing in the ArgumentsEliminationPhase's LoadVarargs->GetStack+PutStack
promoter. This is an important promotion rule for performance, and in cases where we are
compiling truly hot code, the LoadVarargs limit will be at least as big as the length of
the phantom arguments array that this phase sees. The LoadVarargs limit is based on
profiling and the phantom arguments array is a proof; in most cases the profiling is more
conservative.
But, you could write some crazy code where the statically obvious arguments array value is
bigger than what the profiling would have told you. When this happens, this promotion
effectively removes a bounds check. This either results in us clobbering a bunch of stack,
or it means that we never initialize a region of the stack that a later operation will read
(the uninitialization happens because PutStackSinkingPhase removes PutStacks that appear
unnecessary, and a GetMyArgumentByVal will claim not to use the region of the stack outside
the original LoadVarargs limit).
- dfg/DFGArgumentsEliminationPhase.cpp:
- tests/stress/load-varargs-elimination-bounds-check-barely.js: Added.
(foo):
(bar):
(baz):
- tests/stress/load-varargs-elimination-bounds-check.js: Added.
(foo):
(bar):
(baz):
LayoutTests:
- js/regress/load-varargs-elimination-expected.txt: Added.
- js/regress/load-varargs-elimination.html: Added.
- js/regress/script-tests/load-varargs-elimination.js: Added.
(foo):
(bar):
(baz):
- js/regress/sink-huge-activation-expected.txt: Added.
- js/regress/sink-huge-activation.html: Added.
- 11:02 AM Changeset in webkit [184109] by
-
- 4 edits2 adds in trunk/Tools
run-benchmark should support Chrome Canary and Firefox Nightly
https://bugs.webkit.org/show_bug.cgi?id=144850
Reviewed by Darin Adler.
Added the support for Chrome Canary, Firefox (release), and Firefox Nightly.
This patch also extracts OSXBrowserDriver to launch and terminate processes on OS X.
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json:
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: Added.
(OSXBrowserDriver):
(OSXBrowserDriver.prepareEnv): Extracted from ChromeBrowserDriver.prepareEnv.
(OSXBrowserDriver.closeBrowsers): Ditto.
(OSXBrowserDriver.launchProcess): Ditto.
(OSXBrowserDriver.terminateProcesses): Ditto.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver): Removed the unused self.chromePreferences.
(OSXChromeDriver.prepareEnv): Moved to OSXBrowserDriver.
(OSXChromeDriver.closeBrowsers): Ditto.
(OSXChromeDriver.launchUrl):
(OSXChromeCanaryDriver): Added.
(OSXChromeCanaryDriver.launchUrl):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: Added.
(OSXFirefoxDriver): Added.
(OSXFirefoxDriver.launchUrl):
(OSXFirefoxNightlyDriver): Added.
(OSXFirefoxNightlyDriver.launchUrl):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver):
(OSXSafariDriver.closeBrowsers):
- 10:50 AM Changeset in webkit [184108] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: NavigationSidebarPanel leaks some event listeners
https://bugs.webkit.org/show_bug.cgi?id=144523
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.closed):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.closed):
- UserInterface/Views/SearchSidebarPanel.js:
(WebInspector.SearchSidebarPanel.prototype.closed):
- UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel.prototype.closed):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.closed):
- 10:47 AM Changeset in webkit [184107] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSON.stringify shouldn't use generic get() to access Array.length
<https://webkit.org/b/144847>
Reviewed by Geoffrey Garen.
If the value being serialized is a JSArray object, we can downcast and call its
length() directly instead of doing a generic property lookup.
0.5% progression on Kraken/json-stringify-tinderbox.
- runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
- 10:38 AM Changeset in webkit [184106] by
-
- 8 edits in trunk
Page overlay action context override should indicate the source of the request
https://bugs.webkit.org/show_bug.cgi?id=144832
<rdar://problem/20562594>
Reviewed by Darin Adler.
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
- WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::actionContextForResultAtPoint):
- WebProcess/WebPage/WebPageOverlay.h:
(WebKit::WebPageOverlay::Client::actionContextForResultAtPoint):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation):
Add a parameter to WKBundlePageOverlayActionContextForResultAtPoint so that
clients can tell whether the requested action context should be targetted
at an action menu or immediate action.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundle.mm:
(TestWebKitAPI::ActionMenuTest::actionContextForResultAtPoint):
- 10:27 AM Changeset in webkit [184105] by
-
- 30 edits in trunk/Source
[iOS] Close all open databases in expiration handler of process assertion
https://bugs.webkit.org/show_bug.cgi?id=144661
<rdar://problem/20845052>
Reviewed by Darin Adler.
Source/WebCore:
Expose functionality in WebCore to close all open databases. Closing a SQLite database
will interrupt any in-progress database transactions.
- Modules/webdatabase/AbstractDatabaseServer.h:
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::closeAllDatabases): Added; turns around and calls DatabaseServer::closeAllDatabases().
- Modules/webdatabase/DatabaseManager.h: Export DatabaseManager::closeAllDatabases() so that
we can call in from WebKit2.
- Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::closeAllDatabases): Added; turns around and calls DatabaseTracker::closeAllDatabases().
- Modules/webdatabase/DatabaseServer.h:
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::closeAllDatabases): Added; closes all open databases.
- Modules/webdatabase/DatabaseTracker.h: Export DatabaseTracker::closeAllDatabases() so that
we can call in from Legacy WebKit.
Source/WebKit/mac:
For Legacy WebKit, close all open databases when the process assertion expiration
handler is called.
- Storage/WebDatabaseManager.mm:
(+[WebDatabaseManager startBackgroundTask]): Call DatabaseTracker::tracker().closeAllDatabases()
in the expiration handler to close all open databases. As a side effect of closing
a database all in-progress database transactions are interrupted.
Source/WebKit2:
For WebKit2, close all open databases when the process assertion expiration
handler is called.
When the process assertion expiration handler is called we dispatch a synchronous
message called ProcessWillSuspendImminently to the {Web, Network} processes to inform
them that they will be suspended imminently. The {Web, Network} process will always
service this message regardless if they were waiting for another message. In the
WebProcess, we will close all open databases among other tasks upon receiving this
message. In the NetworkProcess, we will purge some data from memory.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveSyncMessage): Modified to call NetworkProcess::didReceiveSyncNetworkProcessMessage()
to process the synchronous ProcessWillSuspendImminently message.
(WebKit::NetworkProcess::processWillSuspendImminently): Added; free some memory.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in: Added synchronous message ProcessWillSuspendImminently.
- Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::sendSync): Added parameter sendSyncFlags so that we can send
a sync message with flag IPC::InterruptWaitingIfSyncMessageArrives to cause the {Web, Network}Process
to process the message regardless of whether it is waiting for another message.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendProcessWillSuspendImminently): Added. Sends the message
ProcessWillSuspendImminently to the NetworkProcess.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAndUIAssertion::setClient): Added.
- UIProcess/ProcessAssertion.h: Added abstract class ProcessAssertionClient.
(WebKit::ProcessAssertionClient::~ProcessAssertionClient): Added.
(WebKit::ProcessAssertion::setClient): Added.
(WebKit::ProcessAssertion::client): Added.
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::didConnectToProcess):
(WebKit::ProcessThrottler::assertionWillExpireImminently): Added; implements the ProcessAssertionClient
interface. Notify the process throttler clients that the assertion is near expiration.
- UIProcess/ProcessThrottler.h:
- UIProcess/ProcessThrottlerClient.h: Added
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendProcessWillSuspendImminently): Added. Sends the message
ProcessWillSuspendImminently to the WebProcess.
- UIProcess/WebProcessProxy.h:
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager addClient:]): Added.
(-[WKProcessAssertionBackgroundTaskManager removeClient:]): Added.
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]): Modified expiration handler
to notify ProcessAssertionClient clients that the assertion is near expiration.
(WebKit::ProcessAssertion::~ProcessAssertion): Remove the client on destruction.
(WebKit::ProcessAndUIAssertion::setClient): Added.
- WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::closeAllDatabases): Added; turns around and calls DatabaseManager::closeAllDatabases().
- WebProcess/WebCoreSupport/WebDatabaseManager.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage): Call WebProcess::didReceiveSyncWebProcessMessage() to process
the synchronous ProcessWillSuspendImminently message. Removed logging for an unhandled synchronous message
since WebProcess::didReceiveSyncWebProcessMessage() will ASSERT_NOT_REACHED() for such a message.
(WebKit::WebProcess::prepareToSuspend): Extracted code from WebProcess::processWillSuspend() so that it can
be used from both WebProcess::processWillSuspend() and WebProcess::processWillSuspendImminently(). And modified
it to conditionally dispatch a ProcessReadyToSuspend message to the WebProcessProxy. We only want to dispatch
such a message as part of a coordinated suspension by the ProcessThrottler. That is, we do not want to dispatch
the ProcessReadyToSuspend message when the background assertion is near expiration (i.e. WebProcess::processWillSuspendImminently()
is called).
(WebKit::WebProcess::processWillSuspendImminently): Added. Suspend all open databases among other tasks.
(WebKit::WebProcess::processWillSuspend): Implemented in terms of WebProcess::prepareToSuspend().
(WebKit::WebProcess::processSuspensionCleanupTimerFired): Modified to conditionally dispatch a ProcessReadyToSuspend
message to the WebProcessProxy.
(WebKit::WebProcess::processDidResume): Stop the suspension cleanup timer, which may be active if the WebProcess
did not mark all its graphics layers as volatile before process suspension.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in: Added synchronous message ProcessWillSuspendImminently.
- 9:26 AM Changeset in webkit [184104] by
-
- 2 edits in trunk/Source/WebCore
WebContent crash under com.apple.WebCore: WebCore::WebKitCSSResourceValue::isCSSValueNone const + 6
https://bugs.webkit.org/show_bug.cgi?id=144870
rdar://problem/20727702
Reviewed by Simon Fraser.
No repro but we are seeing null pointer crashes like this:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.WebCore 0x00007fff92da5706 WebCore::WebKitCSSResourceValue::isCSSValueNone() const + 6
1 com.apple.WebCore 0x00007fff93382b48 WebCore::MaskImageOperation::isCSSValueNone() const + 24
2 com.apple.WebCore 0x00007fff92e0475e WebCore::FillLayer::hasNonEmptyMaskImage() const + 30
- platform/graphics/MaskImageOperation.cpp:
(WebCore::MaskImageOperation::MaskImageOperation):
(WebCore::MaskImageOperation::isCSSValueNone):
This would crash like this if both m_styleImage and m_cssMaskImageValue are null.
There are no obvious guarantees that this doesn't happen. Two of the constructor variants allow it
and there is setImage which may turn m_styleImage null later too.
Fix by making null m_cssMaskImageValue always signify CSSValueNone.
(WebCore::MaskImageOperation::cssValue):
- 8:47 AM Changeset in webkit [184103] by
-
- 6 edits4 adds in releases/WebKitGTK/webkit-2.8
Merge r183436 - Form control may be associated with the wrong HTML Form element after form id change
https://bugs.webkit.org/show_bug.cgi?id=133456
<rdar://problem/17095055>
Reviewed by Andy Estes.
Source/WebCore:
Fixes an issue where a form control may be associated with the wrong HTML Form element
after the id of the HTML Form element associated with the form control is changed when
there is more than one HTML Form element with the same id in the document. Specifically,
a form control that has an HTML form attribute value X will always be associated with
some HTML Form element f where f.id = X regardless of whether f.id is subsequently
changed.
Tests: fast/forms/change-form-id-to-be-unique-then-submit-form.html
fast/forms/change-form-id-to-be-unique.html
- dom/Element.cpp:
(WebCore::Element::attributeChanged): Notify observers when the id of an element changed.
(WebCore::Element::updateId): Added parameter NotifyObservers (defaults to NotifyObservers::Yes),
as to whether we should notify observers of the id change.
(WebCore::Element::updateIdForTreeScope): Ditto.
(WebCore::Element::willModifyAttribute): Do not notify observers of the id change immediately. As
indicated by the name of this method, we plan to modify the DOM attribute id of the element, but
we have not actually modified it when this method is called. Instead we will notify observers
in Element::attributeChanged(), which is called after the DOM attribute id is modified.
(WebCore::Element::cloneAttributesFromElement): Ditto.
- dom/Element.h: Defined enum class NotifyObservers.
- dom/TreeScope.cpp:
(WebCore::TreeScope::addElementById): Added boolean parameter notifyObservers (defaults to true)
as to whether we should dispatch a notification to all observers.
(WebCore::TreeScope::removeElementById): Ditto.
- dom/TreeScope.h:
LayoutTests:
Add tests to ensure that we associate the correct HTML Form element with a
<select> after changing the id of its associated HTML form element.
- fast/forms/change-form-id-to-be-unique-expected.txt: Added.
- fast/forms/change-form-id-to-be-unique-then-submit-form-expected.txt: Added.
- fast/forms/change-form-id-to-be-unique-then-submit-form.html: Added.
- fast/forms/change-form-id-to-be-unique.html: Added.
- 8:43 AM WebKitGTK/2.8.x edited by
- Propose r184072 and split out OS X merges (diff)
- 8:40 AM Changeset in webkit [184102] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening 11th May.
https://bugs.webkit.org/show_bug.cgi?id=144863
Unreviewed.
Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-05-11
- platform/gtk/TestExpectations:
- 8:30 AM Changeset in webkit [184101] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r183404 - Fix viewport units in Media Queries
https://bugs.webkit.org/show_bug.cgi?id=144260
Reviewed by Darin Adler.
Source/WebCore:
This patch makes sure that viewport units are considered "length units"
in the context of Media Queries, by having MediaQueryExp use the unit logic
that is in CSSPrimitiveValue.
It does that by turning the relevant methods in CSSPrimitiveValue into static.
It also makes sure that the logic for "resolution units" is not maintained separately
in MediaQueryExp, to avoid similiar issues in the future with resolution units.
Test: fast/media/mq-viewport-units.html
- css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isViewportPercentageLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isResolution): Added a static variant.
- css/MediaQueryExp.cpp:
(WebCore::featureWithValidPositiveLenghtOrNumber): Call CSSPrimitiveValue's length unit logic.
(WebCore::featureWithValidDensity): Call CSSPrimitiveValue's resolution unit logic.
LayoutTests:
These tests make sure that viewport units are working as expected inside of Media Queries.
- fast/media/mq-viewport-units-expected.txt: Added.
- fast/media/mq-viewport-units.html: Added.
- 8:18 AM Changeset in webkit [184100] by
-
- 2 edits1 add in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore
Merge r183291 - [JSC] When inserting a NaN into a Int32 array, we convert it to DoubleArray then to ContiguousArray
https://bugs.webkit.org/show_bug.cgi?id=144169
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-24
Reviewed by Geoffrey Garen.
- runtime/JSObject.cpp:
(JSC::JSObject::convertInt32ForValue):
DoubleArray do not store NaN, they are used for holes.
What happened was:
1) We fail to insert the NaN in the Int32 array because it is a double.
2) We were converting the array to DoubleArray.
3) We were trying to insert the value again. We would fail again because
DoubleArray does not store NaN.
4) We would convert the DoubleArrayt to Contiguous Array, converting the values
to boxed values.
- tests/stress/int32array-transition-on-nan.js: Added.
The behavior is not really observable. This only test nothing crashes in those
cases.
(insertNaNWhileFilling):
(testInsertNaNWhileFilling):
(insertNaNAfterFilling):
(testInsertNaNAfterFilling):
(pushNaNWhileFilling):
(testPushNaNWhileFilling):
- 8:15 AM Changeset in webkit [184099] by
-
- 5 edits9 adds in releases/WebKitGTK/webkit-2.8
Merge r183280,r183672 - Origin header is preserved on cross-origin redirects.
https://bugs.webkit.org/show_bug.cgi?id=144157.
Reviewed by Sam Weinig.
Source/WebCore:
Tests: http/tests/security/cors-post-redirect-301.html
http/tests/security/cors-post-redirect-302.html
http/tests/security/cors-post-redirect-307.html
http/tests/security/cors-post-redirect-308.html
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willSendRequest): Always clear any origin header for cross-origin redirects.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest): Ditto.
LayoutTests:
- http/tests/security/cors-post-redirect-301-expected.txt: Added.
- http/tests/security/cors-post-redirect-301.html: Added.
- http/tests/security/cors-post-redirect-302-expected.txt: Added.
- http/tests/security/cors-post-redirect-302.html: Added.
- http/tests/security/cors-post-redirect-307-expected.txt: Added.
- http/tests/security/cors-post-redirect-307.html: Added.
- http/tests/security/cors-post-redirect-308-expected.txt: Added.
- http/tests/security/cors-post-redirect-308.html: Added.
- http/tests/security/resources/cors-post-redirect-target.php: Added.
[GTK] New CORS tests from r183280 fail on WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=144469
Reviewed by Sergio Villar Senin.
No new tests. This causes failing tests to pass.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Clear the origin header on cross-origin redirects.
- 8:08 AM Changeset in webkit [184098] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.8
Merge r183275 - Made Object.prototype.proto native getter and setter check that this object not null or undefined
https://bugs.webkit.org/show_bug.cgi?id=141865
rdar://problem/19927273
Reviewed by Filip Pizlo.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
LayoutTests:
Added tests to ensure that Object.prototype.proto native getter and setter do not coerce undefined to this
https://bugs.webkit.org/show_bug.cgi?id=141865
rdar://problem/19927273
Reviewed by Filip Pizlo.
- js/script-tests/sloppy-getter-setter-global-object.js: Added.
- js/sloppy-getter-setter-global-object-expected.txt: Added.
- js/sloppy-getter-setter-global-object.html: Added.
- 8:08 AM Changeset in webkit [184097] by
-
- 3 edits2 adds in trunk
AX: Crash at WebCore::AccessibilityMenuList::addChildren()
https://bugs.webkit.org/show_bug.cgi?id=144860
Reviewed by Mario Sanchez Prada.
Source/WebCore:
There were some unsafe pointer accesses in AccessibilityMenuList code that needed to be cleaned up.
Test: accessibility/menu-list-crash2.html
- accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::addChildren):
LayoutTests:
- accessibility/menu-list-crash2-expected.txt: Added.
- accessibility/menu-list-crash2.html: Added.
- 7:00 AM Changeset in webkit [184096] by
-
- 6 edits in releases/WebKitGTK/webkit-2.8/Source
Merge r183255 - [SOUP] Use a webkit subdirectory for the disk cache
https://bugs.webkit.org/show_bug.cgi?id=144048
Reviewed by Martin Robinson.
Source/WebCore:
Add a static method to SoupNetworkSession to clear a soup cache
given its directory.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::strIsNumeric):
(WebCore::SoupNetworkSession::clearCache):
- platform/network/soup/SoupNetworkSession.h:
Source/WebKit2:
Recent versions of libsoup remove any file in cache dir not
referenced by the index when the cache is loaded to workaround
leaked resources when load/dump is unbalanced for whatever reason,
like a crash. We currently use $XDG_CACHE_HOME/app-name as default
disk cache directory, but that directory could be used by apps to
cache other things, and the soup cache might end up deleting other
stuff. The soup cache assumes the given directory is only for the
disk cache, so we should ensure that.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Append
webkit to the given disk cache and clear the previous soup cache if it exists.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
- 6:43 AM Changeset in webkit [184095] by
-
- 7 edits in releases/WebKitGTK/webkit-2.8/Source
Merge r183179 - [WK2] WebDiagnosticLoggingClient is leaking
https://bugs.webkit.org/show_bug.cgi?id=144089
<rdar://problem/19706214>
Reviewed by Darin Adler.
WebDiagnosticLoggingClient is leaking. It is constructed inside WebPage
constructor but there is no code destroying it.
This patch adds a new xxxDestroyed() virtual function to
DiagnosticLoggingClient and that is overriden in
WebDiagnosticLoggingClient to call "delete this". This is the same
pattern as for other WK2 clients (e.g. WebFrameLoaderClient,
WebProgressTrackerClient).
Source/WebCore:
- loader/EmptyClients.h:
- page/DiagnosticLoggingClient.h:
- page/MainFrame.cpp:
(WebCore::MainFrame::~MainFrame):
Source/WebKit2:
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed):
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
- 6:41 AM Changeset in webkit [184094] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183178 - CrashTracer: WebProcess at com.apple.WebCore: WebCore::toScriptElementIfPossible + 4
https://bugs.webkit.org/show_bug.cgi?id=144050
rdar://problem/15534973
Reviewed by Chris Dumez.
We are seeing null Element pointer crashes with this stack:
47 com.apple.WebCore: WebCore::toScriptElementIfPossible + 4 <==
47 com.apple.WebCore: WebCore::ScriptRunner::timerFired + 452
47 com.apple.WebCore: WebCore::ThreadTimers::sharedTimerFiredInternal + 175
The most likely cause seems to be that this code
ASSERT(m_pendingAsyncScripts.contains(scriptElement));
m_scriptsToExecuteSoon.append(m_pendingAsyncScripts.take(scriptElement));
in ScriptRunner::notifyScriptReady fails to find scriptElement and we are left with a null entry in
m_scriptsToExecuteSoon. However I haven't managed to repro this or find the exact path how this
could happen. The related code is fragile with lot of state (in ScriptElement class)
and involves many opportunities for re-entry via scripts.
No repro, no test case.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::timerFired):
Paper this over by adding a null check. We could check m_pendingAsyncScripts.take() above
but this also covers possibility this is caused by something else.
- 6:38 AM Changeset in webkit [184093] by
-
- 4 edits in releases/WebKitGTK/webkit-2.8
Merge r183088 - [Cairo] Implement Path::addPath
https://bugs.webkit.org/show_bug.cgi?id=130580
Reviewed by Dirk Schulze.
Source/WebCore:
Add support for addPath method for ports using cairo.
This patch is originally authored by Jae Hyun Park <jaepark@webkit.org>.
Test: fast/canvas/canvas-path-addPath.html
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addPath): Implement addPath for cairo.
LayoutTests:
Enable addPath testcase in EFL port.
- platform/efl/TestExpectations:
- 6:32 AM Changeset in webkit [184092] by
-
- 10 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r183064 - Use ASSERT_WITH_SECURITY_IMPLICATION() for NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=143971
Reviewed by Darin Adler.
Use ASSERT_WITH_SECURITY_IMPLICATION() for NoEventDispatchAssertion as
firing JS events can cause arbitrary JS execution which often leads to
security bugs when event firing is forbidden. For e.g. firing events
from ActiveDOMObject::suspend() means JS can construct or destroy
ActiveDOMObjects while we are iterating over them.
- dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notify):
- dom/Document.cpp:
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
- dom/Element.cpp:
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
- dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
- dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
- dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
- dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
- 6:31 AM Changeset in webkit [184091] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r183053 - REGRESSION (r177494): -webkit-mask-image: with data URI fails on non-local files
https://bugs.webkit.org/show_bug.cgi?id=141857
Reviewed by Dirk Schulze.
Source/WebCore:
r177494 regressed loading of data URIs in masks with remote content, triggering
a cross-domain error which occurs because the mask loading happened via a separate
SVGDocument.
Fix by checking for data URIs at parsing time, which is what we used to do.
Test: http/tests/css/data-uri-mask.html
- css/CSSParser.cpp:
(WebCore::CSSParser::parseMaskImage):
- svg/SVGURIReference.h:
(WebCore::SVGURIReference::isExternalURIReference):
LayoutTests:
Ref test with a masked green square. Has to be an http test to trigger the
origin checking.
- http/tests/css/data-uri-mask-expected.html: Added.
- http/tests/css/data-uri-mask.html: Added.
- 6:12 AM Changeset in webkit [184090] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
Merge r182980 - Clients sometimes block for 500ms in waitForPossibleGeometryUpdates
https://bugs.webkit.org/show_bug.cgi?id=143901
<rdar://problem/20488655>
Reviewed by Anders Carlsson.
- Platform/IPC/Connection.cpp:
(IPC::Connection::waitForMessage):
InterruptWaitingIfSyncMessageArrives already cancels waitForMessage if
a sync message arrives while waiting, but it should also avoid waiting
if there's a sync message already in the queue when the waiting starts,
as that will have the same nasty effect.
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
If a synchronous message comes in from the Web process while we're waiting,
cancel our synchronous wait for DidUpdateGeometry. This will cause the size
change to not synchronize with the Web process' painting, but that is better
than pointlessly blocking for 500ms.
- 6:10 AM Changeset in webkit [184089] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
Merge r182979 - Possible null pointer dereference in WebDiagnosticLoggingClient::logDiagnosticMessageWithValue()
https://bugs.webkit.org/show_bug.cgi?id=143899
<rdar://problem/20584215>
Reviewed by Anders Carlsson.
WebDiagnosticLoggingClient::logDiagnosticMessage*() methods failed to
check that m_page.corePage() was non-null before dereferencing, thus
causing crashes when it is null.
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
- 6:08 AM Changeset in webkit [184088] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r182974 - Large values for line-height cause integer overflow in RenderStyle::computedLineHeight
https://bugs.webkit.org/show_bug.cgi?id=143863
Reviewed by Rob Buis.
Source/WebCore:
When we compute huge values for line-height through percentage or CSS
calc, we'll overflow the integer and later on
ShapeOutsideInfo::computeDeltasForContainingBlockLine will ASSERT
because it expects non-negative line height. So for the computed
line-height, clamp to an integer range to avoid overflow. Note that
the code path for percentages here is safe because LayoutUnit clamps
to an int on conversion.
This is based on a Blink patch by Rob Buis.
Test: fast/shapes/shape-outside-floats/shape-outside-negative-line-height-crash.html
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::computedLineHeight): Clamp line-height to an
int to avoid overflow.
LayoutTests:
Simplified test from a fuzzer.
- fast/shapes/shape-outside-floats/shape-outside-negative-line-height-crash-expected.txt: Added.
- fast/shapes/shape-outside-floats/shape-outside-negative-line-height-crash.html: Added.
- 6:05 AM Changeset in webkit [184087] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r182962 - RenderTableCell::computeCollapsed*Border() should check if the cell is still attached to the render tree.
https://bugs.webkit.org/show_bug.cgi?id=143887
rdar://problem/20568989
Reviewed by Simon Fraser.
Detached table cell has no access to its parent table. This is a speculative fix to
avoid dereferencing the invalid table pointer.
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeCollapsedStartBorder):
(WebCore::RenderTableCell::computeCollapsedEndBorder):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder):
(WebCore::RenderTableCell::computeCollapsedAfterBorder):
- 6:04 AM Changeset in webkit [184086] by
-
- 4 edits in releases/WebKitGTK/webkit-2.8
Merge r182943 - [SOUP] Redirect to non HTTP destination is broken
https://bugs.webkit.org/show_bug.cgi?id=143866
Reviewed by Sergio Villar Senin.
Source/WebCore:
This is because we are passing true unconditionally as
isHTTPFamilyRequest parameter of
createSoupRequestAndMessageForHandle in continueAfterWillSendRequest.
We don't actually need to pass isHTTPFamilyRequest parameter to
createSoupRequestAndMessageForHandle, since it can simply check
that from the given request.
Covered by unit tets and also cache/disk-cache/disk-cache-redirect-to-data.html.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::continueAfterWillSendRequest):
(WebCore::createSoupRequestAndMessageForHandle):
(WebCore::ResourceHandle::start):
Tools:
Add a unit test to check that redirect to a data URI works.
- TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:
(testRedirectToDataURI):
(serverCallback):
(beforeAll):
- 6:01 AM Changeset in webkit [184085] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r182918 - Media element can manipulate DOM during Document destruction.
rdar://problem/20553898 and https://bugs.webkit.org/show_bug.cgi?id=143780
Patch by Brady Eidson <beidson@apple.com> on 2015-04-16
Reviewed by Jer Noble.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureMediaControls): Bail if the element has no active document.
- 5:59 AM Changeset in webkit [184084] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r182880 - We should dump GraphicsLayer's anchorPoint z component
https://bugs.webkit.org/show_bug.cgi?id=143815
Reviewed by Tim Horton.
We didn't include the z component of a layer's anchor point when dumping.
Dump if it's non-zero (to avoid having to change lots of test output).
No test with non-zero z appears to dump layers.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):
- rendering/style/RenderStyle.cpp:
(WebCore::requireTransformOrigin): Remove a FIXME which, on further consideration,
is wrong.
- 5:10 AM Changeset in webkit [184083] by
-
- 5 edits in releases/WebKitGTK/webkit-2.8
Merge r182872 - String.prototype.startsWith/endsWith/includes have wrong length in r182673
https://bugs.webkit.org/show_bug.cgi?id=143659
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-15
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Fix lengths of String.prototype.{includes,startsWith,endsWith} per spec
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.includes
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
LayoutTests:
- js/script-tests/string-includes.js:
- js/string-includes-expected.txt:
- 5:05 AM Changeset in webkit [184082] by
-
- 5 edits in releases/WebKitGTK/webkit-2.8
Merge r182868 - Math.imul has wrong length in Safari 8.0.4
https://bugs.webkit.org/show_bug.cgi?id=143658
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-15
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Correcting function length from 1, to 2, to match spec
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.imul
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
LayoutTests:
- js/script-tests/math.js:
- 5:01 AM Changeset in webkit [184081] by
-
- 5 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r182866 - No thread safety when passing ThreadableLoaderOptions from a worker thread
https://bugs.webkit.org/show_bug.cgi?id=143790
Reviewed by Geoffrey Garen.
- loader/ThreadableLoader.h:
- loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::isolatedCopy): Added.
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Don't just send
a structure with strings to a different thread, that's bad.
- platform/CrossThreadCopier.h: I think that this is dead code, but for this bug,
just removing a clearly wrong specialization.
- 5:00 AM Changeset in webkit [184080] by
-
- 8 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r182707 - Use std::unique_ptr instead of PassOwnPtr|OwnPtr for ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=143056
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-04-13
Reviewed by Gyuyoung Kim.
No new tests, no behavior changes.
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
- platform/CrossThreadCopier.h:
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
- platform/network/ResourceResponseBase.h:
- platform/network/cf/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
- platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
- platform/network/soup/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
- 4:49 AM Changeset in webkit [184079] by
-
- 10 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r181136 - Use std::unique_ptr instead of PassOwnPtr|OwnPtr for ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=142349
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-03-05
Reviewed by Darin Adler.
No new tests, no behavior changes.
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeRequestFromSessionCaches):
- platform/CrossThreadCopier.h:
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):
- platform/network/ResourceRequestBase.h:
- platform/network/cf/ResourceRequest.h:
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
- platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
- platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
- 4:32 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 4:14 AM Changeset in webkit [184078] by
-
- 5 edits in releases/WebKitGTK/webkit-2.8
Merge r182863 - Number.parseInt in nightly r182673 has wrong length
https://bugs.webkit.org/show_bug.cgi?id=143657
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-15
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Correcting funciton length from 1, to 2, to match spec
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.parseint
- runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
LayoutTests:
- js/number-constructor-expected.txt:
- js/script-tests/number-constructor.js:
- 4:06 AM Changeset in webkit [184077] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.8
Merge r182835 - Make inline continuation style change logic consistent.
https://bugs.webkit.org/show_bug.cgi?id=143737
rdar://problem/20486596
Reviewed by Simon Fraser.
Do not force RenderBlock type-casting on the first sibling of the continuation's container.
The first sibling of the container of a continuation should be handled as the rest of the siblings.
Source/WebCore:
Test: fast/inline/inline-with-column-span-and-remove-block-child-crash.html
- rendering/RenderInline.cpp:
(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::styleDidChange):
LayoutTests:
- fast/inline/inline-with-column-span-and-remove-block-child-crash-expected.txt: Added.
- fast/inline/inline-with-column-span-and-remove-block-child-crash.html: Added.
- 4:04 AM Changeset in webkit [184076] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore
Merge r182827 - DFG register fillSpeculate*() functions should validate incoming spill format is compatible with requested fill format
https://bugs.webkit.org/show_bug.cgi?id=143727
Reviewed by Geoffrey Garen.
Used the result of AbstractInterpreter<>::filter() to check that the current spill format is compatible
with the requested fill format. If filter() reports a contradiction, then we force an OSR exit.
Removed individual checks made redundant by the new check.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
- 4:04 AM Changeset in webkit [184075] by
-
- 2 edits1 add in trunk/LayoutTests
[GTK] Gardening 7th May.
https://bugs.webkit.org/show_bug.cgi?id=144735
Unreviewed.
Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-05-11
- platform/gtk/TestExpectations:
- platform/gtk/media/video-controls-no-scripting-expected.txt: Added.
- 3:53 AM Changeset in webkit [184074] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r182810 - Media elements not in a page shouldn't load.
https://bugs.webkit.org/show_bug.cgi?id=143720
Reviewed by Jer Noble.
No new tests (Theoretical problem noticed in code review).
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource): Make sure the frame is in a page.
- 3:41 AM Changeset in webkit [184073] by
-
- 2 edits in trunk/Source/WebCore
[WebGL] Unnecessary condition check in the while loop
https://bugs.webkit.org/show_bug.cgi?id=125001
Patch by Przemyslaw Szymanski <p.szymanski3@samsung.com> on 2015-05-11
Reviewed by Csaba Osztrogonác.
While loop in this case needs to be optimized a little.
For now a conditional statement in while will execute two
times at begin. do-while loop avoids to check first statement.
No new tests. No behaviour changed.
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
- 3:21 AM Changeset in webkit [184072] by
-
- 3 edits in trunk/Source/WTF
[GTK] WorkQueue objects are not released
https://bugs.webkit.org/show_bug.cgi?id=144824
Reviewed by Žan Doberšek.
Do not keep a reference of the WorkQueue for the entire life of
its worker thread, since every task scheduled on the WorkQueue
already takes a reference. Instead, take a reference of the main
loop to make sure that when the worker thread starts, the main
loop hasn't been released to avoid runtime warnings (see
webkit.org/b/140998). Also removed the g_main_context_pop_thread_default()
from the thread body, since the thread-specific context queue will
be freed anyway when the thread exits.
If the WorkQueue is released early, before the thread has started,
schedule a main loop quit in the context, to make sure it will
be the first thing run by the main loop and the thread will exit.
- wtf/WorkQueue.h: Remove unused event loop mutex.
- wtf/gtk/WorkQueueGtk.cpp:
(WTF::WorkQueue::platformInitialize):
(WTF::WorkQueue::platformInvalidate):
- 2:38 AM Changeset in webkit [184071] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Reorder Performance class's member initialization sequence
https://bugs.webkit.org/show_bug.cgi?id=144858
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-05-11
Reviewed by Csaba Osztrogonác.
No new tests, no new behaviors.
- page/Performance.cpp:
(WebCore::Performance::Performance):
- 1:52 AM Changeset in webkit [184070] by
-
- 2 edits in trunk/Source/WebCore
Reduce TransformationMatrix copies in WebKitCSSMatrix operations
https://bugs.webkit.org/show_bug.cgi?id=144795
Reviewed by Darin Adler.
Instead of copying the TransformationMatrix member, performing
the operation on it and then copying it again when creating
the new WebKitCSSMatrix object, copy it just once by first
creating the new WebKitCSSMatrix object and then performing
the operation on that object's TransformationMatrix directly.
- css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::multiply):
(WebCore::WebKitCSSMatrix::translate):
(WebCore::WebKitCSSMatrix::scale):
(WebCore::WebKitCSSMatrix::rotate):
(WebCore::WebKitCSSMatrix::rotateAxisAngle):
(WebCore::WebKitCSSMatrix::skewX):
(WebCore::WebKitCSSMatrix::skewY):
- 1:40 AM Changeset in webkit [184069] by
-
- 4 edits in trunk/Source/WebCore
Add missing vtable override specifiers under Source/WebCore/loader, Source/WebCore/xml
https://bugs.webkit.org/show_bug.cgi?id=144793
Reviewed by Darin Adler.
Update virtual method overrides under Source/WebCore/loader
and Source/WebCore/dom which are missing the override specifier.
- loader/DocumentThreadableLoader.h:
(WebCore::DocumentThreadableLoader::refThreadableLoader):
(WebCore::DocumentThreadableLoader::derefThreadableLoader):
- loader/cache/CachedRawResource.h:
- xml/parser/XMLDocumentParser.h:
- 1:39 AM Changeset in webkit [184068] by
-
- 5 edits in trunk/Source/WebCore
Add missing vtable override specifiers under Source/WebCore/accessibility, Source/WebCore/dom
https://bugs.webkit.org/show_bug.cgi?id=144792
Reviewed by Darin Adler.
Update virtual method overrides under Source/WebCore/accessibility
and Source/WebCore/dom which are missing the override specifier.
- accessibility/AccessibilityMockObject.h:
(WebCore::AccessibilityMockObject::isDetachedFromParent): Deleted.
- accessibility/AccessibilityRenderObject.h:
- dom/DecodedDataDocumentParser.h:
- dom/TouchEvent.h:
May 10, 2015:
- 11:38 PM Changeset in webkit [184067] by
-
- 2 edits in trunk/Source/WebCore
Have MediaStream::getAudioTracks(), MediaStream::getVideoTracks() return const references
https://bugs.webkit.org/show_bug.cgi?id=144794
Reviewed by Philippe Normand.
- Modules/mediastream/MediaStream.h: getAudioTracks() and getVideoTracks()
should return a const reference to the member variables, instead of
copying the objects on every call.
- 10:53 PM Changeset in webkit [184066] by
-
- 66 edits in trunk/Source
Use Ref instead of PassRefPtr in WebCore/page
https://bugs.webkit.org/show_bug.cgi?id=144841
Reviewed by Darin Adler.
To kill PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr
in WebCore/page.
Source/WebCore:
No new tests, no behavior changes.
- page/DebugPageOverlays.cpp:
- page/EventSource.cpp:
(WebCore::EventSource::create):
- page/EventSource.h:
- page/History.h:
(WebCore::History::create):
- page/Location.h:
(WebCore::Location::create):
- page/MainFrame.cpp:
(WebCore::MainFrame::create):
- page/MainFrame.h:
- page/Navigator.h:
(WebCore::Navigator::create):
- page/PageOverlay.cpp:
(WebCore::PageOverlay::create):
- page/PageOverlay.h:
- page/Performance.h:
- page/PerformanceEntryList.h:
(WebCore::PerformanceEntryList::create):
- page/PerformanceMark.h:
(WebCore::PerformanceMark::create):
- page/PerformanceMeasure.h:
(WebCore::PerformanceMeasure::create):
- page/PerformanceNavigation.h:
(WebCore::PerformanceNavigation::create):
- page/PerformanceResourceTiming.h:
(WebCore::PerformanceResourceTiming::create):
- page/PerformanceTiming.h:
(WebCore::PerformanceTiming::create):
- page/PerformanceUserTiming.h:
(WebCore::UserTiming::create):
- page/Screen.h:
- page/Settings.cpp:
(WebCore::Settings::create):
- page/Settings.h:
- page/TextIndicator.cpp:
(WebCore::TextIndicator::create):
- page/TextIndicator.h:
- page/UserContentController.cpp:
(WebCore::UserContentController::create):
- page/UserContentController.h:
- page/UserMessageHandlerDescriptor.h:
(WebCore::UserMessageHandlerDescriptor::create):
- page/UserMessageHandlersNamespace.h:
- page/VisitedLinkStore.h:
- page/WebKitNamespace.h:
(WebCore::WebKitNamespace::create):
- page/WebKitPoint.h:
(WebCore::WebKitPoint::create):
- page/WorkerNavigator.h:
(WebCore::WorkerNavigator::create):
- page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
- page/animation/KeyframeAnimation.h:
- page/mac/ServicesOverlayController.h:
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::createForSelection):
(WebCore::ServicesOverlayController::Highlight::createForTelephoneNumber):
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::create):
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::create):
(WebCore::ScrollingStateFixedNode::clone):
- page/scrolling/ScrollingStateFixedNode.h:
- page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::create):
(WebCore::ScrollingStateFrameScrollingNode::clone):
- page/scrolling/ScrollingStateFrameScrollingNode.h:
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
(WebCore::ScrollingStateOverflowScrollingNode::create):
(WebCore::ScrollingStateOverflowScrollingNode::clone):
- page/scrolling/ScrollingStateOverflowScrollingNode.h:
- page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::create):
(WebCore::ScrollingStateStickyNode::clone):
- page/scrolling/ScrollingStateStickyNode.h:
- page/scrolling/ios/ScrollingCoordinatorIOS.mm:
(WebCore::ScrollingCoordinator::create):
- page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
- page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
(WebCore::ScrollingTreeFrameScrollingNodeIOS::create):
- page/scrolling/ios/ScrollingTreeIOS.cpp:
(WebCore::ScrollingTreeIOS::create):
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::create):
- page/scrolling/mac/ScrollingTreeFixedNode.h:
- page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::create):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::create):
- page/scrolling/mac/ScrollingTreeMac.cpp:
(ScrollingTreeMac::create):
- page/scrolling/mac/ScrollingTreeMac.h:
- page/scrolling/mac/ScrollingTreeStickyNode.h:
- page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::create):
Source/WebKit2:
(WebKit::WebUserContentController::WebUserContentController):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setTextIndicator):
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformDictionaryLookup):
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::WebUserContentController):
- 8:56 PM Changeset in webkit [184065] by
-
- 5 edits1 copy8 adds in trunk
background-position sometimes doesn't work properly with background-attachment: fixed
https://bugs.webkit.org/show_bug.cgi?id=103757
rdar://problem/18749925
Reviewed by Darin Adler.
Source/WebCore:
Fix sizing issues with fixed backgrounds when top content inset (blurred toolbar) is in
effect.
The primary issue was that positioningAreaSize was including the top content inset
height, and should not have been, but there were also issues with the "fixedBackgroundPaintsInLocalCoordinates"
code path, which kicks in when the root background is fixed.
Tests: platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover-local.html
platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover.html
platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-local.html
platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-positioned.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
LayoutTests:
Tests various configurations for painting the fixed backgrounds. The existing test was
actually wrong, so fixed to use a gradient (so you can see where the edges of the image are),
and be valid. Testing is complicated by the fact that setting top content inset actually
causes the snapshot to be inset at the top.
- platform/mac-wk2/tiled-drawing/resources/bordered-image.png: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover-expected.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover-local-expected.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover-local.html: Copied from LayoutTests/platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment.html.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-expected.html:
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-local-expected.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-local.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-positioned-expected.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-positioned.html: Added.
- platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment.html:
- 8:09 PM Changeset in webkit [184064] by
-
- 3 edits in trunk/Source/WebKit2
[GTK][SOUP] Web and Network processes don't know how to get memory size on OSX
https://bugs.webkit.org/show_bug.cgi?id=144554
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-05-10
Reviewed by Darin Adler.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformSetCacheModel): Use WTF::ramSize()
instead of local function. Also use WTF::MB instead of dividing by
1024 * 1024.
(WebKit::getMemorySize): Deleted.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel): Ditto.
(WebKit::getMemorySize): Deleted.
- 8:07 PM Changeset in webkit [184063] by
-
- 3 edits in trunk
CMake defines CAIROGL_FOUND, not CAIRO_GL_FOUND
https://bugs.webkit.org/show_bug.cgi?id=144846
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-05-10
Reviewed by Martin Robinson.
- Source/cmake/FindCairoGL.cmake: Use CAIROGL_* instead of
CAIRO_GL_* throughout, because find_package will define
CAIROGL_FOUND.
- Source/cmake/OptionsGTK.cmake: Ditto.
- 8:03 PM Changeset in webkit [184062] by
-
- 2 edits in trunk
[CMake] Some macros need to be defined/undefined, rather than ON/OFF
https://bugs.webkit.org/show_bug.cgi?id=144845
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-05-10
Reviewed by Martin Robinson.
- Source/cmake/OptionsGTK.cmake: Only define MOZ_X11 and XP_UNIX
if their corresponding WTF options are ON. The code in npapi.h
relies on these being undefined if they are to be switched off.
- 6:41 PM Changeset in webkit [184061] by
-
- 6 edits in trunk/Source/WebKit2
Use preview view controller from WebKitSystemInterface.
https://bugs.webkit.org/show_bug.cgi?id=144836
Add a property _allowsLinkPreview to WKWebView so that we can turn on/off preview at runtime. Also,
for client that doesn't provide preview view controller, use the default view controller prepared
by WebKitSystemInterface.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-05-10
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _allowsLinkPreview]):
(-[WKWebView _setAllowsLinkPreview:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h: Add _allowsLinkPreview property
- UIProcess/ios/WKContentView.mm:
(-[WKContentView willMoveToWindow:]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _registerPreviewInWindow:]):
(-[WKContentView _unregisterPreviewInWindow:]):
(-[WKContentView previewViewControllerForPosition:inSourceView:]): : For client that doesn't provide
preview delegate, use preview view controller in WebKitSystemInterface.
(-[WKContentView commitPreviewViewController:]):
- 5:57 PM Changeset in webkit [184060] by
-
- 4 edits in trunk
[GTK] fast/events/page-visibility-transition-test.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=114789
Reviewed by Darin Adler.
Tools:
- WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::setHidden): Map and unmap the WebView when the harness
requests visibility changes.
LayoutTests:
- platform/gtk/TestExpectations: Unskip failing tests.
- 4:28 PM Changeset in webkit [184059] by
-
- 2 edits in trunk/Source/WebKit2
Fix internal Apple builds on Mavericks.
- UIProcess/API/mac/WKView.mm:
(-[WKView _dismissContentRelativeChildWindows]): Added missing conditionals around
some code that is for OS X 10.10 or newer only. There were similar conditionals around
other nearby code in this file, and around other uses of the same method in other files,
so matched the style.
- 3:49 PM Changeset in webkit [184058] by
-
- 2 edits in trunk/Source/WebKit2
iOS internal build fix.
- Platform/mac/MenuUtilities.mm:
- 3:15 PM Changeset in webkit [184057] by
-
- 2 edits in trunk/Tools
[EFL] Fix install-dependencies on Ubuntu 14.10/15.04
https://bugs.webkit.org/show_bug.cgi?id=144798
Reviewed by Darin Adler.
- efl/install-dependencies:
- 2:45 PM Changeset in webkit [184056] by
-
- 5 edits in trunk/Source
Get rid of the public item accessors in BackForwardClient
https://bugs.webkit.org/show_bug.cgi?id=144827
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-10
Reviewed by Darin Adler.
Remove backItem(), currentItem(), and forwardItem() from BackForwardClient.
We can still use these functionalities through BackForwardController.
No new tests, no behavior change.
Source/WebCore:
- history/BackForwardClient.h:
(WebCore::BackForwardClient::backItem): Deleted.
(WebCore::BackForwardClient::currentItem): Deleted.
(WebCore::BackForwardClient::forwardItem): Deleted.
Source/WebKit/mac:
- WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]):
- 2:43 PM Changeset in webkit [184055] by
-
- 33 edits in trunk/Source/WebCore
Rename Length::isPercent() and Length::isPercentNotCalculated().
https://bugs.webkit.org/show_bug.cgi?id=144791
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-10
Reviewed by Darin Adler.
- Rename these methods as below for consistency and clarity.
Length::isPercentNotCalculated() => Length::isPercent()
Length::isPercent() => Length::isPercentOrCalculated()
- Simplify the condition check of length type in SVGLengthContext::valueForLength().
"length.isPercent() && !length.isCalculated()" => "length.isPercent()"
No new tests, no behavior change.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForImageSliceSide):
(WebCore::valueForReflection):
(WebCore::percentageOrZoomAdjustedValue):
(WebCore::lineHeightFromStyle):
(WebCore::ComputedStyleExtractor::propertyValue):
- html/HTMLPlugInImageElement.cpp:
(WebCore::is100Percent):
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::computeTransformedExtentViaTransformList):
- platform/Length.h:
(WebCore::Length::percent):
(WebCore::Length::isPercent):
(WebCore::Length::isPercentOrCalculated):
(WebCore::Length::isSpecified):
(WebCore::Length::isPercentNotCalculated): Deleted.
- platform/graphics/transforms/TranslateTransformOperation.h:
- rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::shouldScaleColumns):
(WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):
- rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
(WebCore::FixedTableLayout::layout):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::textIndentOffset):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::needsPreferredWidthsRecalculation):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::logicalWidthIsResolvable):
(WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
(WebCore::RenderBox::hasUnsplittableScrollingOverflow):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
(WebCore::RenderBoxModelObject::relativePositionOffset):
(WebCore::RenderBoxModelObject::computedCSSPadding):
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
- rendering/RenderElement.cpp:
(WebCore::mustRepaintFillLayers):
- rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::layOutAxis):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::repaintOrMarkForLayout):
- rendering/RenderInline.cpp:
(WebCore::computeMargin):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computeIntrinsicLogicalWidths):
- rendering/RenderMenuList.cpp:
(RenderMenuList::computeIntrinsicLogicalWidths):
- rendering/RenderObject.cpp:
(WebCore::objectIsRelayoutBoundary):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computePreferredLogicalWidths):
- rendering/RenderSlider.cpp:
(WebCore::RenderSlider::computeIntrinsicLogicalWidths):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
- rendering/RenderView.cpp:
(WebCore::RenderView::layout):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticalPositionForBox):
- rendering/style/GridLength.h:
(WebCore::GridLength::isPercentage):
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::isPercentage):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::computedLineHeight):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::hasRelativeDimensions):
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
- 2:26 PM Changeset in webkit [184054] by
-
- 11 edits in trunk/Source
Remove unnecessary semicolons.
https://bugs.webkit.org/show_bug.cgi?id=144844
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-10
Reviewed by Darin Adler.
No new tests, no behavior change.
Source/WebCore:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::readString):
- platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::RealtimeMediaSourceCapabilities::setHasVideoSource):
- platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::nsError):
- rendering/RenderThemeIOS.mm:
(WebCore::getSharedFunctionRef):
Source/WebKit2:
- Shared/Downloads/mac/DownloadMac.mm:
(-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::transformHandlesToObjects):
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
- WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::idToHistoryItemMap):
- 2:23 PM Changeset in webkit [184053] by
-
- 2 edits in trunk/Source/WebCore
Remove unnecessary forward declarations in StyleProperties.h
https://bugs.webkit.org/show_bug.cgi?id=144843
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-10
Reviewed by Darin Adler.
No new tests, no behavior change.
- css/StyleProperties.h:
- 2:10 PM WebKitGTK/2.4.x edited by
- Add bug #126433 (diff)
- 1:28 PM Changeset in webkit [184052] by
-
- 2 edits in trunk/Source/WebKit2
Fix build.
- Platform/mac/MenuUtilities.mm: Added includes that were somehow omitted in what
I committed before.
- 1:19 PM Changeset in webkit [184051] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove unnecessary AtomicStringImpl* hash specification in PropertyNameArray.
Follow up to r184050 suggested by Darin.
- runtime/PropertyNameArray.h:
- 1:03 PM Changeset in webkit [184050] by
-
- 6 edits in trunk/Source/JavaScriptCore
Remove unused things from PropertyNameArray.
<https://webkit.org/b/144834>
Reviewed by Filip Pizlo.
PropertyNameArray had a bunch of bells and whistles added to it when for-in iteration
was refactored and optimized last year. Then more refactoring happened and this class
doesn't need to ring and toot anymore.
The RefCountedIdentifierSet class disappears since the JSPropertyNameEnumerator wasn't
actually using it for anything and we were just wasting time creating these.
Also made the member functions take AtomicStringImpl* instead of plain StringImpl*.
- runtime/JSObject.cpp:
(JSC::JSObject::getPropertyNames):
- runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
(JSC::JSPropertyNameEnumerator::JSPropertyNameEnumerator):
- runtime/JSPropertyNameEnumerator.h:
- runtime/PropertyNameArray.cpp:
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::setPreviouslyEnumeratedProperties): Deleted.
- runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::addKnownUnique):
(JSC::PropertyNameArray::canAddKnownUniqueForStructure):
(JSC::RefCountedIdentifierSet::contains): Deleted.
(JSC::RefCountedIdentifierSet::size): Deleted.
(JSC::RefCountedIdentifierSet::add): Deleted.
(JSC::PropertyNameArray::identifierSet): Deleted.
(JSC::PropertyNameArray::numCacheableSlots): Deleted.
(JSC::PropertyNameArray::setNumCacheableSlotsForObject): Deleted.
(JSC::PropertyNameArray::setBaseObject): Deleted.
(JSC::PropertyNameArray::setPreviouslyEnumeratedLength): Deleted.
- 12:28 PM Changeset in webkit [184049] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] Fix paths and resort WebCore project file
https://bugs.webkit.org/show_bug.cgi?id=144838
Reviewed by Dan Bernstein.
- WebCore.xcodeproj/project.pbxproj: Re-sorted this file with the
sort-Xcode-project-file script and fixed the paths in the platform/ios directory.
- 11:33 AM Changeset in webkit [184048] by
-
- 3 edits in trunk/Source/WebCore
[Streams API] Refactor ReadableStreamReader close promise callback cleaning
https://bugs.webkit.org/show_bug.cgi?id=144799
Reviewed by Darin Adler.
Moved close callback cleaning to releaseStream, which is now releaseStreamAndClean.
Moved that method to private as it is no longer needed by subclasses.
No behavior changes.
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::releaseStreamAndClean):
(WebCore::ReadableStreamReader::changeStateToClosed):
(WebCore::ReadableStreamReader::changeStateToErrored):
- Modules/streams/ReadableStreamReader.h:
- 11:29 AM Changeset in webkit [184047] by
-
- 10 edits1 add in trunk/Source
[Cocoa] Don't soft link DataDetectorsCore
https://bugs.webkit.org/show_bug.cgi?id=144837
Reviewed by Dan Bernstein.
Source/WebCore:
Linking this in the normal way should slightly speed up the web process
startup time. We don't need to soft link it: It's present in the
OS X base system and there is no reference cycle with WebKit.
- Configurations/WebCore.xcconfig: Added PrivateFrameworks to
FRAMEWORK_SEARCH_PATHS for Mac and added DataDetectorsCore to
OTHER_LDFLAGS_PLATFORM for Mac. We may want to do this later for iOS too.
- WebCore.xcodeproj/project.pbxproj: Added DataDetectorsCoreSPI.h.
- editing/mac/DataDetection.mm:
(WebCore::DataDetection::detectItemAroundHitTestResult): Removed check to see
if DataDetectorsCore is available.
- page/mac/ServicesOverlayController.h: Simplified a forward declaration to
only declare what we actually use.
- page/mac/ServicesOverlayController.mm: Moved SOFT_LINK from here to the
DataDetectorsSPI.h header.
- platform/spi/cocoa/DataDetectorsCoreSPI.h: Added. This is the low level
DataDetectorsCore framework, which has no reference cycle with WebKit, and
which we can link to normally. Moved the content here from DataDetectorsSPI.h,
added a USE(APPLE_INTERNAL_SDK) path that uses the system headers, and fixed
the incorrect return type on DDScannerScanQuery, which was detected when
using the system headers in conjunction with this file.
- platform/spi/mac/DataDetectorsSPI.h: Removed the content of this file that
was actually about DataDetectorsCore. Also added a USE(APPLE_INTERNAL_SDK)
path that uses the system headers and moved a few stray DataDetectors SPI
definitions from elsewhere into this header.
Source/WebKit2:
- Platform/mac/MenuUtilities.mm: Use DataDetectorsSPI.h instead of doing it here.
- WebProcess/WebPage/mac/WebPageMac.mm: Removed unneeded include of unused header,
DataDetectorsSPI.h.
- 7:52 AM Changeset in webkit [184046] by
-
- 3 edits2 adds in trunk
AX: Don't expose elements as data tables just because they use display: table
https://bugs.webkit.org/show_bug.cgi?id=144804
Reviewed by Mario Sanchez Prada.
Source/WebCore:
Elements will create RenderTable objects if they have display:table. We shouldn't assume these are accessibility tables.
Test: accessibility/css-table-ignored.html
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
LayoutTests:
- accessibility/css-table-ignored-expected.txt: Added.
- accessibility/css-table-ignored.html: Added.
- 5:23 AM Changeset in webkit [184045] by
-
- 12 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: In the console, show function name next to the source link
https://bugs.webkit.org/show_bug.cgi?id=144372
Introduce CallFrameView to display counsole message source links. It looks like this:
[f] functionName - filename.js:42
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector.createSourceCodeLocationLink):
(WebInspector.linkifyLocation):
(.showSourceCodeLocation):
(WebInspector.linkifyElement):
Abstract this out as it's used in WebInspector.CallFrameView and WebInspector.createSourceCodeLocationLink.
(WebInspector.sourceCodeForURL):
Move this code from Timeline to Main.js as it's used by Console too.
(WebInspector.linkifyURLAsNode):
Remove tooltipText argument as it is never used.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._callFramesFromPayload):
- UserInterface/Main.html:
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.fromPayload):
Abstract this out as it's used in WebInspector.TimelineManager.prototype._callFramesFromPayload and
WebInspector.ConsoleMessageView._appendLocationLink.
(WebInspector.CallFrame):
- UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement):
Move it to WebInspector.CallFrameView.iconForCallFrame.
- UserInterface/Views/CallFrameView.css: Added.
(.call-frame):
(.call-frame .icon):
(.call-frame .titles):
(.call-frame .title):
(.call-frame .source-link):
(.call-frame .title + .subtitle > .source-link):
(.call-frame .subtitle .source-link):
(.call-frame:focus .subtitle .source-link):
(.call-frame .subtitle:empty):
(.call-frame .subtitle):
(.call-frame .colon):
(.call-frame .title + .subtitle::before):
- UserInterface/Views/CallFrameView.js: Added.
(WebInspector.CallFrameView):
(WebInspector.CallFrameView.iconClassNameForCallFrame):
- UserInterface/Views/ConsoleMessageView.css:
(.console-message .console-message-location):
(.console-message .call-frame):
(.console-message .go-to-link):
(.console-message .go-to-link:focus):
(.console-message .console-message-url::before):
(.console-saved-variable): Deleted.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
- UserInterface/Views/DebuggerDashboardView.js:
- UserInterface/Views/Main.css:
(.hidden): Deleted.
- UserInterface/Views/ProfileNodeTreeElement.js:
(WebInspector.ProfileNodeTreeElement):
- UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.createCellContent):
May 9, 2015:
- 11:46 PM Changeset in webkit [184044] by
-
- 6 edits in trunk/Tools
Make arguments of run-benchmark more user friendly
https://bugs.webkit.org/show_bug.cgi?id=144835
Reviewed by Darin Adler.
Made --build-directory optional since I don't expect a typical WebKit developer to have a local build
of Chrome and Firefox. Also made --plan accept just a filename so that we can just say "speedometer"
instead of "Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan". Finally, removed
default values from --platform and --browser as they are required arguments.
- Scripts/run-benchmark:
(main): Made --build-directory optional, and removed default values from --platform and --browser.
Also added help text for --build-directory and --plan. In addition, the list of platforms and browsers
are not dynamically obtained via BrowserDriverFactory.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.init): Raise when we can't find the plan file or the plan file is not a valid JSON
file instead of suppressing the error here and blowing up later mysteriously since we won't be able to
run any benchmark in that case.
(BenchmarkRunner._findPlanFile): Added. Look for the plan in webkitpy/benchmark_runner/data/plans if
the specified file isn't a valid relative or an absolute path.
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
(BrowserDriverFactory.available_platforms): Added. Used in main to provide the list of valid platforms
and browsers.
(BrowserDriverFactory.available_browsers): Ditto.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launchUrl): browserBuildPath is never optional since BenchmarkRunner.execute always
calls launchUrl with this argument so removed the default value. Also added a fallback path for when
browserBuildPath was None.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launchUrl): Ditto. We also fallback when the build directory doesn't contain Safari
so that we can use locally built WebKit to launch Safari.
- 8:58 PM Changeset in webkit [184043] by
-
- 3 edits in trunk/Source/WebKit2
Deployment-target NSi_ and NSd_ definitions in WKFoundation.h are redundant
https://bugs.webkit.org/show_bug.cgi?id=144831
Reviewed by Sam Weinig.
- Shared/API/Cocoa/WKFoundation.h:
- WebKit2.xcodeproj/project.pbxproj:
- 8:22 PM Changeset in webkit [184042] by
-
- 10 edits2 adds in trunk
Introduce ParentNode.idl / NonDocumentTypeChildNode.idl
https://bugs.webkit.org/show_bug.cgi?id=144825
Reviewed by Sam Weinig.
Source/WebCore:
Introduce ParentNode.idl / NonDocumentTypeChildNode.idl as per DOM
specification and to avoid IDL code duplication:
- https://dom.spec.whatwg.org/#interface-parentnode
- https://dom.spec.whatwg.org/#interface-nondocumenttypechildnode
No Web-Exposed behavior change.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- dom/CharacterData.idl:
- dom/Document.idl:
- dom/DocumentFragment.idl:
- dom/Element.idl:
- dom/NonDocumentTypeChildNode.idl: Copied from Source/WebCore/dom/DocumentFragment.idl.
- dom/ParentNode.idl: Copied from Source/WebCore/dom/DocumentFragment.idl.
LayoutTests:
Rebaseline test as the order of the methods changed when iterating.
- js/dom/dom-static-property-for-in-iteration-expected.txt:
- 10:37 AM Changeset in webkit [184041] by
-
- 2 edits in trunk/Source/WebCore
Invalidate the FontCache on WebProcess suspension / critical memory pressure
https://bugs.webkit.org/show_bug.cgi?id=144821
Reviewed by Antti Koivisto.
Invalidate the FontCache on WebProcess suspension / critical memory
pressure to free a bit more memory (an extra 4-16Kb per WebProcess on
the pages I tested). We already purge inactive font data on
non-critical memory warning but invalidating the whole FontCache takes
care of clearing the FontCascade cache and the fontPlatformData cache
as well.
- platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
- 1:39 AM Changeset in webkit [184040] by
-
- 30 edits in trunk
Remove the PICTURE_SIZES build flag
https://bugs.webkit.org/show_bug.cgi?id=144679
Reviewed by Benjamin Poulain.
Removed the PICTURE_SIZES build time flag.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsWindows.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests, since there's no functionality change.
- Configurations/FeatureDefines.xcconfig:
- css/CSSGrammar.y.in:
- css/CSSParser.cpp:
(WebCore::CSSParser::detectAtToken):
- css/CSSParser.h:
- css/SourceSizeList.cpp:
(WebCore::parseSizesAttribute): Deleted.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
- html/HTMLImageElement.h:
(WebCore::HTMLImageElement::currentSrc):
- html/HTMLImageElement.idl:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
- html/parser/HTMLSrcsetParser.cpp:
(WebCore::parseDescriptors):
(WebCore::pickBestImageCandidate):
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
- 1:20 AM Changeset in webkit [184039] by
-
- 3 edits in trunk/Tools
Layout tests broke due to unexpected simctl output
- Scripts/webkitpy/xcode/simulator.py:
(Simulator._parse_devices): Handle new Device Pairs header.
- Scripts/webkitpy/xcode/simulator_unittest.py:
(test_device_pairs): Add unit test for Device Pairs header.
May 8, 2015:
- 11:40 PM Changeset in webkit [184038] by
-
- 3 edits in trunk/LayoutTests
streams/reference-implementation/readable-stream-reader.html and streams/reference-implementation/bad-underlying-sources.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=144813
Reviewed by Alexey Proskuryakov.
Removed small timeouts for tests that went from TIMEOUT to PASS thanks to other patches.
- streams/reference-implementation/bad-underlying-sources.html:
- streams/reference-implementation/readable-stream-reader.html:
- 11:33 PM Changeset in webkit [184037] by
-
- 14 edits in trunk
Remove convenience constructors for TextRun
https://bugs.webkit.org/show_bug.cgi?id=144752
Source/WebCore:
These convenience constructors are unnecessary. Moving the code that makes the StringView
back to the call site will also help us make things more elegant in future refactoring.
Reviewed by Darin Adler.
No new tests because there is no behavior change.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText): Remove ambiguous call.
- platform/graphics/StringTruncator.cpp:
(WebCore::stringWidth):
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
- platform/mac/DragImageMac.mm:
(WebCore::widthWithFont):
(WebCore::drawAtPoint):
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::paintText):
Source/WebKit/mac:
These convenience constructors are unnecessary. Moving the code that makes the StringView
back to the call site will also help us make things more elegant in future refactoring.
Reviewed by Darin Adler.
No new tests because there is no behavior change.
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
(-[NSString _web_widthWithFont:]):
Source/WTF:
Reviewed by Anders Carlsson.
No reason why StringView shouldn't have a StringImpl* constructor.
Test: StringView8Bit in TestWebKitAPI
- wtf/text/StringView.h: Add the constructor.
Tools:
Reviewed by Anders Carlsson.
Test the StringView which takes a StringImpl*.
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(StringView8Bit): Testing is8Bit() on StringView
- 10:35 PM Changeset in webkit [184036] by
-
- 2 edits in trunk/LayoutTests
Update results after Sam's patch, the order of properties changed.
- js/dom/dom-static-property-for-in-iteration-expected.txt:
- 8:26 PM Changeset in webkit [184035] by
-
- 2 edits in trunk
[GTK] [CMake] Check for required X libraries
https://bugs.webkit.org/show_bug.cgi?id=144823
Reviewed by Martin Robinson.
Error out if missing libXcomposite, libXdamage, libXrender, or libXt.
- Source/cmake/OptionsGTK.cmake:
- 6:14 PM Changeset in webkit [184034] by
-
- 12 edits6 adds in trunk
Element Traversal is not just Elements anymore
https://bugs.webkit.org/show_bug.cgi?id=144822
Reviewed by Simon Fraser.
Source/WebCore:
Match other browsers and the new DOM spec at https://dom.spec.whatwg.org by
exposing the element traversal methods on non-Elements.
- Makes firstElementChild, lastElementChild and childElementCount available on Document and DocumentFragment in addition to Element.
- Makes nextElementSibling and previousElementSibling available on CharacterData in addition to Element.
Tests: fast/dom/element-traversal-on-character-data.html
fast/dom/element-traversal-on-document-fragment.html
fast/dom/element-traversal-on-document.html
- dom/CharacterData.idl:
Expose nextElementSibling and previousElementSibling.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::firstElementChild):
(WebCore::ContainerNode::lastElementChild):
(WebCore::ContainerNode::childElementCount):
- dom/ContainerNode.h:
Move implementations of firstElementChild, lastElementChild and childElementCount here
from Element to make them shareable.
- dom/Document.idl:
- dom/DocumentFragment.idl:
Expose firstElementChild, lastElementChild and childElementCount.
- dom/Element.cpp:
(WebCore::Element::firstElementChild): Deleted.
(WebCore::Element::lastElementChild): Deleted.
(WebCore::Element::previousElementSibling): Deleted.
(WebCore::Element::nextElementSibling): Deleted.
(WebCore::Element::childElementCount): Deleted.
- dom/Element.h:
Move element traversal functions down to Node and ContainerNode.
- dom/Element.idl:
Update comments to indicate where these functions are defined now.
- dom/Node.cpp:
(WebCore::Node::previousElementSibling):
(WebCore::Node::nextElementSibling):
- dom/Node.h:
Move implementations of nextElementSibling and previousElementSibling here
from Element to make them shareable.
LayoutTests:
Add new tests for element traversal functions on Document, DocumentFragment and CharacterData.
- fast/dom/element-traversal-on-character-data-expected.txt: Added.
- fast/dom/element-traversal-on-character-data.html: Added.
- fast/dom/element-traversal-on-document-expected.txt: Added.
- fast/dom/element-traversal-on-document-fragment-expected.txt: Added.
- fast/dom/element-traversal-on-document-fragment.html: Added.
- fast/dom/element-traversal-on-document.html: Added.
- 5:33 PM Changeset in webkit [184033] by
-
- 1 edit5 copies5 adds in trunk/Tools
[Content Extensions] Add simple tester that takes an extension and compiles it
https://bugs.webkit.org/show_bug.cgi?id=144781
Reviewed by Dan Bates.
- ContentExtensionTester: Added.
- ContentExtensionTester/Configurations: Added.
- ContentExtensionTester/Configurations/Base.xcconfig: Copied from Source/bmalloc/Configurations/Base.xcconfig.
- ContentExtensionTester/Configurations/ContentExtensionTester.xcconfig: Copied from Source/bmalloc/Configurations/bmalloc.xcconfig.
- ContentExtensionTester/Configurations/DebugRelease.xcconfig: Copied from Source/bmalloc/Configurations/DebugRelease.xcconfig.
- ContentExtensionTester/ContentExtensionTester.xcodeproj: Added.
- ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj: Added.
- ContentExtensionTester/Makefile: Copied from Tools/TestWebKitAPI/Makefile.
- ContentExtensionTester/main.m: Added.
- Scripts/run-content-extension-tester: Copied from Tools/Scripts/run-webkit-tests.
- 5:18 PM Changeset in webkit [184032] by
-
- 11 edits in trunk/Source/JavaScriptCore
Extend the SaneChain optimization to Contiguous arrays
https://bugs.webkit.org/show_bug.cgi?id=144664
Reviewed by Mark Lam.
Previously if you loaded from a hole, you'd either have to take slow path for the array
load (which means C++ calls and prototype chain walks) or you'd exit (if you hadn't
gathered the necessary profiling yet). But that's unnecessary if we know that the
prototype chain is sane - i.e. has no indexed properties. Then we can just return
Undefined for the hole.
Making this change requires setting more watchpoints on the array prototype chain. But
that hit a horrible bug: ArrayPrototype still uses the static lookup tables and builds
itself up lazily. This means that this increased the number of recompilations we'd get
due to the array prototype chain being built up.
So, this change also removes the laziness and static tables from ArrayPrototype.
But to make that change, I also had to add a helper for eagerly building up a prototype
that has builtin functions.
- CMakeLists.txt:
- DerivedSources.make:
- dfg/DFGArrayMode.h:
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
(JSC::ArrayPrototype::getOwnPropertySlot): Deleted.
- runtime/ArrayPrototype.h:
- runtime/JSObject.h:
- 5:13 PM Changeset in webkit [184031] by
-
- 2 edits1 add in trunk/LayoutTests
Unreviewed GTK+ gardening
- platform/gtk/TestExpectations: Unskip a test that was failing only because the shared
baseline had a failure in it.
- platform/gtk/fast/events/event-attribute-expected.txt: Added.
- 5:01 PM Changeset in webkit [184030] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening
- platform/gtk/TestExpectations: Un-expectation some tests that are now passing.
- 4:55 PM Changeset in webkit [184029] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening
Remove expectations for tests that are also skipped for all WebKit2
ports. This will more easily allow us to handle them when they are
eventually (if at all) unskipped for WebKit2.
- platform/gtk/TestExpectations:
- 4:18 PM Changeset in webkit [184028] by
-
- 6 edits in trunk/Source/WebKit2
Shuffle touch-related code to keep the internal builds working
https://bugs.webkit.org/show_bug.cgi?id=144812
Reviewed by Benjamin Poulain.
- Shared/NativeWebTouchEvent.h:
- Shared/WebEvent.h:
- Shared/WebEventConversion.cpp:
- Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::extractWebTouchPoint):
(WebKit::extractWebTouchPoint): Deleted.
- Shared/ios/WebPlatformTouchPointIOS.cpp:
- 4:15 PM Changeset in webkit [184027] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebCore
Merged r183649. rdar://problem/20840113
- 4:13 PM Changeset in webkit [184026] by
-
- 2 edits in trunk/Source/WebKit2
<rdar://problem/20757196> NSInternalInconsistencyException raised in -[NSString encodeWithCoder:] beneath createEncodedObject when using WKRemoteObjectEncoder for Safari AutoFill
https://bugs.webkit.org/show_bug.cgi?id=144818
Reviewed by Anders Carlsson.
Allow NSString instances that contain unpaired surrogates to be encoded by
WKRemoteObjectCoder by encoding them directly rather than using
-[NSString encodeWithCoder:].
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeString): Added. Sets an API::String as the object to encode.
(encodeObject): Changed to use encodeString for NSString instances.
(decodeString): Added. Gets an API::String from the dictionary and returns it as an
NSString.
(decodeObject): Changed to use decodeString for NSString instances.
- 4:13 PM Changeset in webkit [184025] by
-
- 5 edits3 copies in branches/safari-600.7-branch
Merged r183646. rdar://problem/20840113
- 4:11 PM Changeset in webkit [184024] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createFencePort):
- 4:10 PM Changeset in webkit [184023] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 4:04 PM Changeset in webkit [184022] by
-
- 2 edits in trunk/Source/WebKit2
Periodically repaint during resize while using the DynamicSizeWithMinimumViewSize layout strategy
https://bugs.webkit.org/show_bug.cgi?id=144816
Reviewed by Simon Fraser.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy _updateTransientScale:]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
Factor out _updateTransientScale from updateLayout.
Keep track of the last viewScaleFactor that we know is being displayed
(_lastCommittedViewScale) and use that for computing the transient scale,
so that we can recompute the transient scale while the UI process's notion
of the actual view scale might have moved ahead of what the Web process has
painted.
- 3:59 PM Changeset in webkit [184021] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r183649. rdar://problem/20840031
- 3:56 PM Changeset in webkit [184020] by
-
- 5 edits3 copies in branches/safari-600.1.4.16-branch
Merged r183646. rdar://problem/20840031
- 3:54 PM Changeset in webkit [184019] by
-
- 2 edits in trunk/Source/JavaScriptCore
Creating a large MarkedBlock sometimes results in more than one cell in the block
https://bugs.webkit.org/show_bug.cgi?id=144815
Reviewed by Mark Lam.
Large MarkedBlocks should have one and only one cell. Changed the calculation of
m_endAtom for large blocks to use the location of the first cell + 1. This
assures that large blocks only have one cell.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::MarkedBlock):
- 3:11 PM Changeset in webkit [184018] by
-
- 5 edits in trunk/Tools
Build fix.
Reviewed by Dan Bernstein.
- DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
- DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
(-[DumpRenderTreeDraggingInfo springLoadingHighlight]):
(-[DumpRenderTreeDraggingInfo resetSpringLoading]):
- WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h:
- WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
(-[WebKitTestRunnerDraggingInfo springLoadingHighlight]):
(-[WebKitTestRunnerDraggingInfo resetSpringLoading]):
- 3:06 PM Changeset in webkit [184017] by
-
- 5 edits in branches/safari-600.1.4.16-branch/Source
Versioning.
- 2:48 PM Changeset in webkit [184016] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- UIProcess/WebPageProxy.cpp:
- 2:21 PM Changeset in webkit [184015] by
-
- 14 edits4 adds in trunk
[GTK] Some tests fail because they do not assume the popup menu captures click events
https://bugs.webkit.org/show_bug.cgi?id=40601
Reviewed by Carlos Garcia Campos.
Tools:
Popdown all attached menus when moving between tests and between each new
event sent to the WebView. This prevents context and popup menus from eating
events.
- WebKitTestRunner/PlatformWebView.h: Added a helper method to do menu popdown.
- WebKitTestRunner/TestController.cpp: Add a specialization of these methods for GTK+.
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::dispatchEvent): Popdown all menus between dispatching events.
(WTR::EventSenderProxy::replaySavedEvents): Pass the view when dispatching events.
(WTR::EventSenderProxy::sendOrQueueEvent): Pass the view when dispatching events.
- WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::hideAllPopupMenus): Added this helper.
- WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformConfigureViewForTest): Added this stub, which is no
longer in the platform-independent file.
(WTR::TestController::platformResetPreferencesToConsistentValues): Popdown menus.
LayoutTests:
- platform/gtk/TestExpectations: Unskip tests that are passing now
and classify remaining failures.
- platform/gtk/editing/selection/5354455-2-expected.txt: Rebaselined.
- platform/gtk/editing/selection/doubleclick-crash-expected.png: Rebaseline.
- platform/gtk/editing/selection/doubleclick-crash-expected.txt: Rebaseline.
- platform/gtk/editing/selection/user-select-all-image-with-single-click-expected.txt: Rebaselined.
- platform/gtk/editing/selection/user-select-all-with-single-click-expected.txt: Rebaselined.
- platform/gtk/fast/events/mouseup-from-button2-expected.txt: Rebaseline.
- platform/gtk/fast/events/shadow-event-path-2-expected.txt: Rebaseline.
- platform/gtk/fast/events/shadow-event-path-expected.txt: Rebaseline.
- platform/gtk/fast/events/updateLayoutForHitTest-expected.txt: Rebaselined.
- 1:57 PM Changeset in webkit [184014] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createFencePort):
- 1:50 PM Changeset in webkit [184013] by
-
- 2 edits in trunk/LayoutTests
[WK2] Scroll-snap tests timeout intermittently for overflow scroll cases
https://bugs.webkit.org/show_bug.cgi?id=144811
- platform/mac-wk2/TestExpectations: Mark tests as flaky.
- 1:43 PM Changeset in webkit [184012] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createFencePort):
- 1:40 PM Changeset in webkit [184011] by
-
- 13 edits in trunk/Source/WebKit2
Flip the direction of the fence in scaleViewAndUpdateGeometryFenced
https://bugs.webkit.org/show_bug.cgi?id=144810
Reviewed by Simon Fraser.
Send the fence from the Web process to the UI process, instead of vice versa.
This means that we won't keep the UI process CAContext blocked for the whole
time that the Web process is doing layout/painting/etc. Instead, we'll start
blocking the Web process CAContext immediately after flushing and before committing,
and send the fence to the UI process to be applied immediately. This minimizes
the amount of time in both processes spent blocked on the fence.
- Platform/mac/LayerHostingContext.h:
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createFencePort):
Add createFencePort, which creates a MachSendRight wrapping a CA fence port.
Note that you must setFencePort() with this port if you want the LayerHostingContext's
CAContext to block on it!
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::scaleViewAndUpdateGeometryFenced):
(WebKit::WebPageProxy::machSendRightCallback):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
Create a callback and send it to the Web process along with scaleViewAndUpdateGeometryFenced.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
When called back, install the fence port in our CAContext; when the commit goes through,
remove the transient scale as we did previously.
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::replyWithFenceAfterNextFlush):
(WebKit::DrawingArea::updateGeometry): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Instead of installing a fence created in the UI process, tell the DrawingArea
to create one and reply to the UI process with it after the next flush.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::replyWithFenceAfterNextFlush):
After flushing, before committing, create a fence and reply to any
callbacks that requested fences, and install it in our context.
- 1:29 PM Changeset in webkit [184010] by
-
- 12 edits in trunk
.:
015-05-08 Michael Catanzaro <Michael Catanzaro>, Martin Robinson <mrobinson@igalia.com>
[GTK] Checks for DEVELOPMENT_BUILD are all wrong
https://bugs.webkit.org/show_bug.cgi?id=144746
Reviewed by Carlos Garcia Campos.
Don't set DEVELOPMENT_BUILD. We check whether it is defined for conditional compilation, not
what it is defined to, so defining it to 0 effectively turned it on always. Instead set
ENABLE_DEVELOPER_MODE so that we can use the ENABLE macro inside WebKit source code.
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
[GTK] Checks for DEVELOPMENT_BUILD are all wrong
https://bugs.webkit.org/show_bug.cgi?id=144746
Reviewed by Carlos Garcia Campos.
Use ENABLE(DEVELOPER_MODE) rather than DEVELOPMENT_BUILD.
- platform/gtk/GtkUtilities.cpp:
- platform/gtk/GtkUtilities.h:
- platform/text/gtk/HyphenationLibHyphen.cpp:
(WebCore::availableLocales):
Source/WebKit2:
[GTK] Checks for DEVELOPMENT_BUILD are all wrong
https://bugs.webkit.org/show_bug.cgi?id=144746
Reviewed by Carlos Garcia Campos.
Use ENABLE(DEVELOPER_MODE) rather than DEVELOPMENT_BUILD.
- Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::findWebKitProcess):
- UIProcess/API/gtk/WebKitWebContext.cpp:
(injectedBundleDirectory):
- UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::enchantTextChecker):
Tools:
015-05-08 Michael Catanzaro <Michael Catanzaro>, Martin Robinson <mrobinson@igalia.com>
[GTK] Checks for DEVELOPMENT_BUILD are all wrong
https://bugs.webkit.org/show_bug.cgi?id=144746
Reviewed by Carlos Garcia Campos.
Use ENABLE_DEVELOPER_MODE rather than DEVELOPMENT_BUILD.
- MiniBrowser/gtk/main.c:
(main):
- 1:07 PM Changeset in webkit [184009] by
-
- 2 edits in trunk/Source/JavaScriptCore
MapDataImpl::add() shouldn't do the same hash lookup twice.
https://bugs.webkit.org/show_bug.cgi?id=144759
Reviewed by Gavin Barraclough.
We don't actually need to do a double lookup here, all we need to
do is update the index to point to the correct m_size.
- runtime/MapDataInlines.h:
(JSC::JSIterator>::add):
- 12:43 PM Changeset in webkit [184008] by
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 12:41 PM Changeset in webkit [184007] by
-
- 1 copy in branches/safari-601.1.32-branch
New Branch.
- 12:23 PM Changeset in webkit [184006] by
-
- 2 edits in trunk/Source/JavaScriptCore
Micro-optimize JSON serialization of string primitives.
<https://webkit.org/b/144800>
Reviewed by Sam Weinig.
Don't use the out-of-line JSValue::getString() to grab at string primitives
in serialization. Just check if it's a JSString and then downcast to grab at
the WTF::String inside.
2% progression on Kraken/json-stringify-tinderbox.
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
- 12:14 PM Changeset in webkit [184005] by
-
- 3 edits in trunk/Source/WebCore
Crashes in SocketStreamHandleBase::close
https://bugs.webkit.org/show_bug.cgi?id=144767
rdar://problem/20486538
Reviewed by Brady Eidson.
This is a speculative fix, I could not reproduce the crash.
- Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::processFrame):
Normally, processOutgoingFrameQueue() closes the handle in the end when called in
OutgoingFrameQueueClosing state. But there is no definitive protection against
processing two CLOSE frames, in which case we'd try to close the handle twice.
- platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::readStreamCallback): Passing empty data to the client
results in the socket being closed, which makes no sense here.
- 12:07 PM Changeset in webkit [184004] by
-
- 2 edits in trunk/Source/WebKit2
Fix ProcessLauncher port leak
https://bugs.webkit.org/show_bug.cgi?id=144807
rdar://problem/20593291
Reviewed by Sam Weinig.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
xpc_dictionary_set_mach_send increments the send right count so make sure to
balance it with a call to mach_port_deallocate.
- 12:01 PM Changeset in webkit [184003] by
-
- 13 edits in trunk
Unreviewed, rolling out r183996.
https://bugs.webkit.org/show_bug.cgi?id=144806
ASan detected use-after free (Requested by ap on #webkit).
Reverted changeset:
"Remove convenience constructors for TextRun"
https://bugs.webkit.org/show_bug.cgi?id=144752
http://trac.webkit.org/changeset/183996
- 11:59 AM Changeset in webkit [184002] by
-
- 1 edit1 add in trunk
[iOS] WebSQL operations are not performed after device is locked
https://bugs.webkit.org/show_bug.cgi?id=137503
<rdar://problem/20844952>
Rubber-stamped by Alexey Proskuryakov.
Add a manual test to help verify that we do not regress this issue.
- ManualTests/ios/execute-sql-transaction-callback-after-locking-unlocking-device-in-earlier-transaction.html: Added.
- 11:45 AM Changeset in webkit [184001] by
-
- 4 edits in trunk/Source/WebCore
[Mac] Playback target clients do not unregister on page reload
https://bugs.webkit.org/show_bug.cgi?id=144761
Reviewed by Brady Eidson.
- dom/Document.cpp:
(WebCore::Document::prepareForDestruction): Unregister all target picker clients.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument): Register for page cache callback.
(WebCore::HTMLMediaElement::unregisterWithDocument): Unregister for page cache callback.
(WebCore::HTMLMediaElement::documentWillSuspendForPageCache): New.
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache): New.
- 11:37 AM Changeset in webkit [184000] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles sidebar editing with incomplete property looks poor in UI
https://bugs.webkit.org/show_bug.cgi?id=141692
Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-05-08
Reviewed by Timothy Hatcher.
Add "css-rule" Formatter that breaks CSS declarations into multiple lines,
keeps comments and invalid styles and adds whitespace.
- Tools/PrettyPrinting/css-rule-tests/*.css: Added.
Add test cases.
- Tools/PrettyPrinting/index.html:
Enable Test setup to be able to run "css-rule" Formatter tests.
- UserInterface/Controllers/Formatter.js:
(Formatter.prototype._handleToken):
- UserInterface/Controllers/FormatterContentBuilder.js:
(FormatterContentBuilder.prototype.removeLastNewline):
(FormatterContentBuilder.prototype.removeLastWhitespace):
(FormatterContentBuilder.prototype._popFormattedContent):
(FormatterContentBuilder.prototype._popNewLine): Deleted.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set this):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.countNewLineCharacters): Deleted.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.else): Deleted.
- UserInterface/Views/CodeMirrorFormatters.js:
- 11:20 AM Changeset in webkit [183999] by
-
- 2 edits in trunk/Source/WebKit2
Fix performance tests after r183954
https://bugs.webkit.org/show_bug.cgi?id=144805
Reviewed by Alexey Proskuryakov.
Web* is traditionally a WK1 prefix, so use the WK2 prefix instead in WK2 so that
we don’t have two classes with the same name in the two projects.
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
- 11:15 AM Changeset in webkit [183998] by
-
- 12 edits7 adds in trunk
Throttle RequestAnimationFrame in subframes that are outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=144718
<rdar://problem/20688782>
Reviewed by Simon Fraser.
Source/WebCore:
Throttle RequestAnimationFrame in subframes that are outside the
viewport or have "display: none" for performance and power.
Tests: fast/animation/request-animation-frame-throttle-subframe-display-none.html
fast/animation/request-animation-frame-throttle-subframe.html
- dom/Document.h:
(WebCore::Document::scriptedAnimationController):
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::setThrottled):
(WebCore::ScriptedAnimationController::isThrottled):
- dom/ScriptedAnimationController.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::open):
Call FrameView::setFrameRect() only *after* the view has been
set on the Frame. Otherwise, setFrameRect() ends up calling
viewportContentsChanged() and we hit the
ASSERT(frame().view() == this) assertion in windowClipRect()
because the Frame still has its old FrameView. This is covered
by loader/go-back-to-different-window-size.html layout test.
- page/FrameView.cpp:
(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::applyRecursivelyWithVisibleRect):
(WebCore::FrameView::resumeVisibleImageAnimations):
(WebCore::FrameView::updateScriptedAnimationsThrottlingState):
(WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
(WebCore::FrameView::updateThrottledDOMTimersState):
(WebCore::FrameView::scrollPositionChanged): Deleted.
(WebCore::FrameView::sendResizeEventIfNeeded): Deleted.
- page/FrameView.h:
- testing/Internals.cpp:
(WebCore::Internals::isRequestAnimationFrameThrottled):
(WebCore::Internals::isTimerThrottled): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/animation/request-animation-frame-throttle-subframe-display-none-expected.txt: Added.
- fast/animation/request-animation-frame-throttle-subframe-display-none.html: Added.
Add layout test to test that RequestAnimationFrame is properly throttled
in "display: none" subframes.
- fast/animation/request-animation-frame-throttle-subframe-expected.txt: Added.
- fast/animation/request-animation-frame-throttle-subframe.html: Added.
Add layout test to test that RequestAnimationFrame is properly throttled
in frames that are outside the viewport.
- fast/animation/resources/requestAnimationFrame-frame-2.html: Added.
- fast/animation/resources/requestAnimationFrame-frame.html: Added.
- platform/win/TestExpectations:
Skip the 2 new tests on Windows as requestAnimationFrame throttling is
only supported on Cocoa.
- 10:56 AM Changeset in webkit [183997] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS Simulator external SDK build following <http://trac.webkit.org/changeset/181918>
Remove unused iOS Simulator-variant of CARenderServerRenderLayerWithTransform(). Also guard
IOSurfaceRef-variant of CARenderServerRenderLayerWithTransform() with USE(IOSURFACE)
since it is only applicable on platforms that use IOSurface.
- platform/spi/cocoa/QuartzCoreSPI.h:
- 10:18 AM Changeset in webkit [183996] by
-
- 13 edits in trunk
Remove convenience constructors for TextRun
https://bugs.webkit.org/show_bug.cgi?id=144752
Source/WebCore:
These convenience constructors are unnecessary. Moving the code that makes the StringView
back to the call site will also help us make things more elegant in future refactoring.
Reviewed by Darin Adler.
No new tests because there is no behavior change.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText): Remove ambiguous call.
- platform/graphics/StringTruncator.cpp:
(WebCore::stringWidth):
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
- platform/mac/DragImageMac.mm:
(WebCore::widthWithFont):
(WebCore::drawAtPoint):
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::paintText):
Source/WebKit/mac:
These convenience constructors are unnecessary. Moving the code that makes the StringView
back to the call site will also help us make things more elegant in future refactoring.
Reviewed by Darin Adler.
No new tests because there is no behavior change.
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
(-[NSString _web_widthWithFont:]):
Source/WTF:
Reviewed by Anders Carlsson.
No reason why StringView shouldn't have a StringImpl* constructor.
Test: StringView8Bit in TestWebKitAPI
- wtf/text/StringView.h: Add the constructor.
Tools:
Reviewed by Anders Carlsson.
Test the StringView which takes a StringImpl*.
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(StringView8Bit): Testing is8Bit() on StringView
- 9:09 AM Changeset in webkit [183995] by
-
- 4 edits in trunk
[GTK] WTR doesn't correctly handle the Escape key
https://bugs.webkit.org/show_bug.cgi?id=144788
Reviewed by Martin Robinson.
Tools:
Correctly handle 0x001B character code in GTK+ event sender to be
recognized as Escape key, because gdk_unicode_to_keyval() doesn't
handle it. This fixes layout tests using keyDown(String.fromCharCode(0x001B), null);
to dismiss popup menus.
Fixes editing/selection/5354455-1.html.
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef):
LayoutTests:
Unskip editing/selection/5354455-1.html.
- platform/gtk/TestExpectations:
- 8:12 AM Changeset in webkit [183994] by
-
- 2 edits in trunk/LayoutTests
[Win] Unskip passing test case after r183981
https://bugs.webkit.org/show_bug.cgi?id=140517
Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-05-08
Reviewed by Brent Fulgham.
- platform/win/TestExpectations:
- 8:00 AM Changeset in webkit [183993] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening on 8th May.
Mark flaky tests and timeout tests after using xorgdriver on EFL port.
- platform/efl/TestExpectations:
- 4:53 AM Changeset in webkit [183992] by
-
- 8 edits in trunk
[GTK] Expose allowFileAccessFromFileURLs setting to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=144748
Reviewed by Sergio Villar Senin.
Source/WebKit2:
This is needed by local applications loaded as a file URI that do XMLHttpRequests.
- UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_allow_file_access_from_file_urls):
(webkit_settings_set_allow_file_access_from_file_urls):
- UIProcess/API/gtk/WebKitSettings.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
Tools:
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:
(testWebKitSettings): Check the new setting is correctly
initialized and updated.
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextSecurityFileXHR): Check XHR to local files is
allowed from file URLs after changing the setting.
(beforeAll): Add new test.
- 3:44 AM Changeset in webkit [183991] by
-
- 13 edits2 adds in trunk
[Streams API] ReadableStream constructor start function should be able to error the stream
https://bugs.webkit.org/show_bug.cgi?id=141162
Reviewed by Darin Adler.
Source/WebCore:
This patch implements the functionality of the ReadableStreamController error function.
It basically changes the state of the stream to errored, resolves the ready promise and rejects the closed promise.
Adding support to reject promise with any JSValue.
Support for storing the error is added to both reader and stream.
Test: streams/readable-stream-controller-error.html and rebased tests
- Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::changeStateToErrored):
- Modules/streams/ReadableStream.h:
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::initialize):
(WebCore::ReadableStreamReader::closed):
(WebCore::ReadableStreamReader::changeStateToClosed):
(WebCore::ReadableStreamReader::changeStateToErrored):
- Modules/streams/ReadableStreamReader.h:
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::reject):
- bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::error):
- bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed):
- bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::createReader):
(WebCore::ReadableJSStream::storeError):
(WebCore::ReadableJSStream::Reader::storeError):
(WebCore::ReadableJSStream::jsController): Deleted.
- bindings/js/ReadableJSStream.h:
LayoutTests:
- streams/readable-stream-controller-error-expected.txt: Added.
- streams/readable-stream-controller-error.html: Added.
- streams/reference-implementation/bad-underlying-sources-expected.txt:
- streams/reference-implementation/readable-stream-templated-expected.txt:
- 2:44 AM Changeset in webkit [183990] by
-
- 10 edits5 deletes in trunk
Unreviewed, rolling out r183985.
https://bugs.webkit.org/show_bug.cgi?id=144796
broke loader/go-back-to-different-window-size.html (Requested
by kling on #webkit).
Reverted changeset:
"Throttle RequestAnimationFrame in subframes that are outside
the viewport"
https://bugs.webkit.org/show_bug.cgi?id=144718
http://trac.webkit.org/changeset/183985
- 2:37 AM Changeset in webkit [183989] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r183072): dfg-put-by-id-prototype-check.js.layout-dfg-eager-no-cjit fails on AArch64 Linux
https://bugs.webkit.org/show_bug.cgi?id=144256
Unreviewed gardening, skip the failing test on AArch64 Linux.
- js/script-tests/dfg-put-by-val-direct-to-generic-array.js:
- 1:44 AM Changeset in webkit [183988] by
-
- 9 edits in trunk/Source
Optimize serialization of quoted JSON strings.
<https://webkit.org/b/144754>
Reviewed by Darin Adler.
Source/JavaScriptCore:
Optimized the serialization of quoted strings into JSON by moving the logic into
StringBuilder so it can make smarter decisions about buffering.
12% progression on Kraken/json-stringify-tinderbox (on my Mac Pro.)
- bytecompiler/NodesCodegen.cpp:
(JSC::ObjectPatternNode::toString): Use the new StringBuilder API.
- runtime/JSONObject.h:
- runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::appendStringToStringBuilder): Deleted.
(JSC::appendQuotedJSONStringToBuilder): Deleted.
(JSC::Stringifier::appendQuotedString): Deleted.
(JSC::Stringifier::appendStringifiedValue): Moved the bulk of this logic
to StringBuilder and call that from here.
Source/WebKit2:
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::asJSON): Use the new StringBuilder API.
Source/WTF:
Add a StringBuilder API for appending a quoted JSON string. This is used by
JSON.stringify() to implement efficient appending of strings while escaping
quotes, control characters and \uNNNN-style characters.
The main benefit comes from only doing a single buffer expansion up front,
instead of doing it every time we append something. The fudge factor is pretty
large, since the maximum number of output characters per input character is 6.
The first landing of this patch had two bugs in it:
- Made \uNNNN escapes uppercase hexadecimal instead of lowercase.
- Didn't preallocate enough space for 8-bit input strings.
Both were caught by existing tests on our bots, and both were due to last-minute
changes before landing. :/
- wtf/text/StringBuilder.cpp:
(WTF::appendQuotedJSONStringInternal):
(WTF::StringBuilder::appendQuotedJSONString):
- wtf/text/StringBuilder.h:
- 1:04 AM Changeset in webkit [183987] by
-
- 5 edits in trunk/Source/WebCore
SharedBuffer::m_size should be initialized to 0 when defining it
https://bugs.webkit.org/show_bug.cgi?id=144740
Reviewed by Darin Adler.
Setting m_size to 0 when declaring it and updating constructor definitions.
No change in behaviour.
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::SharedBuffer):
- platform/SharedBuffer.h:
- platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::SharedBuffer):
- platform/soup/SharedBufferSoup.cpp:
(WebCore::SharedBuffer::SharedBuffer):
- 12:56 AM Changeset in webkit [183986] by
-
- 12 edits in trunk
Unreviewed, rolling out r183945.
https://bugs.webkit.org/show_bug.cgi?id=144789
"It broke all the GTK+ tests" (Requested by KaL on #webkit).
Reverted changeset:
"[GTK] Checks for DEVELOPMENT_BUILD are all wrong"
https://bugs.webkit.org/show_bug.cgi?id=144746
http://trac.webkit.org/changeset/183945
- 12:18 AM WebKitGTK/2.8.x edited by
- (diff)
- 12:01 AM WebKitGTK/2.8.x edited by
- (diff)
May 7, 2015:
- 11:51 PM Changeset in webkit [183985] by
-
- 10 edits7 adds in trunk
Throttle RequestAnimationFrame in subframes that are outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=144718
<rdar://problem/20688782>
Reviewed by Simon Fraser.
Source/WebCore:
Throttle RequestAnimationFrame in subframes that are outside the
viewport or have "display: none" for performance and power.
Tests: fast/animation/request-animation-frame-throttle-subframe-display-none.html
fast/animation/request-animation-frame-throttle-subframe.html
- dom/Document.h:
(WebCore::Document::scriptedAnimationController):
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::setThrottled):
(WebCore::ScriptedAnimationController::isThrottled):
- dom/ScriptedAnimationController.h:
- page/FrameView.cpp:
(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::applyRecursivelyWithVisibleRect):
(WebCore::FrameView::resumeVisibleImageAnimations):
(WebCore::FrameView::updateScriptedAnimationsThrottlingState):
(WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
(WebCore::FrameView::updateThrottledDOMTimersState):
(WebCore::FrameView::scrollPositionChanged): Deleted.
(WebCore::FrameView::sendResizeEventIfNeeded): Deleted.
- page/FrameView.h:
- testing/Internals.cpp:
(WebCore::Internals::isRequestAnimationFrameThrottled):
(WebCore::Internals::isTimerThrottled): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/animation/request-animation-frame-throttle-subframe-display-none-expected.txt: Added.
- fast/animation/request-animation-frame-throttle-subframe-display-none.html: Added.
Add layout test to test that RequestAnimationFrame is properly throttled
in "display: none" subframes.
- fast/animation/request-animation-frame-throttle-subframe-expected.txt: Added.
- fast/animation/request-animation-frame-throttle-subframe.html: Added.
Add layout test to test that RequestAnimationFrame is properly throttled
in frames that are outside the viewport.
- fast/animation/resources/requestAnimationFrame-frame-2.html: Added.
- fast/animation/resources/requestAnimationFrame-frame.html: Added.
- 11:50 PM Changeset in webkit [183984] by
-
- 12 edits in trunk
Calculate source-size length as a float
https://bugs.webkit.org/show_bug.cgi?id=144766
Reviewed by Dean Jackson.
Source/WebCore:
Make sure that the source-size length is calculated as a float,
to align with the spec.
Test: fast/dom/HTMLImageElement/sizes/image-sizes-1x.html
fast/dom/HTMLImageElement/sizes/image-sizes-2x.html
- css/SourceSizeList.cpp:
(WebCore::parseSizesAttribute):
(WebCore::defaultLength):
(WebCore::computeLength):
- css/SourceSizeList.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
- html/parser/HTMLSrcsetParser.cpp:
(WebCore::pickBestImageCandidate):
(WebCore::bestFitSourceForImageAttributes):
- html/parser/HTMLSrcsetParser.h:
LayoutTests:
Add tests that make sure fractional source-size lengths are supported
and are calculated as floats.
- fast/dom/HTMLImageElement/sizes/image-sizes-1x-expected.txt:
- fast/dom/HTMLImageElement/sizes/image-sizes-1x.html:
- fast/dom/HTMLImageElement/sizes/image-sizes-2x-expected.txt:
- fast/dom/HTMLImageElement/sizes/image-sizes-2x.html:
- 11:39 PM WebKitGTK/2.8.x edited by
- (diff)
- 11:32 PM Changeset in webkit [183983] by
-
- 6 edits in trunk
Unreviewed, rolling out r183895.
https://bugs.webkit.org/show_bug.cgi?id=144786
Many tests became flaky (Requested by ap on #webkit).
Reverted changeset:
"Expose more font weights for -apple-system"
https://bugs.webkit.org/show_bug.cgi?id=144707
http://trac.webkit.org/changeset/183895
- 11:30 PM Changeset in webkit [183982] by
-
- 7 edits1 delete in trunk/LayoutTests
Remove touchadjustment tests
https://bugs.webkit.org/show_bug.cgi?id=144780
Reviewed by Daniel Bates.
These tests test a feature that has been removed from WebKit entirely and all
ports skip the tests. This code was removed in http://trac.webkit.org/changeset/162231.
- platform/efl/TestExpectations: Remove expectations.
- platform/gtk/TestExpectations: Ditto.
- platform/ios-simulator/TestExpectations: Ditto.
- platform/mac/TestExpectations: Ditto.
- platform/win/TestExpectations: Ditto.
- platform/wincairo/TestExpectations:
- touchadjustment: Removed all files in this directory.
- 11:23 PM WebKitGTK/2.8.x edited by
- (diff)
- 11:19 PM WebKitGTK/2.8.x edited by
- (diff)
- 11:13 PM Changeset in webkit [183981] by
-
- 2 edits in trunk/Source/WebCore
Add first-letter assert exception in RenderButton::setupInnerStyle().
https://bugs.webkit.org/show_bug.cgi?id=140517OB
Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-05-07
Reviewed by Darin Adler.
StyleResolver references inner block's render style temporary in
RenderBlock::styleDidChange() when we have first-letter css pseudo
element.
- rendering/RenderButton.cpp:
(WebCore::RenderButton::setupInnerStyle):
- 11:11 PM WebKitGTK/2.8.x edited by
- (diff)
- 11:01 PM Changeset in webkit [183980] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix build after r183970.
WEBCORE_EXPORT should not be used on inlined functions.
- platform/graphics/ca/GraphicsLayerCA.h:
- 10:47 PM WebKitGTK/2.8.x edited by
- (diff)
- 10:28 PM WebKitGTK/2.8.x edited by
- (diff)
- 9:58 PM WebKitGTK/2.8.x edited by
- (diff)
- 9:57 PM Changeset in webkit [183979] by
-
- 2 edits in trunk/LayoutTests
New results after r183970. Fixed elements are now always considered to intersect
the coverage rect.
- platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
- 9:23 PM Changeset in webkit [183978] by
-
- 5 edits in trunk/Source/WebKit2
Don't register for Lookup notifications until needed
https://bugs.webkit.org/show_bug.cgi?id=144783
Reviewed by Tim Horton.
- UIProcess/API/mac/WKView.mm:
Add a WKViewData ivar to track whether we've already registered for popover notifications.
(-[WKView _prepareForDictionaryLookup]):
Added; moved notification registration from -[WKView initWithFrame:processPool:configuration:webView:.
(-[WKView initWithFrame:processPool:configuration:webView:]):
Move notification registration to -_prepareForDictionaryLookup.
- UIProcess/API/mac/WKViewInternal.h:
Expose -_prepareForDictionaryLookup.
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformDictionaryLookup):
Send -[WKView _prepareForDictionaryLookup].
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _animationControllerForText]):
Ditto.
- 8:27 PM Changeset in webkit [183977] by
-
- 9 edits in trunk/Source
Unreviewed, rolling out r183961.
https://bugs.webkit.org/show_bug.cgi?id=144784
Broke js/dom/JSON-stringify.html (Requested by kling on
#webkit).
Reverted changeset:
"Optimize serialization of quoted JSON strings."
https://bugs.webkit.org/show_bug.cgi?id=144754
http://trac.webkit.org/changeset/183961
- 7:59 PM Changeset in webkit [183976] by
-
- 18 edits in trunk
Build fixes.
Source/WebCore:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXRTFForRange:]):
- editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addMarkersToList):
- platform/mac/PasteboardMac.mm:
(WebCore::writeFileWrapperAsRTFDAttachment):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::setTypes):
Pass empty arrays and dictionaries instead of nil.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb):
Pass the document view to the AppKit paint method.
Source/WebKit/mac:
- Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]):
- WebView/WebHTMLView.mm:
(-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
- WebView/WebPDFView.mm:
(-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
Pass empty arrays and dictionaries instead of nil.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Use the regular init method.
Source/WebKit2:
- UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:processPool:configuration:webView:]):
Use the regular init method.
- UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleSelectionServiceClick):
Pass empty dictionaries instead of nil.
Tools:
- TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm:
(TestWebKitAPI::TEST):
Add casts.
- 7:18 PM Changeset in webkit [183975] by
-
- 29 edits in trunk
Purge PassRefPtr in WebCore/html - 3
https://bugs.webkit.org/show_bug.cgi?id=144686
Patch by Gyuyoung Kim <gyuyoung.kim@samsung.com> on 2015-05-07
Reviewed by Andreas Kling.
Replace PassRefPtr with Ref in create() factory functions, because
it doesn't have to change to be null.
No new tests, no behavior changes.
- html/FTPDirectoryDocument.h:
- html/HTMLDetailsElement.cpp:
(WebCore::DetailsContentElement::create):
- html/HTMLKeygenElement.cpp:
- html/HTMLSummaryElement.cpp:
(WebCore::SummaryContentElement::create):
- html/TimeRanges.cpp:
(WebCore::TimeRanges::create):
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderContainerElement::create):
- html/shadow/SliderThumbElement.h:
(WebCore::SliderThumbElement::create):
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::create):
- html/shadow/SpinButtonElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerContainer::create):
(WebCore::TextControlInnerElement::create):
(WebCore::TextControlInnerTextElement::create):
(WebCore::SearchFieldResultsButtonElement::create):
(WebCore::SearchFieldCancelButtonElement::create):
- html/shadow/TextControlInnerElements.h:
- html/shadow/YouTubeEmbedShadowElement.cpp:
(WebCore::YouTubeEmbedShadowElement::create):
- html/track/InbandDataTextTrack.cpp:
(WebCore::InbandDataTextTrack::create):
- html/track/InbandDataTextTrack.h:
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::create):
- html/track/InbandGenericTextTrack.h:
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::create):
- html/track/InbandWebVTTTextTrack.h:
- html/track/LoadableTextTrack.h:
- html/track/TextTrack.h:
(WebCore::TextTrack::create):
- html/track/TextTrackCueGeneric.cpp:
- html/track/TextTrackCueGeneric.h:
- html/track/TextTrackList.h:
- html/track/VTTRegionList.h:
(WebCore::VTTRegionList::create):
- 7:12 PM Changeset in webkit [183974] by
-
- 11 edits1 add in trunk
GC has trouble with pathologically large array allocations
https://bugs.webkit.org/show_bug.cgi?id=144609
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
The bug was that SlotVisitor::copyLater() would return early for oversize blocks (right
after pinning them), and would skip the accounting. The GC calculates the size of the heap
in tandem with the scan to save time, and that accounting was part of how the GC would
know how big the heap was. The GC would then think that oversize copied blocks use no
memory, and would then mess up its scheduling of the next GC.
Fixing this bug is harder than it seems. When running an eden GC, we figure out the heap
size by summing the size from the last collection and the size by walking the eden heap.
But this breaks when we eagerly delete objects that the last collection touched. We can do
that in one corner case: copied block reallocation. The old block will be deleted from old
space during the realloc and a new block will be allocated in new space. In order for the
GC to know that the size of old space actually shrank, we need a field to tell us how much
such shrinkage could occur. Since this is a very dirty corner case and it only works for
very particular reasons arising from the special properties of copied space (single owner,
and the realloc is used in places where the compiler already knows that it cannot register
allocate a pointer to the old block), I opted for an equally dirty shrinkage counter
devoted just to this case. It's called bytesRemovedFromOldSpaceDueToReallocation.
To test this, I needed to add an Option to force a particular RAM size in the GC. This
allows us to write tests that assert that the GC heap size is some value X, without
worrying about machine-to-machine variations due to GC heuristics changing based on RAM
size.
- heap/CopiedSpace.cpp:
(JSC::CopiedSpace::CopiedSpace): Initialize the dirty shrinkage counter.
(JSC::CopiedSpace::tryReallocateOversize): Bump the dirty shrinkage counter.
- heap/CopiedSpace.h:
(JSC::CopiedSpace::takeBytesRemovedFromOldSpaceDueToReallocation): Swap out the counter. Used by the GC when it does its accounting.
- heap/Heap.cpp:
(JSC::Heap::Heap): Allow the user to force the RAM size.
(JSC::Heap::updateObjectCounts): Use the dirty shrinkage counter to good effect. Also, make this code less confusing.
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater): The early return for isOversize() was the bug. We still need to report these bytes as live. Otherwise the GC doesn't know that it owns this memory.
- jsc.cpp: Add size measuring hooks to write the largeish test.
(GlobalObject::finishCreation):
(functionGCAndSweep):
(functionFullGC):
(functionEdenGC):
(functionHeapSize):
- runtime/Options.h:
- tests/stress/new-array-storage-array-with-size.js: Fix this so that it actually allocates ArrayStorage arrays and tests the thing it was supposed to test.
- tests/stress/new-largeish-contiguous-array-with-size.js: Added. This tests what the other test accidentally started testing, but does so without running your system out of memory.
(foo):
(test):
Tools:
Add a --filter option that restricts the set of tests we run. I needed it to fix this bug
and it's a frequently requested feature.
Also add the ability to run a test pretending that your system has a particular RAM size.
This is useful for GC tests, and the new GC test that I added uses this.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
- Scripts/run-jsc-stress-tests:
- 7:05 PM Changeset in webkit [183973] by
-
- 2 edits in trunk/Tools
[EFL] Bump EFL version to 1.14.0
https://bugs.webkit.org/show_bug.cgi?id=144743
Reviewed by Darin Adler.
Bump EFL and elementary version to 1.14.0 and removed
md5sum, because it isn't used at all if hash is present.
- efl/jhbuild.modules:
- 6:59 PM Changeset in webkit [183972] by
-
- 8 edits in trunk/Source/JavaScriptCore
Global functions should be initialized as JSFunctions in byte code
https://bugs.webkit.org/show_bug.cgi?id=144178
Reviewed by Geoffrey Garen.
This patch makes the initialization of global functions more explicit by
moving initialization into bytecode. It also prepares JSC for having ES6
style lexical scoping because initializing global functions in bytecode
easily allows global functions to be initialized with the proper scope that
will have access to global lexical variables. Global lexical variables
should be visible to global functions but don't live on the global object.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedProgramCodeBlock::visitChildren):
- bytecode/UnlinkedCodeBlock.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
- bytecompiler/BytecodeGenerator.h:
- runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):
- runtime/JSGlobalObject.h:
- 6:55 PM Changeset in webkit [183971] by
-
- 3 edits in trunk/Source/WebCore
[iOS] MediaControls: disappear while scrubbing
https://bugs.webkit.org/show_bug.cgi?id=144777
<rdar://problem/20065572>
Reviewed by Eric Carlson.
If we are scrubbing we shouldn't hide the controls.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.hideControls): Return early if we are scrubbing.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype): Add initial value for _potentiallyScrubbing and
rename from non-underscored value throughout the file.
(ControllerIOS.prototype.handleTimelineTouchEnd): When we finish scrubbing, reset
the timer to hide the controls.
- 6:46 PM Changeset in webkit [183970] by
-
- 6 edits in trunk/Source/WebCore
REGRESSION (r183300): Fixed elements flash when scrolling
https://bugs.webkit.org/show_bug.cgi?id=144778
rdar://problem/20769741
Reviewed by Dean Jackson.
After r183300 we can detached layer backing store when outside the coverage region.
However, position:fixed layers are moved around by the ScrollingCoordinator behind
GraphicsLayer's back, so we can do layer flushes with stale information about layer
geometry.
To avoid dropping backing store for layers in this situation, prevent backing
store detachment on layers registered with the ScrollingCoordinator as viewport-constrained
layers. Preventing detachment on a layer also prevents detachment on all descendant
layers.
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setAllowsBackingStoreDetachment):
(WebCore::GraphicsLayer::allowsBackingStoreDetachment):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): Set m_intersectsCoverageRect to true
if backing store detachment is prevented.
(WebCore::GraphicsLayerCA::recursiveCommitChanges): Set a bit in the CommitState to
communicate to descendants that detachment is prevented.
- platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::CommitState::CommitState): Deleted.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setIsScrollCoordinatedWithViewportConstrainedRole):
- rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::setScrollingNodeIDForRole): If registering with a non-zero
nodeID for the ViewportConstrained role, turn off backing store detachment.
- 6:23 PM Changeset in webkit [183969] by
-
- 2 edits in trunk/Source/WebKit2
ASSERTION when pasting text into the WebInspector console
https://bugs.webkit.org/show_bug.cgi?id=144774
Reviewed by Ryosuke Niwa.
Fix assertion in didChangeSelection() meant to check that calling
editorState() does not cause a synchronous layout. The assertion
was not correct as it was relying on FrameView::needsLayout() and
we would hit it if calling editorState() would schedule a layout.
Instead, the new assertion relies on FrameView::layoutCount(),
which is more accurate.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):
- 6:08 PM Changeset in webkit [183968] by
-
- 2 edits in trunk/Source/WebKit/mac
Fix iPhone 6 iOS simulator Build.
following http://trac.webkit.org/changeset/183954.
Reviewed by Daniel Bates.
- WebView/WebHTMLView.mm:
(-[WebHTMLView pressureChangeWithEvent:]):
- 5:59 PM Changeset in webkit [183967] by
-
- 5 edits4 adds in trunk
Consider implementing Document.scrollingElement
<rdar://problem/20845213>
https://bugs.webkit.org/show_bug.cgi?id=143609
Reviewed by Simon Fraser.
Source/WebCore:
Add the non-compliant implementation of Document.scrollingElement that the spec,
found at http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement,
says we should have while we have non-compliant implementations of Element.scrollTop
and Element.scrollLeft (fixing that is tracked by https://bugs.webkit.org/show_bug.cgi?id=106133).
Tests: fast/dom/Document/scrollingElement-quirks-mode.html
fast/dom/Document/scrollingElement-standards-mode.html
- dom/Document.cpp:
(WebCore::Document::scrollingElement):
- dom/Document.h:
- dom/Document.idl:
LayoutTests:
- fast/dom/Document/scrollingElement-quirks-mode-expected.txt: Added.
- fast/dom/Document/scrollingElement-quirks-mode.html: Added.
- fast/dom/Document/scrollingElement-standards-mode-expected.txt: Added.
- fast/dom/Document/scrollingElement-standards-mode.html: Added.
- 5:54 PM Changeset in webkit [183966] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the x86 32bits build
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-07
- assembler/X86Assembler.h:
- 5:45 PM Changeset in webkit [183965] by
-
- 2 edits in trunk/Source/WebCore
[iOS] While scrubbing and holding down, video continues to play
https://bugs.webkit.org/show_bug.cgi?id=144776
<rdar://problem/20863757>
Reviewed by Simon Fraser.
When we are scrubbing a video, we should pause playback. As we
let go of the scrubber playback can resume (but only if it was
playing originally).
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Listen for touchstart on the scrubber.
(ControllerIOS.prototype.handleTimelineInput): Call the prototype, but pause if necessary.
(ControllerIOS.prototype.handleTimelineChange): Just moved this to be with the other timeline functions.
(ControllerIOS.prototype.handleTimelineTouchStart): Add the listeners for end and cancel. Remember that we are
potentially about to scrub.
(ControllerIOS.prototype.handleTimelineTouchEnd): Remove the listeners.
- 5:38 PM Changeset in webkit [183964] by
-
- 1 copy in tags/Safari-600.7.6
New tag.
- 5:23 PM Changeset in webkit [183963] by
-
- 28 edits1 add in trunk/Source/JavaScriptCore
[JSC] Add basic DFG/FTL support for Math.round
https://bugs.webkit.org/show_bug.cgi?id=144725
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-07
Reviewed by Filip Pizlo.
This patch adds two optimizations targeting Math.round():
-Add a DFGNode ArithRound corresponding to the intrinsic RoundIntrinsic.
-Change the MacroAssembler to be stricter on how we fail to convert a double
to ingeter. Previously, any number valued zero would fail, now we only
fail for -0.
Since ArithRound speculate it produces int32, the MacroAssembler assembler
part became necessary because zero is a pretty common output of Math.round()
and we would OSR exit a lot (and eventually recompile for doubles).
The implementation itself of the inline Math.round() is exactly the same
as the C function that exists for Math.round(). We can very likely do better
but it is a good start known to be valid and inlining alone alread provides
significant speedups.
- assembler/X86Assembler.h:
(JSC::X86Assembler::movmskpd_rr):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchConvertDoubleToInt32):
When we have a zero, get the sign bit out of the double and check if is one.
I'll look into doing the same improvement for ARM.
- bytecode/SpeculatedType.cpp:
(JSC::typeOfDoubleRounding):
(JSC::typeOfDoubleFRound): Deleted.
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::roundShouldSpeculateInt32):
(JSC::DFG::Graph::negateShouldSpeculateMachineInt): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::arithNodeFlags):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasArithMode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithRound):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::convertDoubleToInt32):
(JSC::FTL::LowerDFGToLLVM::compileDoubleAsInt32):
(JSC::FTL::LowerDFGToLLVM::compileArithRound):
- ftl/FTLOutput.h:
(JSC::FTL::Output::ceil64):
- jit/ThunkGenerators.cpp:
- runtime/MathCommon.cpp:
- runtime/MathCommon.h:
- runtime/MathObject.cpp:
(JSC::mathProtoFuncRound):
- tests/stress/math-round-basics.js: Added.
(mathRoundOnIntegers):
(mathRoundOnDoubles):
(mathRoundOnBooleans):
(uselessMathRound):
(mathRoundWithOverflow):
(mathRoundConsumedAsDouble):
(mathRoundDoesNotCareAboutMinusZero):
(mathRoundNoArguments):
(mathRoundTooManyArguments):
(testMathRoundOnConstants):
(mathRoundStructTransition):
(Math.round):
- 5:20 PM Changeset in webkit [183962] by
-
- 7 edits in trunk
exceptionFuzz tests should explicitly initialize the exceptionFuzz boolean in JavaScript code through a function in jsc.cpp
https://bugs.webkit.org/show_bug.cgi?id=144753
Reviewed by Mark Lam.
Source/JavaScriptCore:
This allows the BytecodeGenerator to freely emit startup code that "may"
throw exceptions without worrying that this startup code will trigger
the exceptionFuzz exception. The exceptionFuzz counter will only begin
ticking when the 'enableExceptionFuzz' function is explicitly called in
the exceptionFuzz tests.
- jsc.cpp:
(GlobalObject::finishCreation):
(functionEnableExceptionFuzz):
- tests/exceptionFuzz/3d-cube.js:
- tests/exceptionFuzz/date-format-xparb.js:
- tests/exceptionFuzz/earley-boyer.js:
Tools:
- Scripts/jsc-stress-test-helpers/js-exception-fuzz:
- 5:17 PM Changeset in webkit [183961] by
-
- 9 edits in trunk/Source
Optimize serialization of quoted JSON strings.
<https://webkit.org/b/144754>
Reviewed by Darin Adler.
Source/JavaScriptCore:
Optimized the serialization of quoted strings into JSON by moving the logic into
StringBuilder so it can make smarter decisions about buffering.
12% progression on Kraken/json-stringify-tinderbox (on my Mac Pro.)
- bytecompiler/NodesCodegen.cpp:
(JSC::ObjectPatternNode::toString): Use the new StringBuilder API.
- runtime/JSONObject.h:
- runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::appendStringToStringBuilder): Deleted.
(JSC::appendQuotedJSONStringToBuilder): Deleted.
(JSC::Stringifier::appendQuotedString): Deleted.
(JSC::Stringifier::appendStringifiedValue): Moved the bulk of this logic
to StringBuilder and call that from here.
Source/WebKit2:
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::asJSON): Use the new StringBuilder API.
Source/WTF:
Add a StringBuilder API for appending a quoted JSON string. This is used by
JSON.stringify() to implement efficient appending of strings while escaping
quotes, control characters and \uNNNN-style characters.
The main benefit comes from only doing a single buffer expansion up front,
instead of doing it every time we append something. The fudge factor is pretty
large for 16-bit strings, since the maximum number of output characters per
input character is 6.
- wtf/text/StringBuilder.cpp:
(WTF::appendQuotedJSONStringInternal):
(WTF::StringBuilder::appendQuotedJSONString):
- wtf/text/StringBuilder.h:
- 4:32 PM Changeset in webkit [183960] by
-
- 6 edits in trunk/Source/WebCore
Applying a filter on an SVG element, which is larger than 4096 pixels, causes this element to be rendered shifted to the left
https://bugs.webkit.org/show_bug.cgi?id=144335
Reviewed by Daniel Bates.
Address comments raised by Darin Adler in review.
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::sizeNeedsClamping):
(WebCore::ImageBuffer::clampedSize):
(WebCore::ImageBuffer::isSizeClamped): Deleted.
- platform/graphics/ImageBuffer.h:
The condition for the negative width/height in isSizeClamped() was wrong. Use
FloatSize::isEmpty() instead and rename the function to sizeNeedsClamping().
The new function should return the opposite of the old function return value.
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):
(WebCore::FilterEffect::copyUnmultipliedImage):
(WebCore::FilterEffect::copyPremultipliedImage):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::updateBackingStoreRect):
(WebCore::FilterEffectRendererHelper::beginFilterEffect):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
Call the new function and negate the condition for the return value.
- 4:29 PM Changeset in webkit [183959] by
-
- 6 edits in trunk/Source/bmalloc
Release assert in com.apple.WebKit.WebContent under JavaScriptCore: JSC::JSONProtoFuncStringify
https://bugs.webkit.org/show_bug.cgi?id=144758
Reviewed by Andreas Kling.
This was an out-of-memory error when trying to shrink a string builder.
bmalloc was missing the optimization that allowed realloc() to shrink
without copying. So, let's add it.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate): Added Large and XLarge cases for
shrinking without copying. This isn't possible for small and medium
objects, and probably not very profitable, either.
- bmalloc/Heap.cpp:
(bmalloc::Heap::findXLarge):
(bmalloc::Heap::deallocateXLarge):
- bmalloc/Heap.h: Refactored this code to return a reference to an
XLarge range. This makes the code reusable, and also makes it easier
for realloc() to update metadata.
- bmalloc/LargeObject.h:
(bmalloc::LargeObject::split): Allow allocated objects to split because
that's what realloc() wants to do, and there's nothing intrinsically
wrong with it.
- 4:08 PM Changeset in webkit [183958] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- editing/mac/EditorMac.mm:
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):
- 4:08 PM Changeset in webkit [183957] by
-
- 2 edits in trunk/Source/WebKit/mac
Occasional null deref in WebImmediateActionController
https://bugs.webkit.org/show_bug.cgi?id=144772
<rdar://problem/20811128>
Reviewed by Beth Dakin.
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
Null-check TextIndicators before dereferencing.
- 3:46 PM Changeset in webkit [183956] by
-
- 19 edits2 adds in trunk
Applying a filter on an SVG element, which is larger than 4096 pixels, causes this element to be rendered shifted to the left
https://bugs.webkit.org/show_bug.cgi?id=144335
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-07
Reviewed by Darin Adler.
Source/WebCore:
When the SVG element is larger than 4096x4096 pixels and it has a filter,
a clipper or a masker, the ImageBuffer which is created for drawing the
sourceGraphicBuffer has to be clamped to this size. The reason for this
clamping is the FilterEffect simply ignores processing any ImageBuffer
larger than this size.
The bug was happening because we did not propagate the clamping logic to
the FilterEffect. The FilterEffect result ImageBuffer was not clamped as
what we do for drawing the sourceGraphicBuffer. If only the destination
point is specified, the GraphicsContext::drawImageBuffer() assumes the
source and the destination images have the same size which is not true
with the clamping.
The fix is to add the clamping logic to the FilterEffect. Two places we
need to change. (1) FilterEffect::createImageBufferResult() has to apply
the same clamping we do in SVGRenderingContext::createImageBuffer(). (2)
FilterEffect::drawingRegionOfInputImage() has to consider the clamping
when mapping from absolute coordinates to the ImageBuffer coordinates.
Tests: svg/filters/big-sized-off-viewport-filter.svg
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::isSizeClamped):
(WebCore::ImageBuffer::clampedSize):
(WebCore::ImageBuffer::clampedRect):
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::setSpaceSize): Move all the clamping helper methods
from SVGRenderingContext and RenderSVGResourceFilter to the ImageBuffer.
- platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::platformApplySoftware): Use logicalSize() of the
result image instead of using absolutePaintRect(). The later returns the
rectangle of the element without clamping.
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): Deleted.
- rendering/svg/RenderSVGResourceFilter.h:
- rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
- rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applySVGMask):
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::createTileImage): Make the modifications
which are needed because of moving the clamping helper methods to ImageBuffer
and because of changing the prototype of SVGRenderingContext methods.
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::drawingRegionOfInputImage): Consider the clamping
when mapping from absolute coordinates to the ImageBuffer coordinates.
(WebCore::FilterEffect::createImageBufferResult): Apply the same clamping
we do in SVGRenderingContext::createImageBuffer() when creating the
FilterEffect result ImageBuffer.
(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):
(WebCore::FilterEffect::copyUnmultipliedImage):
(WebCore::FilterEffect::copyPremultipliedImage):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
(WebCore::FilterEffect::maxFilterArea): Deleted.
(WebCore::FilterEffect::isFilterSizeValid): Deleted.
- platform/graphics/filters/FilterEffect.h: Use the new ImageBuffer clamping
helper methods and delete the local ones.
- platform/graphics/transforms/AffineTransform.cpp:
(WebCore::AffineTransform::scaleNonUniform):
(WebCore::AffineTransform::scale):
(WebCore::AffineTransform::translate):
- platform/graphics/transforms/AffineTransform.h: Add new scale and translate
overloads to AffineTransform.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::updateBackingStoreRect):
(WebCore::FilterEffectRendererHelper::beginFilterEffect): Code clean up.
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
Return the AffineTransform instead of passing it through the reference of
an argument.
(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::createImageBufferForPattern): Deleted.
Code clean up and method rename.
(WebCore::SVGRenderingContext::clampedAbsoluteTargetRect): Deleted.
(WebCore::SVGRenderingContext::clampedAbsoluteSize): Deleted.
- rendering/svg/SVGRenderingContext.h: Move the clamping helper methods to
the ImageBuffer class.
LayoutTests:
- svg/filters/big-sized-off-viewport-filter-expected.svg: Added.
- svg/filters/big-sized-off-viewport-filter.svg: Added.
Ensure when applying a filter on a large SVG element, the viewport of the
SVG includes the correct drawing part of this element.
- 3:35 PM Changeset in webkit [183955] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
FunctionCallBracketNode should store the base value to the temporary when subscript has assignment
https://bugs.webkit.org/show_bug.cgi?id=144678
Reviewed by Geoffrey Garen.
Currently, FunctionCallBracketNode directly use the RegisterID returned by emitNode.
But if the base part is the local register and the subscript part has assignment to it, the base result is accidentally rewritten.
function t() { var ok = {null: function () { } }; ok[ok = null](); }
t(); Should not throw error.
This patch takes care about
subscriptHasAssignment.
By usingemitNodeForLeftHandSide, when there's assignment to local variables in RHS,
it correctly moves the LHS value to a temporary register.
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallBracketNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
- parser/NodeConstructors.h:
(JSC::FunctionCallBracketNode::FunctionCallBracketNode):
- parser/Nodes.h:
- tests/stress/assignment-in-function-call-bracket-node.js: Added.
(shouldBe):
(shouldBe.):
- 3:32 PM Changeset in webkit [183954] by
-
- 15 edits in trunk
New force-related DOM events should fire in WK1 views
https://bugs.webkit.org/show_bug.cgi?id=144663
-and corresponding-
rdar://problem/20281886
Reviewed by Sam Weinig.
Source/WebCore:
All of the WK1 mouse events need to take the correspondingPressureEvent.
- page/EventHandler.h:
Make correspondingPressureEvent a part of CurrentEventScope. This is needed to
have accurate pressure information for all of the mouse events in subframes.
- page/mac/EventHandlerMac.mm:
(WebCore::correspondingPressureEventSlot):
(WebCore::EventHandler::correspondingPressureEvent):
(WebCore::CurrentEventScope::CurrentEventScope):
(WebCore::CurrentEventScope::~CurrentEventScope):
These events don’t have an associated pressure, so send nil for the
correspondingPressureEvent.
(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::keyEvent):
Pipe through correspondingPressureEvent.
(WebCore::EventHandler::mouseDown):
(WebCore::EventHandler::mouseDragged):
(WebCore::EventHandler::mouseUp):
(WebCore::EventHandler::mouseMoved):
New function to handle pressure change events.
(WebCore::EventHandler::pressureChange):
Pipe through correspondingPressureEvent.
(WebCore::EventHandler::passMouseMovedEventToScrollbars):
(WebCore::EventHandler::currentPlatformMouseEvent):
Take the correspondingPressureEvent in order to build a PlatformMouseEvent with
the correct pressure information.
- platform/mac/PlatformEventFactoryMac.h:
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::globalPointForEvent):
(WebCore::pointForEvent):
(WebCore::mouseButtonForEvent):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformEventFactory::createPlatformMouseEvent):
Source/WebKit:
Pass the lastPressureEvent to WebCore.
- WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
(-[WebHTMLView rightMouseUp:]):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView mouseUp:mouseUp:]):
New NSRespnder method for pressure changes.
(-[WebHTMLView pressureChangeWithEvent:]):
New BOOL _contentPreventsDefault tracks whether the HitTestResult prevented the
default action. Get rid of willHandleMouseDown; now that the gesture recognizer
sets delaysPrimaryMouseButtonEvents to NO, we don’t need this.
- WebView/WebImmediateActionController.h:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):
Set all of the immediateActionStages on EventHandler. This is critical to keep
link navigation happening at the right time now that
delaysPrimaryMouseButtonEvents is set to NO.
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
Use a dummy animation controller if the content prevents default.
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController webView:willHandleMouseDown:]): Deleted.
Set delaysPrimaryMouseButtonEvents to NO so that we get existing mouse events when
we expect to.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Cache the most recent pressure event so that we can send it to WebCore for all of
the mouse events.
(-[WebView _pressureEvent]):
(-[WebView _setPressureEvent:]):
- WebView/WebViewData.h:
- WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
- WebView/WebViewInternal.h:
Source/WebKit/mac:
Pass the lastPressureEvent to WebCore.
- WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
(-[WebHTMLView rightMouseUp:]):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView mouseUp:mouseUp:]):
New NSRespnder method for pressure changes.
(-[WebHTMLView pressureChangeWithEvent:]):
New BOOL _contentPreventsDefault tracks whether the HitTestResult prevented the
default action. Get rid of willHandleMouseDown; now that the gesture recognizer
sets delaysPrimaryMouseButtonEvents to NO, we don’t need this.
- WebView/WebImmediateActionController.h:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):
Set all of the immediateActionStages on EventHandler. This is critical to keep
link navigation happening at the right time now that
delaysPrimaryMouseButtonEvents is set to NO.
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
Use a dummy animation controller if the content prevents default.
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController webView:willHandleMouseDown:]): Deleted.
Set delaysPrimaryMouseButtonEvents to NO so that we get existing mouse events when
we expect to.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Cache the most recent pressure event so that we can send it to WebCore for all of
the mouse events.
(-[WebView _pressureEvent]):
(-[WebView _setPressureEvent:]):
- WebView/WebViewData.h:
- WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
- WebView/WebViewInternal.h:
Tools:
PlatformEventFactory::createPlatformMouseEvent() takes the last pressure event
now. Just send nil.
- TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
(TestWebKitAPI::buildAndPerformTest):
- 3:25 PM Changeset in webkit [183953] by
-
- 2 edits in trunk/Source/WebCore
Media Controls: Scrubber should be independent of actual video time, causes scrubber to be jumpy.
https://bugs.webkit.org/show_bug.cgi?id=144700.
<rdar://problem/19997548>
Reviewed by Jer Noble.
Update time and timeline during the timeline input event instead of the wrapper's mousemove.
(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleTimelineMouseMove):
(Controller.prototype.drawTimelineBackground):
(Controller.prototype.updateControlsWhileScrubbing):
Updates time and scrubber to reflect timeline user input.
- 3:23 PM Changeset in webkit [183952] by
-
- 1 edit1 delete in trunk
Cleanup after r183940
https://bugs.webkit.org/show_bug.cgi?id=144768
Unreviewed.
Looks like the empty directories were not deleted.
- Source/PAL: Removed.
- Source/PAL/Configurations: Removed.
- Source/PAL/PAL.xcodeproj: Removed.
- Source/PAL/graphics: Removed.
- 3:16 PM Changeset in webkit [183951] by
-
- 7 edits2 adds in trunk
Handle meta viewport in HTMLPreloadScanner
https://bugs.webkit.org/show_bug.cgi?id=144640
Reviewed by Dean Jackson.
Source/WebCore:
Add support for the <meta> tag to the HTMLPreloadScanner
and when the meta tag's name is viewport, get the document
to process the tag's attribute value, and set its ViewportArgument.
Tests: fast/dom/HTMLMetaElement/meta-preloader.html
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor): Added meta.
(WebCore::TokenPreloadScanner::initiatorFor): Added meta.
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): Call document.processViewport is meta viewport encountered.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Keep track of meta viewport tags.
(WebCore::testPreloadScannerViewportSupport): Testing function that makes sure this functionality is working.
- html/parser/HTMLPreloadScanner.h:
- testing/Internals.cpp:
(WebCore::Internals::testPreloaderSettingViewport): Calls the testing function.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Added a layout test that is simply calling an internals method
that tests the HTMLPreloadScanner.
- fast/dom/HTMLMetaElement/meta-preloader-expected.txt: Added.
- fast/dom/HTMLMetaElement/meta-preloader.html: Added.
- 3:03 PM Changeset in webkit [183950] by
-
- 4 edits2 adds in trunk
REGRESSION (r164449): Subpixel rendering: http://www.apple.com/iphone-6/ "Faster wireless." image displays vertical black line on 1x displays at specific window width.
https://bugs.webkit.org/show_bug.cgi?id=144723
rdar://problem/18307094
Reviewed by Simon Fraser.
This patch ensures that the backing store's graphics layer is always positioned on a device pixel boundary.
While calculating the backing store's graphics layer location, its ancestor layer's compositing bounds is taken into account.
However the compositing bounds is an unsnapped value, so in order to place the graphics layer properly,
we need to pixel align the ancestor compositing bounds before using it to adjust the child's graphics layer position.
Source/WebCore:
Test: compositing/ancestor-compositing-layer-is-on-subpixel-position.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
LayoutTests:
- compositing/ancestor-compositing-layer-is-on-subpixel-position-expected.html: Added.
- compositing/ancestor-compositing-layer-is-on-subpixel-position.html: Added.
- platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt: progression.
- 2:45 PM Changeset in webkit [183949] by
-
- 2 edits in trunk/Source/WebKit2
Followup fixes to r183936
I neglected to include a few review comments when I landed the patch.
- UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::checkerState): Remove double semicolons.
(WebKit::updateStateForAllProcessPools): Use range-based-for loop here and
give the function a better name.
(WebKit::TextChecker::setContinuousSpellCheckingEnabled): Use new function name
(WebKit::TextChecker::setGrammarCheckingEnabled):Use new function name
(WebKit::TextChecker::ignoreWord): Fix unused parameter warning.
(WebKit::updateStateForAllContexts): Deleted.
- 2:22 PM Changeset in webkit [183948] by
-
- 3 edits2 adds in trunk
Fix sizes crash and add invalid value tests.
https://bugs.webkit.org/show_bug.cgi?id=144739
Reviewed by Darin Adler.
Source/WebCore:
Make sure that only CSS length are allowed when the sizes parser is calling computeLength.
Also make sure that for invalid lengths, the 100vw default is used instead.
Test: fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html
- css/SourceSizeList.cpp:
(WebCore::computeLength):
(WebCore::defaultLength):
(WebCore::parseSizesAttribute):
LayoutTests:
Add tests that make sure that invalid values are properly handled, and a 100vw
source-size length is being used for srcset and for intrinsic dimension calculation.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html: Added.
- 2:16 PM Changeset in webkit [183947] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Expanding Object with only proto looks poor should have a label
https://bugs.webkit.org/show_bug.cgi?id=144755
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-07
Reviewed by Timothy Hatcher.
Better handle cases where expanding an object has only a proto
and no other properties.
- UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.mode.prototype.this.children.length):
(WebInspector.ObjectTreePropertyTreeElement):
- UserInterface/Views/ObjectTreeView.css:
(.object-tree-outline li .empty-message):
- UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView.createEmptyMessageElement):
(WebInspector.ObjectTreeView.comparePropertyDescriptors):
(WebInspector.ObjectTreeView.prototype._updateProperties):
- 2:15 PM Changeset in webkit [183946] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix querySelector in ResourceContentView.js, caught by assertion
https://bugs.webkit.org/show_bug.cgi?id=144756
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-07
Reviewed by Timothy Hatcher.
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype._hasContent):
Ensure querySelector call is using the class name correctly.
- 2:09 PM Changeset in webkit [183945] by
-
- 12 edits in trunk
[GTK] Checks for DEVELOPMENT_BUILD are all wrong
https://bugs.webkit.org/show_bug.cgi?id=144746
Reviewed by Martin Robinson.
.:
Don't set DEVELOPMENT_BUILD. We check whether it is defined for conditional compilation, not
what it is defined to, so defining it to 0 effectively turned it on always.
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.
- platform/gtk/GtkUtilities.cpp:
- platform/gtk/GtkUtilities.h:
- platform/text/gtk/HyphenationLibHyphen.cpp:
(WebCore::availableLocales):
Source/WebKit2:
Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.
- Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::findWebKitProcess):
- UIProcess/API/gtk/WebKitWebContext.cpp:
(injectedBundleDirectory):
- UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::enchantTextChecker):
Tools:
Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.
- MiniBrowser/gtk/main.c:
(main):
- 1:59 PM Changeset in webkit [183944] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, add missing braces on a single-line if that got expanded in r183939
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
- 1:45 PM Changeset in webkit [183943] by
-
- 7 edits2 adds in trunk
Remove the WK1-only code path for independently composited iframes
https://bugs.webkit.org/show_bug.cgi?id=144722
Reviewed by Dean Jackson.
Source/WebCore:
In WebKit1 on Mac, we allowed iframes to be composited independently of their
parent document, relying on the fact that the frame's platform view can host
a layer-backed view. However, this ran into bugs (rdar://problem/18862298),
and triggers the assertion at the end of FrameView::updateLayoutAndStyleIfNeededRecursive(),
because the compositing update after a layout can dirty style in notifyIFramesOfCompositingChange().
Removing the WK1-only code path solves these problems. It also eliminates the need
to do compositing-specific frame overlap testing.
- page/FrameView.cpp:
(WebCore::FrameView::setIsOverlapped): No need to do compositing-related things here.
Any iframe that gets composited will participate in the normal compositing overlap
testing in its parent frame.
(WebCore::FrameView::hasCompositedContentIncludingDescendants): Deleted.
(WebCore::FrameView::hasCompositingAncestor): Deleted.
- page/FrameView.h:
- rendering/RenderLayerCompositor.cpp: Replace ownerElement() checks in this file
with an isMainFrameCompositor() for readability. Some 0->nullptr.
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::chromeClient):
(WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::layerTreeAsText):
(WebCore::RenderLayerCompositor::frameContentsCompositor):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame): frameRenderer.requiresAcceleratedCompositing()
already bails on no content RenderView, so the shouldPropagateCompositingToEnclosingFrame() check does
nothing and is removed.
(WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer):
(WebCore::RenderLayerCompositor::requiresScrollLayer):
(WebCore::RenderLayerCompositor::documentUsesTiledBacking):
(WebCore::RenderLayerCompositor::isMainFrameCompositor):
(WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):
(WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::ensureRootLayer): Main frame attaches via ChromeClient,
all other frames attach via parent frame.
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): This call to
scheduleSetNeedsStyleRecalc(SyntheticStyleChange) was the source of dirtying style after
layout, but is no longer needed so remove it.
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::scrollingCoordinator):
(WebCore::RenderLayerCompositor::graphicsLayerFactory):
(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Deleted.
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): Deleted.
(WebCore::RenderLayerCompositor::mainFrameBackingIsTiled): Deleted. This was mis-named;
it really asks whether the document uses tiled backing, but does not check for main frame.
- rendering/RenderLayerCompositor.h:
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents): No need to do frame overlap testing for
compositing now.
LayoutTests:
Results different from WK2, because WK1 does not make layers for scrollbars.
- platform/mac-wk1/compositing/visible-rect/iframe-no-layers-expected.txt: Added.
- 1:13 PM Changeset in webkit [183942] by
-
- 6 edits2 adds in trunk
Handle backdrop views that have to tile
https://bugs.webkit.org/show_bug.cgi?id=142317
<rdar://problem/20049088>
Reviewed by Simon Fraser.
Take 2 - this was rolled out because Mavericks was crashing.
Source/WebCore:
Make sure backdrop layers don't tile. If they are big
enough, we'll leave it to the platform compositor to handle.
This also fixes a bug where if a layer changed from a backdrop
type to a tiled type, it would still retain its custom appearance
and we'd try to add children to the wrong layer.
Test: compositing/media-controls-bar-appearance-big.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Check if
a layer needs a backdrop before checking if it needs to tile.
Source/WebKit2:
Add some better logging for custom appearance.
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
LayoutTests:
A test that creates some backdrop views, then makes them
big enough that it would trigger tiling (which we don't want
to happen).
- compositing/media-controls-bar-appearance-big-expected.txt: Added.
- compositing/media-controls-bar-appearance-big.html: Added.
- 1:06 PM Changeset in webkit [183941] by
-
- 3 edits in trunk/Source/WebKit2
Add PLUGIN_ARCHITECTURE(X11) around m_frameRectInWindowCoordinates in NetscapePlugin.
https://bugs.webkit.org/show_bug.cgi?id=144490
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-07
Reviewed by Darin Adler.
m_frameRectInWindowCoordinates in NetscapePlugin is currently being used only for
the windowed plugins, and the windowed plugins are only supported on X11. So we can
guard it with PLUGIN_ARCHITECTURE(X11).
No new tests, no behavior change.
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::geometryDidChange):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- 11:52 AM Changeset in webkit [183940] by
-
- 13 edits11 deletes in trunk
Revert "Introducing the Platform Abstraction Layer (PAL)"
https://bugs.webkit.org/show_bug.cgi?id=144751
Unreviewed.
PAL should be a new target inside WebCore, rather than a top-level folder.
.:
- WebKit.xcworkspace/contents.xcworkspacedata: Add it to the workspace.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Updated
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig: Updated
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig: Updated
Tools:
- Scripts/build-webkit: Add it to build-webkit.
- 11:39 AM Changeset in webkit [183939] by
-
- 4 edits in trunk/Source/JavaScriptCore
Dumping OSR ExitValue should expand materializations only once
https://bugs.webkit.org/show_bug.cgi?id=144694
Reviewed by Filip Pizlo.
Currently, dumping OSR exit values will print the full materialization
information each time it is encountered. We change it to print only a
brief description (only the materialization's address), and print the
whole set of materializations later on.
This makes the dump less confusing (less likely to think that two
instances of the same materialization are different), and will be a
necessary change if/when we support materialization cycles.
- ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
- ftl/FTLExitValue.cpp:
(JSC::FTL::ExitValue::dumpInContext):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
- 11:32 AM Changeset in webkit [183938] by
-
- 2 edits in trunk/Source/JavaScriptCore
Worker threads leak WeakBlocks (as seen on leaks bot)
<https://webkit.org/b/144721>
<rdar://problem/20848288>
Reviewed by Darin Adler.
Nuke any remaining empty WeakBlocks when the Heap is being torn down.
Trying to peek into these blocks after the VM is dead would be a bug anyway.
This fixes a ~750 KB leak seen on the leaks bot.
- heap/Heap.cpp:
(JSC::Heap::~Heap):
- 11:26 AM Changeset in webkit [183937] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][Fullscreen] Fullscreen video does not enter low-power mode.
https://bugs.webkit.org/show_bug.cgi?id=144744
Reviewed by Darin Adler.
One of the requirements of entering low-power compositing mode is that no masking layers
are present in any of the ancestors of the fullscreen video layer. So once our fullscreen
transition animation completes, remove the mask layer entirely from our clipping layer.
This means it needs to be re-created and added when entering fullscreen, rather than just
at initialization time.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController initWithWindow:webView:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
- 11:24 AM Changeset in webkit [183936] by
-
- 10 edits3 deletes in trunk
[GTK] All spell checking layout tests fail
https://bugs.webkit.org/show_bug.cgi?id=144648
Reviewed by Carlos Garcia Campos.
Source/WebKit2:
Simplify and complete the GTK+ spell-checking implementation. Instead of using
the EFL/GTK+ only WKTextChecker interface, directly implement Enchant spell-checking
in TextCheckerGtk. The per-context spell checking API is an illusion, since all
WKTextChecker implementations will adjust the same singleton. This can be a first step
toward removing it entirely.
Also complete the implementation of the TextChecker interface by duplicating the EFL code,
which reuses other methods in the same class. Eventually this duplication will collapse,
once GTK+ and EFL can share an Enchant implementation.
- PlatformGTK.cmake:
- UIProcess/API/gtk/WebKitPrivate.h:
- UIProcess/API/gtk/WebKitTextChecker.cpp: Removed.
- UIProcess/API/gtk/WebKitTextChecker.h: Removed.
- UIProcess/API/gtk/WebKitWebContext.cpp: Remove WebTextChecker usage and
replace it with calls directly to the TextChecker singleton via static methods.
- UIProcess/TextChecker.h:
- UIProcess/gtk/TextCheckerGtk.cpp: Move the WebTextChecker enchant implementation
here and reuse the EFL version of WebKit::TextChecker::requestCheckingOfString.
Also initialize languages properly when building for developer builds. This
allows WebKitTestRunner to work even when it doesn't explicitly set the languages.
Source/WTF:
- wtf/Platform.h: Activate UNIFIED_TEXT_CHECKING for GTK+.
LayoutTests:
- platform/gtk/TestExpectations: Unskip and reclassify previously failing tests.
- platform/gtk/editing/spelling/spellcheck-paste-expected.txt: Removed.
- 11:01 AM Changeset in webkit [183935] by
-
- 5 edits in trunk/Source/JavaScriptCore
Don't branch when accessing the callee
https://bugs.webkit.org/show_bug.cgi?id=144645
Reviewed by Michael Saboff.
The branch was added in <http://trac.webkit.org/changeset/81040> without
explanation.
kling found it to be a performance problem. See <https://webkit.org/b/144586>.
Our theory of access to Registers is that it's up to the client to access
them in the right way. So, let's do that.
- interpreter/CallFrame.h:
(JSC::ExecState::callee):
(JSC::ExecState::setCallee): Call the field object instead of function
because nothing guarantees that it's a function.
- interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::callee):
(JSC::ProtoCallFrame::setCallee):
- interpreter/Register.h:
- runtime/JSObject.h:
(JSC::Register::object): Just do a cast like our other accessors do.
(JSC::Register::operator=):
(JSC::Register::function): Deleted.
(JSC::Register::withCallee): Deleted.
- 10:59 AM Changeset in webkit [183934] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the build.
- Configurations/WebCoreTestSupport.xcconfig:
- 10:45 AM Changeset in webkit [183933] by
-
- 4 edits1 add in trunk
Source/WebKit2:
Fix a couple of cases where the backForwardListState's currentIndex is not set correctly in WebBackForwardList::backForwardListState().
https://bugs.webkit.org/show_bug.cgi?id=144666
Reviewed by Darin Adler.
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardListState):
If the first item is filtered out and the currentIndex is 0, don't decrement currentIndex.
If all the items are filtered out, set currentIndex to the uninitialized value.
Tools:
Add a test for WKPageCopySessionState() with filtering.
https://bugs.webkit.org/show_bug.cgi?id=144666
Reviewed by Darin Adler.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::filterFirstItemCallback):
(TestWebKitAPI::filterAllItemsCallback):
(TestWebKitAPI::createSessionStates):
(TestWebKitAPI::TEST):
- 10:30 AM Changeset in webkit [183932] by
-
- 11 edits in trunk
AX: [ATK] The pre element should be mapped to ATK_ROLE_SECTION; not ATK_ROLE_PANEL
https://bugs.webkit.org/show_bug.cgi?id=144702
Reviewed by Chris Fleizach.
Source/WebCore:
Add a new PreRole AccessibilityRole so that per-platform mapping is possible.
Map PreRole to ATK_ROLE_SECTION for Efl and Gtk; to NSAccessibilityGroupRole
for the Mac. Add PreRole to the list of "text type" ATK roles.
No new tests. Existing tests were updated to reflect the corrected mapping.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::allowsTextRanges):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
(roleIsTextType):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
LayoutTests:
In addition to updating the platform expectations for Efl and Gtk, the computed
roles test needed to be updated because there is not a one-to-one mapping between
the HTML pre element and any ARIA role type.
- accessibility/roles-computedRoleString-expected.txt: Updated.
- accessibility/roles-computedRoleString.html: Updated.
- platform/efl/accessibility/roles-exposed-expected.txt: Updated.
- platform/gtk/accessibility/roles-exposed-expected.txt: Updated.
- 10:18 AM Changeset in webkit [183931] by
-
- 4 edits in trunk/Source/WebKit2
[WK2] Remove Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=144745
Reviewed by Darin Adler.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::getMemorySize):
- Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::encode):
(IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::decode):
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::getMemorySize):
- 9:46 AM Changeset in webkit [183930] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION(r182032): [GTK] Production build is broken after r182032
https://bugs.webkit.org/show_bug.cgi?id=144736
Reviewed by Martin Robinson.
The problem is that r182032 moved the NetworkProcess sources from
WebKit2 sources to NetworkProcess sources. That's not a problem
for developer builds where all internal symbols are exported, but
doesn't work for production builds because all those internal
symbols are private.
- CMakeLists.txt: Use a different name for common network process
sources variable.
- PlatformMac.cmake: Append common network process sources to the
network process source list for Mac.
- 9:26 AM Changeset in webkit [183929] by
-
- 22 edits in trunk/Source
<rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
https://bugs.webkit.org/show_bug.cgi?id=144727
Reviewed by Darin Adler.
Source/bmalloc:
- Configurations/Base.xcconfig: Dont’s include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX for the iOS 8.x Simulator.
Source/JavaScriptCore:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
Source/PAL:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX for the iOS 8.x Simulator.
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig: Don’t include AspenFamily.xcconfig.
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
Source/WebCore:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig.
- Configurations/WebCore.xcconfig: For iOS, define INSTALL_PATH in terms of
INSTALL_PATH_PREFIX, and set INSTALL_PATH_PREFIX for the iOS 8.x Simulator.
- Configurations/WebCoreTestSupport.xcconfig: Define INSTALL_PATH in terms of
INSTALL_PATH_PREFIX and INSTALL_PATH_ACTUAL, and define INSTALL_PATH_PREFIX for the iOS 8.x
Simulator.
Source/WebKit/mac:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig.
- Configurations/WebKitLegacy.xcconfig: Define INSTALL_PATH in terms of
INSTALL_PATH_PREFIX and INSTALL_PATH_ACTUAL, and define INSTALL_PATH_PREFIX for the iOS 8.x
Simulator.
Source/WebKit2:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
- Configurations/WebKit2.xcconfig: Define INSTALL_PATH_ACTUAL and let INSTALL_PATH be
derived from it and INSTALL_PATH_PREFIX. Don’t override DYLIB_INSTALL_NAME_BASE for iOS,
because we define LD_DYLIB_INSTALL_NAME directly where needed.
Source/WTF:
- Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
- 8:56 AM Changeset in webkit [183928] by
-
- 2 edits in trunk/Source/JavaScriptCore
Special-case Int32 values in JSON.stringify().
<https://webkit.org/b/144731>
Reviewed by Michael Saboff.
Add a fast path for serializing Int32 values to JSON. This is far faster than dragging
simple integers through the full-blown dtoa() machinery.
~50% speedup on Kraken/json-stringify-tinderbox.
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
- 8:31 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 7:12 AM Changeset in webkit [183927] by
-
- 3 edits in trunk/Source/WebCore
[Mac] Playback target isn't set on new element
https://bugs.webkit.org/show_bug.cgi?id=144724
Reviewed by Jer Noble.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Call setShouldPlayToPlaybackTarget
if necessary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Remember
the setting in case we don't have an AVPlayer yet.
- 7:03 AM Changeset in webkit [183926] by
-
- 2 edits6 deletes in trunk/LayoutTests
[EFL] Unreviewed gardening.
Removed stale expected files, because these tests are reftests now. (as RWT suggested)
Commented old expectations after r183925 to avoid having ambiguous expectations.
- platform/efl/TestExpectations:
- platform/efl/animations/cross-fade-background-image-expected.png: Removed.
- platform/efl/animations/cross-fade-background-image-expected.txt: Removed.
- platform/efl/css3/masking/clip-path-circle-relative-overflow-expected.png: Removed.
- platform/efl/css3/masking/clip-path-polygon-evenodd-expected.png: Removed.
- platform/efl/css3/masking/clip-path-polygon-expected.png: Removed.
- platform/efl/css3/masking/clip-path-polygon-nonzero-expected.png: Removed.
- 6:48 AM Changeset in webkit [183925] by
-
- 2 edits in trunk/LayoutTests
[EFL] Mouseevent/hover tests fail with XorgDriver
https://bugs.webkit.org/show_bug.cgi?id=144741
Unreviewed gardening, mark failing tests, skip timeouting tests.
- platform/efl/TestExpectations:
- 3:39 AM Changeset in webkit [183924] by
-
- 1 copy in releases/WebKitGTK/webkit-2.9.1
WebKitGTK+ 2.9.1
- 3:14 AM Changeset in webkit [183923] by
-
- 2 edits in trunk/LayoutTests
[EFL] REGRESSION(r183907): It made all inspector-protocol test crash
https://bugs.webkit.org/show_bug.cgi?id=144737
Unreviewed gardening, skip crashing tests.
- platform/efl/TestExpectations:
- 3:05 AM Changeset in webkit [183922] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.1 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.9.1.
- 2:49 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 1:26 AM Changeset in webkit [183921] by
-
- 3 edits in trunk/Source/WTF
[GTK] Clean up RunLoop implementation
https://bugs.webkit.org/show_bug.cgi?id=144729
Reviewed by Carlos Garcia Campos.
Clean up the RunLoop implementation for the GTK port,
removing unnecessary methods and using simpler variable names.
Nested GMainLoops in RunLoop::run() are now created for the
RunLoop's GMainContext, and not for the default context (enforced
through the null argument to g_main_loop_new()).
- wtf/RunLoop.h:
- wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::run):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::innermostLoop): Deleted.
(WTF::RunLoop::pushNestedMainLoop): Deleted.
(WTF::RunLoop::popNestedMainLoop): Deleted.
- 1:09 AM Changeset in webkit [183920] by
-
- 3 edits4 adds in trunk
Fix <script srcset> being loaded by the preloader.
https://bugs.webkit.org/show_bug.cgi?id=144675
Reviewed by Darin Adler.
Source/WebCore:
Fix HTMLPreloadScanner to make sure that srcset is only loaded
when it is present on an <img>.
Tests: http/tests/loading/preload-script-src.html
http/tests/loading/preload-script-srcset-ignored.html
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
LayoutTests:
Add preloader tests to make sure that <script src> is preloaded,
and <script srcset> is not.
- http/tests/loading/preload-script-src-expected.txt: Added.
- http/tests/loading/preload-script-src.html: Added.
- http/tests/loading/preload-script-srcset-ignored-expected.txt: Added.
- http/tests/loading/preload-script-srcset-ignored.html: Added.
- 1:02 AM Changeset in webkit [183919] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Remove dock button from Web Inspector window
https://bugs.webkit.org/show_bug.cgi?id=144728
Reviewed by Sergio Villar Senin.
We added the dock buttons to the headerbar, because they were
removed from the inspector toolbar, but with the new tabbed
design, the dock buttons are back in the toolbar and look redundant.
- UIProcess/WebInspectorProxy.h:
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
(WebKit::WebInspectorProxy::dockButtonClicked): Deleted.
- 12:09 AM Changeset in webkit [183918] by
-
- 2 edits in trunk/Source/WebCore
Add missing type traits specialization for PlatformDisplayWayland
https://bugs.webkit.org/show_bug.cgi?id=144671
Reviewed by Carlos Garcia Campos.
- platform/graphics/wayland/PlatformDisplayWayland.h:
Add missing type traits specialization for the PlatformDisplayWayland
class via the SPECIALIZE_TYPE_TRAITS_PLATFORM_DISPLAY macro.
May 6, 2015:
- 11:53 PM Changeset in webkit [183917] by
-
- 5 edits in trunk/Source
Versioning.
- 11:51 PM Changeset in webkit [183916] by
-
- 1 copy in tags/Safari-601.1.32
New tag.
- 11:20 PM Changeset in webkit [183915] by
-
- 2 edits in trunk/Tools
iOS build fix attempt
Link WebKitTestRunnerApp to WebKit, now that we don't have WebKit2.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 11:13 PM Changeset in webkit [183914] by
-
- 1 edit7 adds in trunk/LayoutTests
Add srcset preloader tests
https://bugs.webkit.org/show_bug.cgi?id=144674
Reviewed by Darin Adler.
Add several preloader tests making sure that the when srcset is being preloaded,
the right resource is fetched, and the other resource is not.
- http/tests/loading/preload-img-src-expected.txt: Added.
- http/tests/loading/preload-img-src.html: Added.
- http/tests/loading/preload-img-srcset-expected.txt: Added.
- http/tests/loading/preload-img-srcset-sizes-expected.txt: Added.
- http/tests/loading/preload-img-srcset-sizes.html: Added.
- http/tests/loading/preload-img-srcset.html: Added.
- http/tests/resources/checkPreload.js: Added.
(checkForPreload):
- 11:07 PM Changeset in webkit [183913] by
-
- 3 edits4 adds in trunk
[CSS Grid Layout] Mark grid shorthands as layout dependent
https://bugs.webkit.org/show_bug.cgi?id=144687
Reviewed by Darin Adler.
Source/WebCore:
grid-template and grid shorthands were not marked us layout dependent,
so you can end up calling them before the grid has been laid out and
you'll get a crash at valueForGridTrackList() because of trackPositions
won't be initialized yet.
Tests: fast/css-grid-layout/grid-shorthand-computed-style-crash.html
fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::isLayoutDependent): Add the grid shorthands only if the object
is a RenderGrid as otherwise it's not needed (using the same condition
for grid-template-columns and grid-template-rows properties too).
LayoutTests:
- fast/css-grid-layout/grid-shorthand-computed-style-crash-expected.txt: Added.
- fast/css-grid-layout/grid-shorthand-computed-style-crash.html: Added.
- fast/css-grid-layout/grid-template-shorthand-computed-style-crash-expected.txt: Added.
- fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html: Added.
- 10:15 PM Changeset in webkit [183912] by
-
- 5 edits in trunk
ToT WebKit crashes while loading ES6 compatibility table
https://bugs.webkit.org/show_bug.cgi?id=144726
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
The bug was caused by parseClass superfluously avoiding to build up the string after seeing {.
Always build the identifier here as it could be a method name.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
LayoutTests:
Added new test cases.
- js/class-syntax-string-and-numeric-names-expected.txt:
- js/script-tests/class-syntax-string-and-numeric-names.js:
- 9:56 PM Changeset in webkit [183911] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][Fullscreen] Elements whose children extend beyond their bounds are clipped in fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=144716
Reviewed by Darin Adler.
We create a mask animation for the transition between windowed and fullscreen modes, on the
assumption that the element being taken into fullscreen mode does not have visible children
who extend beyond that elements bounds. This assumption breaks down in the case where div
with absolutely positioned children is taken fullscreen. While we can't necessarily make the
transition look correct in this case, we can remove the mask after the transition completes.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
- WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
(WebKit::removeAllMediaKeyStorageForOriginPath):
- 9:46 PM Changeset in webkit [183910] by
-
- 2 edits in trunk/Source/WebKit2
Fix a build break on EFL debug build
https://bugs.webkit.org/show_bug.cgi?id=144654
Patch by Jinwoo Jeong <jw00.jeong@samsung.com> on 2015-05-06
Reviewed by Gyuyoung Kim.
No new tests, just build fix.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::paintToGraphicsContext):
- 8:23 PM Changeset in webkit [183909] by
-
- 15 edits in trunk/Source
[iOS][WK2] Pause/resume database thread when UIProcess enters/leaves the background
https://bugs.webkit.org/show_bug.cgi?id=144657
<rdar://problem/18894598>
Reviewed by Andy Estes.
Source/WebCore:
Export WebCore functionality to pause and resume the database thread so that we can
make use of this functionality from WebKit2.
- Modules/webdatabase/AbstractDatabaseServer.h:
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::setPauseAllDatabases): Added; turns around and calls DatabaseServer::setPauseAllDatabases().
- Modules/webdatabase/DatabaseManager.h:
- Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::setPauseAllDatabases): Added; turns around and calls
DatabaseTracker::tracker().setDatabasesPaused() to pause or resume the database thread.
For now, we guard this call with PLATFORM(IOS). We'll look to remove this guard once
we fix <https://bugs.webkit.org/show_bug.cgi?id=144660>.
- Modules/webdatabase/DatabaseServer.h:
Source/WebKit2:
Pause and resume the database thread when the UIProcess enters and leaves the background,
respectively, so that we avoid WebProcess termination due to holding a locked SQLite
database file when the WebProcess is suspended. This behavior matches the analagous
behavior in Legacy WebKit.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _applicationDidEnterBackground:]): Call WebPageProxy::applicationDidEnterBackground()
when the UIProcess enters the background.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground): Added; notify the WebProcess to pause the database thread.
We temporarily take out background assertion on the WebProcess before sending this notification to ensure that the
WebProcess is running to receive it. We'll release this assertion when the WebProcess replies that it received the
notification.
- WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::setPauseAllDatabases): Added; turns around and calls DatabaseManager::setPauseAllDatabases().
- WebProcess/WebCoreSupport/WebDatabaseManager.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add message ApplicationDidEnterBackground(). Also,
add empty lines to help demarcate this message and the other UIKit application lifecycle-related
messages from the rest of the list of messages.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillEnterForeground): Resume the database thread.
(WebKit::WebPage::applicationDidEnterBackground): Pause the database thread.
- 8:19 PM Changeset in webkit [183908] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] ewk_view_page_contents_get() API test is flaky
https://bugs.webkit.org/show_bug.cgi?id=144683
Reviewed by Gyuyoung Kim.
Callback of WKPageGetContentsAsMHTMLData contains WKData which does not contain null terminated character.
- UIProcess/API/efl/ewk_view.cpp: Pass the data of string instead of WKData directly.
(ewkViewPageContentsAsMHTMLCallback):
- 8:04 PM Changeset in webkit [183907] by
-
- 9 edits in trunk/Source
Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
https://bugs.webkit.org/show_bug.cgi?id=144714
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-06
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.updateDockingAvailability):
(WebInspector._updateDockNavigationItems):
Update the Toolbar UI based on docking availability.
Assume docking is unavailable by default.
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setDockingUnavailable):
Add back this API as the backend may be calling it when
docking availability changes. This just calls out to
global WebInspector functions to update the Toolbar UI.
- UserInterface/Base/Test.js:
(WebInspector.updateDockedState):
(WebInspector.updateDockingAvailability):
Do nothing in tests.
Source/WebKit2:
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::attachAvailabilityChanged):
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::setDockingUnavailable):
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.messages.in:
When docking availability changes, inform the inspector page
so it can respond by updating its UI.
- 7:53 PM Changeset in webkit [183906] by
-
- 13 edits8 adds in trunk
Scroll-snap points do not handle margins and padding propertly
https://bugs.webkit.org/show_bug.cgi?id=144647
<rdar://problem/20829473>
Reviewed by Simon Fraser.
Source/WebCore:
The calculation of scroll snap points was incorrect because it did not account for margins or padding.
This was fixed by using the "paddingBoxRect" to represent the overall size of the view area, and
subtracting the relevant padding when computing the size of the scroll snap offsets.
Extend testing internals with accessor methods to retrieve string representations of the scroll snap
offsets and scroll snap coordinates computed during layout. These values are used in the new
'css3/scroll-snap/scroll-snap-offsets-and-coordinates.html' test.
New tests:
- css3/scroll-snap/scroll-snap-offsets-and-coordinates.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: Added.
- css/LengthFunctions.h: Expose the 'valueForLength' method so we can use it in WebCoreTestSupport.
- dom/Node.h: Expose the 'renderBox' method so we can use it in WebCoreTestSupport.
- page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Use 'contentBoxRect' for overall size, so that we don't use padding
as part of our offset calculations.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto.
- rendering/RenderBox.h: Expose 'canBeScrolledAndHasScrollableArea' for use in WebCoreTestSupport.
- rendering/style/RenderStyle.h: Expose 'scrollSnapCoordinates' for use in WebCoreTestSupport.
- testing/Internals.cpp:
(WebCore::appendOffsets): Helper function.
(WebCore::Internals::scrollSnapOffsets): Added.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Add new scroll-snap tests that cover elements with borders, padding, and rotation. Also correct the
cause of the 'scroll-snap-mandatory-overflow.html' test flakiness by making sure the mouse is always
inside the element when starting new wheel gestures.
Also add a new 'generic' test that confirms that we have expected results for scroll-snap coordinates
and calculated scroll-snap-offset values.
- css3/scroll-snap/scroll-snap-offsets.html: Added.
- platform/mac-wk2/TestExpectations: Remove flakiness annotation for scroll-snap-mandatory-overflow.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html:
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html:
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: Added.
- 7:32 PM Changeset in webkit [183905] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: The text in the left pane overlaps the "Filter Time Events" field in the Timeline after the Web Inspector is resized
https://bugs.webkit.org/show_bug.cgi?id=144720
Reviewed by Timothy Hatcher.
- UserInterface/Views/FilterBar.css:
(.filter-bar):
(.filter-bar > .navigation-bar):
(.filter-bar > input[type="search"]):
(.filter-bar > .navigation-bar > .item): Deleted.
Filter bar now has opaque background and height updated to the ubiquitous 29px.
- 7:09 PM Changeset in webkit [183904] by
-
- 8 edits in trunk/Source/WebCore
Clean up TextRun constructors
https://bugs.webkit.org/show_bug.cgi?id=144712
Reviewed by Zalan Bujtas.
This patch uses constructor forwarding to make TextRun's constructors much simpler. It then
updates the implementations of RenderBlock::constructTextRun() to be more consistent with
TextRun (via using StringViews).
No new tests because there is no behavior change.
- mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::longDivLeftPadding):
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
(WebCore::constructTextRunInternal): Deleted.
- rendering/RenderBlock.h:
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
- rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
- platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):
- 6:23 PM Changeset in webkit [183903] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Simplify AsyncRequestImpl::ArgumentType parameters
https://bugs.webkit.org/show_bug.cgi?id=144689
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-05-06
Reviewed by Darin Adler.
Remove duplicated typename and ::type from AsyncRequestImpl related
function parameters.
- Shared/AsyncRequest.h:
- 5:59 PM Changeset in webkit [183902] by
-
- 2 edits in trunk/Tools
Unreviewed, updated my list of email addresses.
- Scripts/webkitpy/common/config/contributors.json:
- 5:28 PM Changeset in webkit [183901] by
-
- 13 edits in trunk/Source/WebCore
Rename URL::copy() to URL::isolatedCopy() to match String.
https://bugs.webkit.org/show_bug.cgi?id=144684
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-06
Reviewed by Darin Adler.
No new tests, no behavior change.
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::setURL):
(WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
- fileapi/ThreadableBlobRegistry.cpp:
(WebCore::BlobRegistryContext::BlobRegistryContext):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
- html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::PreloadRequest):
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
- platform/CrossThreadCopier.cpp:
(WebCore::URL>::copy):
- platform/URL.cpp:
(WebCore::URL::isolatedCopy):
(WebCore::URL::copy): Deleted.
- platform/URL.h:
(WebCore::URLCapture::URLCapture):
- platform/network/BlobPart.h:
(WebCore::BlobPart::detachFromCurrentThread):
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::copyData):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::copyData):
- workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
- 5:26 PM Changeset in webkit [183900] by
-
- 5 edits2 deletes in trunk
Unreviewed, rolling out r183894.
https://bugs.webkit.org/show_bug.cgi?id=144719
crashes on mavericks (Requested by dino on #webkit).
Reverted changeset:
"Handle backdrop views that have to tile"
https://bugs.webkit.org/show_bug.cgi?id=142317
http://trac.webkit.org/changeset/183894
- 4:42 PM Changeset in webkit [183899] by
-
- 2 edits in trunk/Source/WebCore
CoreTextSPI.h uses wrong version number to denote Yosemite
https://bugs.webkit.org/show_bug.cgi?id=144701
Reviewed by Dean Jackson.
- platform/spi/cocoa/CoreTextSPI.h: Should 101000 not 10100.
- 4:32 PM Changeset in webkit [183898] by
-
- 4 edits in trunk/Source/WebKit2
Addition review followup for:
Crash executing null AsyncRequest in IDB code.
<rdar://problem/18854856> and https://bugs.webkit.org/show_bug.cgi?id=144715
Reviewed by Darin Adler.
This patch adds a layer on top of the UniqueIDBDatabase request map to catch this coding mistake in the future.
- DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didCompleteBoolRequest): Get rid of the ASSERT and the temporary variable,
make it a single line which reads better.
(WebKit::UniqueIDBDatabase::didPutRecordInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didCountInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore): Ditto.
- DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: Ditto.
Add the class AsyncRequestMap which shadows a HashMap but does aggressive runtime checks
in ::take() to make sure the same request was not dispatched twice in a row, and makes sure we
never try to execute a null AsyncRequest by way of a RELEASE_ASSERT.
- Shared/AsyncRequest.h:
(WebKit::AsyncRequestMap::AsyncRequestMap):
(WebKit::AsyncRequestMap::take):
(WebKit::AsyncRequestMap::add):
(WebKit::AsyncRequestMap::clear):
(WebKit::AsyncRequestMap::values):
- 4:14 PM Changeset in webkit [183897] by
-
- 5 edits in trunk/Source/JavaScriptCore
Sane chain and string watchpoints should be set in FixupPhase or the backend rather than WatchpointCollectionPhase
https://bugs.webkit.org/show_bug.cgi?id=144665
Reviewed by Michael Saboff.
This is a step towards getting rid of WatchpointCollectionPhase. It's also a step towards
extending SaneChain to all indexing shapes.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Set the watchpoints here so that we don't need a case in WatchpointCollectionPhase.
(JSC::DFG::FixupPhase::checkArray): Clarify the need for checking the structure. We often forget why we do this instead of always using CheckArray.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString): Set the watchpoints here so that we don't need a case in WatchpointCollectionPhase.
- dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle): Remove some code.
(JSC::DFG::WatchpointCollectionPhase::handleStringGetByVal): Deleted.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt): Set the watchpoints here so that we don't need a case in WatchpointCollectionPhase.
- 4:05 PM Changeset in webkit [183896] by
-
- 2 edits in trunk/Source/WebKit2
Crash executing null AsyncRequest in IDB code.
<rdar://problem/18854856> and https://bugs.webkit.org/show_bug.cgi?id=144715
Reviewed by Darin Adler.
When UniqueIDBDatabase fails to execute an operation on the database work queue it usually
dispatches an AsyncRequest ID back to the main thread with an error callback.
For two of its operations it would then also dispatch the success callback.
In those cases the main thread would first take the AsyncRequest for the error callback out
of a map and then execute it.
It would then try to take the same AsyncRequest out of the map again, fail to do so, then
execute a null AsyncRequest.
This patch fixes the two functions to not dispatch both an error and success callback.
- DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::countInBackingStore): Return after dispatching the error callback.
(WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto.
- 3:55 PM Changeset in webkit [183895] by
-
- 6 edits in trunk
Expose more font weights for -apple-system
https://bugs.webkit.org/show_bug.cgi?id=144707
Reviewed by Dean Jackson.
Source/WebCore:
Update to platform/mac/fast/text/systemFont.html
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::toNSFontWeight): New static method to map font weights to NSFontWeight constants available on
Yosemite and later.
(WebCore::fontWithFamily): Request the system font with a mapped weight on Yosemite and later.
- platform/spi/mac/NSFontSPI.h: Add [NSFont systemFontWithSize:weight:], and the proper NSFontWeight
constants.
LayoutTests:
- platform/mac/fast/text/systemFont.html: Update test to include font weights for -apple-system.
- platform/mac/fast/text/systemFont-expected.txt: Update expectations.
- 3:46 PM Changeset in webkit [183894] by
-
- 5 edits2 adds in trunk
Handle backdrop views that have to tile
https://bugs.webkit.org/show_bug.cgi?id=142317
<rdar://problem/20049088>
Reviewed by Simon Fraser.
Source/WebCore:
Make sure backdrop layers don't tile. If they are big
enough, we'll leave it to the platform compositor to handle.
This also fixes a bug where if a layer changed from a backdrop
type to a tiled type, it would still retain its custom appearance
and we'd try to add children to the wrong layer.
Test: compositing/media-controls-bar-appearance-big.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Check if
a layer needs a backdrop before checking if it needs to tile.
Source/WebKit2:
Add some better logging for custom appearance.
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
LayoutTests:
A test that creates some backdrop views, then makes them
big enough that it would trigger tiling (which we don't want
to happen).
- compositing/media-controls-bar-appearance-big-expected.txt: Added.
- compositing/media-controls-bar-appearance-big.html: Added.
- 3:35 PM Changeset in webkit [183893] by
-
- 2 edits in trunk/Source/WebKit2
Disable network cache efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=144703
<rdar://problem/20439143>
Reviewed by Andreas Kling.
Disable network cache efficacy logging by default as we have sufficient
data for now.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):
- 3:32 PM Changeset in webkit [183892] by
-
- 6 edits1 add in trunk/Source/WebCore
[WinCairo] Compile error due to undefined symbols after r183868
https://bugs.webkit.org/show_bug.cgi?id=144692
Patch by Carlos Garcia Campos <cgarcia@igalia.com> and Per Arne Vollan <peavo@outlook.com> on 2015-05-06
Reviewed by Alex Christensen.
Speculative build fix. Add dummy PlatformDisplayWin.
- PlatformWinCairo.cmake: Add PlatformDisplay.cpp to compilation.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay):
- platform/graphics/PlatformDisplay.h:
- platform/graphics/win/PlatformDisplayWin.h:
Add stubs to compile.
- WebCore.vcxproj/WebCore.vcxproj
- WebCore.vcxproj/WebCore.vcxproj.filters
Add new files to Windows build.
- 3:14 PM Changeset in webkit [183891] by
-
- 3 edits in trunk/Source/WebCore
Avoid copies in scrollOffsetForFixedPosition() and inline it.
https://bugs.webkit.org/show_bug.cgi?id=144709
Reviewed by Simon Fraser.
- page/FrameView.cpp:
(WebCore::FrameView::frameScaleFactor):
Added so that scrollOffsetForFixedPosition() can be inlined without having to
reference Frame's implementation.
(WebCore::FrameView::scrollOffsetForFixedPosition): Deleted.
Moved this to the header.
- page/FrameView.h:
Inline scrollOffsetForFixedPosition() and get rid of all the copying
it was doing.
- 2:50 PM Changeset in webkit [183890] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Perf dashboard treats Speedometer and JetStream as smaller is better
https://bugs.webkit.org/show_bug.cgi?id=144711
Reviewed by Chris Dumez.
Added the support for "Score" metric.
- public/js/helper-classes.js:
(PerfTestRuns):
- public/v2/data.js:
(RunsData.unitFromMetricName):
(RunsData.isSmallerBetter):
- 2:36 PM Changeset in webkit [183889] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
- 2:02 PM Changeset in webkit [183888] by
-
- 3 edits in trunk/Source/WebKit2
No way to get a WKWebProcessPlugInFrame’s parent frame
https://bugs.webkit.org/show_bug.cgi?id=144705
Reviewed by Sam Weinig.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _parentFrame]): Added this getter.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared new
_parentFrame property.
- 2:00 PM Changeset in webkit [183887] by
-
- 2 edits in trunk/Source/WebCore
RenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
https://bugs.webkit.org/show_bug.cgi?id=144708
Reviewed by Simon Fraser.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform):
Only compute a pixel snapped rect if we actually end up needing it. The common case
is that this rect is not needed, so pushing it inside the two if statements
speeds up the common case.
- 1:52 PM Changeset in webkit [183886] by
-
- 4 edits in trunk/Source
Fix the build.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
- platform/spi/cocoa/QuartzCoreSPI.h:
- 1:40 PM Changeset in webkit [183885] by
-
- 10 edits in trunk/Source/WebCore
Optimize topLeftLocationOffset() addition in updateLayerPosition
https://bugs.webkit.org/show_bug.cgi?id=144704
Reviewed by Dean Jackson.
- page/FrameView.cpp:
(WebCore::FrameView::FrameView):
- page/FrameView.h:
Move the hasFlippedBlocks bit to FrameView instead of RenderView. Works better for inlining
the check in any renderer header, and it also makes more sense conceptually, since the RenderView
itself could be a flipped block.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
Change over to the FrameView bit.
- rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset):
Add a new inlined function that can apply the top left location offset to a point without
multiple LayoutSize creations and copies. It invokes a helper for flipping that is not
inlined only in the case where actual flipped blocks exist in the render tree.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
Set the bit on the FrameView now instead of the RenderView.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
Call the new applyTopLeftLocationOffset function so that the point can have offsets added
in without any extra copies.
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
Switch over to the bit on the FrameView.
- rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
- rendering/RenderView.h:
Get rid of the bit on the RenderView.
- 1:34 PM Changeset in webkit [183884] by
-
- 3 edits in trunk/Tools
Do not link tools to WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144699
Unreviewed build fix.
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
- WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
These linked to WebKit2 in two ways, eliminating the other one.
- 1:32 PM Changeset in webkit [183883] by
-
- 13 edits1 copy14 adds in trunk
Introducing the Platform Abstraction Layer (PAL)
https://bugs.webkit.org/show_bug.cgi?id=143358
Reviewed by Simon Fraser.
.:
- WebKit.xcworkspace/contents.xcworkspacedata: Add it to the workspace.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Updated
Source/PAL:
Introduce a new top-level folder and static library. This is intended to be
the destination for code that currently resides in WebCore/platform. Code
will be moved from that folder into PAL file by file. Separating this
platform code into its own static library enforces layering, as well as
encourages/aids unit testing of this platform code.
This commit only creates a single symbol which is not required to build
WebKit. The reason for this is so that we can get all build issues ironed
out before requiring PAL.
For more information, see
https://lists.webkit.org/pipermail/webkit-dev/2015-March/027303.html
- PAL.xcodeproj/project.pbxproj: Added.
- Makefile: Added. Standard Makefile.
- config.h: Added. Standard header.
- PALPrefix.h: Added. Copied from WebCore.
- graphics/Foo.h: Added. Header.
- graphics/Foo.cpp: Added.
(foo): Placeholder symbol.
- Configurations/Base.xcconfig: Added. Standard config files
- Configurations/DebugRelease.xcconfig: Added. Standard config files
- Configurations/PAL.xcconfig: Added. Standard config files
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj: Let the project know about the .a
- Configurations/FeatureDefines.xcconfig: Updated
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig: Updated
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig: Updated
Tools:
- Scripts/build-webkit: Add it to build-webkit.
- 12:26 PM Changeset in webkit [183882] by
-
- 2 edits in trunk/Tools
Fix api tests after r183877.
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Generate all DFAs before compiling them.
- 12:02 PM Changeset in webkit [183881] by
-
- 3 edits in trunk/Source/WebCore
[iOS] remove some unnecessary iOS-only media code
https://bugs.webkit.org/show_bug.cgi?id=144697
<rdar://problem/20229914>
Reviewed by Jer Noble.
- html/HTMLAttributeNames.in: Remove data-youtube-id.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Remove dataYouTubeID.
- 11:44 AM Changeset in webkit [183880] by
-
- 4 edits in trunk/Tools
Do not link tools to WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144699
Reviewed by Tim Horton.
- MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 11:37 AM Changeset in webkit [183879] by
-
- 2 edits in trunk/Source/WebCore
Optimize relativePositionOffset() to avoid doing unnecessary work
https://bugs.webkit.org/show_bug.cgi?id=144698
Reviewed by Simon Fraser.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffset):
Patch relativePositionOffset to avoid doing unnecessary work in the common case where
all values of top/left/right/bottom are either auto or fixed. We no longer fetch
containingBlock() into a local always, but instead just invoke the function only
when necessary.
Also avoid computing the percentage-relative maximum for the top/right/bottom/left lengths
when they are fixed values, since that maximum won't be examined at all.
- 10:52 AM Changeset in webkit [183878] by
-
- 8 edits in trunk
[FreeType] Vertical CJK glyphs should not be rendered with synthetic oblique
https://bugs.webkit.org/show_bug.cgi?id=144612
Reviewed by Darin Adler.
Source/WebCore:
No new tests. This causes fast/text/international/synthesized-italic-vertical.html to pass.
- platform/graphics/Font.cpp:
(WebCore::Font::nonSyntheticItalicFont): Compile this method for Cairo as well.
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::glyphDataForSystemFallback): When searching for the system fallback,
ensure that we do not use synthetic oblique when rendering vertical CJK glyphs.
(WebCore::FontCascadeFonts::glyphDataForNormalVariant): Extend the CJK fix to Cairo ports.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::setSyntheticOblique): Added this helper method, because
Freetype/Cairo ports needs to be able to recreate the scaled font matrix when the
synthetic oblique settings changes.
- platform/graphics/freetype/FontPlatformData.h: Rename initializeWithFontFace to buildScaledFont.
Remove the now unused m_horizontalOrientationMatrix member.
(WebCore::FontPlatformData::setSyntheticOblique): Added the helper here as well.
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Calculate whether or not to use synthetic oblique here,
before buildScaledFont is called. Call buildScaledFont instead of initializeWithFontFace.
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::buildScaledFont): Renamed from initializeWithFontFace, does
the same thing, except calculate whether or not to use synthetic oblique. Instead just
reads the value.
(WebCore::FontPlatformData::setOrientation): Instead of adjusting the font matrix, recreate
the entire font.
(WebCore::FontPlatformData::setSyntheticOblique): Added.
(WebCore::rotateCairoMatrixForVerticalOrientation): Deleted.
(WebCore::FontPlatformData::initializeWithFontFace): Deleted.
LayoutTests:
- platform/gtk/TestExpectations: Remove expectation for failing test.
- 10:51 AM Changeset in webkit [183877] by
-
- 10 edits in trunk
[Content Extensions] Test splitting NFAs by max NFA size.
https://bugs.webkit.org/show_bug.cgi?id=144659
Patch by Alex Christensen <achristensen@webkit.org> on 2015-05-06
Reviewed by Darin Adler.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
- contentextensions/CombinedURLFilters.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/DFABytecodeCompiler.h:
- contentextensions/DFABytecodeInterpreter.h:
Make maxNFASize a parameter so we can test it with small values.
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/DFAMinimizer.cpp:
(TestWebKitAPI::createNFAs):
- 10:47 AM Changeset in webkit [183876] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK+ gardening
- platform/gtk/TestExpectations: Remove a couple expectations tests.
- platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt:
- 10:31 AM Changeset in webkit [183875] by
-
- 5 edits in trunk/Source
REGRESSION (r183467): Unable to start downloads in private browsing mode
https://bugs.webkit.org/show_bug.cgi?id=144533
Reviewed by Darin Adler.
Source/WebCore:
If willSendRequest delegate mutated the request we would lose the requester field value from the original.
No test runner support for mutating requests.
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
This needs to keep the requester too.
- platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
Share implementations.
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):
Use updateFromDelegatePreservingOldProperties (like WK2) instead of doing the same thing manually.
- 10:10 AM Changeset in webkit [183874] by
-
- 2 edits in trunk/Source/JavaScriptCore
Don't allocate a StringImpl for every Number JSValue in JSON.stringify().
<https://webkit.org/b/144676>
Reviewed by Darin Adler.
We were creating a new String for every number JSValue passing through the JSON stringifier.
These StringImpl allocations were dominating one of the Kraken JSON benchmarks.
Optimize this by using StringBuilder::appendECMAScriptNumber() which uses a stack buffer
for the conversion instead.
13% progression on Kraken/json-stringify-tinderbox.
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
- 10:02 AM Changeset in webkit [183873] by
-
- 5 edits in trunk/LayoutTests
Update expectations for fast/forms/button-line-height.html
- TestExpectations:
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/win/TestExpectations:
- 9:50 AM Changeset in webkit [183872] by
-
- 5 edits1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r183847.
https://bugs.webkit.org/show_bug.cgi?id=144691
Caused many assertion failures (Requested by ap on #webkit).
Reverted changeset:
"GC has trouble with pathologically large array allocations"
https://bugs.webkit.org/show_bug.cgi?id=144609
http://trac.webkit.org/changeset/183847
- 9:42 AM Changeset in webkit [183871] by
-
- 8 edits in trunk/Source
Toggling underline on font panel removes strike through
https://bugs.webkit.org/show_bug.cgi?id=144670
<rdar://problem/3790443>
Reviewed by Darin Adler.
Source/WebCore:
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::EditingStyle): Added a variant that takes CSSStyleDeclaration.
- editing/EditingStyle.h:
(WebCore::EditingStyle::create): Ditto.
- editing/Editor.cpp:
(WebCore::Editor::applyStyleToSelection): Takes Ref<EditingStyle>&& instead of RefPtr<EditingStyle>&&.
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame): Ditto.
(WebCore::executeStrikethrough):
(WebCore::executeUnderline):
Source/WebKit/mac:
Use setStrikeThroughChange and setUnderlineChange added in r183770 to toggle underline and strike through.
- WebView/WebHTMLView.mm:
(-[WebHTMLView _applyEditingStyleToSelection:withUndoAction:]):
(-[WebHTMLView _styleForAttributeChange:]):
(-[WebHTMLView changeAttributes:]):
- 9:36 AM Changeset in webkit [183870] by
-
- 2 edits in trunk/Source/WebCore
More build fixing.
- page/mac/TextIndicatorWindow.mm:
- 9:25 AM Changeset in webkit [183869] by
-
- 2 edits in trunk/Source/WebCore
32-bit build fix after r183859 and r183860.
- page/mac/TextIndicatorWindow.mm:
Autosynthesis isn't available for our 32-bit builds.
- 9:06 AM Changeset in webkit [183868] by
-
- 19 edits in trunk/Source/WebCore
[EGL] Move EGLDisplay handling to PlatformDisplay and remove PlatformDisplay definition from GLDefs.h
https://bugs.webkit.org/show_bug.cgi?id=144685
Reviewed by Martin Robinson.
The EGL display is also initialized in multiple places, and could
be unified in PlatformDisplay. Remove the PlatformDisplay
definition from platform/graphics/opengl/GLDefs.h to avoid conflicts.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::PlatformDisplay): Initialize m_eglDisplay.
(WebCore::PlatformDisplay::~PlatformDisplay): Call terminateEGLDisplay().
(WebCore::PlatformDisplay::eglDisplay): Lazy intialize the EGL
display and return it.
(WebCore::PlatformDisplay::initializeEGLDisplay):
(WebCore::PlatformDisplay::terminateEGLDisplay):
- platform/graphics/PlatformDisplay.h:
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::sharedEGLDisplay): Use PlatformDisplay::eglDisplay().
- platform/graphics/opengl/GLDefs.h: Remove unneeded definitions.
- platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore::GLPlatformSurface::GLPlatformSurface): Remove
m_sharedDisplay member, PlatformDisplay::sharedDisplay() can be used instead.
(WebCore::GLPlatformSurface::sharedDisplay): Deleted.
- platform/graphics/opengl/GLPlatformSurface.h:
- platform/graphics/surfaces/egl/EGLConfigSelector.h: Use
EGLDisplay instead of PlatformDisplay.
- platform/graphics/surfaces/egl/EGLContext.cpp:
(WebCore::EGLOffScreenContext::initialize): Use PlatformDisplay::eglDisplay().
- platform/graphics/surfaces/egl/EGLHelper.cpp: Remove the
EGLDisplayConnection clas and use PlatformDisplay instead.
(WebCore::EGLHelper::eglDisplay):
(WebCore::EGLHelper::currentDisplay):
(WebCore::EGLDisplayConnection::EGLDisplayConnection): Deleted.
(WebCore::EGLDisplayConnection::~EGLDisplayConnection): Deleted.
(WebCore::EGLDisplayConnection::display): Deleted.
(WebCore::EGLDisplayConnection::terminate): Deleted.
- platform/graphics/surfaces/egl/EGLHelper.h:
- platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLTransportSurface::EGLTransportSurface): Use EGLHelper::eglDisplay().
(WebCore::EGLTransportSurface::destroy): Ditto.
(WebCore::EGLOffScreenSurface::EGLOffScreenSurface): Ditto.
(WebCore::EGLOffScreenSurface::destroy): Ditto.
- platform/graphics/surfaces/egl/EGLXSurface.cpp:
(WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
Use PlatformDisplay::eglDisplay().
(WebCore::EGLWindowTransportSurface::swapBuffers): Ditto.
(WebCore::EGLPixmapSurface::EGLPixmapSurface): Ditto.
- platform/graphics/surfaces/glx/GLXContext.cpp:
(WebCore::GLXOffScreenContext::initialize): Use X11Helper::nativeDisplay().
- platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface): Do not use m_sharedDisplay.
(WebCore::GLXOffScreenSurface::initialize): Ditto.
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Call
PlatformDisplay::initializeEGLDisplay() to insialize the EGL display.
- platform/graphics/wayland/PlatformDisplayWayland.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::initializeEGLDisplay): Override
PlatformDisplay::initializeEGLDisplay() to initialize the
m_eglDisplay member.
- platform/graphics/x11/PlatformDisplayX11.h:
- 5:55 AM Changeset in webkit [183867] by
-
- 5 edits in trunk/Source
Web Inspector: DOMStorage exception and issue with sessionStorage
https://bugs.webkit.org/show_bug.cgi?id=144646
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-06
Reviewed by Timothy Hatcher.
Source/WebCore:
- inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):
Return session storage if the identifier says not local storage.
Source/WebInspectorUI:
- UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
(WebInspector.DOMStorageContentView.prototype._populate):
(WebInspector.DOMStorageContentView.prototype.reset): Deleted.
Always have the datagrid be available with a default sort.
(WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
(WebInspector.DOMStorageContentView.prototype._sortDataGrid):
Simplify and correct the order.
(WebInspector.DOMStorageContentView.prototype.cleanup):
Cleanup some uses of delete.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.sortNodesImmediately):
Provide a way to sort immediately without a visible delay.
(WebInspector.DataGrid.prototype._sortNodesCallback):
Cleanup some dead code to simplify sorting.
(WebInspector.DataGridNode.prototype._attach):
When sorting, the children list does not match the child node list,
so ensure that placeholder nodes are added to the end.
(WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
Cleanup some uses of delete.
- 4:59 AM Changeset in webkit [183866] by
-
- 10 edits2 moves in trunk/Source/WebCore
Move ReadableStreamJSSource.h/.cpp to ReadableJSStream.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=144567
Reviewed by Darin Adler.
In addition to renaming ReadableStreamJSSource.h/.cpp, ReadableStreamJSSource is now made a private class of
ReadableJSStream, called ReadableJSStream::Source.
Made some minor refactoring (passing some ExecState by ref and not by pointer).
No functional change, existing tests cover the changes.
- bindings/js/JSReadableStreamCustom.cpp:
- bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::Source::create):
(WebCore::ReadableJSStream::Source::Source):
(WebCore::ReadableJSStream::Source::~Source):
(WebCore::ReadableJSStream::Source::globalObject):
(WebCore::ReadableJSStream::Source::start):
(WebCore::ReadableJSStream::create):
(WebCore::ReadableJSStream::ReadableJSStream):
- bindings/js/ReadableJSStream.h:
- 2:12 AM Changeset in webkit [183865] by
-
- 4 edits in trunk
[GTK][WK2] The WebKit network disk cache is not enabled
https://bugs.webkit.org/show_bug.cgi?id=142821
Reviewed by Martin Robinson.
Source/WebKit2:
Enable NetworkCache for the GTK+ port.
- config.h:
LayoutTests:
Unskip http/tests/cache/disk-cache tests.
- platform/gtk/TestExpectations:
- 1:17 AM Changeset in webkit [183864] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] Remove redudant condition in ViewClientEfl::didChangeViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=144672
Reviewed by Gyuyoung Kim.
ViewClientEfl::didChangeViewportAttributes is always called when fixed layout is disabled.
- UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::didChangeViewportAttributes):
Removes condition that checks whether fixed layout is enabled.
- 12:06 AM Changeset in webkit [183863] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: SourceCodeTextEditor shows "undefined" instead of resource content when pausing during resource load
https://bugs.webkit.org/show_bug.cgi?id=144662
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-06
Reviewed by Timothy Hatcher.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.promise):
Start standardizing on rejecting Promises with Error objects.
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView):
(WebInspector.ResourceContentView.prototype._protocolError):
When there is a protocol error, show a nice UI string for the error.
(WebInspector.ResourceContentView.prototype._contentAvailable):
(WebInspector.ResourceContentView.prototype._contentError):
(WebInspector.ResourceContentView.prototype._hasContent):
Whenever we hit an error case in ResourceContentView, check to make sure
that a subclass hasn't already populated the content view with content.
This can happen when a TextResourceContentView populates a Resource with
Script content while paused, because the Resource content would be
unavailable. We check that content has loaded by checking that the
indeterminate spinner is no longer showing.
- 12:02 AM Changeset in webkit [183862] by
-
- 2 edits in trunk/LayoutTests
LayoutTests/fast/forms/button-line-height.html is broken on non-Mac/non-iOS ports
https://bugs.webkit.org/show_bug.cgi?id=144673
- TestExpectations: Skip broken test.
May 5, 2015:
- 11:55 PM Changeset in webkit [183861] by
-
- 3 edits in trunk/Source/WebKit2
NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
https://bugs.webkit.org/show_bug.cgi?id=144641
rdar://problem/20250960
Reviewed by David Kilzer.
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
Clear the client pointer.
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
Updated comments, which were not accurate, at least on Mac.
- 11:46 PM Changeset in webkit [183860] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
https://bugs.webkit.org/show_bug.cgi?id=144651
<rdar://problem/20755722>
- page/mac/TextIndicatorWindow.mm:
Fix an incorrectly-applied review comment.
- 11:26 PM Changeset in webkit [183859] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
https://bugs.webkit.org/show_bug.cgi?id=144651
<rdar://problem/20755722>
Reviewed by Dan Bernstein.
- page/mac/TextIndicatorWindow.h:
- page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::clearTextIndicator):
(WebCore::TextIndicatorWindow::setTextIndicator):
(WebCore::TextIndicatorWindow::closeWindow):
(WebCore::TextIndicatorWindow::startFadeOut):
We can't keep m_fadingOut on TextIndicatorWindow, since it is reused.
Keep it on the WebTextIndicatorView instead.
- 11:23 PM Changeset in webkit [183858] by
-
- 5 edits in trunk/Source/WebCore
Add missing vtable override specifiers under Source/WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=144578
Reviewed by Daniel Bates.
Update virtual method overrides under Source/WebCore/html
which are missing the override specifier.
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLRenderingContext.h:
- html/track/InbandTextTrack.h:
- html/track/TrackListBase.h:
- 11:21 PM Changeset in webkit [183857] by
-
- 10 edits in trunk/Source/WebCore
Add missing vtable override specifiers under Source/WebCore/rendering
https://bugs.webkit.org/show_bug.cgi?id=144570
Reviewed by Darin Adler.
Update virtual method overrides under Source/WebCore/rendering
which are missing the override specifiers.
- rendering/InlineTextBox.h:
(WebCore::InlineTextBox::calculateBoundaries): Deleted.
- rendering/RenderFlowThread.h:
- rendering/RenderMedia.h:
(WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics): Deleted.
- rendering/RenderMultiColumnSet.h:
- rendering/RenderRegion.h:
- rendering/RenderRegionSet.h:
- rendering/RenderThemeGtk.h:
- rendering/mathml/RenderMathMLOperator.h:
- rendering/svg/RenderSVGBlock.h:
- 11:17 PM Changeset in webkit [183856] by
-
- 10 edits in trunk/Source/WebCore
Add missing vtable override specifiers under Source/WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=144569
Reviewed by Darin Adler.
Update virtual method overrides under Source/WebCore/Modules
which are missing the override specifier.
- Modules/mediasource/SourceBuffer.h:
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/RTCVoidRequestImpl.h:
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::mediaType): Deleted.
(WebCore::AudioContext::presentationType): Deleted.
(WebCore::AudioContext::canReceiveRemoteControlCommands): Deleted.
(WebCore::AudioContext::didReceiveRemoteControlCommand): Deleted.
(WebCore::AudioContext::overrideBackgroundPlaybackRestriction): Deleted.
- Modules/webaudio/MediaStreamAudioDestinationNode.h:
- Modules/webaudio/MediaStreamAudioSourceNode.h:
- Modules/webaudio/WaveShaperDSPKernel.h:
- Modules/websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::refThreadableWebSocketChannel): Deleted.
(WebCore::WebSocketChannel::derefThreadableWebSocketChannel): Deleted.
- Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel): Deleted.
- 11:14 PM Changeset in webkit [183855] by
-
- 2 edits in trunk/Source/WebCore
EventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initialized
https://bugs.webkit.org/show_bug.cgi?id=144583
Reviewed by Daniel Bates.
- page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): The
m_eventHandlerWillResetCapturingMouseEventsElement is a boolean,
so initialize it to false, instead of to nullptr.
- 11:11 PM Changeset in webkit [183854] by
-
- 2 edits in trunk/Source/WebKit2
Views get stuck with viewScale < 1 after switching from DynamicSizeWithMinimumViewSize to ViewSize
https://bugs.webkit.org/show_bug.cgi?id=144656
Reviewed by Dan Bernstein.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]):
Reset the viewScale when we leave the DynamicSizeWithMinimumViewSize strategy.
- 10:57 PM Changeset in webkit [183853] by
-
- 5 edits in trunk
Remove the remaining vestiges of SVG feature define
https://bugs.webkit.org/show_bug.cgi?id=144655
Patch by daegyu lee <daegyu.lee@navercorp.com> on 2015-05-05
Reviewed by Alexey Proskuryakov.
Tools:
- Scripts/webkitperl/FeatureList.pm:
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
- 10:56 PM Changeset in webkit [183852] by
-
- 2 edits in trunk/Source/JavaScriptCore
PutGlobalVar shouldn't have an unconditional store barrier
https://bugs.webkit.org/show_bug.cgi?id=133104
Reviewed by Benjamin Poulain.
We don't need a store barrier on PutGlobalVar if the value being stored can be
speculated to not be a cell.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- 10:52 PM Changeset in webkit [183851] by
-
- 2 edits in trunk/Source/JavaScriptCore
CopiedBlock::reportLiveBytes() should be totally cool with oversize blocks
https://bugs.webkit.org/show_bug.cgi?id=144667
Reviewed by Andreas Kling.
We are now calling this method for oversize blocks. It had an assertion that indirectly
implied that the block is not oversize, because it was claiming that the number of live
bytes should be smaller than the non-oversize-block size.
- heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
- 10:39 PM Changeset in webkit [183850] by
-
- 5 edits in trunk
[CSS Grid Layout] grid-template-areas should accept none value
https://bugs.webkit.org/show_bug.cgi?id=144624
Reviewed by Darin Adler.
Source/WebCore:
Default value for grid-template-areas property is "none":
http://dev.w3.org/csswg/css-grid/#propdef-grid-template-areas
Currently if you set the property to "none" from JavaScript, the value
doesn't get reseted and it keeps the old value.
Update fast/css-grid-layout/grid-template-areas-get-set.html adding a
new test case.
- css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateAreas): Add support to parse
"none" successfully.
LayoutTests:
- fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
- fast/css-grid-layout/grid-template-areas-get-set.html: Add new test
case to check "none" support.
- 9:57 PM Changeset in webkit [183849] by
-
- 2 edits in trunk/Source/WebCore
Remove unused RenderLayerBacking::hasContentsLayer().
https://bugs.webkit.org/show_bug.cgi?id=144658
Reviewed by Simon Fraser.
No change in functionality.
- rendering/RenderLayerBacking.h:
- 9:39 PM Changeset in webkit [183848] by
-
- 3 edits in trunk/LayoutTests
Fix tests after r183770 on non-Mac ports. These tests are expecting Mac editing behavior.
- editing/execCommand/strikethroughSelection.html:
- editing/execCommand/toggle-mixed-text-decorations.html:
- 8:39 PM Changeset in webkit [183847] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
GC has trouble with pathologically large array allocations
https://bugs.webkit.org/show_bug.cgi?id=144609
Reviewed by Mark Lam.
- heap/Heap.cpp:
(JSC::Heap::updateObjectCounts): Make this code less confusing.
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater): The early return for isOversize() was the bug. We still need to report these bytes as live. Otherwise the GC doesn't know that it owns this memory.
- jsc.cpp: Add size measuring hooks to write the largeish test.
(GlobalObject::finishCreation):
(functionGCAndSweep):
(functionFullGC):
(functionEdenGC):
(functionHeapSize):
- tests/stress/new-array-storage-array-with-size.js: Fix this so that it actually allocates ArrayStorage arrays and tests the thing it was supposed to test.
- tests/stress/new-largeish-contiguous-array-with-size.js: Added. This tests what the other test accidentally started testing, but does so without running your system out of memory.
(foo):
(test):
- 7:10 PM Changeset in webkit [183846] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::setFencePort):
- 6:12 PM Changeset in webkit [183845] by
-
- 3 edits in trunk/Source/WebCore
[Content Extensions] Limit NFA size.
https://bugs.webkit.org/show_bug.cgi?id=144649
Reviewed by Benjamin Poulain.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
Add a maximum NFA size to ensure that we do not use too much memory when compiling.
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
Remove debugging code that doesn't compile any more.
- 5:21 PM Changeset in webkit [183844] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
- 4:48 PM Changeset in webkit [183843] by
-
- 4 edits in trunk
Unreviewed. Some assertion failures in compositing code after r183820.
https://bugs.webkit.org/show_bug.cgi?id=144630.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
- platform/mac/TestExpectations:
- 4:44 PM Changeset in webkit [183842] by
-
- 2 edits2 adds2 deletes in trunk/LayoutTests
[GTK] platform/gtk/accessibility/unknown-roles-not-exposed.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=74493
Reviewed by Chris Fleizach.
Make the test more reliable by searching for a child with an unknown role
rather than depending on an exact hierarchy. This makes the test applicable
to other platforms as at least Efl and Mac also do not expose children with
unknown roles, so it's now part of the shared accessibility tests.
- accessibility/unknown-roles-not-exposed-expected.txt: Added.
- accessibility/unknown-roles-not-exposed.html: Added.
- platform/gtk/TestExpectations: Removed skipped test.
- platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt: Removed.
- platform/gtk/accessibility/unknown-roles-not-exposed.html: Removed.
- 4:39 PM Changeset in webkit [183841] by
-
- 34 edits2 adds in trunk
Add a layout mode for computing fixed layout size from a minimum size
https://bugs.webkit.org/show_bug.cgi?id=144610
<rdar://problem/19790341>
Reviewed by Simon Fraser.
Add a layout mode where WebKit determines the layout size with a set of
(still in flux) heuristics, trying hard to keep the page usable below a
particular client-defined threshold view size.
This can mean that WebKit will start scaling down the page inside the view
to make the whole page fit, using the viewScale mechanism.
- UIProcess/API/C/WKLayoutMode.h:
- UIProcess/API/Cocoa/_WKLayoutMode.h:
Add the new layout mode, and documentation for the two complicated ones.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _setMinimumViewSize:]):
(-[WKWebView _minimumViewSize]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Forward the layoutMode and viewScale parameters to WKView if we have one.
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]):
(-[WKView viewWillStartLiveResize]):
(-[WKView viewDidEndLiveResize]):
(-[WKView setFrameSize:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView disableFrameSizeUpdates]):
(-[WKView enableFrameSizeUpdates]):
(-[WKView frameSizeUpdatesDisabled]):
(-[WKView _layoutMode]):
(-[WKView _setLayoutMode:]):
(-[WKView _setViewScale:]):
(-[WKView _setMinimumViewSize:]):
(-[WKView _minimumViewSize]):
Store the minimum view size, and update the fixed layout size if needed.
(-[WKView _updateAutomaticallyComputedFixedLayoutSize]): Deleted.
(-[WKView _setAutomaticallyComputesFixedLayoutSizeFromViewScale:]): Deleted.
(-[WKView _automaticallyComputesFixedLayoutSizeFromViewScale]): Deleted.
Store the WKLayoutMode on the WKViewLayoutStrategy instead of having a
bunch of things like _automaticallyComputesFixedLayoutSizeFromViewScale.
- UIProcess/API/mac/WKViewInternal.h:
- UIProcess/mac/WKViewLayoutStrategy.h: Added.
- UIProcess/mac/WKViewLayoutStrategy.mm: Added.
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:mode:]):
(-[WKViewLayoutStrategy willDestroyView:]):
(-[WKViewLayoutStrategy layoutMode]):
(-[WKViewLayoutStrategy updateLayout]):
(-[WKViewLayoutStrategy disableFrameSizeUpdates]):
(-[WKViewLayoutStrategy enableFrameSizeUpdates]):
(-[WKViewLayoutStrategy frameSizeUpdatesDisabled]):
(-[WKViewLayoutStrategy didChangeViewScale]):
(-[WKViewLayoutStrategy didChangeMinimumViewSize]):
(-[WKViewLayoutStrategy willStartLiveResize]):
(-[WKViewLayoutStrategy didEndLiveResize]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewLayoutStrategy willChangeLayoutStrategy]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewViewSizeLayoutStrategy updateLayout]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewFixedSizeLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeViewScale]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
Move the existing layout strategies from WKView into WKViewLayoutStrategy subclasses.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeMinimumViewSize]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willStartLiveResize]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didEndLiveResize]):
While in live resize with the new layout mode, disable frame size updates.
The new layout mode will do a live scale during part of the resize, and
we don't always want to send the new view size to the Web process.
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]):
While in the new layout mode, maintain the viewScale as the minimum of the
scale required to fit the current view frame size inside the minimumViewSize.
If no scaling is required, carry on as usual, pushing the new view frame size
to the DrawingArea and on to the Web process.
If scaling is required, apply a transform to the view in the UI process,
until the live resize completes, in which case we send a fenced viewScale
adjustment to the Web process (so that the tiles paint at the new viewScale
synchronized with the removal of the transform in the UI process).
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::scaleViewFenced):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::addFence):
(WebKit::DrawingArea::acceleratedAnimationDidEnd): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::addFence):
Add scaleViewAndUpdateGeometryFenced and the ability to install CoreAnimation fences on
TiledCoreAnimationDrawingArea's CAContext.
Add the ability to send updateGeometry out-of-band, so that
we can send it synchronously inside the message along with the CA fence.
We have to both change the viewScale and updateGeometry simultaneously
in the same CA commit that we install the fence into, in order to ensure
that there is no flash.
- platform/spi/cocoa/QuartzCoreSPI.h:
Add some SPI.
- MiniBrowser/mac/BrowserWindow.xib:
- MiniBrowser/mac/BrowserWindowController.h:
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController toggleUseMinimumViewSize:]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController toggleUseMinimumViewSize:]):
Add a optional toolbar item to toggle a minimum view size of 1024x0.
- 4:35 PM Changeset in webkit [183840] by
-
- 2 edits in trunk/Source/WebCore
iOS] Scroll snap points trigger reentrant layout
https://bugs.webkit.org/show_bug.cgi?id=144644
<rdar://problem/20366547>
Reviewed by Simon Fraser.
Covered by scroll-snap-mandatory.html test.
We had an iOS code path in 'appendChildSnapOffsets' that used offsetLeft and offsetTop. This code
was sometimes called during layout, which triggered a reentrant layout call, resulting in a debug
assertion.
- page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Remove iOS codepath.
- 4:22 PM Changeset in webkit [183839] by
-
- 3 edits in trunk/Source/WebCore
Blurry media control icons on non retina displays.
https://bugs.webkit.org/show_bug.cgi?id=144638.
<rdar://problem/20526166>
Reviewed by Dean Jackson.
- Modules/mediacontrols/mediaControlsApple.css:
Adjust fullscreen buttons so that they look good on both 1x and 2x displays.
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-fullscreen-button.exit):
(audio::-webkit-media-controls-fullscreen-button:active):
(audio::-webkit-media-controls-panel button.exit:active):
Handle wireless playback picker button background in mediaControlsApple.js
(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-wireless-playback-picker-button.playing): Deleted.
- Modules/mediacontrols/mediaControlsApple.js:
Update wireless playback picker button based on display type.
(Controller.prototype.UIString):
(Controller.prototype.handleReadyStateChange):
(Controller.prototype.updateWirelessTargetPickerButton):
(Controller.prototype.updateWirelessPlaybackStatus):
- 4:08 PM Changeset in webkit [183838] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Crash under WebCore::domWindowFromExecState reloading page with inspector open
https://bugs.webkit.org/show_bug.cgi?id=144636
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-05
Reviewed by Mark Lam.
This ensures we create an InjectedScript for the execution context
(frame) preventing the global object / exec state from getting garbage
collected before we remove it from our map.
- inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::notifyContextCreated):
- 4:03 PM Changeset in webkit [183837] by
-
- 2 edits in trunk/Source/WebCore
[iOS] AirPlay placeholder in inline videos uses Helvetica or Times, should be system font
https://bugs.webkit.org/show_bug.cgi?id=144643
Reviewed by Brent Fulgham.
The Airplay placard should use "-apple-system" as a font-family.
- Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-wireless-playback-status):
- 3:58 PM Changeset in webkit [183836] by
-
- 5 edits in trunk
[Content Extensions] Release input NSString when finished copying it.
https://bugs.webkit.org/show_bug.cgi?id=144642
Reviewed by Brian Weinstein.
Source/WebKit2:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
Tools:
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):
Use alloc and initWithContentsOfURL to prevent over-releasing an autoreleased object.
- 3:44 PM Changeset in webkit [183835] by
-
- 3 edits2 adds in trunk
Navigating to www.apple.com hits assertion in WebCore::TextIteratorCopyableText::set()
https://bugs.webkit.org/show_bug.cgi?id=144629
rdar://problem/20689877
Reviewed by Andreas Kling.
This patch ensures that we don't emit empty text for the text iterator.
In TextIterator::handleTextNode before emitting a string, certain characters (\n \t) need to
be replaced with space. When such character is found, we emit the string we've processed so far and
handle the replacement during the next callback.
When the first character in the string needs replacing, there's nothing to emit. However if we don't
handle at least one character, TextIterator::advance believes that processing is done and never calls
TextIterator::handleTextNode back with the rest of the string.
Source/WebCore:
Test: fast/text/simple-line-layout-innerText-with-newline.html
- editing/TextIterator.cpp:
(WebCore::isNewLineOrTabCharacter):
(WebCore::TextIterator::handleTextNode):
LayoutTests:
- fast/text/simple-line-layout-innerText-with-newline-expected.html: Added.
- fast/text/simple-line-layout-innerText-with-newline.html: Added.
- 3:31 PM Changeset in webkit [183834] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 3:25 PM Changeset in webkit [183833] by
-
- 2 edits in trunk/Tools
Unreviewed test fix after r183798.
- DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(convertToDRTLabel): Mimic behavior of Mac accessibility output
so we can share results.
- 3:20 PM Changeset in webkit [183832] by
-
- 8 edits in trunk
[Content Extensions] Use less memory to store the json input.
https://bugs.webkit.org/show_bug.cgi?id=144604
Reviewed by Benjamin Poulain.
Source/WebCore:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionCompiler.h:
(WebCore::ContentExtensions::loadEncodedRules):
Don't copy strings as much or keep them alive after done using them.
Source/WebKit2:
- UIProcess/API/APIUserContentExtensionStore.cpp:
(API::compiledToFile):
(API::UserContentExtensionStore::compileContentExtension):
- UIProcess/API/APIUserContentExtensionStore.h:
Don't copy strings as much or keep them alive after done using them.
Tools:
- MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController add:]):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):
- 3:01 PM Changeset in webkit [183831] by
-
- 3 edits in trunk/Source/WebCore
Prevent recursive calls to show target picker menu.
https://bugs.webkit.org/show_bug.cgi?id=144637
<rdar://problem/20824726>
Reviewed by Jer Noble.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h: Add m_showingMenu.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Do nothing if the menu
is already showing.
- 2:31 PM Changeset in webkit [183830] by
-
- 114 edits in trunk/Source/WebInspectorUI
[GTK] Web Inspector: Further optimize SVG images
https://bugs.webkit.org/show_bug.cgi?id=144441
SVG images optimized with a combination of sed replacements, the
usage of the scour tool (http://www.codedread.com/scour/) and a
forked version of the svgo tool (https://github.com/tanty/svgo).
Also, added the class attribute to the shape elements following
the convention used in Apple's images.
Reviewed by Joseph Pecoraro.
- UserInterface/Images/gtk/BackArrow.svg: Optimized.
- UserInterface/Images/gtk/BreakpointActionAdd.svg: Optimized.
- UserInterface/Images/gtk/BreakpointActionRemove.svg: Optimized.
- UserInterface/Images/gtk/BreakpointButton.svg: Optimized.
- UserInterface/Images/gtk/BreakpointInactiveButton.svg: Optimized.
- UserInterface/Images/gtk/Breakpoints.svg: Optimized.
- UserInterface/Images/gtk/Checkers.svg: Optimized.
- UserInterface/Images/gtk/Circle.svg: Optimized.
- UserInterface/Images/gtk/Close.svg: Optimized.
- UserInterface/Images/gtk/CloseLarge.svg: Optimized.
- UserInterface/Images/gtk/CloseWhite.svg: Optimized.
- UserInterface/Images/gtk/ContentFlow.svg: Optimized.
- UserInterface/Images/gtk/Crosshair.svg: Optimized.
- UserInterface/Images/gtk/DOMCharacterData.svg: Optimized.
- UserInterface/Images/gtk/DOMComment.svg: Optimized.
- UserInterface/Images/gtk/DOMDocument.svg: Optimized.
- UserInterface/Images/gtk/DOMDocumentType.svg: Optimized.
- UserInterface/Images/gtk/DOMElement.svg: Optimized.
- UserInterface/Images/gtk/DOMNode.svg: Optimized.
- UserInterface/Images/gtk/DOMTextNode.svg: Optimized.
- UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Optimized.
- UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Optimized.
- UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Optimized.
- UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Optimized.
- UserInterface/Images/gtk/DockBottom.svg: Optimized.
- UserInterface/Images/gtk/DockRight.svg: Optimized.
- UserInterface/Images/gtk/DownloadArrow.svg: Optimized.
- UserInterface/Images/gtk/Error.svg: Optimized.
- UserInterface/Images/gtk/Errors.svg: Optimized.
- UserInterface/Images/gtk/ErrorsEnabled.svg: Optimized.
- UserInterface/Images/gtk/EventListener.svg: Optimized.
- UserInterface/Images/gtk/Exception.svg: Optimized.
- UserInterface/Images/gtk/Eye.svg: Optimized.
- UserInterface/Images/gtk/FilterFieldGlyph.svg: Optimized.
- UserInterface/Images/gtk/ForwardArrow.svg: Optimized.
- UserInterface/Images/gtk/Function.svg: Optimized.
- UserInterface/Images/gtk/GoToArrow.svg: Optimized.
- UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Optimized.
- UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Optimized.
- UserInterface/Images/gtk/Issues.svg: Optimized.
- UserInterface/Images/gtk/IssuesEnabled.svg: Optimized.
- UserInterface/Images/gtk/LayerBorders.svg: Optimized.
- UserInterface/Images/gtk/Locked.svg: Optimized.
- UserInterface/Images/gtk/Logs.svg: Optimized.
- UserInterface/Images/gtk/Native.svg: Optimized.
- UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Optimized.
- UserInterface/Images/gtk/NavigationItemTrash.svg: Optimized.
- UserInterface/Images/gtk/NavigationItemTypes.svg: Optimized.
- UserInterface/Images/gtk/PaintFlashing.svg: Optimized.
- UserInterface/Images/gtk/Pause.svg: Optimized.
- UserInterface/Images/gtk/PausedBreakpoint.svg: Optimized.
- UserInterface/Images/gtk/Pencil.svg: Optimized.
- UserInterface/Images/gtk/Plus.svg: Optimized. Text element
converted into a shape.
- UserInterface/Images/gtk/PseudoElement.svg: Optimized.
- UserInterface/Images/gtk/Record.svg: Optimized.
- UserInterface/Images/gtk/Reflection.svg: Optimized.
- UserInterface/Images/gtk/ReloadFull.svg: Optimized.
- UserInterface/Images/gtk/ReplayPauseButton.svg: Optimized.
- UserInterface/Images/gtk/ReplayPlayButton.svg: Optimized.
- UserInterface/Images/gtk/ReplayRecordingButton.svg: Optimized.
- UserInterface/Images/gtk/Request.svg: Optimized.
- UserInterface/Images/gtk/Resources.svg: Optimized.
- UserInterface/Images/gtk/Response.svg: Optimized.
- UserInterface/Images/gtk/ResultLine.svg: Optimized.
- UserInterface/Images/gtk/Resume.svg: Optimized.
- UserInterface/Images/gtk/ShadowDOM.svg: Optimized.
- UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Optimized.
- UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Optimized.
- UserInterface/Images/gtk/SplitToggleUp.svg: Optimized.
- UserInterface/Images/gtk/StepInto.svg: Optimized.
- UserInterface/Images/gtk/StepOut.svg: Optimized.
- UserInterface/Images/gtk/StepOver.svg: Optimized.
- UserInterface/Images/gtk/Stop.svg: Optimized.
- UserInterface/Images/gtk/StyleRuleAuthor.svg: Optimized.
- UserInterface/Images/gtk/StyleRuleInherited.svg: Optimized.
- UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Optimized.
- UserInterface/Images/gtk/StyleRuleInspector.svg: Optimized.
- UserInterface/Images/gtk/StyleRuleUser.svg: Optimized.
- UserInterface/Images/gtk/StyleRuleUserAgent.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordAnimation.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordEvent.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordLayout.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordPaint.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordStyle.svg: Optimized.
- UserInterface/Images/gtk/TimelineRecordTimer.svg: Optimized.
- UserInterface/Images/gtk/TypeBoolean.svg: Optimized.
- UserInterface/Images/gtk/TypeNull.svg: Optimized.
- UserInterface/Images/gtk/TypeNumber.svg: Optimized.
- UserInterface/Images/gtk/TypeObject.svg: Optimized.
- UserInterface/Images/gtk/TypeRegex.svg: Optimized. Removed
mistaken extra shape.
- UserInterface/Images/gtk/TypeString.svg: Optimized.
- UserInterface/Images/gtk/TypeSymbol.svg: Optimized. Removed
mistaken extra shape.
- UserInterface/Images/gtk/TypeUndefined.svg: Optimized.
- UserInterface/Images/gtk/Undock.svg: Optimized.
- UserInterface/Images/gtk/UpDownArrows.svg: Optimized.
- UserInterface/Images/gtk/UserInputPrompt.svg: Optimized.
- UserInterface/Images/gtk/UserInputPromptPrevious.svg: Optimized.
- UserInterface/Images/gtk/UserInputResult.svg: Optimized.
- UserInterface/Images/gtk/Warning.svg: Optimized.
- 2:29 PM Changeset in webkit [183829] by
-
- 2 edits in trunk/Source/WebCore
Use system blue for Airplay Glyph
https://bugs.webkit.org/show_bug.cgi?id=144614
There was a typo in the last commit.
- Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-optimized-fullscreen-button): Transition duration should be 250ms.
- 2:19 PM Changeset in webkit [183828] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Use system blue for Airplay Glyph
https://bugs.webkit.org/show_bug.cgi?id=144614
Reviewed by Eric Carlson.
Revert to using masks for the glyphs in the media controls,
which allows us to:
- use the system blue color when Airplay is active <rdar://problem/20245297>
- fade out from the active state <rdar://problem/20245487>
- allow the play button to give touch feedback <rdar://problem/17849930>
While those are three separate bugs, they all get addressed by
this single change.
- Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-optimized-fullscreen-button):
(audio::-webkit-media-controls-optimized-fullscreen-button:active):
(video::-webkit-media-controls-play-button):
(video::-webkit-media-controls-play-button.paused):
(video::-webkit-media-controls-fullscreen-button):
(video::-webkit-media-controls-wireless-playback-picker-button):
(video::-webkit-media-controls-wireless-playback-picker-button.playing):
(video::-webkit-media-controls-optimized-fullscreen-button):
(video::-webkit-media-controls-play-button:active): Deleted.
(video::-webkit-media-controls-play-button.paused:active): Deleted.
(video::-webkit-media-controls-fullscreen-button:active): Deleted.
(video::-webkit-media-controls-wireless-playback-picker-button:active): Deleted.
- 2:01 PM Changeset in webkit [183827] by
-
- 2 edits in trunk/Tools
Unreviewed. Make myself a WebKit reviewer.
- Scripts/webkitpy/common/config/contributors.json:
- 1:50 PM Changeset in webkit [183826] by
-
- 3 edits in trunk/Source/WebCore
Only autoplay videos should not automatically play to playback target
https://bugs.webkit.org/show_bug.cgi?id=144633
Reviewed by Jer Noble.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Set RequireUserGestureToAutoplayToExternalDevice.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Remove
RequireUserGestureToAutoplayToExternalDevice.
(WebCore::HTMLMediaElement::mediaState): Set ExternalDeviceAutoPlayCandidate if playback
was started from a user gesture, even if the video loops and/or doesn't have audio.
- html/HTMLMediaSession.h: Define RequireUserGestureToAutoplayToExternalDevice.
(WebCore::HTMLMediaSession::hasBehaviorRestriction): New.
- 1:42 PM Changeset in webkit [183825] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
FTL SwitchString slow case creates duplicate switch cases
https://bugs.webkit.org/show_bug.cgi?id=144634
Reviewed by Geoffrey Garen.
The problem of duplicate switches is sufficiently annoying that I fixed the issue and also
added mostly-debug-only asserts to catch such issues earlier.
- bytecode/CallVariant.cpp:
(JSC::variantListWithVariant): Assertion to prevent similar bugs.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::switchStringRecurse): Assertion to prevent similar bugs.
(JSC::FTL::LowerDFGToLLVM::switchStringSlow): This is the bug.
- jit/BinarySwitch.cpp:
(JSC::BinarySwitch::BinarySwitch): Assertion to prevent similar bugs.
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall): Assertion to prevent similar bugs.
- tests/stress/ftl-switch-string-slow-duplicate-cases.js: Added. This tests the FTL SwitchString bug. It was previously crashing every time.
(foo):
(cat):
- 1:14 PM Changeset in webkit [183824] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed logging fix.
- page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::triggerTestTimerFired): Fix typo in logging channel.
- 1:12 PM Changeset in webkit [183823] by
-
- 2 edits9 adds in trunk/LayoutTests
Add overflow scroll-snap tests
https://bugs.webkit.org/show_bug.cgi?id=144591
Reviewed by Simon Fraser.
- platform/mac-wk2/TextExpectations: Mark overflow test as flaky while I investigate.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/resources: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/resources/horizontal-mainframe.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/resources/vertical-mainframe.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-destination-lock-up-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-destination-lock-up.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html: Added.
- 12:35 PM Changeset in webkit [183822] by
-
- 2 edits in trunk/Tools
[GTK] r183783 breaks build
https://bugs.webkit.org/show_bug.cgi?id=144632
Reviewed by Martin Robinson.
Return false rather than nullptr for unimplemented AccessibilityUIElement::setSelectedVisibleTextRange
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
- 11:11 AM Changeset in webkit [183821] by
-
- 13 edits in trunk/Source/WebInspectorUI
REGRESSION: Web Inspector: no way to navigate to a resource/source location from overview timeline view
https://bugs.webkit.org/show_bug.cgi?id=144539
Reviewed by Brian Burg.
- UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.set status): Call didChange() so the onchange event fires. This allows
TimelineSidebarPanel to update the status element when it goes from a spinner to empty for ResourceTreeElements.
(WebInspector.GeneralTreeElement.prototype.onattach): Don't call _updateStatusElement, just append it if needed.
Calling _updateStatusElement caused DOMNodeFragments as status elements to be appended a second time and fail.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementAddedOrChanged):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.NetworkTimelineView.prototype.treeElementSelected):
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
(WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked): Deleted.
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.OverviewTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
(WebInspector.OverviewTimelineView.prototype._treeElementDeselected): Deleted.
(WebInspector.OverviewTimelineView.prototype._treeElementSelected): Deleted.
(WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
(WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked): Deleted.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Don't show a go-to arrow in the Domain column.
(WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): Deleted.
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.ScriptTimelineView.prototype.treeElementSelected):
- UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement.prototype.get sourceCodeLocation):
- UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline .item:hover:not(.selected) .status .close.status-button):
(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .status .go-to-arrow.status-button):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .status .close.status-button):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged): Added.
(WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
(WebInspector.TimelineSidebarPanel.prototype._treeElementGoToArrowWasClicked): Added.
(WebInspector.TimelineSidebarPanel.prototype._treeElementCloseButtonClicked): Added.
- UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.TimelineView.prototype.showContentViewForTreeElement):
(WebInspector.TimelineView.prototype.treeElementDeselected):
(WebInspector.TimelineView.prototype.treeElementSelected):
(WebInspector.TimelineView.prototype.needsLayout):
(WebInspector.TimelineView.prototype._closeStatusButtonClicked): Deleted.
(WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
- UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button): Fix an alignment issue with close and go-to arrows being side-by-side.
Does not happen in the final patch because they are mutually exclusive, but still good to fix.
- 11:02 AM Changeset in webkit [183820] by
-
- 4 edits in trunk
Media control volume slider is opaque.
https://bugs.webkit.org/show_bug.cgi?id=144470.
<rdar://problem/20770350>
Rubberstamped by Simon Fraser.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
Don't create a stacking context just for the controls.
Doing so causes the mix-blend-mode on the volume box to fail.
- platform/mac/TestExpectations:
Some tests generate assertion failures after this change, though the tests pass in release.
Marking them as crashing in debug for now.
Tracking failures here: https://bugs.webkit.org/show_bug.cgi?id=144630.
- 10:59 AM Changeset in webkit [183819] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix debug builds after r183812
https://bugs.webkit.org/show_bug.cgi?id=144300
Rubber stamped by Andreas Kling and Filip Pizlo.
hasObjectMaterializationData() didn't treat MaterializeCreateActivation
as having materialization data, which was causing an assertion failure when
sinking CreateActivations on debug builds.
- dfg/DFGNode.h:
(JSC::DFG::Node::hasObjectMaterializationData):
- 10:27 AM Changeset in webkit [183818] by
-
- 7 edits in trunk
[Content Extensions] Combine NFAs properly and free memory as we compile.
https://bugs.webkit.org/show_bug.cgi?id=144485
Reviewed by Benjamin Poulain.
Source/WebCore:
This patch correctly combines all regular expressions with a common prefix up to
the last quantified term into the same NFA. It also deletes the prefix tree as it
creates NFAs, thus reducing the maximum memory used when compiling.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::CombinedURLFilters::isEmpty):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
(WebCore::ContentExtensions::CombinedURLFilters::clear): Deleted.
- contentextensions/CombinedURLFilters.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionsDebugging.h:
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Added tests for correctly splitting up NFAs with unquantified terms after quantified terms.
Added tests for deep NFAs.
- 10:12 AM Changeset in webkit [183817] by
-
- 9 edits in trunk
[Content Extensions] Use less memory when writing byte code to file
https://bugs.webkit.org/show_bug.cgi?id=144602
Reviewed by Darin Adler.
Source/WebCore:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionCompiler.h:
Compile one DFA at a time so we don't need to keep all the bytecode in memory at the same time.
- contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
Jumps are now relative to the current DFA because we don't know about other DFAs that
have been compiling when linking the DFA bytecode. This will also make the DFA bytecode
easier to minimize because more of the values are small in the DFAs after the first DFA.
- platform/FileSystem.h:
Source/WebKit2:
- UIProcess/API/APIUserContentExtensionStore.cpp:
(API::decodeContentExtensionMetaData):
(API::writeDataToFile):
(API::compiledToFile):
(API::createExtension):
Compile and write each DFA to file, then come back and write the header when finalizing.
Also don't copy the DFA bytecode. This way, we don't need to keep more than one DFA's
bytecode in memory at a time.
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
- 9:59 AM Changeset in webkit [183816] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix some issues with Search tabs
https://bugs.webkit.org/show_bug.cgi?id=144531
Reviewed by Darin Adler.
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):
Support DOMSearchMatchObject and SourceCodeSearchMatchObject representedObjects. These are usually
handled at a higher level, but cookie restoring requires ContentView to handle them.
- UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.selectAndRevealDOMNode):
(WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
(WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
Don't allow restoring the previous selected node when another not has already been selected.
- UserInterface/Views/SearchTabContentView.js:
(WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
Allow Script objects to be shown in the Search tab.
- 9:37 AM Changeset in webkit [183815] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Source/WebInspectorUI/UserInterface/Images/Logs.svg has unknown attribute "fille"
https://bugs.webkit.org/show_bug.cgi?id=144627
Reviewed by Darin Adler.
- UserInterface/Images/Logs.svg: Change "fille" to "fill".
- 9:36 AM Changeset in webkit [183814] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening, unskip passing compositing tests since USE_NATIVE_XDISPLAY=1
is set on the EFL bots and mark the remaining failing compositing tests properly.
- platform/efl/TestExpectations:
- 9:34 AM Changeset in webkit [183813] by
-
- 4 edits in trunk/Source/WebKit2
Make all FrameLoadState data members private.
https://bugs.webkit.org/show_bug.cgi?id=144562
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-05
Reviewed by Darin Adler.
Previously, all of the data members in FrameLoadState were public and accessed directly
from outside the class. But these should all be private as noted in FrameLoadState.h
for better encapsulation.
No new tests, no behavior change.
- UIProcess/API/C/WKFrame.cpp:
(WKFrameGetFrameLoadState):
- UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::state):
(WebKit::FrameLoadState::url):
(WebKit::FrameLoadState::provisionalURL):
(WebKit::FrameLoadState::unreachableURL):
- UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::url):
(WebKit::WebFrameProxy::provisionalURL):
(WebKit::WebFrameProxy::unreachableURL):
- 9:34 AM Changeset in webkit [183812] by
-
- 20 edits3 adds in trunk
Allow CreateActivation sinking
https://bugs.webkit.org/show_bug.cgi?id=144300
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This pursues the work started in
https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of
allocations we are able to sink by allowing sinking of CreateActivation
node.
This is achieved by following closely the way NewObject is currently
sunk: we add a new PhantomCreateActivation node to record the initial
position of the CreateActivation node, new ClosureVarPLoc promoted heap
locations to keep track of the variables put in the activation, and a
new MaterializeCreateActivation node to allocate and populate the sunk
activation.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutClosureVarHint):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomCreateActivation):
(JSC::DFG::Node::isActivationAllocation):
(JSC::DFG::Node::isPhantomActivationAllocation):
(JSC::DFG::Node::isPhantomAllocation):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGPromotedHeapLocation.h:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
- tests/stress/activation-sink-osrexit.js: Added.
(bar):
(foo.set result):
- tests/stress/activation-sink.js: Added.
(bar):
LayoutTests:
Add a performance test for activation allocation sinking.
- js/regress/script-tests/sink-huge-activation.js: Added.
(bar):
(foo):
- 9:27 AM Changeset in webkit [183811] by
-
- 5 edits in trunk/Source/WebKit2
Crashes in SandboxExtension::consumePermanently when uploading
https://bugs.webkit.org/show_bug.cgi?id=144611
rdar://problem/10156710
Reviewed by Darin Adler.
This only fixes the crashes, uploading still won't work.
Added null checks and some logging that may help us get to the root cause eventually.
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::extendSandboxForFileFromOpenPanel):
- 9:22 AM Changeset in webkit [183810] by
-
- 2 edits in trunk/Source/WebKit/win
Unreviewed WinCairo buildfix after r183807.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::acceleratedCompositingAvailable):
- 9:13 AM Changeset in webkit [183809] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, speculative WinCairo buildfix after r183807.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- 9:10 AM Changeset in webkit [183808] by
-
- 3 edits in trunk/LayoutTests
Fix up fast/performance/performance-now-crash-on-navigated-window.html after r183795.
Unreviewed fix for the bots. Since performance.now doesn't bail out and return 0 in
disconnected frames anymore, we have to adjust the expectations. This test was all
about catching a crash anyway.
- fast/performance/performance-now-crash-on-navigated-window-expected.txt:
- fast/performance/performance-now-crash-on-navigated-window.html:
- 8:48 AM Changeset in webkit [183807] by
-
- 19 edits4 deletes in trunk/Source
Remove TextureMapperImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=143561
Reviewed by Žan Doberšek.
Source/WebCore:
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformWinCairo.cmake:
- platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::paintToTextureMapper):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
- platform/graphics/texmap/BitmapTextureImageBuffer.cpp: Removed.
- platform/graphics/texmap/BitmapTextureImageBuffer.h: Removed.
- platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::createTexture):
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setFilters):
- platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::create):
(WebCore::TextureMapper::TextureMapper):
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::accelerationMode): Deleted.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::TextureMapperGL):
- platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
- platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
- platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::CompositingCoordinator):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::GraphicsLayer::supportsContentsTiling):
(WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling): Deleted.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Source/WebKit2:
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
- 8:20 AM Changeset in webkit [183806] by
-
- 1 edit13 adds in trunk/Source/WebInspectorUI
[GTK] Web Inspector: New Images added in r183339, r183338, r183332, r183323, r182660, and r182186
https://bugs.webkit.org/show_bug.cgi?id=144329
Reviewed by Joseph Pecoraro.
- UserInterface/Images/gtk/Console.svg: Added.
- UserInterface/Images/gtk/Debugger.svg: Added.
- UserInterface/Images/gtk/Elements.svg: Added.
- UserInterface/Images/gtk/Gear.svg: Added.
- UserInterface/Images/gtk/NewTab.svg: Added.
- UserInterface/Images/gtk/NewTabPlus.svg: Added.
- UserInterface/Images/gtk/ReloadToolbar.svg: Added.
- UserInterface/Images/gtk/SearchResults.svg: Added.
- UserInterface/Images/gtk/Storage.svg: Added.
- UserInterface/Images/gtk/Timeline.svg: Added.
- UserInterface/Images/gtk/TimelineRecordRenderingFrame.svg: Added.
- UserInterface/Images/gtk/ToggleLeftSidebar.svg: Added.
- UserInterface/Images/gtk/ToggleRightSidebar.svg: Added.
- 8:15 AM Changeset in webkit [183805] by
-
- 17 edits2 adds in trunk
[CSS Box Alignment] Upgrade align-content parsing to CSS3 Box Alignment spec
https://bugs.webkit.org/show_bug.cgi?id=144443
Reviewed by Darin Adler.
Source/WebCore:
Upgrade the align-content property to the last CSS3 Box
Alignment specification. As it uses a different enumeration for
Positional and Distribution alignment, it implies some changes in
the FlexibleBox implementation.
Test: css3/parse-align-content.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::resolveContentAlignmentAuto):
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- css/CSSPropertyNames.in:
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::alignFlexLines):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveContentAlignment):
(WebCore::RenderStyle::resolveContentJustification):
- rendering/style/RenderStyle.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
Tests to verify the align-content parsing logic. The new Box Alignment spec
requires some changes in the flexbox tests.
- css3/flexbox/css-properties-expected.txt:
- css3/flexbox/css-properties.html:
- css3/parse-align-content-expected.txt: Added.
- css3/parse-align-content.html: Added.
- 6:43 AM Changeset in webkit [183804] by
-
- 1 edit3 adds in trunk/Source/WebInspectorUI
[GTK] Web Inspector: icons for console.info() messages
https://bugs.webkit.org/show_bug.cgi?id=144461
Reviewed by Joseph Pecoraro.
- UserInterface/Images/gtk/Debug.svg: Added.
- UserInterface/Images/gtk/Info.svg: Added.
- UserInterface/Images/gtk/Log.svg: Added.
- 6:23 AM Changeset in webkit [183803] by
-
- 8 edits2 adds in trunk
streams/readable-stream.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=144455
Reviewed by Darin Adler.
Source/WebCore:
Changed the link between readadable stream and controller.
Controller ref()/deref() now increments/decrements its stream ref counter.
This ensures that even if JS scripts do not keep track of the readable stream,
the readable stream will not be disposed as long as the JS script has access to its controller.
Test: streams/readable-stream-gc.html
- Modules/streams/ReadableStreamController.h:
(WebCore::ReadableStreamController::ReadableStreamController):
(WebCore::ReadableStreamController::ref):
(WebCore::ReadableStreamController::deref):
(WebCore::ReadableStreamController::create): Deleted.
(WebCore::ReadableStreamController::stream): Deleted.
- bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close):
(WebCore::JSReadableStreamController::enqueue):
(WebCore::JSReadableStreamController::error):
- bindings/js/ReadableStreamJSSource.cpp:
(WebCore::ReadableStreamJSSource::~ReadableStreamJSSource):
(WebCore::ReadableStreamJSSource::start):
(WebCore::ReadableJSStream::jsController):
- bindings/js/ReadableStreamJSSource.h:
LayoutTests:
Moved flaky test to streams/readable-stream-gc.html.
Updated flaky test to check that the controller methods work well even if readable stream reference is lost by script.
- streams/readable-stream-expected.txt:
- streams/readable-stream-gc-expected.txt: Added.
- streams/readable-stream-gc.html: Added.
- streams/readable-stream.html:
- 6:14 AM Changeset in webkit [183802] by
-
- 3 edits6 adds in trunk/LayoutTests
[GTK] Gardening 4th May
https://bugs.webkit.org/show_bug.cgi?id=144571
Unreviewed.
Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-05-05
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/color/input-appearance-color-expected.png: Added.
- platform/gtk/fast/forms/color/input-appearance-color-expected.txt:
- platform/gtk/fast/regions/region-overflow-break-expected.html: Added.
- platform/gtk/fast/regions/scrolling/wheel-scroll-abspos-expected.html: Added.
- platform/gtk/fast/regions/scrolling/wheel-scroll-expected.html: Added.
- platform/gtk/fast/text/font-kerning-expected.html: Added.
- 2:27 AM WebKitGTK/2.8.x edited by
- (diff)
- 1:20 AM Changeset in webkit [183801] by
-
- 3 edits in trunk/Source/WebKit2
[SOUP] Network Cache: IOChannel operations are not sent to the right thread
https://bugs.webkit.org/show_bug.cgi?id=144542
Reviewed by Darin Adler.
We are ignoring the given WorkQueue and running the async
operations in the current thread. Check the given WorkQueue
instead and schedule the operation to the given queue. If the
given queue is nullptr, which means the operation should be run in
the main context, the operation is run directly if the current
context is the main one or sent to the main context using a
GMainLoopSource.
Fixes crashes due to asserts when running disk-cache layout tests
in a Debug build.
- NetworkProcess/cache/NetworkCacheIOChannel.h:
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::runTaskInQueue):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::IOChannel::write):
- 1:16 AM Changeset in webkit [183800] by
-
- 4 edits2 adds in trunk
[GTK] Async operations running in the WorkQueue thread should schedule their sources to the WorkQueue main lopp
https://bugs.webkit.org/show_bug.cgi?id=144541
Reviewed by Žan Doberšek.
Source/WTF:
They are currently sent to the main thread run loop, because we
are not setting the WorkQueue main context as the default one in
the worker thread.
- wtf/gtk/WorkQueueGtk.cpp:
(WTF::WorkQueue::platformInitialize): Call
g_main_context_push_thread_default() to set the WorkQueue main
context as the default of the thread before running the main loop,
and g_main_context_pop_thread_default() when the main loop quits.
Tools:
Add a test case to WorkQueue unit test, to check that sources of
asynchronous IO operations running in the WorkQueue thread are
dispatched by the WorkQueue main loop.
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/Tests/WTF/gtk/WorkQueueGtk.cpp: Added.
(TestWebKitAPI::TEST):
- 12:49 AM Changeset in webkit [183799] by
-
- 2 edits in trunk/Source/WebCore
Small cleanup in RenderText::computePreferredLogicalWidths()
https://bugs.webkit.org/show_bug.cgi?id=144615
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-05-05
Reviewed by Simon Fraser.
A little bit of cleanup before I tackle dependent widths in this function.
No new tests because there is no behavior change.
- rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
- 12:39 AM Changeset in webkit [183798] by
-
- 16 edits in trunk
[ATK] AX: figure out platform difference for ATK to make accessibility/table-cell-display-block.html work
https://bugs.webkit.org/show_bug.cgi?id=143083
Reviewed by Chris Fleizach.
Source/WebCore:
The main platform difference was that ATK was mapping the td element to
the accessible table cell, and the render block resulting from the style
wound up being the cell parent. In contrast, AX API was mapping the cell
element to an AXGroup which was a child of the AXCell. Rather than try to
bend yet another case to the will of our individual platforms' table needs,
it made more sense to clean up the code that is competing and move toward
more platform-unified handling. This is the first step in that direction,
with ATK moving closer toward the WebCore/AX API mapping.
No new tests. Instead, modified and fixed the test which was being skipped
for GTK, and also updated the expectations of some Mac tests whose FIXMEs
should now be fixed.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
- accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::determineAccessibilityRole):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
LayoutTests:
- accessibility/roles-computedRoleString-expected.txt: Updated to reflect fixed FIXME.
- accessibility/roles-computedRoleString.html: Updated to reflect fixed FIXME.
- accessibility/table-cell-display-block-expected.txt: Modified to be more platform agnostic.
- accessibility/table-cell-display-block.html: Modified to be more platform agnostic.
- platform/efl/accessibility/table-detection-expected.txt: Updated to reflect mapping change.
- platform/gtk/TestExpectations: Unskip failing test from opening report.
- platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect mapping change.
- platform/mac/accessibility/rowheader-outside-table-role-expected.txt: Updated to reflect mapping change.
- platform/mac/accessibility/rowheader-outside-table-role.html: Updated to reflect mapping change.
May 4, 2015:
- 11:57 PM Changeset in webkit [183797] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Videos on apple.com flash when touching to show or hide the controls
https://bugs.webkit.org/show_bug.cgi?id=144598
Reviewed by Eric Carlson.
The apple.com site will add a "selection" rectangle atop a playing video when it recieves a touchstart
event. The default media controls use touchstart to signal the controls to become visible. Stop the touch
from propagating down to the page in this case.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handleWrapperTouchStart):
- 10:22 PM Changeset in webkit [183796] by
-
- 2 edits in trunk/Tools
Correct '--show-webview' option for Tiled Drawing tests
https://bugs.webkit.org/show_bug.cgi?id=144621
Reviewed by Simon Fraser.
The scrolling thread/tiled drawing tests recreate the standard test runner web view. My earlier patch did not make
sure that the state of the '--show-webview' option was propagated to this additional view creation routine.
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest): Include the value of the 'shouldShowWebView' state in the
WKMutableDictionary passed to the 'ensureViewSupportsOptions' method.
- 9:49 PM Changeset in webkit [183795] by
-
- 4 edits in trunk/Source/WebCore
Record the reference time when Performance is constructed.
<https://webkit.org/b/144616>
Reviewed by Geoffrey Garen.
This is a merge of Blink's r156613 by simonjam@chromium.org.
Cache a copy of the DocumentLoader's reference timestamp when constructing
the Performance object. That way we don't have to jump through a bunch of scary
hoops to access it when now() is called later on.
- page/Performance.cpp:
(WebCore::Performance::Performance):
(WebCore::Performance::now): Deleted.
- page/Performance.h:
- 9:29 PM Changeset in webkit [183794] by
-
- 4 edits in trunk
Fix assertions in WK1 tests after r183777.
Source/WebCore:
Two issues with the original change:
If not in compositing mode, we shouldn't schedule layer flushes, since
Document::documentWillSuspendForPageCache() only only calls cancelCompositingLayerUpdate()
if in compositing mode.
Second, RenderLayerCompositor::rootBackgroundTransparencyChanged() never stored the
new color, resulting in too many triggered compositing updates.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged):
LayoutTests:
Behavior difference with the change to RenderLayerCompositor::rootBackgroundTransparencyChanged().
- platform/mac-wk2/tiled-drawing/background-transparency-toggle-expected.txt:
- 9:24 PM Changeset in webkit [183793] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix stale comment.
- tests/mozilla/js1_5/Array/regress-101964.js:
- 9:16 PM Changeset in webkit [183792] by
-
- 2 edits in trunk/Source/JavaScriptCore
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617
Rubber stamped by Mark Lam.
- tests/mozilla/js1_5/Array/regress-101964.js: 500ms isn't enough in debug mode. We don't care how long this takes so long as we run it to completion. I've raised the limit much higher.
- 8:51 PM Changeset in webkit [183791] by
-
- 2 edits in trunk/Source/JavaScriptCore
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617
Rubber stamped by Mark Lam.
- tests/mozilla/js1_5/Array/regress-101964.js: Mozilla may have cared about this being fast a decade ago (or more), but we don't care. We've consistently found that an array implementation that punishes this case to get speed on common-case array accesses is better. This should fix some test failures on the bots.
- 8:35 PM Changeset in webkit [183790] by
-
- 8 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r183789.
https://bugs.webkit.org/show_bug.cgi?id=144620
Causing flakiness on exceptionFuzz tests locally on 32-bit
build (Requested by saamyjoon on #webkit).
Reverted changeset:
"Global functions should be initialized as JSFunctions in byte
code"
https://bugs.webkit.org/show_bug.cgi?id=144178
http://trac.webkit.org/changeset/183789
- 8:27 PM Changeset in webkit [183789] by
-
- 8 edits in trunk/Source/JavaScriptCore
Global functions should be initialized as JSFunctions in byte code
https://bugs.webkit.org/show_bug.cgi?id=144178
Reviewed by Geoffrey Garen.
This patch makes the initialization of global functions more explicit by
moving initialization into bytecode. It also prepares JSC for having ES6
style lexical scoping because initializing global functions in bytecode
easily allows global functions to be initialized with the proper scope that
will have access to global lexical variables. Global lexical variables
should be visible to global functions but don't live on the global object.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedProgramCodeBlock::visitChildren):
- bytecode/UnlinkedCodeBlock.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
- bytecompiler/BytecodeGenerator.h:
- runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):
- runtime/JSGlobalObject.h:
- 8:22 PM Changeset in webkit [183788] by
-
- 7 edits in trunk/Source/WebCore
RenderWidget::setWidgetGeometry() can end up destroying *this*.
https://bugs.webkit.org/show_bug.cgi?id=144601
Reviewed by Andreas Kling.
This is a speculative fix to ensure we don't crash on an invalid *this* renderer
while flattening the current iframe.
Calling RenderWidget::setWidgetGeometry() can result in destroying the current renderer.
While it is not a issue in case of normal layout flow as widget positions are updated at post layout,
frame flattening initiates this action in the middle of layout.
This patch re-introduces refcount model for RenderWidgets so that the renderer is protected during layout
when frame flattening is in use.
- rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening): Let's be paranoid about child view.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
- rendering/FrameView.cpp:
(WebCore::FrameView::layout):
- rendering/RenderView.h:
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::~RenderWidget):
- rendering/RenderWidget.h:
(WebCore::RenderWidget::ref):
(WebCore::RenderWidget::deref):
- 7:40 PM Changeset in webkit [183787] by
-
- 12 edits1 add in trunk
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617
Reviewed by Geoffrey Garen.
PerformanceTests:
Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of
SunSpider. It's not an official benchmark. It contains benchmarks that are relatively
long-running. So, hash-map sort of belongs here.
- LongSpider/hash-map.js: Added.
(HashMap):
(HashMap.):
(.get var):
Source/JavaScriptCore:
Decouple MIN_SPARSE_ARRAY_INDEX, which is the threshold for storing to the sparse map when
you're already using ArrayStorage mode, from the minimul array length required to use
ArrayStorage in a new Array(length) allocation.
Lift the array allocation length threshold to something very high. If this works, we'll
probably remove that threshold entirely.
This is a 27% speed-up on JetStream/hash-map. Because run-jsc-benchmarks still can't run
JetStream as a discrete suite, this adds hash-map to LongSpider so that we run it somewhere
for now.
- dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
- runtime/ArrayConventions.h:
- runtime/JSArray.h:
(JSC::JSArray::create):
- runtime/JSGlobalObject.h:
(JSC::constructEmptyArray):
- tests/stress/new-array-storage-array-with-size.js: Skip this test until we fix https://bugs.webkit.org/show_bug.cgi?id=144609.
Tools:
Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of
SunSpider. It's not an official benchmark. It contains benchmarks that are relatively
long-running. So, hash-map sort of belongs here.
- Scripts/run-jsc-benchmarks:
- 6:00 PM Changeset in webkit [183786] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Always expand initial top level DOM tree nodes when not including the root (frame views)
https://bugs.webkit.org/show_bug.cgi?id=144607
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-04
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype.update):
- 5:37 PM Changeset in webkit [183785] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
Add backed intrinsics to private functions exposed with private symbols in global object
https://bugs.webkit.org/show_bug.cgi?id=144545
Reviewed by Darin Adler.
Math.abs and Math.floor have ASM intrinsics And it is further accelerated in DFG/FTL layers.
This patch adds intrinsic to private functions exposed with private symbols in global object,
@floor and @abs.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalPrivateFuncAbs): Deleted.
(JSC::globalPrivateFuncFloor): Deleted.
- runtime/MathObject.cpp:
- runtime/MathObject.h:
- tests/stress/array-from-abs-and-floor.js: Added.
(target1):
(target2):
(target3):
- 5:37 PM Changeset in webkit [183784] by
-
- 3 edits in trunk/Source/WebKit2
WebKit always goes through LaunchServices for main frame navigation actions
https://bugs.webkit.org/show_bug.cgi?id=144608
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Defined
_WKNavigationActionPolicyAllowWithoutTryingAppLink.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): If the policy
is _WKNavigationActionPolicyAllowWithoutTryingAppLink, don’t go through tryAppLink.
- 5:16 PM Changeset in webkit [183783] by
-
- 17 edits2 adds in trunk
AX: setting focus via accessibility object needs to set isSynchronizing in resulting selection intent
https://bugs.webkit.org/show_bug.cgi?id=144489
Patch by Doug Russell <d_russell@apple.com> on 2015-05-04
Reviewed by Chris Fleizach.
Resolves infinite looping when navigating rapidly between controls with the search API and then focusing
on the returned control.
Remove isSynchronizing flag from AXTextStateChangeIntent and put it on AXObjectCache.
Move AXTextStateChangeIntent logic in AccessibilityRenderObject into a helper method.
Call new AXTextStateChangeIntent helper from AccessibilityRenderObject::setFocus().
Add support for setSelectedVisibleTextRange() in accessibility tests.
Source/WebCore:
Test: platform/mac/accessibility/selection-sync.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::AXObjectCache::setIsSynchronizingSelection):
(WebCore::AXObjectCache::postTextStateChangeNotification):
- accessibility/AXObjectCache.h:
- accessibility/AXTextStateChangeIntent.h:
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::setTextSelectionIntent):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): Deleted.
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
Tools:
- DumpRenderTree/AccessibilityUIElement.cpp:
(setSelectedVisibleTextRangeCallback):
(AccessibilityUIElement::setSelectedVisibleTextRange):
(AccessibilityUIElement::getJSClass):
(AccessibilityUIElement::textMarkerForIndex): Deleted.
- DumpRenderTree/AccessibilityUIElement.h:
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setSelectedVisibleTextRange):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
(WTR::AccessibilityUIElement::setSelectedTextRange): Deleted.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
LayoutTests:
- platform/mac/accessibility/selection-sync-expected.txt: Added.
- platform/mac/accessibility/selection-sync.html: Added.
- 5:08 PM Changeset in webkit [183782] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Audio-only files should not have a device picker
https://bugs.webkit.org/show_bug.cgi?id=144606
<rdar://problem/20806387>
Reviewed by Dean Jackson.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.hasVideo): New.
(Controller.prototype.updateFullscreenButtons): Use hasVideo.
(Controller.prototype.updateHasVideo): Ditto.
(Controller.prototype.updateWirelessTargetAvailable): Don't show the target picker button
unless a file has video.
- 4:58 PM Changeset in webkit [183781] by
-
- 6 edits3 adds in trunk
Crash at com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createWindow + 185
https://bugs.webkit.org/show_bug.cgi?id=144597
<rdar://problem/20361579>
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/dom/Window/window-open-activeWindow-null-frame.html
In our implementation of window.open(), we make sure that the window
which window.open() is called has a frame. However, we did not have the
same check for the activeDOMWindow (i.e. the lexicalGlobalObject) causing
us to crash in WebCore::createWindow() when dereferencing it.
This patch updates WebCore::createWindow() takes a reference to the
openerFrame instead of a pointer to make it clear the implementation
expects it to be non-null. A null check is then added for the frame
at the call site: DOMWindow::createWindow().
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
- loader/FrameLoader.cpp:
(WebCore::isDocumentSandboxed):
(WebCore::FrameLoader::submitForm):
(WebCore::createWindow):
Take a reference to openerFrame instead of a pointer as the
implementation expects it to be non-null.
- loader/FrameLoader.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
Add null check for activeFrame before passing it to
WebCore::createWindow().
LayoutTests:
Add a layout test to cover the case where window.open() is called on a
window that is different than the activeDOMWindow and where the
activeDOMWindow does not have a frame.
- fast/dom/Window/resources/test-frame.html: Added.
- fast/dom/Window/window-open-activeWindow-null-frame-expected.txt: Added.
- fast/dom/Window/window-open-activeWindow-null-frame.html: Added.
- 4:51 PM Changeset in webkit [183780] by
-
- 5 edits in trunk/Source/WebKit2
[iOS WK2] editorState should include information about selection clipping rectangle.
https://bugs.webkit.org/show_bug.cgi?id=144603
rdar://problem/20521252
Reviewed by Chris Dumez.
Adding selectionClipRect to the post-layout portion of EditorState.
This way we can compute the selection clipping rectangle based on
up-to-date information instead of using the rectangle provided when
then element was first focused.
- Shared/EditorState.cpp:
(WebKit::EditorState::PostLayoutData::encode):
(WebKit::EditorState::PostLayoutData::decode):
- Shared/EditorState.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionClipRect]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState):
- 4:46 PM Changeset in webkit [183779] by
-
- 2 edits in trunk/Source/JavaScriptCore
[cmake] ARM related build system cleanup
https://bugs.webkit.org/show_bug.cgi?id=144566
Reviewed by Darin Adler.
- CMakeLists.txt:
- 4:42 PM Changeset in webkit [183778] by
-
- 5 edits in trunk/Source/WebCore
Create a named CSS property for system colors
https://bugs.webkit.org/show_bug.cgi?id=144423
Follow-up comments from Darin Adler.
- rendering/RenderThemeIOS.h: Cache a Color rather than an RGBA32.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemColor): Use "add" to avoid multiple hits on the HashMap, and
cache invalid responses so that we don't have to keep looking for non-existent colors.
- rendering/RenderThemeMac.h: Same as iOS.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor):
- 4:31 PM Changeset in webkit [183777] by
-
- 5 edits2 adds in trunk
display:none iframes cause repeated compositing flushing
https://bugs.webkit.org/show_bug.cgi?id=144529
Reviewed by Darin Adler.
Source/WebCore:
FrameView::updateLayoutAndStyleIfNeededRecursive() only forces layout on rendered
frames, by virtue of using its Widget children which are FrameViews.
However, FrameView::flushCompositingStateIncludingSubframes() iterated over
all frames, and return false if any subframe needed layout. Thus, if it saw
non-rendered frames (which are never laid out), it would return false,
which causes the CFRunLoopObserver that drives flushing to run again.
Fix by having FrameView::flushCompositingStateIncludingSubframes() only check
rendered frames, using FrameTree::traverseNextRendered() (which needs to be public).
Also change FrameView::needsStyleRecalcOrLayout() and FrameView::updateLayoutAndStyleIfNeededRecursive()
to fetch the list of FrameViews using FrameTree's nextRenderedSibling(), rather than using
the Widget tree, since we'd like to eventually remove Widgets, and using the Frame
tree matches flushCompositingStateIncludingSubframes() and other code.
Test: compositing/iframes/display-none-subframe.html
- page/FrameTree.h:
- page/FrameView.cpp:
(WebCore::FrameView::flushCompositingStateIncludingSubframes):
(WebCore::FrameView::needsStyleRecalcOrLayout):
(WebCore::FrameView::renderedChildFrameViews): Helper that returns a vector
of Ref<FrameView>s for rendered frames only.
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
- page/FrameView.h:
LayoutTests:
Test with a display:none iframe that triggers a single compositing flush,
then counts how many occur in 10ms.
- compositing/iframes/display-none-subframe-expected.txt: Added.
- compositing/iframes/display-none-subframe.html: Added.
- 4:10 PM Changeset in webkit [183776] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix build with SECURITY_ASSERTIONS enabled.
<rdar://problem/20653104>
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
- dom/ScriptExecutionContext.h:
- 3:53 PM Changeset in webkit [183775] by
-
- 10 edits2 adds in trunk
Fix updating of tiled backing opaquenss when the page background color changes
https://bugs.webkit.org/show_bug.cgi?id=144600
rdar://problem/20723035
Reviewed by Tim Horton.
Source/WebCore:
RenderLayerCompositor makes the page tiles opaque or not based on the result of
viewHasTransparentBackground(), which consults the view transparency, and
FrameView::documentBackgroundColor(). documentBackgroundColor() in turn is based
on the root and/or body background colors.
We thus need to re-evaluate whether page tiles are opaque when any of these inputs
change, but were failing to do so for the FrameView's baseBackgroundColor, and
the page root background color.
Fix by having FrameView::setBaseBackgroundColor(), and RenderBox::styleDidChange()
(for the root) trigger a compositing update when necessary.
Added setViewBaseBackgroundColor() on Internals for testing.
Test: platform/mac-wk2/tiled-drawing/background-transparency-toggle.html
- page/FrameView.cpp:
(WebCore::FrameView::setTransparent): Use the isViewForDocumentInFrame() helper.
(WebCore::FrameView::setBaseBackgroundColor): Bail if we're not the view for the
frame's document, and trigger a compositing update check if the alpha changed.
(WebCore::FrameView::isViewForDocumentInFrame): Helper that checks to see if
this FrameView is associated with the Document being displayed in the FrameView's
Frame. This returns false when we're setting up a new FrameView (its Frame still
points to the old document, so renderView() returns the RenderView for the Frame's
existing Document).
- page/FrameView.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange): Have the compositor check to see if it needs
to do an update.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged): If the result
of documentBackgroundColor() changed in alpha since the last time, trigger a compositing
update.
- rendering/RenderLayerCompositor.h:
- testing/Internals.cpp:
(WebCore::Internals::setViewBaseBackgroundColor):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Test that dumps layers with various baseBackgroundColor and body background color
combinations.
- platform/mac-wk2/tiled-drawing/background-transparency-toggle-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/background-transparency-toggle.html: Added.
- 3:14 PM Changeset in webkit [183774] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Crash in -[WebCALayerHostWrapper resolveBounds]
https://bugs.webkit.org/show_bug.cgi?id=144595
Reviewed by Eric Carlson.
It is possible for a WebCALayorHostWrapper to outlive the WebVideoFullscreenModel to which it refers,
since the model pointer is bare, rather than a RefPtr. The reference to the model must be invalidated
before the model is destroyed.
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal):
- 2:42 PM Changeset in webkit [183773] by
-
- 3 edits in trunk/LayoutTests
Fix the test after r183758 since shouldNotBe is not supported in the standalone testing.
- js/class-syntax-default-constructor-expected.txt:
- js/script-tests/class-syntax-default-constructor.js:
- 1:46 PM Changeset in webkit [183772] by
-
- 2 edits in trunk/Tools
[Win] Implement the "--show-webview" option for Windows
https://bugs.webkit.org/show_bug.cgi?id=144589
Reviewed by Alex Christensen.
Add another runtime flag (--show-webview) that causes DumpRenderTree
to draw its view on-screen, rather than the standard offscreen mode.
- DumpRenderTree/win/DumpRenderTree.cpp:
(createWebViewAndOffscreenWindow): Honor the 'showWebView' flag.
(initializeGlobalsFromCommandLineOptions): Recognize the new
command-line argument, and set the global 'showWebView' state if
appropriate.
- 1:44 PM Changeset in webkit [183771] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, rolling out r183661.
https://bugs.webkit.org/show_bug.cgi?id=144594
Caused ~3.5MB regression on membuster(!) (Requested by kling_
on #webkit).
Reverted changeset:
"Decrease minimum Vector size."
https://bugs.webkit.org/show_bug.cgi?id=144453
http://trac.webkit.org/changeset/183661
- 1:42 PM Changeset in webkit [183770] by
-
- 15 edits2 adds in trunk
Toggling underline or strike through affects each other
https://bugs.webkit.org/show_bug.cgi?id=27818
Reviewed by Darin Adler.
Source/WebCore:
This patch introduces a new mechanism to apply and remove text decorations. This is necessary because text
decorations are always additive and we can't differentiate whether we're adding or removing a text decoration.
Conceptually, we need four values for text decorations: adding underline, removing underline, adding
line-through, and removing line-through but we have only three: underline, line-through, none.
After this patch, there are three mechanism by which text decorations states are kept tracked. While applying
or removing text decorations, we use newly added m_underlineChange and m_strikeThroughChange in EditingStyle.
For the typing style, we use -webkit-text-decorations-in-effect to store the state since we need to preserve
every type of text decorations such as overline in addition to underline and line-through. Once applied, all
text decorations should be expressed in terms of the standard text-decoration property.
Test: editing/execCommand/toggle-mixed-text-decorations.html
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::removeCSSStyle): conflictsWithInlineStyleOfElement now creates a new inline style
instead of a list of properties to remove.
(WebCore::ApplyStyleCommand::addBlockStyle):
(WebCore::ApplyStyleCommand::applyInlineStyleChange): Merge inline styles instead of adding as string.
Otherwise it would generate style content attribute with multiple text-decoration properties.
- editing/EditingStyle.cpp:
(WebCore::HTMLElementEquivalent::matches):
(WebCore::HTMLElementEquivalent::propertyExistsInStyle): Takes an EditingStyle instead of StyleProperties.
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent):
(WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle): Respect newly added m_strikeThroughChange and
m_underlineChange in EditingStyle.
(WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto.
(WebCore::HTMLTextDecorationEquivalent::changeInStyle): Added. Retrieves the change enum for the associated
type of text-decoration (underline or strike through).
(WebCore::HTMLAttributeEquivalent::matches):
(WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
(WebCore::EditingStyle::EditingStyle): Initialize m_underlineChange and m_strikeThroughChange. Also use the
delegating constructor elsewhere. Also added the missing call to extractFontSizeDelta() in the variant that
takes CSSPropertyID and String, and added a variant that takes CSSPropertyID and CSSValueID.
(WebCore::EditingStyle::isEmpty): Return false when m_underlineChange and m_strikeThroughChange are not "none".
(WebCore::applyTextDecorationChangeToValueList): Added.
(WebCore::EditingStyle::overrideTypingStyleAt): Added. Used by Editor::computeAndSetTypingStyle to set a new
typing style. Resolve m_underlineChange and m_strikeThroughChange into -webkit-text-decorations-in-effect.
(WebCore::EditingStyle::clear): Clear m_underlineChange and m_strikeThroughChange.
(WebCore::EditingStyle::copy): Copy m_underlineChange and m_strikeThroughChange.
(WebCore::textDecorationValueList): Added.
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Now takes a pointer to MutableStyleProperties
instead of a vector. This was necessary we can't simply remove text-decoration property in ApplyStyleCommand's
removeCSSStyle as that would result in unrelated text decorations also getting removed. Also added the code
for m_underlineChange and m_strikeThroughChange. Only removing text decoration changes can cause a conflict
since text decorations are always additive.
(WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Check isEmpty() instead of the nullity of
m_mutableStyle to respect m_underlineChange and m_strikeThroughChange.
(WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
(WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Respect the values of m_underlineChange and
m_strikeThroughChange. Here, the style is considered present if it has text decorations that are being added.
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Takes EditingStyle instead of StyleProperties to
respect m_underlineChange and m_strikeThroughChange.
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
(WebCore::mergeTextDecorationValues):
(WebCore::EditingStyle::mergeStyle): Make a copy of CSSValueList before modifying it since CSSValueList's are
shared with other immutable StyleProperties.
(WebCore::StyleChange::StyleChange): Set m_applyUnderline, m_applyLineThrough, and m_cssStyle if either
m_underlineChange or m_strikeThroughChange are TextDecorationChange::Add in EditingStyle if the current position
doesn't already have the matching style.
(WebCore::StyleChange::operator==): Moved from the header file. Also added the logic to compare m_cssStyle now
that it's a StyleProperties instead of String.
- editing/EditingStyle.h: Added TextDecorationChange.
(WebCore::EditingStyle::create): Added a variant that takes CSSPropertyID and CSSValueID.
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
(WebCore::EditingStyle::setUnderlineChange): Added.
(WebCore::EditingStyle::underlineChange): Added.
(WebCore::EditingStyle::setStrikeThroughChange): Added.
(WebCore::EditingStyle::strikeThroughChange): Added.
(WebCore::StyleChange::cssStyle): Now returns StyleProperties* instead of String so that ApplyStyleCommand's
applyInlineStyleChange could merge inline styles instead of just appending it to the end.
(WebCore::StyleChange::operator==): Moved into the cpp file.
- editing/Editor.cpp:
(WebCore::Editor::applyStyle): Added. This variant takes EditingStyle instead of StyleProperties.
(WebCore::Editor::applyStyleToSelection): Ditto.
(WebCore::Editor::computeAndSetTypingStyle): Added a variant for EditingStyle. Also use overrideTypingStyleAt
to set -webkit-text-decorations-in-effect based on m_underlineChange and m_strikeThroughChange
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::isStylePresent): Extracted from executeToggleStyle.
(WebCore::executeApplyStyle):
(WebCore::executeToggleStyle):
(WebCore::executeToggleStyleInList): Deleted.
(WebCore::textDecorationChangeForToggling): Added. Used in executeStrikethrough and executeUnderline.
(WebCore::executeStrikethrough):
(WebCore::executeUnderline):
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _setTypingStyle:withUndoAction:]):
LayoutTests:
Added a regression test and rebaselined various tests as explained below.
- editing/execCommand/script-tests/toggle-style-2.js: The order in which u and strike elements appear have switched.
- editing/execCommand/script-tests/toggle-text-decorations.js: Ditto for line-through and overline.
- editing/execCommand/toggle-mixed-text-decorations-expected.txt: Added.
- editing/execCommand/toggle-mixed-text-decorations.html: Added.
- editing/execCommand/toggle-style-2-expected.txt: Rebaselined.
- editing/execCommand/toggle-text-decorations-expected.txt: Rebaselined.
- editing/undo/remove-css-property-and-remove-style-expected.txt: The order in which color and font-weight properties
appear have switched.
- 1:42 PM Changeset in webkit [183769] by
-
- 7 edits in trunk/Source/JavaScriptCore
Optimize WeakBlock's "reap" and "visit" operations.
<https://webkit.org/b/144585>
Reviewed by Geoffrey Garen.
WeakBlock was using Heap::isLive(void*) to determine the liveness of weak pointees.
That function was really written with conservative roots marking in mind, and will do a bunch
of sanity and bounds checks.
For weaks, we know that the pointer will have been a valid cell pointer into a block
of appropriate cell size, so we can skip a lot of the checks.
We now keep a pointer to the MarkedBlock in each WeakBlock. That way we no longer have to do
MarkedBlock::blockFor() for every single cell when iterating.
Note that a WeakBlock's MarkedBlock pointer becomes null when we detach a logically empty
WeakBlock from its WeakSet and transfer ownership to Heap. At that point, the block will never
be pointing to any live cells, and the only operation that will run on the block is sweep().
Finally, MarkedBlock allows liveness queries in three states: Marked, Retired, and Allocated.
In Allocated state, all cells are reported as live. This state will reset to Marked on next GC.
This patch uses that knowledge to avoid branching on the MarkedBlock's state for every cell.
This is a ~3x speedup of visit() and a ~2x speedup of reap() on Dromaeo/dom-modify, netting
what looks like a 1% speedup locally.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::MarkedBlock): Pass *this to the WeakSet's ctor.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::isMarkedOrNewlyAllocated): Added, stripped-down version of isLive() when the
block's state is known to be either Marked or Retired.
(JSC::MarkedBlock::isAllocated): Added, tells WeakBlock it's okay to skip reap/visit since isLive()
would report that all cells are live anyway.
- heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::WeakBlock): Stash a MarkedBlock* on each WeakBlock.
(JSC::WeakBlock::visit):
(JSC::WeakBlock::reap): Optimized these two to avoid a bunch of pointer arithmetic and branches.
- heap/WeakBlock.h:
(JSC::WeakBlock::disconnectMarkedBlock): Added.
- heap/WeakSet.cpp:
(JSC::WeakSet::sweep): Call the above when removing a WeakBlock from WeakSet and transferring
ownership to Heap until it can die peacefully.
(JSC::WeakSet::addAllocator):
- heap/WeakSet.h:
(JSC::WeakSet::WeakSet): Give WeakSet a MarkedBlock& for passing on to WeakBlocks.
- 1:36 PM Changeset in webkit [183768] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow closing and reopening the Debugger tab
https://bugs.webkit.org/show_bug.cgi?id=144536
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector._updateNewTabButtonState):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype.closed):
(WebInspector.DebuggerSidebarPanel.prototype._addIssuesForSourceCode):
(WebInspector.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
(WebInspector.DebuggerSidebarPanel.prototype._resourceAdded):
(WebInspector.DebuggerSidebarPanel.prototype._addResource):
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceChanged):
(WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
- UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView):
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView):
- 1:36 PM Changeset in webkit [183767] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Fix build breakage caused by API deprecation
https://bugs.webkit.org/show_bug.cgi?id=144593
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Suppress warnings.
- 1:34 PM Changeset in webkit [183766] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION: Web Inspector: FrameTreeElement does not folders properly when loading a page
https://bugs.webkit.org/show_bug.cgi?id=144535
Reviewed by Joseph Pecoraro.
- UserInterface/Views/FolderizedTreeElement.js:
(WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Fix an exception if not in a tree.
(WebInspector.FolderizedTreeElement.prototype.prepareToPopulate):
(WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue):
- 1:27 PM Changeset in webkit [183765] by
-
- 6 edits4 adds in trunk
REGRESSION (r178156): CSS Parser incorrectly rejects valid calc() in padding-right property
https://bugs.webkit.org/show_bug.cgi?id=144584
<rdar://problem/20796829>
Reviewed by Darin Adler.
Source/WebCore:
The CSS parser was rejecting calculated values at parsing time if it
considered the value was negative and the CSS property did not allow
negative values. However, doing so at this point will not always work
because we don't necessarily know the font-size yet (for e.g. for
calc(0.5em - 2px). Also, rejecting negative calculated values is not
the right behavior as the the specification. The specification says
we should clamp:
http://dev.w3.org/csswg/css-values-3/#calc-range
This patch updates validateCalculationUnit() to stop marking the value
as invalid if it is negative. Instead, let the CSSCalcValue's permitted
range clamp the value as needed.
This bug was causing the bottom graphic on aldentrio.com to not be
rendered properly.
Test: fast/css/negative-calc-values.html
fast/css/padding-calc-value.html
- css/CSSParser.cpp:
(WebCore::CSSParser::validateCalculationUnit):
LayoutTests:
- fast/css/negative-calc-values-expected.txt: Added.
- fast/css/negative-calc-values.html: Added.
Add a layout test that assigns negative calc() values to properties
whose values cannot be negative to verify that values are clamped as
per the specification:
http://dev.w3.org/csswg/css-values-3/#calc-range
- fast/css/padding-calc-value-expected.txt: Added.
- fast/css/padding-calc-value.html: Added.
Add a layout test to test that using calc(.5em - 2px) for padding-right
CSS property works as intended. It used to be resolved as 0px instead
of "2*font-size - 2px".
- fast/css/text-shadow-calc-value-expected.txt:
- fast/css/text-shadow-calc-value.html:
Update test to match what the specification says:
http://dev.w3.org/csswg/css-values-3/#calc-range
"width: calc(5px - 10px);" is equivalent to "width: 0px;" since widths
smaller than 0px are not allowed.
- 1:22 PM Changeset in webkit [183764] by
-
- 14 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow closing and reopening the Timelines tab
https://bugs.webkit.org/show_bug.cgi?id=144520
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector._updateNewTabButtonState):
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager): No need for a delay now. Call reset().
(WebInspector.TimelineManager.prototype.reset):
(WebInspector.TimelineManager.delayedWork): Deleted.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView):
(WebInspector.ContentBrowserTabContentView.prototype.closed):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype.closed): Added. Fixed leak.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.closed): Added. Fixed leak.
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView): Added Timelines.
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.closed): Added. Fixed leak.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype.closed): Added. Fixed leak.
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.closed):
- UserInterface/Views/SearchTabContentView.js:
(WebInspector.SearchTabContentView.prototype.closed): Deleted. Made generic
in ContentBrowserTabContentView.prototype.closed.
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.prototype._tabBarItemSelected): Fix a potential exception
when selectedTabBarItem is null.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.closed):
(WebInspector.TimelineSidebarPanel._recordingCreated): Call _addRecording.
(WebInspector.TimelineSidebarPanel._addRecording): Added.
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView):
- 1:11 PM Changeset in webkit [183763] by
-
- 2 edits in trunk/Source/JavaScriptCore
Allocation sinking is prohibiting the creation of phis between a Phantom object and its materialization
https://bugs.webkit.org/show_bug.cgi?id=144587
Rubber stamped by Filip Pizlo.
When sinking object allocations, we ensure in
determineMaterializationPoints that whenever an allocation is
materialized on a path to a block, it is materialized in all such
paths. Thus when running the SSA calculator to place Phis in
placeMaterializationPoints, we can't encounter a situation where some
Upsilons are referring to a materialization while others are referring
to the phantom object.
This replaces the code that was adding a materialization late in
placeMaterializationPoints to handle that case by an assertion that it
does not happen, which will make
https://bugs.webkit.org/show_bug.cgi?id=143073 easier to implement.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints):
- 12:33 PM Changeset in webkit [183762] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Switching recordings in the Timeline navigation bar is broken
https://bugs.webkit.org/show_bug.cgi?id=144519
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Use revealAndSelect
on the TreeElement instead of showing the representedObject directly. This fixes an exception in
TimelineRecordingContentView where it wouldn't be initialized with the TimelineSidebarPanel extra argument.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.get visibleDuration): Fix an annoying assert. We show the view
early in construction, before it is in the document. Future updateLayout calls work and fix this.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.shown): Call _currentContentViewDidChange
to trigger the sidebar to update when this recording view is shown.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._recordingsTreeElementSelected): Moved code from here...
(WebInspector.TimelineSidebarPanel.prototype._recordingSelected): ... to here. Take two different paths
to state restoration here. If the view existed before, use its state. If now, use the current state that
is captured by the cookie logic and explicitly restore it.
- 12:28 PM Changeset in webkit [183761] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening. Fix lint error on mac-wk1.
- platform/mac-wk1/TestExpectations:
- 12:27 PM Changeset in webkit [183760] by
-
- 2 edits in trunk/LayoutTests
storage/indexeddb/mozilla/cursor-update-updates-indexes.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=144590
- platform/mac-wk2/TestExpectations: Marking as such.
- 12:23 PM Changeset in webkit [183759] by
-
- 5 edits in trunk
Extending undefined in class syntax should throw a TypeError
https://bugs.webkit.org/show_bug.cgi?id=144284
Reviewed by Darin Adler.
Source/JavaScriptCore:
The bug was caused by op_eq_null evaluating to true when compared to undefined.
Explicitly check op_eq_undefined first to detect the case where we're extending undefined.
We also had bogus test cases checked in class-syntax-extends.html. This patch also fixes them.
- bytecompiler/NodesCodegen.cpp:
(JSC::ClassExprNode::emitBytecode):
LayoutTests:
Fixed the expectation for extending undefined and removed irrelevant test cases for extending undefined
since we'll never get to instantiate these classes now.
- js/class-syntax-extends-expected.txt:
- js/script-tests/class-syntax-extends.js:
- 12:22 PM Changeset in webkit [183758] by
-
- 3 edits in trunk/LayoutTests
ES6 classes: Invalid test for constructor property
https://bugs.webkit.org/show_bug.cgi?id=144278
Reviewed by Darin Adler.
Fixed the test. The constructors of two distinct classes should definitely be distinct.
- js/class-syntax-default-constructor-expected.txt:
- js/script-tests/class-syntax-default-constructor.js:
- 12:21 PM Changeset in webkit [183757] by
-
- 5 edits in trunk
new super should be a syntax error
https://bugs.webkit.org/show_bug.cgi?id=144282
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Disallow "new super" as ES6 spec doesn't allow this.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
LayoutTests:
Rebaselined the test.
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-super.js:
- 12:17 PM Changeset in webkit [183756] by
-
- 2 edits in trunk/LayoutTests
Skip fast/images/animated-gif-body-outside-viewport.html on Windows. It
started failing after r183732, but like the other fast/images/animated-gif* tests,
it's sensitive to window display timing. These tests were already skipped for Mac
WK1, probably because we disable window autodisplay on the Mac.
- platform/win/TestExpectations:
- 11:51 AM Changeset in webkit [183755] by
-
- 6 edits in trunk/Source/WebKit2
Network Cache: Support time based cache clearing
https://bugs.webkit.org/show_bug.cgi?id=144568
<rdar://problem/19769820>
Reviewed by Andreas Kling.
Support clearing cache entries newer than given time only.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::deleteDumpFile):
(WebKit::NetworkCache::Storage::traverse):
Also fix thread safety of traverse handler function.
(WebKit::NetworkCache::Cache::clear):
Also add completion handler to support the API properly.
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::clear):
- NetworkProcess/cache/NetworkCacheStorage.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::clearNSURLCache):
Factor to a function.
(WebKit::NetworkProcess::clearDiskCache):
- 11:47 AM Changeset in webkit [183754] by
-
- 4 edits in trunk/Source/JavaScriptCore
JSCallbackObject does not maintain symmetry between accesses for getOwnPropertySlot and put
https://bugs.webkit.org/show_bug.cgi?id=144265
Reviewed by Geoffrey Garen.
JSCallbackObject will defer to a parent's implementation of getOwnPropertySlot
for a static function if the parent has that property slot. JSCallbackObject::put
did not maintain this symmetry of also calling ::put on the parent if the parent
has the property. We should ensure that this symmetry exists.
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::put):
- API/tests/testapi.c:
- API/tests/testapi.js:
(globalStaticFunction2):
(this.globalStaticFunction2):
(iAmNotAStaticFunction):
(this.iAmNotAStaticFunction):
- 11:45 AM Changeset in webkit [183753] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make ExecState::vm() branchless in release builds.
<https://webkit.org/b/144586>
Reviewed by Geoffrey Garen.
Avoid null checking the ExecState's callee() before getting the
VM from it. The code was already dereferencing it anyway, since we
know it's not gonna be null.
- runtime/JSCellInlines.h:
(JSC::ExecState::vm):
- 11:37 AM Changeset in webkit [183752] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
Object allocation not sinking properly through CheckStructure
https://bugs.webkit.org/show_bug.cgi?id=144465
Reviewed by Filip Pizlo.
Currently, sinking an allocation through a CheckStructure will
completely ignore all structure checking, which is obviously wrong.
A CheckStructureImmediate node type was present for that purpose, but
the CheckStructures were not properly replaced. This ensures that
CheckStructure nodes are replaced by CheckStructureImmediate nodes when
sunk through, and that structure checking happens correctly.
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToCheckStructureImmediate): Added.
(JSC::DFG::Node::hasStructureSet):
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCheckStructure):
(JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate):
(JSC::FTL::LowerDFGToLLVM::checkStructure):
- tests/stress/sink_checkstructure.js: Added.
(foo):
- 11:26 AM Changeset in webkit [183751] by
-
- 3 edits in trunk/Source/WebCore
[Mac] Show wireless playback placard even when an element has custom controls
https://bugs.webkit.org/show_bug.cgi?id=144548
Reviewed by Brent Fulgham.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.shouldHaveAnyUI): Return true when playing to wireless target.
(Controller.prototype.reconnectControls): Add controls when playing to wireless target.
(Controller.prototype.setPlaying): Return early when there is no 'controls' attribute.
(Controller.prototype.showControls): Ditto.
(Controller.prototype.updateWirelessPlaybackStatus): Call updateBase when playing to wireless
target to ensure that controls have been set up.
(Controller.prototype.handleWirelessPlaybackChange): Call reconnectControls when playing
to wireless target when there is no 'controls' attribute.
(Controller.prototype.showInlinePlaybackPlaceholderOnly): New.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Call configureMediaControls.
(WebCore::HTMLMediaElement::configureMediaControls): Require controls when playing
to wireless target.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Remove some unhelpful, noisy, logging.
- 11:24 AM Changeset in webkit [183750] by
-
- 2 edits in trunk/Source/WebCore
Fixed the build.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Moved off of a deprecated
method to a non-deprecated equivalent.
- 10:27 AM Changeset in webkit [183749] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r183570): jslib-traverse-jquery is 22% slower
https://bugs.webkit.org/show_bug.cgi?id=144476
Reviewed by Sam Weinig.
jslib-traverse-jquery is now 31% faster than its unregressed baseline.
The jQuery algorithm for sorting DOM nodes is so pathologically slow that,
to my knowledge, the topic of how to optimize it is not covered in any
literature about sorting.
On the slowest jQuery sorting test -- prevAll -- our new
Array.prototype.sort, compared to its predecessor, performed 12% fewer
comparisons and requireed 10X less overhead per comparison. Yet, it was
slower.
It was slower because it inadvertantly increased the average cost of the
comparison function by 2X. jQuery uses compareDocumentPosition to compare
DOM nodes, and compareDocumentPosition(a, b) is O(N) in the distance
required to traverse backwards from b to a. In prevAll, we encounter the
worst case for merge sort of compareDocumentPosition: A long list of DOM
nodes in mostly reverse order. In this case, merge sort will sequentially
compareDocumentPosition(a, b), where a is not reachable backwards from
b, and therefore compareDocumentPosition will traverse the whole sibling
list.
The solution is simple enough: Call compareDocumentPosition(b, a) instead.
This is a pretty silly thing to do, but it is harmless, and jQuery is
popular, so let's do it.
We do not risk suffering the same problem in reverse when sorting a long
list of DOM nodes in forward order. (We still have a 37% speedup on the
nextAll benchmark.) The reason is that merge sort performs 2X fewer
comparisons when the list is already sorted, so we can worry less about
the cost of each comparison.
A fully principled soultion to this problem would probably do something
like Python's timsort, which special-cases ordered ranges to perform
only O(n) comparisons. But that would contradict our original
goal of just having something simple that works.
Another option is for elements to keep a compareDocumentPosition cache,
like a node list cache, which allows you to determine the absolute
position of a node using a hash lookup. I will leave this as an exercise
for kling.
- builtins/Array.prototype.js:
(sort.merge): Compare in an order that is favorable to a comparator
that calls compareDocumentPosition.
- 10:25 AM Changeset in webkit [183748] by
-
- 25 edits5 adds in trunk
[CSS Box Alignment] Upgrade justify-content parsing to CSS3 Box Alignment spec.
https://bugs.webkit.org/show_bug.cgi?id=144442
Reviewed by David Hyatt.
Upgrade the justify-content property to the last CSS3 Box
Alignment specification. It defines a different enumeration for
Positional and Distribution alignment, which requires changes in
the FlexibleBox implementation.
Source/WebCore:
A new parsing function has been implemented to replace the basic
keyword IDs validation. Because of the complexity of the new
values, a new CSSPrimitiveValue derived class has been defined
which simplifies considerably the parsing logic.
We will follow the same approach than for Self Alignment, defining
a single class to hold all the related alignment data. This makes
possible to use a StyleBuilderConverter function instead of custom
builder functions for these properties.
Test: css3/parse-justify-content.html
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::resolveContentAlignmentAuto):
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::valueForItemPositionWithOverflowAlignment): Deleted.
- css/CSSContentDistributionValue.cpp: Added.
(WebCore::CSSContentDistributionValue::CSSContentDistributionValue):
(WebCore::CSSContentDistributionValue::~CSSContentDistributionValue):
(WebCore::CSSContentDistributionValue::customCSSText):
(WebCore::CSSContentDistributionValue::equals):
- css/CSSContentDistributionValue.h: Added.
(WebCore::CSSContentDistributionValue::create):
(WebCore::CSSContentDistributionValue::distribution):
(WebCore::CSSContentDistributionValue::position):
(WebCore::CSSContentDistributionValue::overflow):
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
(WebCore::isContentDistributionKeyword):
(WebCore::isContentPositionKeyword):
(WebCore::isAlignmentOverflowKeyword):
(WebCore::CSSParser::parseContentDistributionOverflowPosition):
(WebCore::CSSParser::parseItemPositionOverflowPosition):
(WebCore::CSSParser::parseLegacyPosition): Deleted.
- css/CSSParser.h:
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ContentPosition):
(WebCore::CSSPrimitiveValue::operator ContentDistributionType):
(WebCore::CSSPrimitiveValue::operator EFlexDirection): Deleted.
- css/CSSPropertyNames.in:
- css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isContentDistributionValue):
(WebCore::CSSValue::isWebKitCSSFilterValue): Deleted.
- css/CSSValueKeywords.in:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertContentAlignmentData):
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData): Deleted.
- rendering/RenderFlexibleBox.cpp:
(WebCore::initialJustifyContentOffset):
(WebCore::justifyContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
- rendering/RenderFullScreen.cpp:
(WebCore::createFullScreenStyle):
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
(WebCore::RenderMathMLScripts::fixAnonymousStyles):
- rendering/style/RenderStyle.h:
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleContentAlignmentData.h: Added.
(WebCore::StyleContentAlignmentData::StyleContentAlignmentData):
(WebCore::StyleContentAlignmentData::setPosition):
(WebCore::StyleContentAlignmentData::setDistribution):
(WebCore::StyleContentAlignmentData::setOverflow):
(WebCore::StyleContentAlignmentData::position):
(WebCore::StyleContentAlignmentData::distribution):
(WebCore::StyleContentAlignmentData::overflow):
(WebCore::StyleContentAlignmentData::operator==):
(WebCore::StyleContentAlignmentData::operator!=):
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
Some minor changes in some Flexbox related test cases for adapting
them to the new parsing logic. New layout tests, not Flexbox
specific, to verify the parsing of the new values.
- css3/flexbox/css-properties.html:
- css3/parse-justify-content-expected.txt: Added.
- css3/parse-justify-content.html: Added.
- 9:57 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:22 AM Changeset in webkit [183747] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Compile error in sharedEGLDisplay() method.
https://bugs.webkit.org/show_bug.cgi?id=144563
Reviewed by Alex Christensen.
The PlatformDisplay type is undefined.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::sharedEGLDisplay):
- 8:35 AM Changeset in webkit [183746] by
-
- 23 edits in trunk/Source
[WTF] Remove Functional.h inclusions
https://bugs.webkit.org/show_bug.cgi?id=144400
Reviewed by Darin Adler.
Source/WebCore:
Remove unnecessary inclusions of the <wtf/Functional.h> header in WebCore.
- Modules/mediastream/MediaStreamTrack.cpp:
- Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:
- Modules/mediastream/UserMediaRequest.cpp:
- page/scrolling/ScrollingTree.h:
- page/scrolling/ios/ScrollingCoordinatorIOS.mm:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
- platform/MemoryPressureHandler.cpp:
- platform/UserActivity.h: Include the <objc/objc.h> header that was previously
indirectly included through Functional.h.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
- platform/mac/SoftLinking.h: Unconditionally include the <objc/runtime.h> header
that was previously included for the Mac port through Functional.h.
Source/WebKit2:
Remove unnecessary inclusions of the <wtf/Functional.h> header in WebKit2.
- Platform/IPC/unix/ConnectionUnix.cpp:
- WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Import the <objc/runtime.h>
header that was previously indirectly included through the Functional.h header.
- WebProcess/WebPage/DrawingArea.cpp:
Source/WTF:
Remove most of the Functional.h header inclusions. The header is preserved
since it's still used by older versions of Safari, and for the callOnMainThread()
stub in DeprecatedSymbolsUsedBySafari.mm.
- wtf/MainThread.cpp:
- wtf/RunLoop.h:
- wtf/WorkQueue.cpp:
- wtf/WorkQueue.h:
- wtf/efl/DispatchQueueEfl.h:
- wtf/efl/DispatchQueueWorkItemEfl.h:
- 8:20 AM Changeset in webkit [183745] by
-
- 2 edits in trunk/Tools
Remove dead code from TestInvocationCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=144564
Reviewed by Gyuyoung Kim.
Only EFL and GTK port use TestInvocationCairo.cpp, there isn't other platform.
- WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
- 7:40 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:30 AM Changeset in webkit [183744] by
-
- 5 edits in trunk/Source/WebCore
[Streams API] Refactor ReadableJSStream and ReadableStreamJSSource
https://bugs.webkit.org/show_bug.cgi?id=144387
Reviewed by Darin Adler.
Made ReadableStreamReader a private class of ReadableJSStream.
Simplified ReadableJSStream construction so that binding constructor does not need to know about ReadableStreamJSSource.
No functional change, existing tests cover the changes.
- Modules/streams/ReadableStream.h:
(WebCore::ReadableStream::source): Added to implement jsSource(), needed by ReadableJSStream.
- bindings/js/JSReadableStreamCustom.cpp:
(WebCore::constructJSReadableStream): Simplified to not have to handle source creation.
- bindings/js/ReadableStreamJSSource.cpp:
(WebCore::ReadableStreamJSSource::globalObject): Helper function to be used in other future methods.
(WebCore::ReadableStreamJSSource::start):
(WebCore::ReadableJSStream::create):
(WebCore::ReadableJSStream::createReader):
(WebCore::ReadableJSStream::jsSource):
(WebCore::ReadableJSStream::Reader::create):
(WebCore::ReadableJSStream::Reader::Reader):
- bindings/js/ReadableStreamJSSource.h:
- 4:20 AM Changeset in webkit [183743] by
-
- 2 edits in trunk/Tools
[GTK] Add libnotify in gtk install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=144379
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-05-04
Reviewed by Csaba Osztrogonác.
- gtk/install-dependencies:
- 3:04 AM Changeset in webkit [183742] by
-
- 1 edit1 delete in trunk/Source/WebCore
Remove move-js-headers.sh
https://bugs.webkit.org/show_bug.cgi?id=144323
Reviewed by Daniel Bates.
move-js-headers.sh was only used by the Wx port, which has been removed from trunk long ago.
- move-js-headers.sh: Removed.
- 1:51 AM Changeset in webkit [183741] by
-
- 2 edits in trunk
[cmake] Disable GNU Gold linker on Cortex A53
https://bugs.webkit.org/show_bug.cgi?id=144382
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsCommon.cmake:
- 1:42 AM Changeset in webkit [183740] by
-
- 4 edits in trunk/Source
[ARM] Don't compare unsigned chars to EOF (-1)
https://bugs.webkit.org/show_bug.cgi?id=144439
Reviewed by Geoffrey Garen.
Source/WebCore:
- platform/linux/MemoryPressureHandlerLinux.cpp:
(WebKit::nextToken): Don't cast return value of fgetc() to char.
Source/WebKit2:
- Shared/linux/WebMemorySamplerLinux.cpp:
(WebKit::nextToken): Don't cast return value of fgetc() to char.
- 1:37 AM Changeset in webkit [183739] by
-
- 3 edits2 adds in trunk
[CSS Grid Layout] Wrong computed style for named grid lines in implicit tracks
https://bugs.webkit.org/show_bug.cgi?id=144449
Reviewed by Sergio Villar Senin.
Source/WebCore:
If there're implicit tracks then trackPositions is bigger than
trackSizes, so we need to use the proper index to append the trailing
<ident>s in valueForGridTrackList().
Test: fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackList):
LayoutTests:
- fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks-expected.txt: Added.
- fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html: Added.
- 1:22 AM Changeset in webkit [183738] by
-
- 4 edits in trunk/Source/JavaScriptCore
[cmake] Fix generate-js-builtins related incremental build issue
https://bugs.webkit.org/show_bug.cgi?id=144094
Reviewed by Michael Saboff.
- CMakeLists.txt: Generated JSCBuiltins.<cpp|h> should depend on Source/JavaScriptCore/builtins directory.
Pass input directory to generate-js-builtins instead of Source/JavaScriptCore/builtins/*.js.
- DerivedSources.make:
Pass input directory to generate-js-builtins instead of Source/JavaScriptCore/builtins/*.js.
- generate-js-builtins: Accept input files and input directory too.
- 12:52 AM Changeset in webkit [183737] by
-
- 11 edits4 deletes in trunk/Source/WebKit2
Remove NetworkResourceLoadScheduler
https://bugs.webkit.org/show_bug.cgi?id=144550
Reviewed by Sam Weinig.
It doesn't really do anything.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getNetworkProcessStatistics):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::networkResourceLoadScheduler): Deleted.
- NetworkProcess/NetworkResourceLoadScheduler.cpp: Removed.
- NetworkProcess/NetworkResourceLoadScheduler.h: Removed.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::cleanup):
- NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::create):
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::initializeNetworkSettings):
Moved from NetworkResourceLoadSchedulerMac.mm.
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Removed.
- NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Removed.
- WebKit2.xcodeproj/project.pbxproj:
May 3, 2015:
- 10:16 PM Changeset in webkit [183736] by
-
- 2 edits in trunk/Source/WebKit2
Crash in SandboxExtension::consume when uploading iWork -tef documents to iCloud
https://bugs.webkit.org/show_bug.cgi?id=144509
rdar://problem/18731910
Reviewed by Daniel Bates.
No test, because testRunner.beginDragWithFiles doesn't work in WKTR, and making
it work is hard.
- Shared/BlobDataFileReferenceWithSandboxExtension.cpp:
(WebKit::BlobDataFileReferenceWithSandboxExtension::prepareForFileAccess):
(WebKit::BlobDataFileReferenceWithSandboxExtension::revokeFileAccess):
- 6:20 PM Changeset in webkit [183735] by
-
- 42 edits in trunk/Source/WebCore
Purge PassRefPtr in WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=144543
Reviewed by Andreas Kling.
Change PassRefPtr in create() factory functions with Ref. In some functions,
it returns RefPtr when it might have a chance to return nullptr.
No new tests, no behavior changes.
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::sendError):
- html/DOMFormData.h:
(WebCore::DOMFormData::create):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
- html/HTMLMediaElement.h:
- html/MediaError.h:
(WebCore::MediaError::create):
- html/MediaKeyError.h:
(WebCore::MediaKeyError::create):
- html/canvas/CanvasGradient.h:
- html/canvas/CanvasProxy.cpp:
(WebCore::CanvasProxy::create):
- html/canvas/CanvasProxy.h:
- html/canvas/WebGLActiveInfo.h:
(WebCore::WebGLActiveInfo::create):
- html/canvas/WebGLContextAttributes.h:
- html/canvas/WebGLContextGroup.h:
- html/canvas/WebGLProgram.h:
- html/canvas/WebGLQuery.h:
- html/canvas/WebGLRenderbuffer.h:
- html/canvas/WebGLSampler.h:
- html/canvas/WebGLShader.h:
- html/canvas/WebGLShaderPrecisionFormat.h:
- html/canvas/WebGLSync.h:
- html/canvas/WebGLTexture.h:
- html/canvas/WebGLTransformFeedback.h:
- html/canvas/WebGLUniformLocation.h:
- html/canvas/WebGLVertexArrayObjectOES.h:
- html/shadow/ImageControlsRootElement.cpp:
(WebCore::ImageControlsRootElement::maybeCreate):
- html/shadow/ImageControlsRootElement.h:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::create):
(WebCore::MediaControlPanelEnclosureElement::create):
(WebCore::MediaControlOverlayEnclosureElement::create):
(WebCore::MediaControlTimelineContainerElement::create):
(WebCore::MediaControlVolumeSliderContainerElement::create):
(WebCore::MediaControlStatusDisplayElement::create):
(WebCore::MediaControlPanelMuteButtonElement::create):
(WebCore::MediaControlVolumeSliderMuteButtonElement::create):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlOverlayPlayButtonElement::create):
(WebCore::MediaControlSeekForwardButtonElement::create):
(WebCore::MediaControlSeekBackButtonElement::create):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlClosedCaptionsContainerElement::create):
(WebCore::MediaControlClosedCaptionsTrackListElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlPanelVolumeSliderElement::create):
(WebCore::MediaControlFullscreenVolumeSliderElement::create):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
(WebCore::MediaControlTimeRemainingDisplayElement::create):
(WebCore::MediaControlCurrentTimeDisplayElement::create):
- html/shadow/MediaControlElements.h:
- html/shadow/MediaControlsApple.h:
(WebCore::MediaControlsAppleEventListener::create):
- html/shadow/MeterShadowElement.h:
(WebCore::MeterInnerElement::create):
(WebCore::MeterBarElement::create):
(WebCore::MeterValueElement::create):
- html/shadow/ProgressShadowElement.h:
(WebCore::ProgressInnerElement::create):
(WebCore::ProgressBarElement::create):
(WebCore::ProgressValueElement::create):
- html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::ImageControlsRootElement::maybeCreate):
- html/track/TextTrackCueList.h:
(WebCore::TextTrackCueList::create):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::create):
- html/track/VTTCue.h:
(WebCore::VTTCue::create):
- html/track/VTTRegion.h:
- html/track/VideoTrack.h:
- html/track/VideoTrackList.h:
- html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::create):
- html/track/WebVTTElement.h:
- html/track/WebVTTParser.h:
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader):
- 4:58 PM Changeset in webkit [183734] by
-
- 5 edits in trunk/Source
Make some static data const
https://bugs.webkit.org/show_bug.cgi?id=144552
Reviewed by Andreas Kling.
Source/JavaScriptCore:
Turn characterSetInfo into const data.
- yarr/YarrCanonicalizeUCS2.cpp:
- yarr/YarrCanonicalizeUCS2.h:
Source/WebCore:
Turn baseTable and shiftTable into const data.
- platform/graphics/FormatConverter.cpp:
- 3:55 PM Changeset in webkit [183733] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Exception under ContentViewContainer _disassociateFromContentView
https://bugs.webkit.org/show_bug.cgi?id=144546
Reviewed by Brian Burg.
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.showContentView):
Make sure to pass the ContentView to _disassociateFromContentView. Also negate the result
of the _backForwardList.some(), since we don't want to dissociate if the content view is
still in the back-forward list.
- 9:10 AM Changeset in webkit [183732] by
-
- 5 edits3 adds in trunk
Assertion failure (!needsLayout()) loading inkedmag.com
https://bugs.webkit.org/show_bug.cgi?id=144528
rdar://problem/20788681
Reviewed by Darin Adler.
Source/WebCore:
When animated GIFs get into catch-up mode, which is common on inkedmag.com,
BitmapImage::advanceAnimation() can synchronously call it's observer's
animationAdvanced(). This could cause RenderImage::repaintOrMarkForLayout()
to repaint or mark itself as needing layout in the middle of painting.
If painting multiple tiles, this could occur when painting the first tile,
and then painting the second tile would assert in RenderView::paint().
It's always wrong to synchronously call the observer when advancing
the animation, since this happens when painting, and you can't repaint
when painting. The long comment and call to startAnimation(DoNotCatchUp)
was required to explain and work around this, but it's simpler to just
advance the animation on a zero-delay timer.
Special handling is required for the case where internalAdvanceAnimation()
is catching up, and reaches the end of a non-repeating image; there, we
have to set a flag and do the notify on a zero-delay timer.
Lots of comment cleanup.
Test: fast/images/set-needs-layout-in-painting.html
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::startTimer): Utility to create and start the timer.
(WebCore::BitmapImage::repetitionCount):
(WebCore::BitmapImage::startAnimation): Early return in the DoNotCatchUp clause.
If skipping, and internalAdvanceAnimation() returns false (meaning it must have
reached the end), then queue up a notify. Change the normal behavior to just
start the timer.
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation): Notify if the flag is set.
- platform/graphics/BitmapImage.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint): Add a SetLayoutNeededForbiddenScope to
detect setNeedsLayouts when painting replaced elements, including images.
LayoutTests:
Test that sleeps for a while to force an image into catchup mode.
- fast/images/resources/spinner.gif: Added.
- fast/images/set-needs-layout-in-painting-expected.txt: Added.
- fast/images/set-needs-layout-in-painting.html: Added.
- 8:20 AM Changeset in webkit [183731] by
-
- 14 edits2 moves5 adds in trunk/Source
[GTK][EFL] Unify platform display handling
https://bugs.webkit.org/show_bug.cgi?id=144517
Reviewed by Martin Robinson.
Source/WebCore:
There are several places were we are handling the X display
connection:
- GLContext::sharedX11Display() creates a new connection.
- X11Helper::nativeDisplay() creates a new connection.
- BackingStoreBackendCairoX11 uses the GTK+ shared connection.
- NetscapePlugin::x11HostDisplay() uses the GTK+/ecore shared connection
- The rest of the GTK+ code uses the shared GTK+ connection
And then we also have WaylandDisplay and the code to check if the
current display is wayland or X11.
We could unify all these to share the same connection to reduce
the amount of ifdefs and ensure a single connection. That will
also allow us to use "smart pointers" for the X resources that
need a Display* to be freed.
- PlatformEfl.cmake: Add new files to compilation.
- PlatformGTK.cmake: Move some files to WebCore_SOURCES sinc ethey
don't use GTK+ anymore, and add new files to compilation.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::cleanupActiveContextsAtExit): Remove the
custom X11 connection.
(WebCore::GLContext::createContextForWindow): Check if the shared
display is Wayland to create a EGL context in such case.
- platform/graphics/PlatformDisplay.cpp: Added.
(WebCore::PlatformDisplay::createPlatformDisplay): Creates the
shared display, using the GTK+/ecore shared connection.
(WebCore::PlatformDisplay::sharedDisplay): Return the shared display.
- platform/graphics/PlatformDisplay.h: Added.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::sharedEGLDisplay): Use PlatformDisplay::sharedDisplay()
to get the native display.
(WebCore::GLContextEGL::createPixmapContext): Ditto.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::createWindowContext): Ditto.
(WebCore::GLContextGLX::createPbufferContext): Ditto.
(WebCore::GLContextGLX::createPixmapContext): Ditto.
(WebCore::GLContextGLX::createContext): Ditto.
(WebCore::GLContextGLX::~GLContextGLX): Ditto.
(WebCore::GLContextGLX::defaultFrameBufferSize): Ditto.
(WebCore::GLContextGLX::makeContextCurrent): Ditto.
(WebCore::GLContextGLX::swapBuffers): Ditto.
(WebCore::GLContextGLX::cairoDevice): Ditto.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): Ditto.
- platform/graphics/surfaces/glx/X11Helper.cpp:
(WebCore::X11Helper::nativeDisplay): Ditto.
- platform/graphics/wayland/PlatformDisplayWayland.cpp: Renamed from Source/WebCore/platform/graphics/wayland/WaylandDisplay.cpp.
(WebCore::PlatformDisplayWayland::globalCallback):
(WebCore::PlatformDisplayWayland::globalRemoveCallback):
(WebCore::PlatformDisplayWayland::create): Renamed instance() as
create() since the single instance is now handled by PlatformDisplay.
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::createSurface):
(WebCore::PlatformDisplayWayland::createSharingGLContext):
- platform/graphics/wayland/PlatformDisplayWayland.h: Renamed from Source/WebCore/platform/graphics/wayland/WaylandDisplay.h.
- platform/graphics/x11/PlatformDisplayX11.cpp: Added.
(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
- platform/graphics/x11/PlatformDisplayX11.h: Added.
- platform/gtk/GtkUtilities.cpp:
(WebCore::getDisplaySystemType): Deleted.
- platform/gtk/GtkUtilities.h:
Source/WebKit2:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Use PlatformDisplay::sharedDisplay()
to checkt the display type.
(webkitWebViewBaseCreateWebPage): Ditto.
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend): Pass the native X11 shared
display to BackingStoreBackendCairoX11.
- WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::x11HostDisplay): Return the native X11
shared display.
- 3:14 AM Changeset in webkit [183730] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix Debug build with NETWORK_CACHE enabled and CACHE_PARTITIONING disabled.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::store):
- 2:54 AM Changeset in webkit [183729] by
-
- 2 edits in trunk/Source/WebCore
[GTK] API tests crashing on debug builds due to extra unref
https://bugs.webkit.org/show_bug.cgi?id=144508
Reviewed by Mario Sanchez Prada.
The problem is that we were assuming that when a new DOMWindow is
created, the DOM object cache was notified about the previous
DOMWindow being destroyed before objects for the new DOMWindow are
added to the cache. However, that's not always the case and we
only create a DOMWindowObserver for the first DOMWindow. We need
to keep a pointer to the DOMWindow being observed to clear() the
cache and create a new DOMWindowObserver when it changes in the
Frame.
Fixes crashes in several unit tests in debug builds.
- bindings/gobject/DOMObjectCache.cpp:
- 12:48 AM Changeset in webkit [183728] by
-
- 2 edits in trunk/LayoutTests
Skip fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html
https://bugs.webkit.org/show_bug.cgi?id=144540
- 12:13 AM Changeset in webkit [183727] by
-
- 2 edits in trunk/Source/WebCore
Remove timer alignment logging that I added earler today.
- page/Settings.cpp: (WebCore::Settings::setDOMTimerAlignmentInterval):
May 2, 2015:
- 7:20 PM Changeset in webkit [183726] by
-
- 36 edits in trunk/Source/WebCore
Purge PassRefPtr create() factory functions in html
https://bugs.webkit.org/show_bug.cgi?id=144522
Patch by Gyuyoung Kim <gyuyoung.kim@samsung.com> on 2015-05-02
Reviewed by Darin Adler.
Return Ref instead of PassRefPtr in create() factory functions in html, because the factory
can't return null. This patch is a first step to purge in html. Following patch is going to
be uploaded.
No new tests, no behavior changes.
- html/FileInputType.cpp:
(WebCore::UploadButtonElement::create):
(WebCore::UploadButtonElement::createForMultiple):
- html/MediaController.cpp:
(MediaController::create):
- html/MediaController.h:
- html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::create):
- html/canvas/WebGLBuffer.h:
- html/canvas/WebGLContextAttributes.cpp:
(WebCore::WebGLContextAttributes::create):
- html/canvas/WebGLContextAttributes.h:
- html/canvas/WebGLContextGroup.cpp:
(WebCore::WebGLContextGroup::create):
- html/canvas/WebGLContextGroup.h:
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::create):
- html/canvas/WebGLFramebuffer.h:
- html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::create):
- html/canvas/WebGLProgram.h:
- html/canvas/WebGLQuery.cpp:
(WebCore::WebGLQuery::create):
- html/canvas/WebGLQuery.h:
- html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::create):
- html/canvas/WebGLRenderbuffer.h:
- html/canvas/WebGLSampler.cpp:
(WebCore::WebGLSampler::create):
- html/canvas/WebGLSampler.h:
- html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::create):
- html/canvas/WebGLShader.h:
- html/canvas/WebGLShaderPrecisionFormat.cpp:
(WebCore::WebGLShaderPrecisionFormat::create):
- html/canvas/WebGLShaderPrecisionFormat.h:
- html/canvas/WebGLSync.cpp:
(WebCore::WebGLSync::create):
- html/canvas/WebGLSync.h:
- html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::create):
- html/canvas/WebGLTexture.h:
- html/canvas/WebGLTransformFeedback.cpp:
(WebCore::WebGLTransformFeedback::create):
- html/canvas/WebGLTransformFeedback.h:
- html/canvas/WebGLUniformLocation.cpp:
(WebCore::WebGLUniformLocation::create):
- html/canvas/WebGLUniformLocation.h:
- html/canvas/WebGLVertexArrayObject.cpp:
(WebCore::WebGLVertexArrayObject::create):
- html/canvas/WebGLVertexArrayObject.h:
- html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::create):
- html/canvas/WebGLVertexArrayObjectOES.h:
- 5:53 PM Changeset in webkit [183725] by
-
- 2 edits in trunk/Source/WebCore
Style recalc always causes detach from shared StyleRareNonInheritedData.
<https://webkit.org/b/144530>
Reviewed by Darin Adler.
StyleResolver::adjustStyleForMaskImages() was always calling RenderStyle::ensureMaskLayers()
when we were in style recalc. This caused the RenderStyle to COW off from the previously
shared StyleRareNonInheritedData even if nothing actually changes.
This patch adds an early return to adjustStyleForMaskImages() when the previous style had
no mask images. Further refinements could be made, but this covers the most common case where
we don't have any mask images at all.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustStyleForMaskImages):
- 5:15 PM Changeset in webkit [183724] by
-
- 22 edits2 adds in trunk/Source/JavaScriptCore
TypeOf should be fast
https://bugs.webkit.org/show_bug.cgi?id=144396
Reviewed by Geoffrey Garen.
Adds comprehensive support for fast typeof to the optimizing JITs. Calls into the runtime
are only used for very exotic objects - they must have either the MasqueradesAsUndefined or
TypeOfShouldCallGetCallData type flags set. All other cases are handled inline.
This means optimizing IsObjectOrNull, IsFunction, and TypeOf - all node types that used to
rely heavily on C++ calls to fulfill their function.
Because TypeOf is now so fast, we no longer need to do any speculations on this node.
In the FTL, we take this further by querying AI for each branch in the TypeOf decision tree.
This means that if the TypeOf is dominated by any type checks, we will automatically prune
out cases that are redundant.
This patch anticipates the addition of SwitchTypeOf or something like that. So, the TypeOf
code generation is designed to be reusable.
This is a speed-up on most typeof benchmarks. But, it is a slow-down on benchmarks that take
the exotic call trap hook. That hook is now in a deeper slow path than before.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize): TypeOf was pure all along, but we failed to realize this.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIsObjectOrNull):
(JSC::DFG::SpeculativeJIT::compileIsFunction):
(JSC::DFG::SpeculativeJIT::compileTypeOf):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::blessedBooleanResult):
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileIsObjectOrNull):
(JSC::FTL::LowerDFGToLLVM::compileIsFunction):
(JSC::FTL::LowerDFGToLLVM::compileTypeOf):
(JSC::FTL::LowerDFGToLLVM::buildTypeOf): Reusable TypeOf building for the FTL.
(JSC::FTL::LowerDFGToLLVM::isExoticForTypeof):
- ftl/FTLSwitchCase.h:
(JSC::FTL::SwitchCase::SwitchCase):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfNotEqual):
(JSC::AssemblyHelpers::branchIfEqual):
(JSC::AssemblyHelpers::branchIfNumber):
(JSC::AssemblyHelpers::branchIfNotNumber):
(JSC::AssemblyHelpers::branchIfBoolean):
(JSC::AssemblyHelpers::branchIfNotBoolean):
(JSC::AssemblyHelpers::boxBooleanPayload):
(JSC::AssemblyHelpers::boxBoolean):
(JSC::AssemblyHelpers::emitTypeOf): Reusable TypeOf building for assembly JITs.
- jit/JITOperations.h:
- runtime/SmallStrings.h:
(JSC::SmallStrings::typeString):
- runtime/TypeofType.cpp: Added.
(WTF::printInternal):
- runtime/TypeofType.h: Added.
- tests/stress/type-of-functions-and-objects.js: Modified this test to give more comprehensive feedback.
- 4:06 PM Changeset in webkit [183723] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, rolling out r183722.
https://bugs.webkit.org/show_bug.cgi?id=144534
Made all the tests assert (Requested by ap on #webkit).
Reverted changeset:
"Generated static StringImpls should have static flag set."
https://bugs.webkit.org/show_bug.cgi?id=144516
http://trac.webkit.org/changeset/183722
- 1:55 PM Changeset in webkit [183722] by
-
- 2 edits in trunk/Source/WTF
Generated static StringImpls should have static flag set.
<https://webkit.org/b/144516>
Reviewed by Darin Adler.
Discovered this while tracking down a string ref leak. Turns out that the strings
generated by StaticString.pm were not getting the static flag set on them.
The only practical difference from this AFAICT is that now the garbage collector
will correctly see that these strings have no extra memory cost to worry about.
- wtf/text/StringImpl.h:
- 12:55 PM WebKitGTK/2.8.x edited by
- Propose r183692 (diff)
- 12:26 PM Changeset in webkit [183721] by
-
- 15 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: Relocate the selected range details in the Rendering Frames timeline UI
https://bugs.webkit.org/show_bug.cgi?id=144346
This patch removes the details sidebar used by the rendering frames view, and relocates the frame selection
chart the Timelines navigation sidebar.
Patch by Matt Baker <Matt Baker> on 2015-05-02
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
RenderingFramesDetailsSidebar is no longer used.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording):
Reordered timelines.
- UserInterface/Main.html:
Removed references to deleted files.
- UserInterface/Views/ChartDetailsSectionLegendRow.js: Removed.
No longer used. The legend is now a child element of the chart.
- UserInterface/Views/ChartDetailsSectionRow.css:
(.details-section > .content > .group > .row.chart > .title):
(.details-section > .content > .group > .row.chart > .chart-content):
(.details-section > .content > .group > .row.chart > .chart-content > .legend):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .value):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > *):
New chart and legend styles.
- UserInterface/Views/ChartDetailsSectionRow.js:
(WebInspector.ChartDetailsSectionRow):
(WebInspector.ChartDetailsSectionRow.prototype.set title):
(WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
(WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
(WebInspector.ChartDetailsSectionRow.prototype.get total):
(WebInspector.ChartDetailsSectionRow.set data):
(WebInspector.ChartDetailsSectionRow.prototype.set data):
(WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
(WebInspector.ChartDetailsSectionRow.prototype._refresh):
A few changes have been made to the appearance and behavior of the chart. A chart title can now be set,
and the legend appears to the right of the chart rather than in a separate details group.
The chart now has better support for adding empty data points, ensuring that a meaningful legend is shown even
when no rendering frames are selected in the timeline overview graph. This ensures that the task associated
with each colored frame segment is apparent, without having to make a selection or record a timeline.
- UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Removed.
No longer used.
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
Reduced maximum timeline height to increase the height of short frames.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype.shown):
(WebInspector.RenderingFrameTimelineView.prototype.hidden):
RenderingFramesDetailsSidebar is no longer used.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight):
(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
(WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
Improved logic for updating the frame selection.
- UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > div.header):
(.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart):
(.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart > .chart-content > .chart):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content): Deleted.
New chart styles.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.shown):
(WebInspector.TimelineSidebarPanel._timelineAdded.set this):
(WebInspector.TimelineSidebarPanel.this._timelineTreeElementMap.get select):
(WebInspector.TimelineSidebarPanel.get else):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords.get var):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords):
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.durationForRecordType):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.TimelineSidebarPanel.set contentTreeOutlineLabel): Deleted.
(WebInspector.TimelineSidebarPanel._recordingCreated.set this): Deleted.
(WebInspector.TimelineSidebarPanel.get this): Deleted.
Moved the selected frames chart to the navigation sidebar.
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView):
RenderingFramesDetailsSidebar is no longer used.
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
Removed references to deleted files.
- 12:19 PM Changeset in webkit [183720] by
-
- 2 edits in trunk/Source/WebCore
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Unreviewed, will roll out soon.
Added some temporary logging to better see if alignment is indeed the culprit.
- page/Settings.cpp: (WebCore::Settings::setDOMTimerAlignmentInterval):
- 11:36 AM Changeset in webkit [183719] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=144527.
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- 10:33 AM Changeset in webkit [183718] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, add FIXMEs referencing https://bugs.webkit.org/show_bug.cgi?id=144524 and
https://bugs.webkit.org/show_bug.cgi?id=144525.
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGPhantomInsertionPhase.cpp:
- 8:41 AM Changeset in webkit [183717] by
-
- 4 edits in trunk/Source/WebCore
Use Ref instead of PassRefPtr in WebCore/svg
https://bugs.webkit.org/show_bug.cgi?id=144479
Patch by Gyuyoung Kim <gyuyoung.kim@samsung.com> on 2015-05-02
Reviewed by Darin Adler.
Remove remained PassRefPtr in svg.
No new tests, no behavior changes.
- svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue):
- svg/SVGFontFaceSrcElement.h:
- svg/properties/SVGPropertyInfo.h:
- 8:32 AM Changeset in webkit [183716] by
-
- 4 edits in trunk/Source/WebCore
Small cleanup in BitmapImage
https://bugs.webkit.org/show_bug.cgi?id=144515
Reviewed by Darin Adler.
Use an enum for the internalAdvanceAnimation() argument, with a default.
Wrap the clearing of the timer in a clearTimer() function, called from
stopAnimation(). This fixes the jarring reading of BitmapImage::internalAdvanceAnimation(),
which used to start by calling stopAnimation().
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::clearTimer):
(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation):
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
- 8:28 AM Changeset in webkit [183715] by
-
- 2 edits in trunk/Source/JavaScriptCore
Static property hashtable should only lookup with non-symbol key
https://bugs.webkit.org/show_bug.cgi?id=144438
Reviewed by Darin Adler.
Static property hashtable compares the Identifier's uid
with the normal C string without interning it.
So this comparison is performed in their contents.
As the result, in this comparison, symbol-ness is not considered.
So if accidentally the hash collision occur with the symbol and the string
and they have the same contents, the hash table entry is looked up incorrectly.
- runtime/Lookup.h:
(JSC::HashTable::entry):
- 2:41 AM Changeset in webkit [183714] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow closing and reopening the Resources tab
https://bugs.webkit.org/show_bug.cgi?id=144513
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector._updateNewTabButtonState):
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.closed):
- UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView):
- 2:36 AM Changeset in webkit [183713] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: Resources section doesn't update after changes are made to a local file
https://bugs.webkit.org/show_bug.cgi?id=144512
The content view was being associated with the wrong represented object. This caused the code to use
the old main resource when showing the frame again.
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector._frameWasAdded.delayedWork):
(WebInspector._frameWasAdded):
With the changes in ResourceSidebarPanel, we need to delay showing the frame.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype.showRepresentedObject):
Avoid restoring state by calling cancelRestoringState(). Not fully related to this bug,
but it was preventing testing the cases.
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
This fixes the bug. Don't associate the content view with the Frame, associate it with
the Resource that we actually show.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.cancelRestoringState): Added.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel): Remove unused _waitingForInitialMainFrame.
(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.ResourceSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Clean up how we show the main frame in the sidebar. This was a two step mess before.
May 1, 2015:
- 11:09 PM Changeset in webkit [183712] by
-
- 1 copy in tags/Safari-600.7.5
New tag.
- 11:06 PM Changeset in webkit [183711] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebCore
Merged r183524. rdar://problem/20779683
- 7:32 PM Changeset in webkit [183710] by
-
- 10 edits3 adds in trunk
Avoid compositing updates after style recalcs which have no compositing implications
https://bugs.webkit.org/show_bug.cgi?id=144502
Reviewed by Darin Adler.
Source/WebCore:
After r183461, we have reliable information about whether a style change with zero
diff can be reliably ignored. Use that information to track whether a given
recalcStyle() does anything which should force a compositing update.
This eliminates up to 40% of the post-recalcStyle compositing updates on some pages.
Add Internals API to test.
Test: compositing/updates/no-style-change-updates.html
- dom/Document.cpp:
(WebCore::Document::recalcStyle): Tell the FrameView we're going to recalc style.
- page/FrameView.cpp:
(WebCore::FrameView::willRecalcStyle): Pass it on to the compositor.
(WebCore::FrameView::updateCompositingLayersAfterStyleChange): Move the code
that was here into RenderLayerCompositor::didRecalcStyleWithNoPendingLayout().
- page/FrameView.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::willRecalcStyle): Reset the m_layerNeedsCompositingUpdate flag.
(WebCore::RenderLayerCompositor::didRecalcStyleWithNoPendingLayout): Bail on the update if
no layers changed.
(WebCore::RenderLayerCompositor::updateCompositingLayers): Logging. Increment m_compositingUpdateCount,
which is used for testing.
(WebCore::RenderLayerCompositor::layerStyleChanged): Set the m_layerNeedsCompositingUpdate flag.
(WebCore::RenderLayerCompositor::startTrackingCompositingUpdates): Reset the counter.
(WebCore::RenderLayerCompositor::compositingUpdateCount):
- rendering/RenderLayerCompositor.h:
- testing/Internals.cpp:
(WebCore::Internals::startTrackingCompositingUpdates):
(WebCore::Internals::compositingUpdateCount):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Use internals.compositingUpdateCount() to see if various document mutations
cause a compositing update. Doesn't actually detect any behavior change
from this patch, but seems useful in general.
- compositing/updates/no-style-change-updates-expected.txt: Added.
- compositing/updates/no-style-change-updates.html: Added.
- 7:23 PM Changeset in webkit [183709] by
-
- 10 edits3 adds in trunk
Class syntax should allow string and numeric identifiers for method names
https://bugs.webkit.org/show_bug.cgi?id=144254
Reviewed by Darin Adler.
Source/JavaScriptCore:
Added the support for string and numeric identifiers in class syntax.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo): Instead of using ConstructorKind to indicate whether we're
inside a class or not, use the newly added SuperBinding argument instead. ConstructorKind is now None
outside a class constructor as it should be.
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass): No longer expects an identifier at the beginning of every class
element to allow numeric and string method names. For both of those method names, parse it here instead
of parseFunctionInfo since it doesn't support either type. Also pass in SuperBinding::Needed.
(JSC::Parser<LexerType>::parsePropertyMethod): Call parseFunctionInfo with SuperBinding::NotNeeded since
this function is never used to parse a class method.
(JSC::Parser<LexerType>::parseGetterSetter): Pass in superBinding argument to parseFunctionInfo.
(JSC::Parser<LexerType>::parsePrimaryExpression): Call parseFunctionInfo with SuperBinding::NotNeeded.
- parser/Parser.h:
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty):
LayoutTests:
Added a test and rebaselined other tests per syntax error message change.
- js/class-syntax-declaration-expected.txt:
- js/class-syntax-expression-expected.txt:
- js/class-syntax-string-and-numeric-names-expected.txt: Added.
- js/class-syntax-string-and-numeric-names.html: Added.
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-declaration.js:
- js/script-tests/class-syntax-expression.js:
- js/script-tests/class-syntax-string-and-numeric-names.js: Added.
- js/script-tests/class-syntax-super.js:
- 6:59 PM Changeset in webkit [183708] by
-
- 4 edits in trunk/Source/JavaScriptCore
FTL should use AI more
https://bugs.webkit.org/show_bug.cgi?id=144500
Reviewed by Oliver Hunt.
This makes our type check folding even more comprehensive by ensuring that even if the FTL
decides to emit some checks, it will still do another query to the abstract interpreter to
see if the check is necessary. This helps with cases where we decided early on to speculate
one way, but later proved a more specific type of the value in question, and the constant
folder didn't catch it.
This also makes it more natural to query the abstract interpreter. For example, if you just
want the proven type, you can now say provenType(node) or provenType(edge).
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::alreadyChecked):
- dfg/DFGArrayMode.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithPow):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileCheckArray):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileToStringOrCallStringConstructor):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compileIsBoolean):
(JSC::FTL::LowerDFGToLLVM::compileIsNumber):
(JSC::FTL::LowerDFGToLLVM::compileIsString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileInstanceOf):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
(JSC::FTL::LowerDFGToLLVM::baseIndex):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::lowInt32):
(JSC::FTL::LowerDFGToLLVM::lowInt52):
(JSC::FTL::LowerDFGToLLVM::lowCell):
(JSC::FTL::LowerDFGToLLVM::lowBoolean):
(JSC::FTL::LowerDFGToLLVM::lowDouble):
(JSC::FTL::LowerDFGToLLVM::isCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNotCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNumber):
(JSC::FTL::LowerDFGToLLVM::isNotNumber):
(JSC::FTL::LowerDFGToLLVM::isNotCell):
(JSC::FTL::LowerDFGToLLVM::isCell):
(JSC::FTL::LowerDFGToLLVM::isNotMisc):
(JSC::FTL::LowerDFGToLLVM::isMisc):
(JSC::FTL::LowerDFGToLLVM::isNotBoolean):
(JSC::FTL::LowerDFGToLLVM::isBoolean):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::isProvenValue):
(JSC::FTL::LowerDFGToLLVM::isObject):
(JSC::FTL::LowerDFGToLLVM::isNotObject):
(JSC::FTL::LowerDFGToLLVM::isNotString):
(JSC::FTL::LowerDFGToLLVM::isString):
(JSC::FTL::LowerDFGToLLVM::isFunction):
(JSC::FTL::LowerDFGToLLVM::isNotFunction):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID):
(JSC::FTL::LowerDFGToLLVM::speculateNotStringVar):
(JSC::FTL::LowerDFGToLLVM::abstractValue):
(JSC::FTL::LowerDFGToLLVM::provenType):
(JSC::FTL::LowerDFGToLLVM::provenValue):
(JSC::FTL::LowerDFGToLLVM::abstractStructure):
- 6:44 PM Changeset in webkit [183707] by
-
- 1 edit9 adds in trunk/LayoutTests
Create a set of initial scroll snap point tests
https://bugs.webkit.org/show_bug.cgi?id=142358
Reviewed by Simon Fraser.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html: Added.
- 6:29 PM Changeset in webkit [183706] by
-
- 3 edits2 adds in trunk
Reproducible crash removing name attribute from <img> node
<https://webkit.org/b/144371>
<rdar://problem/17198583>
Reviewed by Darin Adler.
Source/WebCore:
The problem here was with HTMLImageElement::getNameAttribute(), which relies
on Element::hasName() to avoid slow attribute lookups when the attribute
is already known not to be present. Unfortunately hasName() uses an ElementData
flag that wasn't getting updated until after the call to parseAttribute().
This patch fixes the issue by moving the code that updates the hasName() flag
before the parseAttribute() virtual dispatch.
Test: fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
LayoutTests:
- fast/dom/HTMLImageElement/remove-name-id-attribute-from-image-expected.txt: Added.
- fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html: Added.
- 6:11 PM Changeset in webkit [183705] by
-
- 5 edits2 adds in trunk
Postpone caption style sheet creation
https://bugs.webkit.org/show_bug.cgi?id=144499
Reviewed by Simon Fraser.
Source/WebCore:
Generating and inserting the caption user style sheet is expensive so don't do it until
we see a text track, and only do it for the first video element in a PageGroup.
Test: media/track/track-user-stylesheet.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument): Only register for caption preferences
changes if we have done so before.
(WebCore::HTMLMediaElement::unregisterWithDocument): Only unregister for caption preferences
changes if we registered for them.
(WebCore::HTMLMediaElement::addTextTrack): Register for caption preference changes.
- html/HTMLMediaElement.h:
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Only
generate the style sheet when called for the first time.
LayoutTests:
- media/track/track-user-stylesheet-expected.txt: Added.
- media/track/track-user-stylesheet.html: Added.
- 5:55 PM Changeset in webkit [183704] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Scrubber display is broken if the buffered range is empty
https://bugs.webkit.org/show_bug.cgi?id=144511
Reviewed by Eric Carlson.
Make sure that if video.buffered returns an empty list, we
still draw the scrubber background correctly.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.drawTimelineBackground): Ensure that buffered
is always at least as big as the current time.
- 5:47 PM Changeset in webkit [183703] by
-
- 2 edits in trunk/Source/WebCore
Media control volume slider should be vertical to avoid flickering issues.
https://bugs.webkit.org/show_bug.cgi?id=144496.
<rdar://problem/20451328>
Reviewed by Darin Adler.
- Modules/mediacontrols/mediaControlsApple.css:
Resize and reposition the volume box so that it does not have to rotated via a transform.
(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-panel .volume-box): Also set overflow: hidden so we can't interact
with the volume slider while the volume box is hidden.
(audio::-webkit-media-controls-panel .volume-box:active):
Rotate and position the volume slider via transforms. Make sure it's not transformed in the fullscreen controls.
(video::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
- 5:39 PM Changeset in webkit [183702] by
-
- 16 edits in trunk/Source/WebCore
Expand test infrastructure to support scrolling tests (Part 4): Scroll Snap Support
https://bugs.webkit.org/show_bug.cgi?id=144482
Reviewed by Simon Fraser.
New tests will be landed in a second patch.
The new WheelEventTestTriggers do not work properly with scroll snap points, because some test deferral notifications
need to be triggered for state changes on the scrolling thread. This required the following changes:
- A flag indicating that we want to know about WheelEvent state changes needed to be propagated to the scrolling thread, so that tests could be deferred until Scrolling thread rubberband or scroll-snap animations had completed.
- The ScrollingNodeID needed to be used for registering and clearing deferrals.
- The scrolling thread needed a way to dispatch messages to the main thread indicating that we should (or should not) defer tests due to scrolling actions.
Note that a future patch will extend this support to include the RemoteScrollingTree.
- page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::deferTestsForReason): Added some logging features.
(WebCore::WheelEventTestTrigger::removeTestDeferralForReason): Ditto.
(WebCore::dumpState): Helper function for logging test deferral state.
(WebCore::WheelEventTestTrigger::triggerTestTimerFired): Added some logging features.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Make sure that the scrolling thread is
told that it needs to send scrolling state back to the main thread. Only do this if we are in testing mode.
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): The scrollingNodeID should be
used as the identifier for this operation, not the page address.
(WebCore::AsyncScrollingCoordinator::deferTestsForReason): Added. receives messages from the scrolling thread
and notifies the testing infrastructure.
(WebCore::AsyncScrollingCoordinator::removeTestDeferralForReason): Ditto.
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): When cloning the ScrollingStateScrollingNode,
include the testing mode state.
(WebCore::ScrollingStateScrollingNode::setExpectsWheelEventTestTrigger): Added.
- page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::expectsWheelEventTestTrigger): Added.
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::deferTestsForReason): Added stub.
(WebCore::ScrollingTree::removeTestDeferralForReason): Ditto.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::deferTestsForReason): Added. Dispatches messages from the scrolling thread to the
main thread.
(WebCore::ThreadedScrollingTree::removeTestDeferralForReason): Ditto.
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac): Initialize testing state flag.
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren): If the 'ExpectsWheelEventTestTrigger' flag is
set, update local state.
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): If we are testing, and the wheel event should be handled
asynchronously, tell the testing infrastructure we need to wait for the thread state to sync.
(WebCore::ScrollingTreeFrameScrollingNodeMac::deferTestsForReason): Added. Notifies test system we need to defer tests
until we notify them. Also used by the ScrollController during animations.
(WebCore::ScrollingTreeFrameScrollingNodeMac::removeTestDeferralForReason): Ditto.
- platform/Logging.h:
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::deferTestsForReason): Added. Used by ScrollController during animation. This updates the
testing infrastructure directly, since it is running in the same process and main thread.
(WebCore::ScrollAnimator::removeTestDeferralForReason): Ditto.
- platform/ScrollAnimator.h:
- platform/cocoa/ScrollController.h:
(WebCore::ScrollControllerClient::deferTestsForReason): Change client API.
(WebCore::ScrollControllerClient::removeTestDeferralForReason): Ditto.
(WebCore::ScrollControllerClient::testTrigger): Deleted.
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::startSnapRubberbandTimer): Use new client API.
(WebCore::ScrollController::stopSnapRubberbandTimer): Ditto.
(WebCore::ScrollController::startScrollSnapTimer): Ditto.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto.
- 5:23 PM Changeset in webkit [183701] by
-
- 2 edits in trunk/Tools
check-webkit-style fails due to system pylint
https://bugs.webkit.org/show_bug.cgi?id=144360
Patch by Mario Sanchez Prada <mario@endlessm.com> on 2015-05-01
Reviewed by Darin Adler.
Make sure that the directory containing third party autoinstalled modules
is at the beginning of the search path, to avoid conflicts with other
versions of the same modules installed in the system (e.g. pylint).
- Scripts/webkitpy/thirdparty/init.py: Prepend the autoinstalled
modules directory to sys.path, instead of appending it.
- 4:59 PM Changeset in webkit [183700] by
-
- 3 edits in trunk/Source/WebCore
Inline some small methods instead of them being EXPORT'd and out of line
https://bugs.webkit.org/show_bug.cgi?id=144498
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-01
Reviewed by Darin Adler.
- page/Page.cpp:
(WebCore::Page::testTrigger): Deleted.
(WebCore::Page::clearTrigger): Deleted.
(WebCore::Page::expectsWheelEventTriggers): Deleted.
- page/Page.h:
(WebCore::Page::testTrigger):
(WebCore::Page::clearTrigger):
(WebCore::Page::expectsWheelEventTriggers):
- 4:52 PM Changeset in webkit [183699] by
-
- 2 edits in trunk/Tools
Unreviewed, updated my list of email addresses.
- Scripts/webkitpy/common/config/contributors.json: Updated.
- 4:47 PM Changeset in webkit [183698] by
-
- 12 edits1 add in trunk
Source/WebCore:
WebCore part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501
Reviewed by Darin Adler.
Test: TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm
Normally, loading substitute data (such as an error page) creates a new back-forward list
item. FrameLoader has a mechanism that detects when a substitute data load occurs during
handling of a provisional load error and prevents the creation of a new back-forwards list
item in that case if the unreachable URL is the same as the failing provisional URL. This
mechanism was broken in WebKit2, where handling the provisional load error is asynchronous.
The fix is to capture some state (namely, the failing provisional URL) when dispatching the
load error and allow it to be restored when loading the substitute data.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader): Removed initialization of
m_delegateIsHandlingProvisionalLoadError.
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): Instead of checking
m_delegateIsHandlingProvisionalLoadError and if true using the provisional document loader’s
URL, check m_provisionalLoadErrorBeingHandledURL.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Instead of checking and setting
m_delegateIsHandlingProvisionalLoadError, use m_provisionalLoadErrorBeingHandledURL.
- loader/FrameLoader.h:
(WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL): Added this getter. The client
can call this from its override of dispatchDidFailProvisionalLoad and store the result.
(WebCore::FrameLoader::setProvisionalLoadErrorBeingHandledURL): Added this setter. The
client can call this prior to loading substitute data if it’s done as part of handling a
previously-dispatched didFailProvisionalLoad.
Source/WebKit2:
WebKit2 part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501
Reviewed by Darin Adler.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString): If this is called during
didFailProvisionalLoadForFrame, send back the provisional URL captured at the time of
failure.
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Get the provisioinal URL and keep
it in new member variable m_failingProvisionalLoadURL for the duration of the client’s
handling of this message.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in: Added provisionalURL parameter to
DidFailProvisionalLoadForFrame.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Send the URL for this error
to the UI process.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString): Temporarily restore the loader’s state to
reflect the provisional load error being handled.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Added provisionalLoadErrorURL parameter to
LoadAlternateHTMLString.
- 4:38 PM Changeset in webkit [183697] by
-
- 37 edits in trunk
USE(...) macro should expect unprefixed variables
https://bugs.webkit.org/show_bug.cgi?id=144454
Reviewed by Daniel Bates.
.:
- Source/cmake/OptionsAppleWin.cmake: Replace all occurrences WTF_USE with USE.
- Source/cmake/OptionsEfl.cmake: Ditto.
- Source/cmake/OptionsGTK.cmake: Ditto.
- Source/cmake/OptionsMac.cmake: Ditto.
- Source/cmake/OptionsWinCairo.cmake: Ditto.
- Source/cmake/WebKitFeatures.cmake: No longer expose WTF_USE when encountering
USE variables.
Source/JavaScriptCore:
- CMakeLists.txt: Replace all occurrences WTF_USE with USE.
Source/WebCore:
- DerivedSources.make: Replace all occurrences WTF_USE with USE.
- PlatformEfl.cmake: Ditto.
- PlatformGTK.cmake: Ditto.
- bindings/objc/PublicDOMInterfaces.h: Ditto.
- config.h: Ditto.
- crypto/mac/SerializedCryptoKeyWrapMac.mm: Ditto.
- page/AlternativeTextClient.h: Ditto.
- platform/efl/FileSystemEfl.cpp: Ditto.
(WebCore::fileSystemRepresentation): Ditto.
- platform/graphics/cg/ImageBufferDataCG.h: Ditto.
- platform/graphics/cg/PDFDocumentImage.h: Ditto.
- platform/ios/wak/WAKAppKitStubs.h: Ditto.
- rendering/RenderLayerCompositor.cpp: Ditto.
Source/WebKit/cf:
- WebCoreSupport/WebInspectorClientCF.cpp: Replace all occurrences WTF_USE with USE.
Source/WebKit/mac:
- Misc/WebDownload.h: Replace all occurrences WTF_USE with USE.
Source/WebKit2:
- Shared/API/c/WKBase.h: Replace all occurrences WTF_USE with USE.
- WebKit2.xcodeproj/project.pbxproj: Ditto.
Source/WTF:
- wtf/Assertions.cpp: Replace all occurrences WTF_USE with USE.
- wtf/Platform.h: Replace all occurrences WTF_USE with USE. Modify the USE
macro to look for unprefixed variables.
- wtf/WTFThreadData.h: Replace all occurrences WTF_USE with USE.
Tools:
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Replace all occurrences WTF_USE with USE.
- DumpRenderTree/config.h: Ditto.
- TestWebKitAPI/config.h: Ditto.
- 4:25 PM Changeset in webkit [183696] by
-
- 5 edits2 adds in trunk
[OS X] Text dilation parameters are not restored after being set
https://bugs.webkit.org/show_bug.cgi?id=144507
<rdar://problem/19446938>
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-05-01
Reviewed by Simon Fraser and Ned Holbrook.
Source/WebCore:
Create a RAII class who is in charge of saving, applying, and restoring dilation parameters. Use this class
around our text drawing routines.
Note that this migrates our use of CTFontSetRenderingParameters() to CTFontSetRenderingStyle().
Test: fast/text/dilation-save-restore.html
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::RenderingStyleSaver::RenderingStyleSaver):
(WebCore::RenderingStyleSaver::~RenderingStyleSaver):
(WebCore::showGlyphsWithAdvances):
- platform/spi/cg/CoreGraphicsSPI.h:
- platform/spi/cocoa/CoreTextSPI.h:
LayoutTests:
See below.
- fast/text/dilation-save-restore-expected.html: Added. Never sets dilation parameters, draws two strings.
- fast/text/dilation-save-restore.html: Added. Draws one string without dilation, sets the dilation, then draws a
second string. If saving and restoring doesn't work correctly, these two lines will appear different.
- 3:53 PM Changeset in webkit [183695] by
-
- 2 edits in trunk/PerformanceTests
Fix typo bug in Speedometer/resources/main.js
https://bugs.webkit.org/show_bug.cgi?id=144504
Patch by Dewei Zhu <Dewei Zhu> on 2015-05-01
Reviewed by Ryosuke Niwa.
- Speedometer/resources/main.js: Fix typo.
(window.benchmarkClient.totalTimeInDisplayUnit):
- 3:44 PM Changeset in webkit [183694] by
-
- 5 edits in trunk
String#startsWith/endsWith/includes don't handle Infinity position/endPosition args correctly
https://bugs.webkit.org/show_bug.cgi?id=144314
Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-01
Reviewed by Darin Adler.
Source/JavaScriptCore:
Fixing handling of Infinity position args, per
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.includes
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith
- runtime/StringPrototype.cpp:
(JSC::clampInt32):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):
LayoutTests:
- js/script-tests/string-includes.js:
- js/string-includes-expected.txt:
- 3:38 PM Changeset in webkit [183693] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r183687.
https://bugs.webkit.org/show_bug.cgi?id=144505
Appears to have caused assertions (Requested by ap on
#webkit).
Reverted changeset:
"Media control volume slider is opaque."
https://bugs.webkit.org/show_bug.cgi?id=144470
http://trac.webkit.org/changeset/183687
- 3:35 PM Changeset in webkit [183692] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Math.abs() returns negative
https://bugs.webkit.org/show_bug.cgi?id=137827
Reviewed by Michael Saboff.
Math.abs() on doubles was mistakenly assumed by the DFG AI to be the
identity function.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- tests/stress/math-abs-positive.js: Added, was previously failing.
(foo):
- 3:33 PM Changeset in webkit [183691] by
-
- 3 edits in trunk/Source/JavaScriptCore
Function allocation sinking shouldn't be performed on singleton functions
https://bugs.webkit.org/show_bug.cgi?id=144166
Reviewed by Geoffrey Garen.
Function allocations usually are free of any other side effects, but
this is not the case for allocations performed while the underlying
FunctionExecutable is still a singleton (as this allogation will fire
watchpoints invalidating code that depends on it being a singleton).
As the object allocation sinking phase assumes object allocation is
free of side-effects, sinking these allocations is not correct.
This also means that when materializing a function allocation on OSR
exit, that function's executable will never be a singleton, and we don't have
to worry about its watchpoint, allowing us to use
JSFunction::createWithInvalidatedRellocationWatchpoint instead of
JSFunction::create.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
- 2:18 PM Changeset in webkit [183690] by
-
- 3 edits in trunk/Source/WebCore
Stop using deprecated AVKit SPI for enter and exit fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=144493
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-01
Reviewed by Jer Noble.
Replace
-enterFullScreenWithCompletionHandler:
-exitFullScreenWithCompletionHandler:
with
-enterFullScreenAnimated:completionHandler:
-exitFullScreenAnimated:completionHandler:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard):
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):
- platform/spi/cocoa/AVKitSPI.h:
- 2:07 PM Changeset in webkit [183689] by
-
- 2 edits in trunk/Tools
Unreviewed. Add myself as a commiter in contributors.json.
- Scripts/webkitpy/common/config/contributors.json:
- 1:54 PM Changeset in webkit [183688] by
-
- 2 edits in trunk/Source/WTF
Enable ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX by default on all ports (Windows was missed)
https://bugs.webkit.org/show_bug.cgi?id=144495
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-01
Reviewed by Csaba Osztrogonác.
- wtf/FeatureDefines.h:
This covers all ports that haven't defined the flag otherwise.
- 1:11 PM Changeset in webkit [183687] by
-
- 2 edits in trunk/Source/WebCore
Media control volume slider is opaque.
https://bugs.webkit.org/show_bug.cgi?id=144470.
<rdar://problem/20770350>
Rubberstamped by Simon Fraser.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
Don't create a stacking context just for the controls.
Doing so causes the mix-blend-mode on the volume box to fail.
- 12:50 PM Changeset in webkit [183686] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening for GTK+.
- platform/gtk/TestExpectations: Remove some inaccurate missing results
and unskip a passing test.
- 12:42 PM Changeset in webkit [183685] by
-
- 4 edits in trunk
Update speedometer patch to provide better UI, fix merge result bug and add "Score" metric to speedometer benchmark.
https://bugs.webkit.org/show_bug.cgi?id=144487
Patch by Dewei Zhu <Dewei Zhu> on 2015-05-01
Reviewed by Ryosuke Niwa.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.merge): Fix bug.
- Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Update appearance and add "Score" metric.
- 12:39 PM Changeset in webkit [183684] by
-
- 3 edits in trunk/LayoutTests
[GTK] accessibility/secure-textfield-title-ui.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98375
Reviewed by Chris Fleizach.
Modify the test to check the childrenCount of the titleUIElement in order
to determine where the element text is exposed. On the Mac, it's exposed
in StaticText children; in ATK, in the element itself. The test was failing
because it assumed the text was in the first child of the element.
- accessibility/secure-textfield-title-ui.html: Modified.
- platform/gtk/TestExpectations: Unskipped the failing test.
- 12:37 PM Changeset in webkit [183683] by
-
- 12 edits in trunk/Source/WebCore
[GTK] REGRESSION(183368): It made editing tests assert
https://bugs.webkit.org/show_bug.cgi?id=144447
Reviewed by Chris Fleizach.
Don't notify platforms of editing actions of type EditActionUnspecified.
If we don't know what the action is, platform accessibility APIs certainly
won't.
Add AXTextEditTypeAttributesChange and AXTextAttributesChanged as catch-alls
for formatting changes. ATK lacks finely-grained signals through which to
specify which text attributes have changed. If other platforms have such
signals, new types can always be added.
Don't post an accessible replacement notification for AXTextEditTypeCut.
The notification is handled by DeleteSelectionCommand. It is possible for
white space to be inserted in preparation for a cut which was triggering
a not-reached assert, but insertion of whitespace in preparation for a
cut does not seem notification-worthy.
Treat AXTextEditTypeDictation the same as other insertion types (insert,
paste, typing) with respect to replacement notifications.
No new tests. The hundreds of editing tests that had been crashing seem sufficient.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::textChangeForEditType):
- accessibility/AXObjectCache.h:
- accessibility/AXTextStateChangeIntent.h:
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
- editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
- editing/EditCommand.cpp:
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
- editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
- editing/ReplaceInsertIntoTextNodeCommand.cpp:
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):
- 11:19 AM Changeset in webkit [183682] by
-
- 18 edits3 adds in trunk
Add API to disable meta refreshes.
<rdar://problem/20333198> and https://bugs.webkit.org/show_bug.cgi?id=144269
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: loader/meta-refresh-disabled.html
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Bail early if Settings have meta refreshes disabled.
- page/Settings.in:
Source/WebKit/mac:
Add a preference to enable/disable meta refreshes, enabled by default.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setMetaRefreshEnabled:]):
(-[WebPreferences metaRefreshEnabled]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
Add a preference to enable/disable meta refreshes, enabled by default.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMetaRefreshEnabled):
(WKPreferencesGetMetaRefreshEnabled):
(WKPreferencesGetIgnoreViewportScalingConstraints): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues): Reset the meta refresh pref between tests.
LayoutTests:
- loader/meta-refresh-disabled-expected.txt: Added.
- loader/meta-refresh-disabled.html: Added.
- loader/resources/notify-done.html: Added.
- platform/win/TestExpectations:
- 10:55 AM Changeset in webkit [183681] by
-
- 5 edits62 adds in trunk/LayoutTests
Unreviewed gardening for WebKitGTK+
Unskip some passing tests. Add new baselines. Properly organize some
failures in the TestExpectations file.
- platform/gtk/TestExpectations:
- platform/gtk/editing/execCommand/print-expected.png: Added.
- platform/gtk/editing/execCommand/print-expected.txt: Added.
- platform/gtk/fast/attachment/attachment-progress-expected.txt: Added.
- platform/gtk/fast/attachment/attachment-select-on-click-expected.txt: Added.
- platform/gtk/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
- platform/gtk/fast/attachment/attachment-subtitle-expected.txt: Added.
- platform/gtk/fast/attachment/attachment-title-expected.txt: Added.
- platform/gtk/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.
- platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
- platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
- platform/gtk/fast/multicol/scrolling-column-rules-expected.png: Added.
- platform/gtk/fast/multicol/scrolling-column-rules-expected.txt: Added.
- platform/gtk/printing/allowed-page-breaks-expected.txt: Added.
- platform/gtk/printing/compositing-layer-printing-expected.png: Added.
- platform/gtk/printing/compositing-layer-printing-expected.txt:
- platform/gtk/printing/css2.1/page-break-after-000-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-after-001-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-after-002-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-after-003-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-after-004-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-before-000-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-before-001-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-before-002-expected.txt: Added.
- platform/gtk/printing/css2.1/page-break-inside-000-expected.txt: Added.
- platform/gtk/printing/iframe-print-expected.png: Added.
- platform/gtk/printing/iframe-print-expected.txt: Added.
- platform/gtk/printing/media-queries-print-expected.png: Added.
- platform/gtk/printing/media-queries-print-expected.txt:
- platform/gtk/printing/no-content-empty-pages-expected.txt: Added.
- platform/gtk/printing/numberOfPages-expected.txt: Added.
- platform/gtk/printing/page-break-after-avoid-expected.txt: Added.
- platform/gtk/printing/page-break-always-expected.txt: Added.
- platform/gtk/printing/page-break-avoid-expected.txt: Added.
- platform/gtk/printing/page-break-before-avoid-expected.txt: Added.
- platform/gtk/printing/page-break-display-none-expected.txt: Added.
- platform/gtk/printing/page-break-inside-avoid-expected.txt: Added.
- platform/gtk/printing/page-break-margin-collapsed-expected.txt: Added.
- platform/gtk/printing/page-break-orphans-and-widows-expected.txt: Added.
- platform/gtk/printing/page-break-orphans-expected.txt: Added.
- platform/gtk/printing/page-break-widows-expected.txt: Added.
- platform/gtk/printing/page-count-layout-overflow-expected.txt: Added.
- platform/gtk/printing/page-count-percentage-height-expected.txt: Added.
- platform/gtk/printing/page-count-relayout-shrink-expected.txt: Added.
- platform/gtk/printing/page-count-with-one-word-expected.txt: Added.
- platform/gtk/printing/page-format-data-display-none-expected.txt: Added.
- platform/gtk/printing/page-format-data-expected.txt: Added.
- platform/gtk/printing/page-rule-css-text-expected.txt: Added.
- platform/gtk/printing/page-rule-in-media-query-expected.png: Added.
- platform/gtk/printing/page-rule-in-media-query-expected.txt: Added.
- platform/gtk/printing/pageNumerForElementById-expected.txt: Added.
- platform/gtk/printing/print-close-crash-expected.txt: Added.
- platform/gtk/printing/pseudo-class-outside-page-expected.txt: Added.
- platform/gtk/printing/return-from-printing-mode-expected.png: Added.
- platform/gtk/printing/return-from-printing-mode-expected.txt:
- platform/gtk/printing/setPrinting-expected.png: Added.
- platform/gtk/printing/setPrinting-expected.txt: Added.
- platform/gtk/printing/simultaneous-position-float-change-expected.png: Added.
- platform/gtk/printing/simultaneous-position-float-change-expected.txt: Added.
- platform/gtk/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
- platform/gtk/printing/stretch-to-view-height-expected.txt: Added.
- platform/gtk/printing/width-overflow-expected.png: Added.
- platform/gtk/printing/width-overflow-expected.txt: Added.
- platform/gtk/printing/zoomed-document-expected.txt: Added.
- 10:50 AM Changeset in webkit [183680] by
-
- 4 edits2 adds in trunk
[Freetype] Properly support synthetic oblique in vertical text
https://bugs.webkit.org/show_bug.cgi?id=144492
Reviewed by Sergio Villar Senin.
Source/WebCore:
No new tests. Covered by existing tests.
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::initializeWithFontFace): Skew vertical when using synthetic
oblique for vertical text.
LayoutTests:
- platform/gtk/TestExpectations: Unskip passing tests.
- platform/gtk/fast/text/international/synthesized-italic-vertical-latin-expected.png: Added.
- platform/gtk/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.
- 10:14 AM Changeset in webkit [183679] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 10:05 AM Changeset in webkit [183678] by
-
- 2 edits in trunk/Source/WebCore
AX: [ATK] REGRESSION: accessibility/canvas-fallback-content.html now crashes
https://bugs.webkit.org/show_bug.cgi?id=144481
Reviewed by Chris Fleizach.
Canvas fallback content is allowed to be focusable if the canvas is displayed
and visible. Update the style when creating an accessible object for a node in
a canvas subtree and before Element::isFocusable() gets called.
No new tests. The existing, crashing test no longer crashes.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreate):
- 10:03 AM Changeset in webkit [183677] by
-
- 6 edits in trunk/Source/WebCore
[Content Extensions] Add CombinedURLFilters debugging code.
https://bugs.webkit.org/show_bug.cgi?id=144491
Reviewed by Daniel Bates.
No change in behavior.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::recursiveMemoryUsed):
(WebCore::ContentExtensions::CombinedURLFilters::memoryUsed):
(WebCore::ContentExtensions::prefixTreeVertexToString):
(WebCore::ContentExtensions::recursivePrint):
(WebCore::ContentExtensions::CombinedURLFilters::print):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
- contentextensions/CombinedURLFilters.h:
- contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
- contentextensions/NFA.h:
- contentextensions/Term.h:
(WebCore::ContentExtensions::quantifierToString):
(WebCore::ContentExtensions::Term::toString):
- 9:57 AM Changeset in webkit [183676] by
-
- 10 edits in trunk
Fix text track language selection logic
https://bugs.webkit.org/show_bug.cgi?id=144467
Reviewed by Brent Fulgham.
Source/WebCore:
No new tests, media/track/track-language-preference.html was updated.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup): Correct a minor style typo.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Update logging.
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::textTrackSelectionScore): Minor cleanup.
(WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Give exact matches a
higher score.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Update for
indexOfBestMatchingLanguageInList change.
- platform/Language.cpp:
(WebCore::indexOfBestMatchingLanguageInList): Add parameter for exact match. Convert the
passed language to lower case as we do with the preferred languages.
- platform/Language.h:
LayoutTests:
- media/track/track-language-preference-expected.txt:
- media/track/track-language-preference.html: Updated, add new tests.
- platform/mac/TestExpectations:
- 9:23 AM Changeset in webkit [183675] by
-
- 2 edits in trunk/Tools
Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.
Unreviewed correction to r183651.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Make sure the state of the '--show-webview'
flag is included in the options dictionary passed to the PlatformWebView.
- 9:04 AM Changeset in webkit [183674] by
-
- 2 edits1 delete in trunk/LayoutTests
Unreviewed gardening. Rebaseline some tests for WebKitGTK+.
- platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt: Rebaseline.
- platform/gtk/inspector-protocol/debugger/regress-133182-expected.txt: Removed. The
platform-independent baseline should be good enough.
- 9:00 AM Changeset in webkit [183673] by
-
- 2 edits in trunk/Source/WebCore
[Freetype] Add support for the font-synthesis property
https://bugs.webkit.org/show_bug.cgi?id=144472
Reviewed by Sergio Villar Senin.
No new tests. This causes fast/css3-text/font-synthesis.html to pass
for WebKitGTK+.
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Only use synthetic bold when the font description allows it.
(WebCore::FontPlatformData::initializeWithFontFace): Ditto for synthetic oblique.
- 7:58 AM Changeset in webkit [183672] by
-
- 2 edits in trunk/Source/WebCore
[GTK] New CORS tests from r183280 fail on WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=144469
Reviewed by Sergio Villar Senin.
No new tests. This causes failing tests to pass.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Clear the origin header on cross-origin redirects.
- 7:24 AM Changeset in webkit [183671] by
-
- 4 edits5 deletes in trunk/Source/WebInspectorUI
Web Inspector: Remove FrameContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144415
Reviewed by Joseph Pecoraro.
- UserInterface/Images/DOMTree.svg: Removed.
- UserInterface/Images/SourceCode.svg: Removed.
- UserInterface/Main.html: Removed FrameContentView.js.
- UserInterface/Views/FrameContentView.js: Removed.
- UserInterface/Views/PathComponentIcons.css:
(.source-code-icon .icon): Deleted.
(.dom-tree-icon .icon): Deleted.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Simplify the code here. We don't need these checks now with tabs and the Storage tab.
- 4:40 AM Changeset in webkit [183670] by
-
- 15 edits in trunk
Remove network process load serialization code
https://bugs.webkit.org/show_bug.cgi?id=144448
Reviewed by Alexey Proskuryakov.
Source/WebKit2:
TestRunner.setSerializeHTTPLoads is used by a few tests but it is unnecessary
with network process. We don't reorder loads anyway so test results are consistent.
There or no other clients for this code.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getNetworkProcessStatistics):
- NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount): Deleted.
- NetworkProcess/NetworkResourceLoadScheduler.h:
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetTabKeyCyclesThroughElements):
(WKBundleSetSerialLoadingEnabled): Deleted.
(WKBundleDispatchPendingLoadRequests): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSerialLoadingEnabled): Deleted.
(WebKit::InjectedBundle::dispatchPendingLoadRequests): Deleted.
Remove also this as it does nothing.
- WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::suspendPendingRequests):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):
Remove implementation, it does nothing.
(WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
- WebProcess/Network/WebResourceLoadScheduler.h:
Tools:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setSerializeHTTPLoads):
(WTR::TestRunner::dispatchPendingLoadRequests):
- 2:04 AM Changeset in webkit [183669] by
-
- 2 edits in trunk/Tools
[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452
Reviewed by Martin Robinson.
- gtk/install-dependencies: Added hyphen as Fedora and Arch
dependencies.
Apr 30, 2015:
- 10:57 PM Changeset in webkit [183668] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION: Web Inspector: Console message repeat count overlapped by icon
https://bugs.webkit.org/show_bug.cgi?id=144344
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.css:
(.console-message .repeat-count):
- 10:01 PM Changeset in webkit [183667] by
-
- 6 edits in trunk/Source/WebCore
Compile fix when using content extensions debugging code.
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionsDebugging.h:
- contentextensions/DFA.cpp:
(WebCore::ContentExtensions::printTransitions):
(WebCore::ContentExtensions::DFA::debugPrintDot):
- contentextensions/DFANode.h:
- contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
(WebCore::ContentExtensions::NFA::debugPrintDot):
- 9:24 PM Changeset in webkit [183666] by
-
- 2 edits in trunk/Source/WebCore
Fixed the build for <rdar://problem/20758514>
- platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::destroyMix): Don’t pass nil to
-[AVMutableAudioMix setInputParameters:].
- 8:42 PM Changeset in webkit [183665] by
-
- 8 edits in trunk/LayoutTests
Unreviewed gardening. Update results of inspector tests.
- inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt:
- inspector-protocol/debugger/regress-133182-expected.txt:
- inspector-protocol/debugger/regress-133182.html:
- inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
- inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt:
- inspector-protocol/page/deny-X-FrameOption-expected.txt:
- inspector/debugger/search-scripts-expected.txt:
- 8:42 PM Changeset in webkit [183664] by
-
- 6 edits1 delete in trunk/LayoutTests
Unreviewed gardening. Remove skipped and broken inspector test.
This is the last test relying on the old model interface.
- TestExpectations:
- http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.initializeInspectorModels.console.error.window.onerror): Deleted.
(InspectorTest.initializeInspectorModels.console.assert): Deleted.
(InspectorTest.initializeInspectorModels): Deleted.
- inspector-protocol/indexeddb/basics-expected.txt: Removed.
- inspector-protocol/indexeddb/basics.html: Removed.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/win/TestExpectations:
- 7:40 PM Changeset in webkit [183663] by
-
- 2 edits in trunk/Source/WebCore
Clean up: Remove unnecessary runtime computation of string length
https://bugs.webkit.org/show_bug.cgi?id=144483
Reviewed by Joseph Pecoraro.
Following <http://trac.webkit.org/changeset/183649>, WebCore::fullyQualifiedInfoTableName()
computes strlen() of the first string literal as part of concatenating two string literals.
It is sufficient to use sizeof() - 1 instead of strlen() to compute the length of the first
string literal because the size of the string literal is known at compile time.
- Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::fullyQualifiedInfoTableName):
- 6:56 PM Changeset in webkit [183662] by
-
- 17 edits1 copy1 add in trunk
Expose -apple-system as a font family
https://bugs.webkit.org/show_bug.cgi?id=144484
<rdar://problem/20767330>
Reviewed by Tim Horton.
Source/WebCore:
Accept "-apple-system" for the font-family property, and
rename "-apple-system-font-monospaced-numbers" to
"-apple-system-monospaced-numbers".
Also change the media controls to use the new name.
Covered by existing tests and this new one:
fast/text/system-font-legacy-name.html
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-time-remaining-display):
- Modules/mediacontrols/mediaControlsiOS.css:
(::-webkit-media-controls):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-status-display):
- platform/graphics/ios/FontCacheIOS.mm: Add support for the new name.
(WebCore::createCTFontWithFamilyNameAndWeight):
- platform/graphics/mac/FontCacheMac.mm: Ditto.
(WebCore::fontWithFamily):
LayoutTests:
Change a bunch of tests to use "-apple-system" instead
of "-apple-system-font" for font-family.
Add a test to make sure the old name still works.
- fast/text/system-font-legacy-name.html
- platform/ios-simulator/fast/text/system-monospaced-numbers.html:
- platform/ios-simulator/ios/fast/text/apple-logo-expected.txt:
- platform/ios-simulator/ios/fast/text/apple-logo.html:
- platform/ios-simulator/ios/fast/text/opticalFont-expected.txt:
- platform/ios-simulator/ios/fast/text/opticalFont.html:
- platform/ios-simulator/ios/fast/text/opticalFontWithWeight-expected.txt:
- platform/ios-simulator/ios/fast/text/opticalFontWithWeight.html:
- platform/ios-simulator/ios/fast/text/underline-scaling-expected.txt:
- platform/ios-simulator/ios/fast/text/underline-scaling.html:
- platform/mac/fast/text/systemFont-expected.txt:
- platform/mac/fast/text/systemFont.html:
- 6:38 PM Changeset in webkit [183661] by
-
- 2 edits in trunk/Source/WTF
Decrease minimum Vector size.
https://bugs.webkit.org/show_bug.cgi?id=144453
Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-30
Reviewed by Andreas Kling.
- wtf/Vector.h:
Make the default min size 4 to save memory on small Vectors.
- 6:14 PM Changeset in webkit [183660] by
-
- 5 edits2 adds in trunk
[CSS Grid Layout] overflow-position keyword for align and justify properties.
https://bugs.webkit.org/show_bug.cgi?id=144235
Reviewed by Sergio Villar Senin.
Source/WebCore:
When the alignment subject is larger than the alignment container,
it will overflow. Some alignment modes, if honored in this
situation, may cause data loss; an overflow alignment mode can be
explicitly specified to avoid this.
This patch implements overflow-keyword handling for Grid Layout on
align-self and justify-self properties.
Test: fast/css-grid-layout/grid-align-justify-overflow.html
- rendering/RenderGrid.cpp:
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild): Deleted.
- rendering/style/RenderStyle.cpp:
(WebCore::resolveAlignmentData):
(WebCore::resolveJustificationData):
(WebCore::RenderStyle::resolveAlignment):
(WebCore::RenderStyle::resolveAlignmentOverflow):
(WebCore::RenderStyle::resolveJustification):
(WebCore::RenderStyle::resolveJustificationOverflow):
- rendering/style/RenderStyle.h:
LayoutTests:
Implementation of overflow-keyword handling for Grid Layout on
align-self and justify-self properties.
- fast/css-grid-layout/grid-align-justify-overflow-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-overflow.html: Added.
- 6:10 PM Changeset in webkit [183659] by
-
- 18 edits3 adds in trunk
Web Inspector: console should show an icon for console.info() messages
https://bugs.webkit.org/show_bug.cgi?id=18530
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/ConsoleMessage.cpp:
(Inspector::messageLevelValue):
- inspector/protocol/Console.json:
- runtime/ConsoleClient.cpp:
(JSC::appendMessagePrefix):
- runtime/ConsolePrototype.cpp:
(JSC::ConsolePrototype::finishCreation):
(JSC::consoleProtoFuncInfo):
- runtime/ConsoleTypes.h:
Source/WebInspectorUI:
Added icons for console.log, console.info and console.debug messages.
Separated console.info from console.log.
- UserInterface/Images/Debug.svg: Added.
- UserInterface/Images/Info.svg: Added.
- UserInterface/Images/Log.svg: Added.
New icon files.
- UserInterface/Models/ConsoleMessage.js:
- UserInterface/Views/ConsoleMessageView.css:
(.console-log-level::before):
(.console-info-level::before):
(.console-debug-level::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level)::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
Include console.info messages in layout adjustments.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype._levelString):
Source/WebKit/mac:
- WebCoreSupport/WebChromeClient.mm:
(stringForMessageLevel):
- WebView/WebUIDelegatePrivate.h:
LayoutTests:
- inspector/console/console-api-expected.txt:
- 6:04 PM Changeset in webkit [183658] by
-
- 3 edits in trunk/Source/WebKit2
Remove long-deprecated unused WKView minimumLayoutWidth properties
https://bugs.webkit.org/show_bug.cgi?id=144480
Reviewed by Alexey Proskuryakov.
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView minimumLayoutWidth]): Deleted.
(-[WKView setMinimumLayoutWidth:]): Deleted.
(-[WKView minimumWidthForAutoLayout]): Deleted.
(-[WKView setMinimumWidthForAutoLayout:]): Deleted.
These were replaced with minimumSizeForAutoLayout long ago.
- 5:34 PM Changeset in webkit [183657] by
-
- 9 edits in trunk/Source/WebCore
Rebaseline bindings tests results after r183648.
Unreviewed.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
- 5:06 PM Changeset in webkit [183656] by
-
- 7 edits in trunk/Source/JavaScriptCore
Move all of the branchIs<type> helpers from SpeculativeJIT into AssemblyHelpers
https://bugs.webkit.org/show_bug.cgi?id=144462
Reviewed by Geoffrey Garen and Mark Lam.
At some point we started adding representation-agnostic helpers for doing common type tests.
We added some in SpeculativeJIT, and then some in AssemblyHelpers. Prior to this change,
they had overlapping powers, though SpeculativeJIT was a bit better.
This removes SpeculativeJIT's helpers and strengthens AssemblyHelpers' helpers. This is
better because now all of these helpers can be used in all of the assembly-based JITs, not
just the DFG. It also settles on what I find to be a slightly better naming convention.
For example where we previously would have said branchIsString, now we say
branchIfString. Similarly, branchNotString becomes branchIfNotString.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsString): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotString): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfCell):
(JSC::AssemblyHelpers::branchIfOther):
(JSC::AssemblyHelpers::branchIfNotOther):
(JSC::AssemblyHelpers::branchIfObject):
(JSC::AssemblyHelpers::branchIfNotObject):
(JSC::AssemblyHelpers::branchIfType):
(JSC::AssemblyHelpers::branchIfNotType):
(JSC::AssemblyHelpers::branchIfString):
(JSC::AssemblyHelpers::branchIfNotString):
(JSC::AssemblyHelpers::branchIfSymbol):
(JSC::AssemblyHelpers::branchIfNotSymbol):
(JSC::AssemblyHelpers::branchIfFunction):
(JSC::AssemblyHelpers::branchIfNotFunction):
(JSC::AssemblyHelpers::branchIfEmpty):
(JSC::AssemblyHelpers::branchIsEmpty): Deleted.
(JSC::AssemblyHelpers::branchIfCellNotObject): Deleted.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitScopedArgumentsGetByVal):
- 4:44 PM Changeset in webkit [183655] by
-
- 11 edits in trunk/Source
Fixed elements end up in the middle of the view with pageScale < 1
https://bugs.webkit.org/show_bug.cgi?id=144428
rdar://problem/20404982
Reviewed by Tim Horton.
Source/WebCore:
When pageScale is < 1, we used fixed layout mode, and FrameView::fixedElementsLayoutRelativeToFrame()
returns true. However, the scrolling thread was calling the static scrollOffsetForFixedPosition()
hardcoding 'false' for this parameter.
Fix by sending the value of fixedElementsLayoutRelativeToFrame over to the scrolling thread,
so we can use it when doing scrolling-thread fixed position stuff.
Not testable.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
- page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setFixedElementsLayoutRelativeToFrame):
- page/scrolling/ScrollingStateFrameScrollingNode.h:
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
(WebCore::ScrollingTreeFrameScrollingNode::fixedElementsLayoutRelativeToFrame):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
Source/WebKit2:
Encode/decode fixedElementsLayoutRelativeToFrame.
- Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
- 4:35 PM Changeset in webkit [183654] by
-
- 2 edits in trunk/Source/WebCore
Remove invalid assertion from MouseEvent::create()
https://bugs.webkit.org/show_bug.cgi?id=144477
Reviewed by Tim Horton.
mouseforcechanged events and mouseforcewillbegin trigger this assertion. The
assertion does not seem valuable, so rather than changing it, just remove it.
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
- 4:26 PM Changeset in webkit [183653] by
-
- 3 edits2 adds in trunk
-apple-system-font-monospaced-numbers doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=144478
<rdar://problem/20544940>
Reviewed by Brent Fulgham.
Source/WebCore:
Make sure to start from the system font descriptor when
asking for a monospaced numeric alternate.
Test: platform/ios-simulator/fast/text/system-monospaced-numbers.html
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::createCTFontWithFamilyNameAndWeight):
LayoutTests:
A test that draws two lines of different numbers and checks
they are the same width.
- platform/ios-simulator/fast/text/system-monospaced-numbers-expected.txt: Added.
- platform/ios-simulator/fast/text/system-monospaced-numbers.html: Added.
- 4:16 PM Changeset in webkit [183652] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, ios-simulator gardening
- Address linter warnings.
- Unskip some tests that pass.
- More generically skip unsupported iOS features.
- Address FIXMEs.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 4:13 PM Changeset in webkit [183651] by
-
- 7 edits in trunk/Tools
Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.
Reviewed by Dean Jackson.
Add a new flag (--show-webview) that causes DumpRenderTree and WebKitTestRunner to display
their WebViews on-screen. This can be used when running tests via the "--additional-drt-flag"
option:
--additional-drt-flag="--show-webview"
- DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow): Use an on-screen window rect if the user passed the
'--show-webview' flag.
(initializeGlobalsFromCommandLineOptions): Recognize the "--show-webview" option.
- WebKitTestRunner/Options.cpp:
(WTR::Options::Options):
(WTR::handleOptionShowWebView):
(WTR::OptionsHandler::OptionsHandler): Recognize the new "--show-webview" option.
- WebKitTestRunner/Options.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize): Use value of 'shouldShowWebView' from the Options bundle.
- WebKitTestRunner/TestController.h:
(WTR::TestController::shouldShowWebView):
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView): Retrieve the value of the 'ShouldShowWebView' key from the
options dictionary. If it is true, display the web view while running the test.
- 4:02 PM Changeset in webkit [183650] by
-
- 6 edits in trunk
js/regress/is-string-fold-tricky.html and js/regress/is-string-fold.html are crashing
https://bugs.webkit.org/show_bug.cgi?id=144463
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Fixup phase was super cleverly folding an IsString(@x) when @x is predicted SpecString
into a Check(String:@x) followed by JSConstant(true). Then in these tests the
ValueAdd(IsString(@x), @stuff) would try to turn this into an integer add by cleverly
converting the boolean into an integer. But as part of doing that, it would try to
short-circuit any profiling by leveraging the fact that the IsString is now a constant,
and it would try to figure out if the addition might overflow. Part of that logic
involved checking if the immediate is either a boolean or a sufficiently small integer.
But: it would check if it's a sufficiently small integer before checking if it was a
boolean, so it would try to call asNumber() on the boolean.
All of this cleverness was very deliberate, but apparently the @stuff + booleanConstant
case was previously never hit until I wrote these tests, and so we never knew that
calling asNumber() on a boolean was wrong.
The fix is super simple: the expression should just check for boolean first.
This bug was benign in release builds. JSValue::asNumber() on a boolean would return
garbage, and that's OK, since we'd take the boolean case anyway.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):
LayoutTests:
Unskip now that the bug is fixed.
- TestExpectations:
- js/regress/script-tests/is-string-fold-tricky.js:
- js/regress/script-tests/is-string-fold.js:
- 3:57 PM Changeset in webkit [183649] by
-
- 2 edits in trunk/Source/WebCore
Build fix after r183646 for less enlightened platforms.
Unreviewed.
- Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::fullyQualifiedInfoTableName): Windows doesn’t have stpcpy :(
- 3:40 PM Changeset in webkit [183648] by
-
- 2 edits in trunk/Source/WebCore
DOM bindings should not be using a reference type to point to a temporary object
https://bugs.webkit.org/show_bug.cgi?id=144474
Reviewed by Beth Dakin.
The DOM bindings will currently try and use a local reference to point
to a temporary object. This currently works as a by product of the compiler's
stack layout. This patch removes the dependency on undefined behaviour
by ensuring that we use a value rather than reference type.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetNativeTypeForCallbacks):
- 3:16 PM Changeset in webkit [183647] by
-
- 2 edits in trunk/Source/WebKit2
Asynchronous (or timed-out synchronous) resize flashes white instead of page background color
https://bugs.webkit.org/show_bug.cgi?id=144468
Reviewed by Simon Fraser and Dan Bernstein.
- UIProcess/API/mac/WKView.mm:
(-[WKView _viewBackgroundColor]):
(-[WKView updateLayer]):
Use the pageExtendedBackgroundColor for the background color of the WKView,
if we have one (and aren't using a transparent background). This means
during asynchronous resize or other cases where the Web process isn't keeping
up with the UI process during a resize, we'll see background color instead of white.
- 3:15 PM Changeset in webkit [183646] by
-
- 5 edits3 adds in trunk
Javascript using WebSQL can create their own WebKit info table.
<rdar://problem/20688792> and https://bugs.webkit.org/show_bug.cgi?id=144466
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/websql/alter-to-info-table.html
- Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::databaseInfoTableName): Return the info table name.
(WebCore::fullyQualifiedInfoTableName): Append "main." to the info table name.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Use the fully qualified name.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Ditto.
(WebCore::DatabaseBackendBase::getVersionFromDatabase): Ditto.
(WebCore::DatabaseBackendBase::setVersionInDatabase): Ditto.
LayoutTests:
- storage/websql/alter-to-info-table-expected.txt: Added.
- storage/websql/alter-to-info-table.html: Added.
- storage/websql/alter-to-info-table.js: Added.
- 3:00 PM Changeset in webkit [183645] by
-
- 4 edits in trunk/Source
Should choose UIScrollView indicatorStyle based on the document background color
https://bugs.webkit.org/show_bug.cgi?id=144473
-and corresponding-
rdar://problem/19897699
Reviewed by Simon Fraser.
Source/WebCore:
Export this function.
- platform/graphics/Color.h:
Source/WebKit2:
Update the indicator style whenever the background color changes.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):
- 2:26 PM Changeset in webkit [183644] by
-
- 2 edits in trunk/LayoutTests
Unskip isolated words tests on WebKitGTK+
- platform/gtk/TestExpectations: Unskip tests. We've been able to run these
since the switch to WebKitTestRunner.
- 1:55 PM Changeset in webkit [183643] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing in RJST as well.
- js/regress/script-tests/is-string-fold-tricky.js:
- js/regress/script-tests/is-string-fold.js:
- 1:03 PM Changeset in webkit [183642] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Scope Chain sidebar should be selected immediately when paused
https://bugs.webkit.org/show_bug.cgi?id=144352
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.showDebuggerTab): Added showScopeChainDetailsSidebarPanel argument.
(WebInspector._debuggerDidPause): Pass true for showScopeChainDetailsSidebarPanel.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView): Wire the event to showDetailsSidebarPanels instead of
_contentBrowserRepresentedObjectsDidChange, allowing subclasses to do work during the event.
(WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels): Moved content of
_contentBrowserRepresentedObjectsDidChange here.
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange): Deleted.
- UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels): Added. Show the scope sidebar panel
if it is available and it was requested by showScopeChainDetailsSidebarPanel().
(WebInspector.DebuggerTabContentView.prototype.showScopeChainDetailsSidebarPanel): Added.
- 1:01 PM Changeset in webkit [183641] by
-
- 3 edits in trunk/Tools
r183355 didn't trigger Mac tests
https://bugs.webkit.org/show_bug.cgi?id=144464
Reviewed by Simon Fraser.
Update badly neglected filters and unit tests.
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
- 12:51 PM Changeset in webkit [183640] by
-
- 5 edits2 adds in trunk/LayoutTests
Rebaseline some editing tests for WebKitGTK+
Also add some missing baselines.
- fast/hidpi/broken-image-icon-very-hidpi-expected.png: Added.
- fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
- platform/gtk/editing/execCommand/5142012-1-expected.png:
- platform/gtk/editing/execCommand/5142012-1-expected.txt:
- platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
- platform/gtk/editing/pasteboard/4989774-expected.txt:
- 12:04 PM Changeset in webkit [183639] by
-
- 2 edits in trunk/Source/WebCore
[Win] Allow WebKit to build without ANGLE support
https://bugs.webkit.org/show_bug.cgi?id=144459
<rdar://problem/20707307>
Reviewed by Dean Jackson.
- platform/graphics/GLContext.cpp: Use the ENABLE(GRAPHICS_CONTEXT_3D)
macro to avoid compiling this code if not using WEBGL/3D contexts.
- 11:54 AM Changeset in webkit [183638] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing.
- 11:50 AM Changeset in webkit [183637] by
-
- 2 edits in trunk/LayoutTests
Add image failure expectation for
svg/filters/sourceAlpha-input-filter-effect.html on Windows
Unreviewed.
- platform/win/TestExpectations:
- 11:36 AM Changeset in webkit [183636] by
-
- 7 edits in trunk/Source/WebCore
Avoid containingBlock() calls when no writing mode flipping is needed.
https://bugs.webkit.org/show_bug.cgi?id=144407
Reviewed by Simon Fraser.
Add a bool to RenderView that indicates whether or not any flipped blocks have been
added to the view. Once tainted, the view just stays dirty forever. If no flipped
blocks are ever seen, we can then optimize away calls to containingBlock().
The motivation for this patch is to improve layer position updating, which makes many
calls to topLeftLocationOffset(), one of the functions that can be optimized by this
change.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
- rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
- rendering/RenderView.h:
- 11:21 AM Changeset in webkit [183635] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] tapping in the middle of a word in editable content should not select the word.
https://bugs.webkit.org/show_bug.cgi?id=144421
rdar://problem/20710948
Reviewed by Tim Horton.
Reverting to the original behavior.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
- 11:20 AM Changeset in webkit [183634] by
-
- 2 edits in trunk/Tools
[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452
Reviewed by Martin Robinson.
- gtk/install-dependencies: Added libhyphen-dev to the WebKitGTK+
build dependencies.
- 11:00 AM Changeset in webkit [183633] by
-
- 1 edit1 add in trunk/Source/WebInspectorUI
[GTK] Web Inspector: New Images for ObjectTreeView - Setter
https://bugs.webkit.org/show_bug.cgi?id=143173
Reviewed by Martin Robinson.
- UserInterface/Images/gtk/Pencil.svg: Added.
- 10:50 AM Changeset in webkit [183632] by
-
- 2 edits in trunk/Tools
[GTK] Testing dictionaries are not installed automatically
https://bugs.webkit.org/show_bug.cgi?id=144460
Reviewed by Carlos Garcia Campos.
- gtk/jhbuild.modules: Add the testing dictionaries to the main moduleset.
- 10:44 AM Changeset in webkit [183631] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, add a FIXME comment referencing https://bugs.webkit.org/show_bug.cgi?id=144458.
- jit/JITOperations.cpp:
- 10:40 AM Changeset in webkit [183630] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add a comment clarifying the behavior and semantics of getCallData/getConstructData, in
particular that they cannot change their minds and may be called from compiler threads.
Rubber stamped by Geoffrey Garen.
- runtime/JSCell.h:
- 10:36 AM Changeset in webkit [183629] by
-
- 3 edits59 adds in trunk
DFG Is<Blah> versions of TypeOf should fold based on proven input type
https://bugs.webkit.org/show_bug.cgi?id=144409
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
We were missing some obvious folding opportunities here. I don't know how this affects real
code, but in general, we like to ensure that our constant folding is comprehensive. So this
is more about placating my static analysis OCD than anything else.
I added a bunch of speed/correctness tests for this in LayoutTests/js/regress.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
LayoutTests:
- js/regress/is-boolean-fold-expected.txt: Added.
- js/regress/is-boolean-fold-tricky-expected.txt: Added.
- js/regress/is-boolean-fold-tricky.html: Added.
- js/regress/is-boolean-fold.html: Added.
- js/regress/is-function-fold-expected.txt: Added.
- js/regress/is-function-fold-tricky-expected.txt: Added.
- js/regress/is-function-fold-tricky-internal-function-expected.txt: Added.
- js/regress/is-function-fold-tricky-internal-function.html: Added.
- js/regress/is-function-fold-tricky.html: Added.
- js/regress/is-function-fold.html: Added.
- js/regress/is-number-fold-expected.txt: Added.
- js/regress/is-number-fold-tricky-expected.txt: Added.
- js/regress/is-number-fold-tricky.html: Added.
- js/regress/is-number-fold.html: Added.
- js/regress/is-object-or-null-fold-expected.txt: Added.
- js/regress/is-object-or-null-fold-functions-expected.txt: Added.
- js/regress/is-object-or-null-fold-functions.html: Added.
- js/regress/is-object-or-null-fold-less-tricky-expected.txt: Added.
- js/regress/is-object-or-null-fold-less-tricky.html: Added.
- js/regress/is-object-or-null-fold-tricky-expected.txt: Added.
- js/regress/is-object-or-null-fold-tricky.html: Added.
- js/regress/is-object-or-null-fold.html: Added.
- js/regress/is-object-or-null-trickier-function-expected.txt: Added.
- js/regress/is-object-or-null-trickier-function.html: Added.
- js/regress/is-object-or-null-trickier-internal-function-expected.txt: Added.
- js/regress/is-object-or-null-trickier-internal-function.html: Added.
- js/regress/is-object-or-null-tricky-function-expected.txt: Added.
- js/regress/is-object-or-null-tricky-function.html: Added.
- js/regress/is-object-or-null-tricky-internal-function-expected.txt: Added.
- js/regress/is-object-or-null-tricky-internal-function.html: Added.
- js/regress/is-string-fold-expected.txt: Added.
- js/regress/is-string-fold-tricky-expected.txt: Added.
- js/regress/is-string-fold-tricky.html: Added.
- js/regress/is-string-fold.html: Added.
- js/regress/is-undefined-fold-expected.txt: Added.
- js/regress/is-undefined-fold-tricky-expected.txt: Added.
- js/regress/is-undefined-fold-tricky.html: Added.
- js/regress/is-undefined-fold.html: Added.
- js/regress/script-tests/is-boolean-fold-tricky.js: Added.
- js/regress/script-tests/is-boolean-fold.js: Added.
- js/regress/script-tests/is-function-fold-tricky-internal-function.js: Added.
- js/regress/script-tests/is-function-fold-tricky.js: Added.
(func):
(func2):
- js/regress/script-tests/is-function-fold.js: Added.
(value1):
- js/regress/script-tests/is-number-fold-tricky.js: Added.
- js/regress/script-tests/is-number-fold.js: Added.
- js/regress/script-tests/is-object-or-null-fold-functions.js: Added.
(value2):
- js/regress/script-tests/is-object-or-null-fold-less-tricky.js: Added.
- js/regress/script-tests/is-object-or-null-fold-tricky.js: Added.
- js/regress/script-tests/is-object-or-null-fold.js: Added.
- js/regress/script-tests/is-object-or-null-trickier-function.js: Added.
(func):
(func2):
- js/regress/script-tests/is-object-or-null-trickier-internal-function.js: Added.
- js/regress/script-tests/is-object-or-null-tricky-function.js: Added.
(func):
- js/regress/script-tests/is-object-or-null-tricky-internal-function.js: Added.
- js/regress/script-tests/is-string-fold-tricky.js: Added.
- js/regress/script-tests/is-string-fold.js: Added.
- js/regress/script-tests/is-undefined-fold-tricky.js: Added.
- js/regress/script-tests/is-undefined-fold.js: Added.
- js/regress/sink-function-expected.txt: Added.
- js/regress/sink-function.html: Added.
- 10:21 AM Changeset in webkit [183628] by
-
- 27 edits in trunk/LayoutTests
[Mac] Expand test infrastructure to support scrolling tests (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=144131
Reviewed by Eric Carlson.
Update the WK2 scrolling tests to use the new scroll trigger infrastructure to reduce the use of
timeouts.
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html:
- platform/mac-wk2/tiled-drawing/scrolling/overflow-scroll-zero-delta-wheel-events.html:
- platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:
- 10:17 AM Changeset in webkit [183627] by
-
- 1 edit18 deletes in trunk/Source/WebInspectorUI
[GTK] Web Inspector: Remove some unused Images
https://bugs.webkit.org/show_bug.cgi?id=144445
Reviewed by Carlos Garcia Campos.
- UserInterface/Images/gtk/BottomUpTree.svg: Removed.
- UserInterface/Images/gtk/Log.png: Removed.
- UserInterface/Images/gtk/Log@2x.png: Removed.
- UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Removed.
- UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Removed.
- UserInterface/Images/gtk/NavigationItemBug.svg: Removed.
- UserInterface/Images/gtk/NavigationItemFile.svg: Removed.
- UserInterface/Images/gtk/NavigationItemLayers.svg: Removed.
- UserInterface/Images/gtk/NavigationItemLog.svg: Removed.
- UserInterface/Images/gtk/NavigationItemProbes.svg: Removed.
- UserInterface/Images/gtk/NavigationItemStopwatch.svg: Removed.
- UserInterface/Images/gtk/NavigationItemStorage.svg: Removed.
- UserInterface/Images/gtk/NavigationItemVariable.svg: Removed.
- UserInterface/Images/gtk/Percent.svg: Removed.
- UserInterface/Images/gtk/Reload.svg: Removed.
- UserInterface/Images/gtk/SplitToggleDown.svg: Removed.
- UserInterface/Images/gtk/Time.svg: Removed.
- UserInterface/Images/gtk/Weight.svg: Removed.
- 9:17 AM Changeset in webkit [183626] by
-
- 3 edits in trunk
[CMake] Automatically expose WTF_USE_FOO to the build when USE_FOO is exposed
https://bugs.webkit.org/show_bug.cgi?id=144394
Reviewed by Carlos Garcia Campos.
Automatically expose WTF_USE_FOO when USE_FOO is exposed. A side-effect of this change
is that it fixes the redirected XComposite window for GTK+, which was accidentally
disabled in previous reworking of the CMake configuration.
- Source/cmake/OptionsGTK.cmake: We no longer need to expose the WTF_ prefixed
version of USE variables.
- Source/cmake/WebKitFeatures.cmake: Automatically expose WTF_USE_FOO when USE_FOO
is exposed to the build.
- 2:19 AM EFLWebKit edited by
- (diff)
- 2:09 AM EFLWebKit edited by
- (diff)
- 2:06 AM EFLWebKit edited by
- (diff)
- 2:02 AM EFLWebKit edited by
- (diff)
- 1:54 AM Changeset in webkit [183625] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Copy not working in Console
https://bugs.webkit.org/show_bug.cgi?id=144354
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-30
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector._focusedContentView):
Select the inner most content view to check if handleCopyEvent exists.
Previously we were stopping at the top level TabContentView.
- 1:37 AM Changeset in webkit [183624] by
-
- 9 edits in trunk/Source
Use the default hash value for Symbolized StringImpl
https://bugs.webkit.org/show_bug.cgi?id=144347
Reviewed by Darin Adler.
Source/JavaScriptCore:
Before this patch, symbolized StringImpl* has a special hash value
to avoid the hash collision with the other normal StringImpl*.
I guess that it is introduced when private symbols are introduced.
However, it prevents using symbolized StringImpl* in the other place
For example, using it as WTFString cause a problem because of its special hash value.
When only using private symbols, they are not exposed to the outside of JSC,
so we can handle it carefully. But now, it's extended to symbols.
So I think storing a special hash value in StringImpl* causes an error.
To avoid this, I propose using the usual hash value in symbolized StringImpl*.
And to provide significantly different hash value when using it as symbol,
store the additional hash value in symbolized StringImpl*. It is used when
the hash value is required by IdentifierRepHash.
- runtime/Identifier.h:
(JSC::IdentifierRepHash::hash):
- runtime/Lookup.h:
(JSC::HashTable::entry):
- runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::find):
(JSC::PropertyTable::get):
- runtime/Structure.cpp:
(JSC::PropertyTable::checkConsistency):
Source/WTF:
Use a default hash value calculation for symbolized StringImpl.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::createSymbol):
- wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::symbolAwareHash):
(WTF::StringImpl::existingSymbolAwareHash):
(WTF::StringImpl::hashForSymbol):
- wtf/text/StringStatics.cpp:
(WTF::StringImpl::nextHashForSymbol):
(WTF::StringImpl::hashAndFlagsForSymbol): Deleted.
- 12:39 AM Changeset in webkit [183623] by
-
- 3 edits in trunk/LayoutTests
These should be saying HTTP/1.1 not HTTP/1.0
- http/tests/cache/resources/iframe304.php:
- http/tests/cache/resources/iframe304body.php:
- 12:30 AM WebKitEFLLayoutTest edited by
- (diff)
- 12:30 AM WebKitEFLLayoutTest edited by
- (diff)
- 12:29 AM WebKitEFLLayoutTest edited by
- (diff)
- 12:25 AM WebKitEFLLayoutTest edited by
- (diff)
- 12:13 AM Changeset in webkit [183622] by
-
- 2 edits in trunk
Unreviewed. Bump GTK+ version numbers.
- Source/cmake/OptionsGTK.cmake:
- 12:08 AM Changeset in webkit [183621] by
-
- 4 edits in trunk/Tools
Fix return code issue, check return code of safari process and dump results to log
https://bugs.webkit.org/show_bug.cgi?id=144436
Patch by Dewei Zhu <Dewei Zhu> on 2015-04-30
Reviewed by Ryosuke Niwa.
- Scripts/run-benchmark:
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.dump): Correct typo.
(BenchmarkRunner.wrap): Add results to console.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Check return code to detect Safari crashes.
(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):
Apr 29, 2015:
- 11:43 PM Changeset in webkit [183620] by
-
- 4 edits in trunk/Tools
Should no longer need to worry about very old versions of Xcode
https://bugs.webkit.org/show_bug.cgi?id=144437
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-29
Reviewed by Dan Bernstein.
- Scripts/check-for-exit-time-destructors:
- Scripts/check-for-global-initializers:
- Scripts/check-for-weak-vtables-and-externals:
- 11:37 PM Changeset in webkit [183619] by
-
- 2 edits in trunk
[EFL] CMake should be failed if openwebrtc package does not exist but ENABLE_MEDIA_STREAM is ON
https://bugs.webkit.org/show_bug.cgi?id=144435
Reviewed by Gyuyoung Kim.
This patch adds REQUIRED option for OpenWebRTC when ENABLE_MEDIA_STREAM is ON.
In addition, this adds DEFAULT_PORT_VALUE for ENABLE_MEDIA_STREAM to match with FeatureList.pm
- Source/cmake/OptionsEfl.cmake:
- 11:29 PM Changeset in webkit [183618] by
-
- 6 edits1 move1 delete in trunk/Source/WebCore
Make GenericTaskQueue even more generic (and usable inside platform/)
https://bugs.webkit.org/show_bug.cgi?id=144414
Reviewed by Eric Carlson.
Templatize GenericTaskQueue so that it can be used from within platform/.
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- dom/GenericTaskQueue.cpp: Removed.
- html/HTMLMediaElement.h:
- platform/GenericTaskQueue.h: Renamed from Source/WebCore/dom/GenericTaskQueue.h.
(WebCore::TaskDispatcher::TaskDispatcher): Added default templatized class which just calls the parameter's postTask().
(WebCore::TaskDispatcher::postTask): Call context's postTask().
(WebCore::TaskDispatcher<Timer>::TaskDispatcher): Add a timer version which does not require a context.
(WebCore::TaskDispatcher<Timer>::postTask): Set the timer.
(WebCore::TaskDispatcher<Timer>::timerFired): Call the task.
(WebCore::GenericTaskQueue::GenericTaskQueue): Moved from .cpp.
(WebCore::GenericTaskQueue::enqueueTask): Ditto.
(WebCore::GenericTaskQueue::close): Ditto.
(WebCore::GenericTaskQueue::cancelAllTasks): Ditto.
(WebCore::GenericTaskQueue::hasPendingTasks): Ditto.
- 10:53 PM Changeset in webkit [183617] by
-
- 1 edit1 add in trunk/LayoutTests
[Win] Update baselines after r183610.
Unreviewed Gardening.
- platform/win/fast/css/apple-system-colors-expected.txt: Added.
- 9:43 PM Changeset in webkit [183616] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed build fix. WebCore has a weak symbol.
WebCore has a weak external symbol in it. A common cause of weak external
symbols is when an inline function is listed in the linker export file.
ERROR: symbol ZNK7WebCore4Page25expectsWheelEventTriggersEv
- page/Page.cpp:
(WebCore::Page::expectsWheelEventTriggers):
- page/Page.h:
(WebCore::Page::expectsWheelEventTriggers): Deleted.
- 9:40 PM Changeset in webkit [183615] by
-
- 13 edits in trunk/Source/JavaScriptCore
[JSC] Remove RageConvert array conversion
https://bugs.webkit.org/show_bug.cgi?id=144433
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-29
Reviewed by Filip Pizlo.
RageConvert was causing a subtle bug that was hitting the Kraken crypto tests
pretty hard:
-The indexing types shows that the array access varies between Int32 and DoubleArray.
-ArrayMode::fromObserved() decided to use the most generic type: DoubleArray.
An Arrayify node would convert the Int32 to that type.
-Somewhere, a GetByVal or PutByVal would have the flag NodeBytecodeUsesAsInt. That
node would use RageConvert instead of Convert.
-The Arrayify for that GetByVal with RageConvert would not convert the array to
Contiguous.
-All the following array access that do not have the flag NodeBytecodeUsesAsInt would
now expect a DoubleArray and always get a Contiguous Array. The CheckStructure
fail systematically and we never get to run the later code.
Getting rid of RageConvert fixes the problem and does not seems to have any
negative side effect on other benchmarks.
The improvments on Kraken are:
-stanford-crypto-aes: definitely 1.0915x faster.
-stanford-crypto-pbkdf2: definitely 1.2446x faster.
-stanford-crypto-sha256-iterative: definitely 1.0544x faster.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine):
(JSC::DFG::arrayConversionToString):
- dfg/DFGArrayMode.h:
- dfg/DFGArrayifySlowPathGenerator.h:
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
- runtime/JSObject.cpp:
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::genericConvertDoubleToContiguous): Deleted.
(JSC::JSObject::rageConvertDoubleToContiguous): Deleted.
(JSC::JSObject::rageEnsureContiguousSlow): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::rageEnsureContiguous): Deleted.
- 9:15 PM Changeset in webkit [183614] by
-
- 3 edits5 adds in trunk
Crash at WebCore::Document::absoluteRegionForEventTargets
https://bugs.webkit.org/show_bug.cgi?id=144426
rdar://problem/20502166
Reviewed by Tim Horton.
Source/WebCore:
When a frame had wheel event handlers, we would register the document itself
as a handler in its parent document. This is problematic, because there's not
code path that removes it when the frame is destroyed.
It turns out we don't need to do this at all; the non-fast scrollable region
already takes handlers in subframes into account.
Tests: fast/events/wheelevent-in-frame.html
fast/events/wheelevent-in-reattached-frame.html
- dom/Document.cpp:
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):
LayoutTests:
Test that disconnects a frame with a wheel event handler then GCs, and one that
disconnects are reconnects. In both case, the parent document should have zero
wheel event handlers registered on it.
- fast/events/wheelevent-in-frame-expected.txt: Added.
- fast/events/wheelevent-in-frame.html: Added.
- fast/events/wheelevent-in-reattached-frame-expected.txt: Added.
- fast/events/wheelevent-in-reattached-frame.html: Added.
- 8:40 PM Changeset in webkit [183613] by
-
- 4 edits in trunk/Source/WebCore
Not all videos should automatically play to playback target
https://bugs.webkit.org/show_bug.cgi?id=144430
<rdar://problem/20718523>
Reviewed by Darin Adler.
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::clientStateDidChange): Consider ExternalDeviceAutoPlayCandidate.
Minor cleanup.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Set ExternalDeviceAutoPlayCandidate when a <video>
has a file with an audio track that does not loop.
- page/MediaProducer.h: Add ExternalDeviceAutoPlayCandidate.
- 8:27 PM Changeset in webkit [183612] by
-
- 5 edits in trunk
LiveNodeList may unexpectedly return an element for empty string
https://bugs.webkit.org/show_bug.cgi?id=144429
Reviewed by Darin Adler.
Source/WebCore:
- dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::namedItem):
Never return a result for an empty string.
LayoutTests:
- fast/dom/named-items-with-empty-name-expected.txt:
- fast/dom/named-items-with-empty-name.html:
- 8:21 PM Changeset in webkit [183611] by
-
- 15 edits in trunk/Source/WebCore
Remove PassRefPtr in SVGFEFooElement classes
https://bugs.webkit.org/show_bug.cgi?id=144425
Reviewed by Darin Adler.
As a step to use Ref instead of PassRefPtr, this patch purges PassRefPtr
in SVGFEFooElement.
No new tests, no behavior changes.
- css/RGBColor.cpp:
(WebCore::RGBColor::create):
- css/RGBColor.h:
- platform/graphics/filters/PointLightSource.h:
(WebCore::PointLightSource::create):
- platform/graphics/filters/SpotLightSource.h:
(WebCore::SpotLightSource::create):
- svg/SVGColor.cpp:
(WebCore::SVGColor::rgbColor):
- svg/SVGColor.h:
- svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::lightSource):
- svg/SVGFEDistantLightElement.h:
- svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::findLightSource):
- svg/SVGFELightElement.h:
- svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::lightSource):
- svg/SVGFEPointLightElement.h:
- svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::lightSource):
- svg/SVGFESpotLightElement.h:
- 8:15 PM Changeset in webkit [183610] by
-
- 10 edits7 adds in trunk
Create a named CSS property for system colors
https://bugs.webkit.org/show_bug.cgi?id=144423
<rdar://problem/20491011>
Reviewed by Tim Horton.
Source/WebCore:
Test: fast/css/apple-system-colors.html
Expose the following values to CSS color properties:
-apple-system-blue
-apple-system-brown
-apple-system-gray
-apple-system-green
-apple-system-orange
-apple-system-pink
-apple-system-purple
-apple-system-red
-apple-system-yellow
On platforms other than OS X Yosemite and iOS, the
actual color values are undefined and become transparent
black. (In fact, not all are defined on iOS either.)
- WebCore.xcodeproj/project.pbxproj: Two new SPI header files.
- css/CSSParser.cpp:
(WebCore::CSSParser::validSystemColorValue): New helper function that
checks if a CSSValueID is between the two system color values. This
was being tested everywhere, which meant adding a new system color was
at risk of being ignored. It's a static method so it can be used
from the SVG CSS parser too.
(WebCore::validPrimitiveValueColor): Use the new helper.
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::CSSParser::parseBackgroundColor): Ditto.
(WebCore::CSSParser::parseShadow): Ditto.
(WebCore::parseDeprecatedGradientColorStop): Ditto.
(WebCore::parseGradientColorOrKeyword): Ditto.
- css/CSSParser.h: New static helper function.
- css/CSSValueKeywords.in: Add the new CSS value keywords.
- css/SVGCSSParser.cpp:
(WebCore::validSystemControlColorValue): SVG has a restricted
set of system colors, so use the helper from CSSParser but with
an extra condition.
(WebCore::CSSParser::parseSVGValue): Use the helper.
- platform/spi/ios/UIColorSPI.h: Added.
- platform/spi/cocoa/NSColorSPI.h: Added.
- rendering/RenderThemeIOS.h: New systemColor override. Also add a cache for system colors.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemColor): Ask UIColor to provide the color values for the new CSS values.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Ditto.
LayoutTests:
Expose the following values to CSS color properties:
-apple-system-blue
-apple-system-brown
-apple-system-gray
-apple-system-green
-apple-system-orange
-apple-system-pink
-apple-system-purple
-apple-system-red
-apple-system-yellow
The new test shows the computed value for each of these colors. It
includes generic results (no special value) and platform results for
Mac (other than Mavericks) and iOS.
- fast/css/apple-system-colors-expected.txt: Generic results.
- fast/css/apple-system-colors.html: Added - the new test.
- platform/mac/fast/css/apple-system-colors-expected.txt: Added OS X results.
- platform/ios-simulator/fast/css/apple-system-colors-expected.txt: Added iOS results.
- platform/mac-mavericks/fast/css/apple-system-colors-expected.txt: Generic results for Mavericks.
- 8:08 PM Changeset in webkit [183609] by
-
- 3 edits4 deletes in trunk
Unreviewed, rolling out r183600.
https://bugs.webkit.org/show_bug.cgi?id=144432
New tests time out everywhere (Requested by ap on #webkit).
Reverted changeset:
"Crash at WebCore::Document::absoluteRegionForEventTargets"
https://bugs.webkit.org/show_bug.cgi?id=144426
http://trac.webkit.org/changeset/183600
- 8:05 PM Changeset in webkit [183608] by
-
- 2 edits in trunk/Source/WTF
LazyNeverDestroyed is not thread safe in debug builds, causing assertions
https://bugs.webkit.org/show_bug.cgi?id=144378
Reviewed by Darin Adler.
- wtf/NeverDestroyed.h:
- 8:03 PM Changeset in webkit [183607] by
-
- 2 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
- fast/frames/flattening/resources/iframe-to-resize.html: Added more logging to the test.
- 7:46 PM Changeset in webkit [183606] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed iOS build fix. Unused parameter no longer exists.
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame):
- 7:44 PM Changeset in webkit [183605] by
-
- 2 edits in trunk/Source/WebKit2
Fix the EFL build after r183595
https://bugs.webkit.org/show_bug.cgi?id=144427
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-04-29
Reviewed by Gyuyoung Kim.
updateWheelEventTestTriggersIfNeeded() is guarded by #if ENABLE(CSS_SCROLL_SNAP) ENABLE(RUBBER_BANDING). - WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::updateWheelEventTestTriggersIfNeeded):
- 7:39 PM Changeset in webkit [183604] by
-
- 5 edits in trunk
REGRESSION(183583): [Mac] make without SDKROOT has issues
https://bugs.webkit.org/show_bug.cgi?id=144431
Reviewed by Dan Bernstein.
.:
- Source/Makefile:
Assume an empty SDKROOT means an macosx variant, so only
enable settings if the SDKROOT is not empty and does not
contain "macosx".
Tools:
- Makefile:
- WebKitTestRunner/Makefile:
Assume an empty SDKROOT means an macosx variant, so only
enable settings if the SDKROOT is not empty and does not
contain "macosx".
- 7:10 PM Changeset in webkit [183603] by
-
- 2 edits16 adds in trunk/LayoutTests
Unskip 3D transformation tests for WebKitGTK+
Unreviewed. This is gardening.
These tests should run reasonably well on the testing bots, now that
they use llvmpipe to run OpenGL.
- platform/gtk/TestExpectations:
- platform/gtk/transforms/3d/general/background-visibility-layers-expected.png: Added.
- platform/gtk/transforms/3d/general/cssmatrix-3d-zoom-expected.png: Added.
- platform/gtk/transforms/3d/general/matrix-with-zoom-3d-expected.png: Added.
- platform/gtk/transforms/3d/general/perspective-non-layer-expected.png: Added.
- platform/gtk/transforms/3d/general/perspective-units-expected.png: Added.
- platform/gtk/transforms/3d/general/transform-origin-z-change-expected.png: Added.
- platform/gtk/transforms/3d/hit-testing/backface-hit-test-expected.png: Added.
- platform/gtk/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-2-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-3-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png: Added.
- platform/gtk/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png: Added.
- 6:42 PM Changeset in webkit [183602] by
-
- 2 edits in trunk
Fix the GTK+ build after r183584
- Source/cmake/OptionsGTK.cmake: Properly use the USE_LIBHYPHEN and HYPHEN_FOUND variables.
- 6:41 PM Changeset in webkit [183601] by
-
- 2 edits in trunk/LayoutTests
Rebaseline after r183597.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/handlers-in-iframes-expected.txt:
- 6:38 PM Changeset in webkit [183600] by
-
- 3 edits4 adds in trunk
Crash at WebCore::Document::absoluteRegionForEventTargets
https://bugs.webkit.org/show_bug.cgi?id=144426
rdar://problem/20502166
Reviewed by Tim Horton.
Source/WebCore:
When a frame had wheel event handlers, we would register the document itself
as a handler in its parent document. This is problematic, because there's not
code path that removes it when the frame is destroyed.
It turns out we don't need to do this at all; the non-fast scrollable region
already takes handlers in subframes into account.
Tests: fast/events/wheelevent-in-frame.html
fast/events/wheelevent-in-reattached-frame.html
- dom/Document.cpp:
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):
LayoutTests:
Test that disconnects a frame with a wheel event handler then GCs, and one that
disconnects are reconnects. In both case, the parent document should have zero
wheel event handlers registered on it.
- fast/events/wheelevent-in-frame-expected.txt: Added.
- fast/events/wheelevent-in-frame.html: Added.
- fast/events/wheelevent-in-reattached-frame-expected.txt: Added.
- fast/events/wheelevent-in-reattached-frame.html: Added.
- 6:21 PM Changeset in webkit [183599] by
-
- 1 copy in tags/Safari-600.1.4.16.2
New tag.
- 6:18 PM Changeset in webkit [183598] by
-
- 6 edits2 adds in trunk/Source/WebCore
Attempt #2: Switch QuickLook soft-linking to use QuickLookSoftLink.{h,mm}
<http://webkit.org/b/144362>
Reviewed by Andy Estes.
This patch switches soft-linking of QuickLook.framework to
QuickLookSoftLink.{h,mm} so that we stop exporting unintended
symbols.
No new tests since no change in behavior.
- WebCore.xcodeproj/project.pbxproj:
- Add QuickLookSoftLinking.{h,mm} to the project.
- platform/ios/QuickLookSoftLink.h: Added.
- platform/ios/QuickLookSoftLink.mm: Added.
- platform/mac/SoftLinking.h:
(SOFT_LINK_CLASS_FOR_HEADER): Add macro.
(SOFT_LINK_CLASS_FOR_SOURCE): Add macro.
(SOFT_LINK_POINTER_FOR_HEADER): Add macro.
(SOFT_LINK_POINTER_FOR_SOURCE): Add macro.
- platform/network/ios/QuickLook.h:
- Remove unused declarations.
- platform/network/ios/QuickLook.mm:
(WebCore::QLPreviewConverterClass): Deleted.
(WebCore::QLTypeCopyBestMimeTypeForFileNameAndMimeType): Deleted.
(WebCore::QLTypeCopyBestMimeTypeForURLAndMimeType): Deleted.
(WebCore::QLTypeCopyUTIForURLAndMimeType): Deleted.
- Remove SOFT_LINK macros and unused methods after switching to new QuickLookSoftLink.{h,mm}.
(WebCore::QLPreviewGetSupportedMIMETypesSet):
- Switch to use NeverDestroyed<>.
(WebCore::registerQLPreviewConverterIfNeeded):
(createQLPreviewProtocol):
(WebCore::QLPreviewProtocol):
(WebCore::QuickLookHandle::QuickLookHandle):
(WebCore::QuickLookHandle::create):
(WebCore::QuickLookHandle::shouldCreateForMIMEType):
- Simplify code when using QuickLookSoftLink.h.
- platform/network/ios/WebCoreURLResponseIOS.mm:
- Include QuickLookSoftLink.h header.
- 5:46 PM Changeset in webkit [183597] by
-
- 17 edits in trunk
Compute the non-fast-scrollable region in main-document coordinates
https://bugs.webkit.org/show_bug.cgi?id=144420
Reviewed by Tim Horton.
Source/WebCore:
Compute the non-fast-scrollable region in document coordinates, to make it easier
to reason about. Previously, it was document coordinates offset by top content inset.
- page/DebugPageOverlays.cpp:
(WebCore::MouseWheelRegionOverlay::updateRegion): Traverse all frames to compute the wheel
event handler region, mapping each to root view coords, and then mapping back into document
coords at the end.
(WebCore::NonFastScrollableRegionOverlay::updateRegion): No offset needed here; the
overlay and region are both document coordinates.
- page/FrameView.h: Make some mapping function overrides public, and expose widgetsInRenderTree().
- page/Page.cpp:
(WebCore::Page::nonFastScrollableRects): Remove frame argument.
- page/Page.h:
- page/PageOverlay.cpp:
(WebCore::PageOverlay::bounds):
(WebCore::PageOverlay::viewToOverlayOffset): Convenience function to map between
view and overlay coordinates.
- page/PageOverlay.h:
- page/scrolling/AsyncScrollingCoordinator.cpp: New computeNonFastScrollableRegion() signature.
(WebCore::AsyncScrollingCoordinator::updateNonFastScrollableRegion):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame): This function
recurses on frames, computing an absolute (document-relative) region per frame. This
removes the confusing offsetting through top content inset.
Change how we get to plugins that want wheel events; we can't get from PluginViewBase
to renderers, so use FrameView's list of Widgets, and their RenderWidgets. This fixes
regions for transformed plugin-ins.
For subframes, we get a region in the subframe's document coords. Map to that sub-frame,
then to our frame, then to our document.
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegion): Wrapper that hides
the recursive function.
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Deleted.
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Map the event point
from view coordinates to document coordinates for testing against the non-fast region.
We previously assert that the root note is a FrameScrolling node.
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::viewToContentsOffset): Similar to ScrollView::viewToContents()
for the scrolling tree.
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- testing/Internals.cpp:
(WebCore::Internals::nonFastScrollableRects): No need for frame arg.
LayoutTests:
We now report the non-fast region in document coordinates, so these two results change.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-header-expected.txt:
- 5:40 PM Changeset in webkit [183596] by
-
- 23 edits6 copies67 adds in branches/safari-600.7-branch
Merged r183106, r183108, r183135, r183137, r183171, r183437, r183444, r183445, r183464, r183470, r183471, r183474, r183484, and r183549.
- 5:29 PM Changeset in webkit [183595] by
-
- 33 edits in trunk
Expand test infrastructure to support scrolling tests
https://bugs.webkit.org/show_bug.cgi?id=143684
<rdar://problem/20375516>
Reviewed by Simon Fraser.
Source/WebCore:
Tested by various fast/scrolling and platform/mac-wk2/tiled-drawing/scrolling tests.
This series of changes adds a new singleton class, 'WheelEventTestTrigger', which encapsulates a
function object to be fired when scroll events are finished. The object also keeps track of reasons
why the test should not yet fire (e.g., 'rubberbanding' is active) so that tests do not incorrectly
check rendering state in the middle of an animation.
Switch from the original WeakPtr design to ThreadSafeRefPtr, because WeakPtr cannot be shared
across multiple threads.
- page/FrameView.cpp:
(WebCore::FrameView::layout): Make sure ScrollAnimator knows about any active test trigger.
(WebCore::FrameView::setScrollPosition): Ditto.
(WebCore::FrameView::didAddScrollbar): Ditto.
- page/MainFrame.cpp:
(WebCore::MainFrame::testTrigger): Moved to Page.
(WebCore::MainFrame::ensureTestTrigger): Ditto.
- page/MainFrame.h:
- page/Page.cpp:
(WebCore::Page::testTrigger): Moved from MainFrame, and converted to use RefPtr.
(WebCore::Page::ensureTestTrigger): Ditto.
- page/Page.h:
- page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::WheelEventTestTrigger): Remove WeakPtr code.
(WebCore::WheelEventTestTrigger::createWeakPtr): Deleted.
- page/WheelEventTestTrigger.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Make sure the scroll animator knows about
any active test trigger object.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Notify WheelEventTestTrigger
that the scrolling thread is synced with the main thread.
- platform/ScrollAnimator.h: Hold a RefPtr to the WheelEventTestTrigger.
(WebCore::ScrollAnimator::ScrollAnimator::setWheelEventTestTrigger):
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::startSnapRubberbandTimer): Notify test trigger to hold tests until rubber band
snapping is complete.
(WebCore::ScrollController::stopSnapRubberbandTimer): Notify test trigger that rubber band snapping is done.
(WebCore::ScrollController::startScrollSnapTimer): Notify test trigger to hold tests until scroll snapping
is complete.
(WebCore::ScrollController::stopScrollSnapTimer): Notify test trigger that scroll snapping is done.
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::didBeginScrollGesture): Notify test trigger that a content scroll is in progress.
(WebCore::ScrollAnimatorMac::didEndScrollGesture): Notify test trigger that a content scroll is finished.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon): Notify test trigger to hold tests until the content
scrolling is complete.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired): Notify test trigger that content scrolling is done.
- rendering/RenderBox.cpp:
(WebCore::connectScrollAnimatorToTestTrigger): Helper function.
(WebCore::RenderBox::setScrollLeft): Call 'connectScrollAnimatorToTestTrigger' to connect the ScrollAnimator
to the WheelEventTestTrigger so that future scroll operations can notify the test infrastructure.
(WebCore::RenderBox::setScrollTop): Ditto.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::createScrollbar): Make sure the ScrollAnimator knows about any active test triggers.
- rendering/RenderListBox.cpp:
(WebCore::connectScrollAnimatorToTestTrigger): Helper function.
(WebCore::RenderListBox::setScrollLeft): Call 'connectScrollAnimatorToTestTrigger' to connect the ScrollAnimator
to the WheelEventTestTrigger so that future scroll operations can notify the test infrastructure.
(WebCore::RenderListBox::setScrollTop): Ditto.
(WebCore::RenderListBox::createScrollbar): Ditto.
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::monitorWheelEvents): Look for WheelEventTestTrigger in Page, rather than MainFrame.
(WebCoreTestSupport::setTestCallbackAndStartNotificationTimer): Ditto.
Source/WebKit2:
Update test programs to activate (and deactivate) the new WheelEventTestTrigger logic.
- UIProcess/API/C/WKPage.cpp:
(WKPageClearWheelEventTestTriggers): Added.
- UIProcess/API/C/WKPage.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::clearWheelEventTestTrigger): Added.
- UIProcess/WebPageProxy.h:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageStartMonitoringScrollOperations): Interact with WheelEventTestTrigger through
the Page, rather than MainFrame.
(WKBundlePageRegisterScrollOperationCompletionCallback): Ditto.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::createScrollbar): Make sure scroll animator knows about any
active test triggers.
- WebPage/EventDispatcher.mm:
(WebKit::EventDispatcher::wheelEvent): If the wheel event was passed to the scrolling thread,
defer tests until a Scrolling Thread Sync has occurred.
- WebPage/WebPage.cpp:
(WebKit::WebPage::clearWheelEventTestTrigger): Added.
- WebPage/WebPage.h:
- WebPage/WebPage.message.in: Added ClearWheelEventTestTrigger message.
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting): Make sure the WheelEventTestTrigger state is
reset before the next test run.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): Ditto."
- 5:28 PM Changeset in webkit [183594] by
-
- 1 edit23 deletes in trunk/Source/WebInspectorUI
Web Inspector: Remove some unused Images
https://bugs.webkit.org/show_bug.cgi?id=144412
Reviewed by Joseph Pecoraro.
- UserInterface/Images/BottomUpTree.svg: Removed.
- UserInterface/Images/Log.png: Removed.
- UserInterface/Images/Log@2x.png: Removed.
- UserInterface/Images/NavigationItemAngleBrackets.svg: Removed.
- UserInterface/Images/NavigationItemBrushAndRuler.svg: Removed.
- UserInterface/Images/NavigationItemBug.svg: Removed.
- UserInterface/Images/NavigationItemDoughnutChart.svg: Removed.
- UserInterface/Images/NavigationItemFile.svg: Removed.
- UserInterface/Images/NavigationItemLayers.svg: Removed.
- UserInterface/Images/NavigationItemLog.svg: Removed.
- UserInterface/Images/NavigationItemProbes.svg: Removed.
- UserInterface/Images/NavigationItemStopwatch.svg: Removed.
- UserInterface/Images/NavigationItemStorage.svg: Removed.
- UserInterface/Images/NavigationItemVariable.svg: Removed.
- UserInterface/Images/NetworkBarLabelCalloutLeft.svg: Removed.
- UserInterface/Images/NetworkBarLabelCalloutRight.svg: Removed.
- UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.svg: Removed.
- UserInterface/Images/NetworkBarLabelCalloutWhiteRight.svg: Removed.
- UserInterface/Images/Percent.svg: Removed.
- UserInterface/Images/Reload.svg: Removed.
- UserInterface/Images/SplitToggleDown.svg: Removed.
- UserInterface/Images/Time.svg: Removed.
- UserInterface/Images/Weight.svg: Removed.
- 5:23 PM Changeset in webkit [183593] by
-
- 2 edits in trunk/Tools
Run javascriptcore tests on Windows without cygwin
https://bugs.webkit.org/show_bug.cgi?id=144419
Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-29
Reviewed by Brent Fulgham.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
Just call ruby, not /usr/bin/env ruby.
- 5:21 PM Changeset in webkit [183592] by
-
- 7 edits in trunk/Source/WebKit2
Adding the ability to move selection by granularity on iOS.
https://bugs.webkit.org/show_bug.cgi?id=144410
rdar://problem/19213337
Reviewed by Benjamin Poulain.
This patch also correctly sets _usingGestureForSelection for all
the functions that change the selection with a gesture.
This way we make sure that the selection drawing is not delayed
until the next time we paint.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView moveSelectionAtBoundary:inDirection:completionHandler:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::moveSelectionAtBoundaryWithDirection):
- 5:12 PM Changeset in webkit [183591] by
-
- 17 edits1 add in trunk/Source/WebCore
[CSS Box Alignment] Unifying alignment data in a single class
https://bugs.webkit.org/show_bug.cgi?id=144384
Reviewed by David Hyatt.
The new CSS Box Alignment specification introduces more complex
values and syntax for defining alignment properties. Most of the
alignment values were just keyword identifiers, but the new syntax
allows different combinations of identifiers to determine the
alignment behavior (eg. overflow-alignment keyword).
This patch wll help to implement later overflow handling and
specially Content Dstribution alignment, the most complex case by
far. It will be more consistent against style changes and repaint,
snce we will have just one field to monitoring for value
modfications.
No new tests, because no new functionality was added; it's just a
code refactoring which is just expected to pass current tests.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::resolveSelfAlignmentAuto):
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSPropertyNames.in:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):
(WebCore::StyleBuilderConverter::convertSVGColor): Deleted.
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage): Deleted.
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::getValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::setValue): Deleted.
(WebCore::StyleBuilderCustom::applyInheritLineHeight): Deleted.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
- mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::createElementRenderer):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::styleDidChange):
- rendering/RenderFullScreen.cpp:
(WebCore::createFullScreenStyle):
- rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::updateStyle):
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
(WebCore::RenderMathMLScripts::fixAnonymousStyles):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveAlignment):
(WebCore::RenderStyle::resolveJustification):
- rendering/style/RenderStyle.h:
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::contentDataEquivalent): Deleted.
- rendering/style/StyleRareNonInheritedData.h:
- rendering/style/StyleSelfAlignmentData.h: Added.
(WebCore::StyleSelfAlignmentData::StyleSelfAlignmentData):
(WebCore::StyleSelfAlignmentData::setPosition):
(WebCore::StyleSelfAlignmentData::setPositionType):
(WebCore::StyleSelfAlignmentData::setOverflow):
(WebCore::StyleSelfAlignmentData::position):
(WebCore::StyleSelfAlignmentData::positionType):
(WebCore::StyleSelfAlignmentData::overflow):
(WebCore::StyleSelfAlignmentData::operator==):
(WebCore::StyleSelfAlignmentData::operator!=):
- 4:46 PM Changeset in webkit [183590] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gracefully handle missing auto pause key on remote inspector setup
https://bugs.webkit.org/show_bug.cgi?id=144411
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-29
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedSetupMessage):
- 4:22 PM Changeset in webkit [183589] by
-
- 9 edits10 adds in trunk
NodeList has issues with Symbol and empty string
https://bugs.webkit.org/show_bug.cgi?id=144310
Reviewed by Darin Adler.
Source/JavaScriptCore:
- runtime/PropertyName.h:
(JSC::PropertyName::isSymbol):
Helper to check if the PropertyName is a string or symbol property.
Source/WebCore:
Tests: fast/dom/StyleSheet/stylesheet-symbol-names.html
fast/dom/dataset-name-getter-symbols.html
fast/dom/named-items-with-empty-name.html
fast/dom/named-items-with-symbol-name.html
storage/domstorage/localstorage/named-items.html
Test different bindings objects with custom named setter
and getter handlers. Ensure that they handle Symbol properties
gracefully. Often times avoiding the string path.
- dom/StaticNodeList.cpp:
(WebCore::StaticNodeList::namedItem):
(WebCore::StaticElementList::namedItem):
Better handle the empty string. It should not match an item.
- bindings/js/JSDOMBinding.h:
(WebCore::propertyNameToString):
In cases where we would use this, we should have handled
Symbol properties.
(WebCore::propertyNameToAtomicString):
For Symbols, use the unique string. This should result
in no matches for a Symbol property.
- bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
(WebCore::JSDOMStringMap::deleteProperty):
(WebCore::JSDOMStringMap::putDelegate):
- bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::canGetItemsForName):
(WebCore::JSStorage::nameGetter):
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):
- bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::canGetItemsForName):
Treat Symbol properties as private properties. They just
go directly through to the Object, and avoid the string
getter/setter property path.
LayoutTests:
- fast/dom/StyleSheet/stylesheet-symbol-names-expected.txt: Added.
- fast/dom/StyleSheet/stylesheet-symbol-names.html: Added.
- fast/dom/dataset-name-getter-symbols-expected.txt: Added.
- fast/dom/dataset-name-getter-symbols.html: Added.
- fast/dom/named-items-with-empty-name-expected.txt: Added.
- fast/dom/named-items-with-empty-name.html: Added.
- fast/dom/named-items-with-symbol-name-expected.txt: Added.
- fast/dom/named-items-with-symbol-name.html: Added.
- storage/domstorage/localstorage/named-items-expected.txt: Added.
- storage/domstorage/localstorage/named-items.html: Added.
- 4:19 PM Changeset in webkit [183588] by
-
- 2 edits in trunk/Source/WebKit2
UI process sometimes crashes under _takeViewSnapshot when the window is off-screen
https://bugs.webkit.org/show_bug.cgi?id=144418
<rdar://problem/20740278>
Reviewed by Alexey Proskuryakov.
- UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Null-check the array before checking if it has any items.
If the window is off-screen, we can't snapshot it.
- 4:03 PM Changeset in webkit [183587] by
-
- 3 edits in trunk/Source/WebCore
[Mac] Register with device picker whenever a page has <video>
https://bugs.webkit.org/show_bug.cgi?id=144408
Reviewed by Jer Noble.
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::setPlaybackTarget): Drive-by fix: don't tell a client to play
to the target when it has not routes.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Set RequiresPlaybackTargetMonitoring whenever the
element is <video> with a video track that does not block wireless playback.
- 4:02 PM Changeset in webkit [183586] by
-
- 3 edits6 adds in trunk
Allow testing of plug-ins that handle wheel events.
https://bugs.webkit.org/show_bug.cgi?id=144413
Reviewed by Tim Horton.
Source/WebKit2:
Allow the Test Netscape Plug-in to pretend to handle wheel events,
so layout tests can use it.
- Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::determineQuirks):
LayoutTests:
Test the non-fast scrollable region with top content inset and header height, and with a plug-in.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-header-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-header.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset.html: Added.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/wheel-event-plugin-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/wheel-event-plugin.html: Added.
- 3:56 PM Changeset in webkit [183585] by
-
- 2 edits in trunk/Tools
[GTK] Add --enable-shared option to LLVM to build mesa
https://bugs.webkit.org/show_bug.cgi?id=144393
Reviewed by Martin Robinson.
The updated mesa requires the shared LLVM libraries.
To build mesa with LLVM in FTL build, this patch added--enable-sharedoption
to LLVM configure script. It will provide shared libraries in addition to static libraries.
- gtk/jhbuild-optional.modules:
- 3:46 PM Changeset in webkit [183584] by
-
- 20 edits6 adds in trunk
[GTK] Add support for automatic hyphenation
https://bugs.webkit.org/show_bug.cgi?id=44478
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/FindHyphen.cmake: Added. A CMake module for finding libhyphen.
- Source/cmake/OptionsGTK.cmake: Look for libhyphen and enable hyphenation if found.
- Source/cmakeconfig.h.cmake: Pass through the whether libhyphen is enabled.
Source/WebCore:
No new tests. This patch unskips and updates results for existing hyphenation tests.
- PlatformGTK.cmake: Add the libhypen implementation to the source list.
- platform/gtk/GtkUtilities.cpp:
(WebCore::topLevelPath): Add this helper function taken from the test harness.
(WebCore::getWebKitBuildDirectory): Ditto.
- platform/gtk/GtkUtilities.h: Add function declarations for the helper functions.
- platform/text/Hyphenation.cpp: Surround this implementation with !USE(LIBHYPHEN), so that it can still be shared.
- platform/text/gtk/HyphenationLibHyphen.cpp: Added.
(WebCore::extractLocaleFromDictionaryFilePath): Take in a dictionary filename and
determine the locale that it covers.
(WebCore::scanDirectoryForDicionaries): Look for all installed dictionaries as well
as ones in the JHBuild root for testing.
(WebCore::scanTestDictionariesDirectoryIfNecessary): Try to scan the dictionaries installed
in the JHBuild root.
(WebCore::availableLocales): Getter for global hash of installed dictionaries.
(WebCore::canHyphenate): Added libhyphen implementation.
(WebCore::HyphenationDictionary): Helper class that properly manages the memory of
an open libhyphen dictionary. This is useful so that they can be stored in an MRU
cache. This is a similar approach to the CoreFoundation implementation.
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForNullKey): MRU cache
helper.
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForKey): Ditto.
(WebCore::hyphenDictionaryCache): A cache for opened hyphenation dictionaries.
(WebCore::countLeadingSpaces): Count leading spaces, since WebCore often passes words with them.
(WebCore::lastHyphenLocation): Added libhyphen implementation.
Tools:
- gtk/jhbuild.modules: Add a module for testing dictionaries, so that
all systems will use the same dictionaries for testing purposes.
LayoutTests:
- platform/gtk/TestExpectations: Unskip most hyphenation tests.
- platform/gtk/fast/text/hyphenate-character-expected.png: Added.
- platform/gtk/fast/text/hyphenate-character-expected.txt:
- platform/gtk/fast/text/hyphenate-first-word-expected.png: Added.
- platform/gtk/fast/text/hyphenate-first-word-expected.txt:
- platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
- platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
- platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
- platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
- platform/gtk/fast/text/hyphenate-locale-expected.png: Added.
- platform/gtk/fast/text/hyphenate-locale-expected.txt:
- platform/gtk/fast/text/hyphens-expected.png: Added.
- platform/gtk/fast/text/hyphens-expected.txt:
- platform/gtk/fast/text/word-break-soft-hyphen-expected.png:
- 3:41 PM Changeset in webkit [183583] by
-
- 5 edits in trunk
Failure when building WebKit for appletvsimulator.
https://bugs.webkit.org/show_bug.cgi?id=144356
Reviewed by Alexey Proskuryakov.
Changes Makefile logic to check for "not OS X" rather than "is iOS" to
make TVOS and WatchOS behave correctly.
.:
- Source/Makefile:
Tools:
- Makefile:
- WebKitTestRunner/Makefile:
- 3:32 PM Changeset in webkit [183582] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWithFamily):
- 3:12 PM Changeset in webkit [183581] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix non-cygwin incremental builds on Windows.
https://bugs.webkit.org/show_bug.cgi?id=143264
Reviewed by Brent Fulgham.
- generate-js-builtins:
Remove stale headers before calling os.rename to replace them.
- 3:00 PM Changeset in webkit [183580] by
-
- 10 edits1 copy2 adds in trunk/Source/WebInspectorUI
Web Inspector: Split Storage from Resources tab
https://bugs.webkit.org/show_bug.cgi?id=144404
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.isTabTypeAllowed):
(WebInspector._tabContentViewForType):
(WebInspector._updateNewTabButtonState):
(WebInspector.showStorageTab):
(WebInspector._storageWasInspected):
- UserInterface/Controllers/ApplicationCacheManager.js:
(WebInspector.ApplicationCacheManager.prototype.initialize):
(WebInspector.ApplicationCacheManager.prototype.get applicationCacheObjects):
- UserInterface/Controllers/StorageManager.js:
(WebInspector.StorageManager.prototype.get domStorageObjects):
(WebInspector.StorageManager.prototype.get databases):
(WebInspector.StorageManager.prototype.get indexedDatabases):
(WebInspector.StorageManager.prototype.get cookieStorageObjects):
- UserInterface/Images/Storage.svg: Added.
- UserInterface/Main.html:
- UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView.prototype._queryFinished): Clear _dataGrid,
since it might have been allocated but still be empty. This avoids an exception in
updateLayout next time layout is updated.
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasInspected): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._databaseWasInspected): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._frameManifestRemoved): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._addStorageChild): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._storageCleared): Deleted.
- UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView):
(WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
- UserInterface/Views/StorageSidebarPanel.js: Added.
(WebInspector.StorageSidebarPanel):
(WebInspector.StorageSidebarPanel.prototype.showDefaultContentView):
(WebInspector.StorageSidebarPanel.prototype.closed):
(WebInspector.StorageSidebarPanel.prototype._treeElementSelected):
(WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addDOMStorageObject):
(WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasInspected):
(WebInspector.StorageSidebarPanel.prototype._databaseWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addDatabase):
(WebInspector.StorageSidebarPanel.prototype._databaseWasInspected):
(WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
(WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addCookieStorageObject):
(WebInspector.StorageSidebarPanel.prototype._frameManifestAdded):
(WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
(WebInspector.StorageSidebarPanel.prototype._frameManifestRemoved):
(WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
(WebInspector.StorageSidebarPanel.prototype._addStorageChild):
(WebInspector.StorageSidebarPanel.prototype._storageCleared):
- UserInterface/Views/StorageTabContentView.js: Copied from Source/WebInspectorUI/UserInterface/Views/ResourcesTabContentView.js.
(WebInspector.StorageTabContentView):
(WebInspector.StorageTabContentView.prototype.get type):
(WebInspector.StorageTabContentView.prototype.canShowRepresentedObject):
- 2:59 PM Changeset in webkit [183579] by
-
- 60 edits50 deletes in trunk/Source/WebInspectorUI
Web Inspector: Remove Legacy images and styles
https://bugs.webkit.org/show_bug.cgi?id=144390
Reviewed by Joseph Pecoraro.
- UserInterface/Base/ImageUtilities.js:
(.generateImage):
(.generateImage.generateLegacyImage): Deleted.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._updateToolbarHeight):
- UserInterface/Base/Platform.js:
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording):
- UserInterface/Images/Legacy/BackArrow.svg: Removed.
- UserInterface/Images/Legacy/Breakpoints.svg: Removed.
- UserInterface/Images/Legacy/Close.svg: Removed.
- UserInterface/Images/Legacy/CloseLarge.svg: Removed.
- UserInterface/Images/Legacy/Colors.png: Removed.
- UserInterface/Images/Legacy/Colors@2x.png: Removed.
- UserInterface/Images/Legacy/ColorsLarge.png: Removed.
- UserInterface/Images/Legacy/ColorsLarge@2x.png: Removed.
- UserInterface/Images/Legacy/DockBottom.svg: Removed.
- UserInterface/Images/Legacy/DockRight.svg: Removed.
- UserInterface/Images/Legacy/DownloadArrow.svg: Removed.
- UserInterface/Images/Legacy/Errors.svg: Removed.
- UserInterface/Images/Legacy/ErrorsEnabled.svg: Removed.
- UserInterface/Images/Legacy/FilterFieldGlyph.svg: Removed.
- UserInterface/Images/Legacy/FolderGeneric.png: Removed.
- UserInterface/Images/Legacy/FolderGeneric@2x.png: Removed.
- UserInterface/Images/Legacy/ForwardArrow.svg: Removed.
- UserInterface/Images/Legacy/Issues.svg: Removed.
- UserInterface/Images/Legacy/IssuesEnabled.svg: Removed.
- UserInterface/Images/Legacy/LayerBorders.svg: Removed.
- UserInterface/Images/Legacy/Logs.svg: Removed.
- UserInterface/Images/Legacy/NavigationItemCurleyBraces.svg: Removed.
- UserInterface/Images/Legacy/NavigationItemTrash.svg: Removed.
- UserInterface/Images/Legacy/Network.png: Removed.
- UserInterface/Images/Legacy/Network@2x.png: Removed.
- UserInterface/Images/Legacy/NetworkLarge.png: Removed.
- UserInterface/Images/Legacy/NetworkLarge@2x.png: Removed.
- UserInterface/Images/Legacy/Pause.svg: Removed.
- UserInterface/Images/Legacy/Plus.svg: Removed.
- UserInterface/Images/Legacy/Recording.png: Removed.
- UserInterface/Images/Legacy/Recording@2x.png: Removed.
- UserInterface/Images/Legacy/RecordingHovered.png: Removed.
- UserInterface/Images/Legacy/RecordingHovered@2x.png: Removed.
- UserInterface/Images/Legacy/RecordingStopped.png: Removed.
- UserInterface/Images/Legacy/RecordingStopped@2x.png: Removed.
- UserInterface/Images/Legacy/Reload.svg: Removed.
- UserInterface/Images/Legacy/Resources.svg: Removed.
- UserInterface/Images/Legacy/Resume.svg: Removed.
- UserInterface/Images/Legacy/ShadowDOM.svg: Removed.
- UserInterface/Images/Legacy/SortIndicatorDownArrow.svg: Removed.
- UserInterface/Images/Legacy/SortIndicatorUpArrow.svg: Removed.
- UserInterface/Images/Legacy/SplitToggleDown.svg: Removed.
- UserInterface/Images/Legacy/SplitToggleUp.svg: Removed.
- UserInterface/Images/Legacy/StepInto.svg: Removed.
- UserInterface/Images/Legacy/StepOut.svg: Removed.
- UserInterface/Images/Legacy/StepOver.svg: Removed.
- UserInterface/Images/Legacy/Time.svg: Removed.
- UserInterface/Images/Legacy/Undock.svg: Removed.
- UserInterface/Images/Legacy/UpDownArrows.svg: Removed.
- UserInterface/Images/Legacy/Weight.svg: Removed.
- UserInterface/Views/ButtonNavigationItem.css:
(body.mac-platform.legacy .navigation-bar .item.button.text-only): Deleted.
- UserInterface/Views/ButtonToolbarItem.css:
(body.mac-platform.legacy .toolbar .item.button > .label): Deleted.
- UserInterface/Views/CSSStyleDeclarationSection.css:
(body.mac-platform.legacy .style-declaration-section): Deleted.
(body.mac-platform.legacy .style-declaration-section + .style-declaration-section): Deleted.
(body.mac-platform.legacy .style-declaration-section.last-in-group): Deleted.
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section): Deleted.
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:matches(.last-in-group, :last-child)): Deleted.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.details.css-style > .content): Deleted.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
- UserInterface/Views/ControlToolbarItem.css:
(body.mac-platform.legacy .toolbar .item.control): Deleted.
(body.mac-platform.legacy .toolbar .item.control:hover): Deleted.
- UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
- UserInterface/Views/DOMTreeOutline.css:
(body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
(body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection): Deleted.
(body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection): Deleted.
- UserInterface/Views/DashboardContainerView.css:
(body.mac-platform.legacy .toolbar .dashboard-container): Deleted.
(body.mac-platform.legacy.window-inactive .toolbar .dashboard-container): Deleted.
(body.mac-platform.legacy.window-inactive .toolbar .dashboard): Deleted.
(body.mac-platform.legacy .dashboard-container .advance-arrow): Deleted.
- UserInterface/Views/DataGrid.css:
(body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)): Deleted.
(body.mac-platform.legacy .data-grid:focus tr.selected): Deleted.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
- UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView):
- UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView):
- UserInterface/Views/DebuggerSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content): Deleted.
- UserInterface/Views/DebuggerSidebarPanel.js:
- UserInterface/Views/DefaultDashboardView.css:
(body.mac-platform.legacy .toolbar .dashboard.default > .item): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .logs > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .errors > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .issues > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img): Deleted.
- UserInterface/Views/DetailsSection.css:
(body.mac-platform.legacy .details-section): Deleted.
(body.mac-platform.legacy .details-section .details-section): Deleted.
(body.mac-platform.legacy .details-section .details-section:first-child): Deleted.
(body.mac-platform.legacy .details-section > .header): Deleted.
(body.mac-platform.legacy .details-section .details-section > .header): Deleted.
(body.mac-platform.legacy .details-section .details-section.collapsed > .header): Deleted.
(body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline): Deleted.
(body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
(body.mac-platform.legacy .details-section > .content > .group): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:nth-child(even)): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:matches(:nth-child(even), :last-child) > .row.simple:last-child > *): Deleted.
(body.mac-platform.legacy .details-section > .content > .group > .row:matches(.empty, .text)): Deleted.
- UserInterface/Views/DividerNavigationItem.css:
(.navigation-bar .item.divider):
(body.mac-platform.legacy .navigation-bar .item.divider): Deleted.
- UserInterface/Views/FilterBar.css:
(.filter-bar > input[type="search"]::-webkit-search-decoration):
(body.mac-platform.legacy .filter-bar): Deleted.
(body.mac-platform.legacy .filter-bar > input[type="search"]): Deleted.
(body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration): Deleted.
- UserInterface/Views/FindBanner.css:
(body.mac-platform.legacy .find-banner > input[type="search"]): Deleted.
(body.mac-platform.legacy .find-banner > button > .glyph): Deleted.
(body.mac-platform.legacy .find-banner > button.segmented.left > .glyph): Deleted.
(body.mac-platform.legacy .find-banner > button.segmented.right > .glyph): Deleted.
(body.mac-platform.legacy .find-banner > button.segmented): Deleted.
- UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
(WebInspector.FindBanner):
- UserInterface/Views/FolderIcon.css:
(.folder-icon .icon):
(body.mac-platform.legacy .folder-icon .icon): Deleted.
- UserInterface/Views/HierarchicalPathComponent.css:
(body.mac-platform.legacy .hierarchical-path-component > .selector-arrows): Deleted.
- UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
(WebInspector.IndexedDatabaseObjectStoreContentView):
- UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.details.layer-tree > .content): Deleted.
(body.mac-platform.legacy .panel.details.layer-tree .bottom-bar): Deleted.
(body.mac-platform.legacy .panel.details.layer-tree .bottom-bar > div): Deleted.
(body.mac-platform.legacy .layer-tree-popover): Deleted.
- UserInterface/Views/LogContentView.css:
(body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]): Deleted.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
- UserInterface/Views/Main.css:
(body.mac-platform.legacy:not(.docked)): Deleted.
(body.docked.bottom.mac-platform.legacy): Deleted.
(body.docked.right.mac-platform.legacy): Deleted.
(body.mac-platform.legacy #split-content-browser > .navigation-bar): Deleted.
- UserInterface/Views/NavigationBar.css:
(.navigation-bar .item):
(body.mac-platform.legacy .navigation-bar): Deleted.
(body.mac-platform.legacy .navigation-bar .item): Deleted.
- UserInterface/Views/NavigationSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation > .content): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder): Deleted.
(body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
(body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected): Deleted.
(body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
- UserInterface/Views/Popover.js:
- UserInterface/Views/ProbeDetailsSidebarPanel.css:
(body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples): Deleted.
(body.mac-platform.legacy .details-section.probe-set .options > .probe-remove): Deleted.
(body.mac-platform.legacy .details-section.probe-set .options > .probe-add): Deleted.
- UserInterface/Views/QuickConsole.css:
(body.mac-platform.legacy .quick-console): Deleted.
- UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button.text-only.selected:active):
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover): Deleted.
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected): Deleted.
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active): Deleted.
- UserInterface/Views/RulesStyleDetailsPanel.css:
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section): Deleted.
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule): Deleted.
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section): Deleted.
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
- UserInterface/Views/ScopeBar.css:
(.scope-bar > li.selected:active):
(body.mac-platform.legacy .scope-bar > li): Deleted.
(body.mac-platform.legacy .scope-bar > li:hover): Deleted.
(body.mac-platform.legacy .scope-bar > li.selected): Deleted.
(body.mac-platform.legacy .scope-bar > li:active): Deleted.
(body.mac-platform.legacy .scope-bar > li.selected:active): Deleted.
- UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
- UserInterface/Views/SearchBar.css:
(body.mac-platform.legacy .search-bar > input[type="search"]): Deleted.
- UserInterface/Views/SearchSidebarPanel.css:
(.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar > input[type="search"]): Deleted.
- UserInterface/Views/Sidebar.css:
(body.window-inactive .sidebar.right):
(body.mac-platform.legacy .sidebar): Deleted.
(body.mac-platform.legacy.window-inactive .sidebar): Deleted.
(body.mac-platform.legacy .sidebar.right): Deleted.
- UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
- UserInterface/Views/TimelineDataGrid.css:
(body.mac-platform.legacy .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
- UserInterface/Views/TimelineIcons.css:
(body.mac-platform.legacy .network-icon .icon): Deleted.
(body.mac-platform.legacy .network-icon.large .icon): Deleted.
(body.mac-platform.legacy .colors-icon .icon): Deleted.
(body.mac-platform.legacy .colors-icon.large .icon): Deleted.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
- UserInterface/Views/TimelineRuler.css:
(body.mac-platform.legacy .timeline-ruler > .header): Deleted.
(body.mac-platform.legacy .timeline-ruler > .selection-drag): Deleted.
(body.mac-platform.legacy .timeline-ruler > .selection-handle): Deleted.
- UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button): Deleted.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
- UserInterface/Views/Toolbar.css:
(body.mac-platform:not(.docked) .toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar): Deleted.
(body.mac-platform.legacy .toolbar): Deleted.
(body.mac-platform.legacy.docked .toolbar): Deleted.
(body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Deleted.
(body.mac-platform.legacy.window-inactive .toolbar): Deleted.
- UserInterface/Views/TreeElementStatusButton.css:
(body.mac-platform.legacy .item > .status > .status-button > svg .filled): Deleted.
(body.mac-platform.legacy .item > .status > .status-button > svg .stroked): Deleted.
- 2:44 PM Changeset in webkit [183578] by
-
- 2 edits in trunk/Source/WebCore
Some media tests assert after r183096
https://bugs.webkit.org/show_bug.cgi?id=144098
Reviewed by Brent Fulgham.
Never assert when a MediaPlaybackTargetClient client calls one of the methods on Document
after it has been unregistered. A media element unregisters itself when it is removed from the
document, but scripts can still run and modify state that results in a call to
playbackTargetPickerClientStateDidChange. Remove the asserts instead of adding checks to
the various call sites.
- dom/Document.cpp:
(WebCore::Document::showPlaybackTargetPicker): Don't assert if the client has already
been unregistered.
(WebCore::Document::playbackTargetPickerClientStateDidChange): Ditto.
- 2:43 PM Changeset in webkit [183577] by
-
- 133 edits in trunk/Source/WebInspectorUI
[GTK] Web Inspector: Optimize SVG images
https://bugs.webkit.org/show_bug.cgi?id=143476
SVG images optimized with a combination of sed replacements and
the usage of the scour tool (http://www.codedread.com/scour/).
Also, modified the spelling of the license word to use the US one
in the copyright files.
Reviewed by Martin Robinson.
- UserInterface/Images/gtk/BackArrow.svg:
- UserInterface/Images/gtk/BottomUpTree.svg:
- UserInterface/Images/gtk/BreakpointActionAdd.svg:
- UserInterface/Images/gtk/BreakpointActionRemove.svg:
- UserInterface/Images/gtk/BreakpointButton.svg:
- UserInterface/Images/gtk/BreakpointInactiveButton.svg:
- UserInterface/Images/gtk/Breakpoints.svg:
- UserInterface/Images/gtk/COPYING:
- UserInterface/Images/gtk/COPYING_CCBYSA3:
- UserInterface/Images/gtk/Checkers.svg:
- UserInterface/Images/gtk/Circle.svg:
- UserInterface/Images/gtk/Close.svg:
- UserInterface/Images/gtk/CloseLarge.svg:
- UserInterface/Images/gtk/CloseWhite.svg:
- UserInterface/Images/gtk/ContentFlow.svg:
- UserInterface/Images/gtk/Crosshair.svg:
- UserInterface/Images/gtk/DOMCharacterData.svg:
- UserInterface/Images/gtk/DOMComment.svg:
- UserInterface/Images/gtk/DOMDocument.svg:
- UserInterface/Images/gtk/DOMDocumentType.svg:
- UserInterface/Images/gtk/DOMElement.svg:
- UserInterface/Images/gtk/DOMNode.svg:
- UserInterface/Images/gtk/DOMTextNode.svg:
- UserInterface/Images/gtk/DOMTree.svg:
- UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg:
- UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg:
- UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg:
- UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg:
- UserInterface/Images/gtk/DockBottom.svg:
- UserInterface/Images/gtk/DockRight.svg:
- UserInterface/Images/gtk/DownloadArrow.svg:
- UserInterface/Images/gtk/Error.svg:
- UserInterface/Images/gtk/Errors.svg:
- UserInterface/Images/gtk/ErrorsEnabled.svg:
- UserInterface/Images/gtk/EventListener.svg:
- UserInterface/Images/gtk/Exception.svg:
- UserInterface/Images/gtk/Eye.svg:
- UserInterface/Images/gtk/FilterFieldGlyph.svg:
- UserInterface/Images/gtk/ForwardArrow.svg:
- UserInterface/Images/gtk/Function.svg:
- UserInterface/Images/gtk/GoToArrow.svg:
- UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg:
- UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg:
- UserInterface/Images/gtk/Issues.svg:
- UserInterface/Images/gtk/IssuesEnabled.svg:
- UserInterface/Images/gtk/LayerBorders.svg:
- UserInterface/Images/gtk/Locked.svg:
- UserInterface/Images/gtk/Logs.svg:
- UserInterface/Images/gtk/Native.svg:
- UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
- UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
- UserInterface/Images/gtk/NavigationItemBug.svg:
- UserInterface/Images/gtk/NavigationItemCurleyBraces.svg:
- UserInterface/Images/gtk/NavigationItemFile.svg:
- UserInterface/Images/gtk/NavigationItemLayers.svg:
- UserInterface/Images/gtk/NavigationItemLog.svg:
- UserInterface/Images/gtk/NavigationItemProbes.svg:
- UserInterface/Images/gtk/NavigationItemStopwatch.svg:
- UserInterface/Images/gtk/NavigationItemStorage.svg:
- UserInterface/Images/gtk/NavigationItemTrash.svg:
- UserInterface/Images/gtk/NavigationItemTypes.svg:
- UserInterface/Images/gtk/NavigationItemVariable.svg:
- UserInterface/Images/gtk/PaintFlashing.svg:
- UserInterface/Images/gtk/Pause.svg:
- UserInterface/Images/gtk/PausedBreakpoint.svg:
- UserInterface/Images/gtk/Percent.svg:
- UserInterface/Images/gtk/Plus.svg:
- UserInterface/Images/gtk/PseudoElement.svg:
- UserInterface/Images/gtk/Record.svg:
- UserInterface/Images/gtk/Reflection.svg:
- UserInterface/Images/gtk/Reload.svg:
- UserInterface/Images/gtk/ReloadFull.svg:
- UserInterface/Images/gtk/ReplayPauseButton.svg:
- UserInterface/Images/gtk/ReplayPlayButton.svg:
- UserInterface/Images/gtk/ReplayRecordingButton.svg:
- UserInterface/Images/gtk/Request.svg:
- UserInterface/Images/gtk/Resources.svg:
- UserInterface/Images/gtk/Response.svg:
- UserInterface/Images/gtk/ResultLine.svg:
- UserInterface/Images/gtk/Resume.svg:
- UserInterface/Images/gtk/ShadowDOM.svg:
- UserInterface/Images/gtk/SortIndicatorDownArrow.svg:
- UserInterface/Images/gtk/SortIndicatorUpArrow.svg:
- UserInterface/Images/gtk/SourceCode.svg:
- UserInterface/Images/gtk/SplitToggleDown.svg:
- UserInterface/Images/gtk/SplitToggleUp.svg:
- UserInterface/Images/gtk/StepInto.svg:
- UserInterface/Images/gtk/StepOut.svg:
- UserInterface/Images/gtk/StepOver.svg:
- UserInterface/Images/gtk/Stop.svg:
- UserInterface/Images/gtk/StyleRuleAuthor.svg:
- UserInterface/Images/gtk/StyleRuleInherited.svg:
- UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
- UserInterface/Images/gtk/StyleRuleInspector.svg:
- UserInterface/Images/gtk/StyleRuleUser.svg:
- UserInterface/Images/gtk/StyleRuleUserAgent.svg:
- UserInterface/Images/gtk/Time.svg:
- UserInterface/Images/gtk/TimelineRecordAnimation.svg:
- UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg:
- UserInterface/Images/gtk/TimelineRecordEvent.svg:
- UserInterface/Images/gtk/TimelineRecordLayout.svg:
- UserInterface/Images/gtk/TimelineRecordPaint.svg:
- UserInterface/Images/gtk/TimelineRecordProbeSampled.svg:
- UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
- UserInterface/Images/gtk/TimelineRecordStyle.svg:
- UserInterface/Images/gtk/TimelineRecordTimer.svg:
- UserInterface/Images/gtk/TypeBoolean.svg:
- UserInterface/Images/gtk/TypeNull.svg:
- UserInterface/Images/gtk/TypeNumber.svg:
- UserInterface/Images/gtk/TypeObject.svg:
- UserInterface/Images/gtk/TypeRegex.svg:
- UserInterface/Images/gtk/TypeString.svg:
- UserInterface/Images/gtk/TypeSymbol.svg:
- UserInterface/Images/gtk/TypeUndefined.svg:
- UserInterface/Images/gtk/Undock.svg:
- UserInterface/Images/gtk/UpDownArrows.svg:
- UserInterface/Images/gtk/UserInputPrompt.svg:
- UserInterface/Images/gtk/UserInputPromptPrevious.svg:
- UserInterface/Images/gtk/UserInputResult.svg:
- UserInterface/Images/gtk/Warning.svg:
- UserInterface/Images/gtk/Weight.svg:
- 2:32 PM Changeset in webkit [183576] by
-
- 5 edits2 adds in trunk
Simple line layout: Web process spins endlessly below layoutSimpleLines.
https://bugs.webkit.org/show_bug.cgi?id=144403
rdar://problem/20742783
Reviewed by Antti Koivisto.
When a text fragment overlaps multiple renderes and it does not fit the current line,
we revert the text fragment iterator position so that the overlapping content
gets processed again for the next line.
However, TextFragmentIterator::revertToFragment() was reverting too much and
we started processing old content all over again -> infinite loop.
This patch ensures that text fragment iterator is reverted to the right position.
Source/WebCore:
Test: fast/text/simple-line-layout-wrapping-multiple-renderers-hang.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::createLineRuns):
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToEndOfFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment): Deleted.
- rendering/SimpleLineLayoutTextFragmentIterator.h:
LayoutTests:
- fast/text/simple-line-layout-wrapping-multiple-renderers-hang-expected.html: Added.
- fast/text/simple-line-layout-wrapping-multiple-renderers-hang.html: Added.
- 2:27 PM Changeset in webkit [183575] by
-
- 12 edits1 add in trunk/Source
Source/JavaScriptCore:
JSTypeInfo should have an inline type flag to indicate of getCallData() has been overridden
https://bugs.webkit.org/show_bug.cgi?id=144397
Reviewed by Andreas Kling.
Add the flag to JSTypeInfo. It's an inline flag so that it's fast to query. Slap the flag on
callback objects and internal functions. Modify the TypeOf operation to use this flag to avoid
making a getCallData() call if it isn't necessary.
- API/JSCallbackObject.h:
- runtime/InternalFunction.h:
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::typeOfShouldCallGetCallData):
- runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
- tests/stress/type-of-functions-and-objects.js: Added.
(foo):
(bar):
(baz):
(fuzz):
(expect):
(test):
Source/WebCore:
JSTypeInfo should have an inline type flag to indicate of getCallData() has been overridden
https://bugs.webkit.org/show_bug.cgi?id=144397
Reviewed by Andreas Kling.
If you override getCallData() and you want to be called a "function", then you need to use the
new TypeOfShouldCallGetCallData flag.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bridge/objc/objc_runtime.h:
- bridge/runtime_method.h:
- bridge/runtime_object.h:
Source/WebKit2:
JSTypeInfo should have an inline type flag to indicate if getCallData() has been overridden
https://bugs.webkit.org/show_bug.cgi?id=144397
Reviewed by Andreas Kling.
If you override getCallData() and you want to be called a "function", then you need to use the
new TypeOfShouldCallGetCallData flag.
- WebProcess/Plugins/Netscape/JSNPObject.h:
- 1:50 PM Changeset in webkit [183574] by
-
- 6 edits2 deletes in tags/Safari-601.1.31/Source/WebCore
Merged r183568.
- 1:27 PM Changeset in webkit [183573] by
-
- 2 edits in trunk/LayoutTests
Mark newly added http/tests/cache/main-resource-304-reload.html failing on Windows.
- platform/win/TestExpectations:
- 12:55 PM Changeset in webkit [183572] by
-
- 3 edits in trunk/Tools
Use-after-free when invalidating WKPageForceRepaint callback
https://bugs.webkit.org/show_bug.cgi?id=144401
rdar://problem/20741111
Reviewed by Tim Horton.
- WebKitTestRunner/TestController.h: (WTR::TestController::isCurrentInvocation): Added.
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::forceRepaintDoneCallback):
Don't do anything on error, because the context may be a stale pointer now.
- 12:53 PM Changeset in webkit [183571] by
-
- 2 edits in tags/Safari-601.1.31/Source/WebCore
Merged r183561.
- 12:48 PM Changeset in webkit [183570] by
-
- 31 edits1 delete in trunk
It shouldn't take 1846 lines of code and 5 FIXMEs to sort an array.
https://bugs.webkit.org/show_bug.cgi?id=144013
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch implements Array.prototype.sort in JavaScript, removing the
C++ implementations. It is simpler and less error-prone to express our
operations in JavaScript, which provides memory safety, exception safety,
and recursion safety.
The performance result is mixed, but net positive in my opinion. It's
difficult to enumerate all the results, since we used to have so many
different sorting modes, and there are lots of different data patterns
across which you might want to measure sorting. Suffice it to say:
(*) The benchmarks we track are faster or unchanged.
(*) Sorting random input using a comparator -- which we think is
common -- is 3X faster.
(*) Sorting random input in a non-array object -- which jQuery does
-- is 4X faster.
(*) Sorting random input in a compact array of integers using a
trivial pattern-matchable comparator is 2X *slower*.
- builtins/Array.prototype.js:
(sort.min):
(sort.stringComparator):
(sort.compactSparse): Special case compaction for sparse arrays because
we don't want to hang when sorting new Array(BIG).
(sort.compact):
(sort.merge):
(sort.mergeSort): Use merge sort because it's a reasonably efficient
stable sort. We have evidence that some sites depend on stable sort,
even though the ES6 spec does not mandate it. (See
<http://trac.webkit.org/changeset/33967>.)
This is a textbook implementation of merge sort with three optimizations:
(1) Use iteration instead of recursion;
(2) Use array subscripting instead of array copying in order to
create logical sub-lists without creating physical sub-lists;
(3) Swap src and dst at each iteration instead of copying src into
dst, and only copy src into the subject array at the end if src is
not the subject array.
(sort.inflate):
(sort.comparatorSort):
(sort): Sort in JavaScript for the win.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createExecutableInternal): Allow non-private
names so we can use helper functions.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::isNumericCompareFunction): Deleted.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::setIsNumericCompareFunction): Deleted.
(JSC::UnlinkedCodeBlock::isNumericCompareFunction): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::setIsNumericCompareFunction): Deleted.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionNode::emitBytecode): We don't do this special casing based
on pattern matching anymore. This was mainly an optimization to avoid
the overhead of calling from C++ to JS, which we now avoid by
sorting in JS.
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::pushTempSortVector): Deleted.
(JSC::Heap::popTempSortVector): Deleted.
(JSC::Heap::visitTempSortVectors): Deleted.
- heap/Heap.h: We don't have temp sort vectors anymore because we sort
in JavaScript using a normal JavaScript array for our temporary storage.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner): Allow capturing so we can use
helper functions.
- runtime/ArrayPrototype.cpp:
(JSC::isNumericCompareFunction): Deleted.
(JSC::attemptFastSort): Deleted.
(JSC::performSlowSort): Deleted.
(JSC::arrayProtoFuncSort): Deleted.
- runtime/CommonIdentifiers.h: New strings used by sort.
- runtime/JSArray.cpp:
(JSC::compareNumbersForQSortWithInt32): Deleted.
(JSC::compareNumbersForQSortWithDouble): Deleted.
(JSC::compareNumbersForQSort): Deleted.
(JSC::compareByStringPairForQSort): Deleted.
(JSC::JSArray::sortNumericVector): Deleted.
(JSC::JSArray::sortNumeric): Deleted.
(JSC::ContiguousTypeAccessor::getAsValue): Deleted.
(JSC::ContiguousTypeAccessor::setWithValue): Deleted.
(JSC::ContiguousTypeAccessor::replaceDataReference): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::getAsValue): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::setWithValue): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::replaceDataReference): Deleted.
(JSC::JSArray::sortCompactedVector): Deleted.
(JSC::JSArray::sort): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_less): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_less): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_greater): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_greater): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_balance_factor): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_balance_factor): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_key): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_node): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_node_node): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::null): Deleted.
(JSC::JSArray::sortVector): Deleted.
(JSC::JSArray::compactForSorting): Deleted.
- runtime/JSArray.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation): Provide some builtins used
by sort.
Source/WTF:
Remove this custom tree implementation because it is unused. (It was
previously used to achieve a stable array sort in certain cases.)
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.xcodeproj/project.pbxproj:
- wtf/AVLTree.h: Removed.
- wtf/CMakeLists.txt:
LayoutTests:
- js/script-tests/array-holes.js:
- js/array-holes-expected.txt: This result now matches Firefox. We see
'peekaboo', which is a prototype property, rather than a hole, because
sorting uses Get, which sees prototype properties.
The ES6 spec says that sorting should use Get, so this new result
matches the spec a little better -- although the spec also says that the
result of sorting is undefined in this case because of the presence of
an indexed property in the prototype chain.
- js/dom/array-prototype-properties-expected.txt: Updated error message
to match other array prototype error messages.
- js/comparefn-sort-stability-expected.txt:
- js/script-tests/comparefn-sort-stability.js: Made this test bigger in
order to demonstrate that Firefox and Safari use a stable sort, and
Chrome does not.
- js/script-tests/array-sort-sparse.js:
- js/array-sort-sparse-expected.txt: Added some tests for things I got
wrong in this patch.
- script-tests/sort-with-side-effecting-comparisons.js: Made this test
shorter so that it wouldn't hang debug builds. This test is O(N2). It
used to terminate sooner because our sort implementation would (sometimes)
terminate sooner if you shrank the array. Our new sort does not accept
intermediate updates to the array's length, matching Firefox. I spoke
to Gavin and Alexey about this, and we think that going out of our way
to honor length changes mid-sort doesn't make much sense because it's
not possible to honor the general case of value changes in a predictable
way.
- 12:45 PM Changeset in webkit [183569] by
-
- 2 edits in tags/Safari-601.1.31/Source/JavaScriptCore
Merged r183526. rdar://problem/20717863
- 12:42 PM Changeset in webkit [183568] by
-
- 6 edits2 deletes in trunk/Source/WebCore
Unreviewed, rolling out r183553 and r183561.
https://bugs.webkit.org/show_bug.cgi?id=144406
broke the iOS build (Requested by thorton on #webkit).
Reverted changesets:
"Switch QuickLook soft-linking to use
QuickLookSoftLink.{h,mm}"
https://bugs.webkit.org/show_bug.cgi?id=144362
http://trac.webkit.org/changeset/183553
"Unreviewed iOS build fix after r183553: fix declaration of
QLPreviewScheme"
http://trac.webkit.org/changeset/183561
- 12:32 PM Changeset in webkit [183567] by
-
- 3 edits in trunk/Tools
check-webkit-style: Don't complain about returning value from Objective-C method call in header
<http://webkit.org/b/144395>
Reviewed by Andy Estes.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing): Update regex so 'return' is ignored if it
precedes the whitespace and bracket. Change category name to
'whitespace/brackets'. Add period to error message.
(CppChecker): Add 'whitespace/brackets' as a category.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(ErrorCollector.call): Replace 'STYLE_CATEGORIES' with
'CppChecker.categories' since that's where the list lives now.
(CppStyleTest.test_spacing_before_brackets): Add tests for
'whitespace/brackets' issues and non-issues.
- 12:23 PM Changeset in webkit [183566] by
-
- 2 edits in trunk/Tools
Fix WinCairo bot.
- Scripts/webkitdirs.pm:
(determinePassedConfiguration):
WinCairo bot doesn't use cygwin, but it needs Release_WinCairo for its configuration.
- 12:19 PM Changeset in webkit [183565] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Navigation bar often looses last button when full
https://bugs.webkit.org/show_bug.cgi?id=144385
Added helpers to get the subpixel width and height of an element.
Adopt them in the NavigationBar layout methods to get precise widths
that don't accumulate rounding errors which lead to items overflowing.
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Utilities.js:
(Element.prototype.realOffsetWidth): Added.
(Element.prototype.realOffsetHeight): Added.
- UserInterface/Views/HierarchicalPathNavigationItem.js:
(WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout):
- UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.updateLayout):
(WebInspector.NavigationBar.prototype._calculateMinimumWidth):
- UserInterface/Views/TabBar.js:
(WebInspector.TabBar.prototype._handleMouseMoved):
- UserInterface/Views/Toolbar.js:
(WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
(WebInspector.Toolbar.prototype.customUpdateLayout):
- 12:00 PM Changeset in webkit [183564] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Safari WebKit crash when loading Google Spreadsheet.
https://bugs.webkit.org/show_bug.cgi?id=144020
Reviewed by Filip Pizlo.
The bug is that the object allocation sinking phase did not account for a case
where a property of a sunken object is only initialized on one path and not
another. As a result, on the path where the property is not initialized, we'll
encounter an Upsilon with a BottomValue (which is not allowed by definition).
The fix is to use a JSConstant(undefined) as the bottom value instead (of
BottomValue). If the property is uninitialized, it should still be accessible
and have the value undefined.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):
- tests/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js: Added.
(foo):
(foo2):
- 11:51 AM Changeset in webkit [183563] by
-
- 26 edits in trunk/Source
ResourceLoadPriority should be enum class
https://bugs.webkit.org/show_bug.cgi?id=144326
Reviewed by Darin Adler.
Source/WebCore:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink):
- loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::scheduleLoad):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
(WebCore::ResourceLoadScheduler::HostInformation::priorityToIndex):
(WebCore::ResourceLoadScheduler::HostInformation::schedule):
(WebCore::ResourceLoadScheduler::HostInformation::remove):
(WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
(WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
- loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
Modernize ResourceLoadScheduler code a bit while switching to enum class.
- loader/cache/CachedResource.cpp:
(WebCore::defaultPriorityForResourceType):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
- platform/network/ResourceLoadPriority.h:
(WebCore::operator++):
(WebCore::operator--):
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):
(WebCore::ResourceRequestBase::cachePolicy):
(WebCore::ResourceRequestBase::priority):
(WebCore::ResourceRequestBase::setPriority):
- platform/network/ResourceRequestBase.h:
Remove bitfields. ResourceRequests are not present in large enough numbers to require this kind of optimization.
Use modern initialization syntax.
(WebCore::ResourceRequestBase::ResourceRequestBase):
(WebCore::CrossThreadResourceRequestDataBase::CrossThreadResourceRequestDataBase): Deleted.
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::initializeMaximumHTTPConnectionCountPerHost):
(WebCore::initializeHTTPConnectionSettingsOnStartup):
- platform/network/cf/ResourceRequestCFNet.h:
(WebCore::toResourceLoadPriority):
(WebCore::toPlatformRequestPriority):
- platform/network/soup/ResourceRequest.h:
(WebCore::toSoupMessagePriority):
- testing/Internals.cpp:
(WebCore::stringToResourceLoadPriority):
Source/WebKit2:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::servePendingRequests): Deleted.
Remove this unused message.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeStoreDecision):
(WebKit::NetworkCache::Cache::retrieve):
- NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
- WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::servePendingRequests):
- WebProcess/Network/WebResourceLoadScheduler.h:
- 11:31 AM Changeset in webkit [183562] by
-
- 22 edits in trunk
[OS X] Use CTFontCreateForCSS instead of doing font search ourselves
https://bugs.webkit.org/show_bug.cgi?id=132159
Reviewed by Darin Adler.
Source/WebCore:
On platforms that support it, delegate font selection logic to the platform. Currently, this is
only supported on Mac, using CTFontCreateForCSS().
This also changes the mechanism that enforces our font whitelist in our tests. We used to
swizzle the implementations of NSFontManager methods. This patch migrates to using a whitelist of
font family names instead.
Note that this patch is a work in progress, because it makes the following tests fail:
fast/css/font-weight-1.html
fast/forms/validation-message-appearance.html
fast/forms/select/optgroup-rendering.html
No new tests, because there is no behavior change.
- platform/graphics/FontCache.h: Add a function to set the whitlist.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWhitelist):
(WebCore::FontCache::setFontWhitelist):
(WebCore::toAppKitFontWeight):
(WebCore::toCoreTextFontWeight):
(WebCore::fontWithFamily): If ENABLE(PLATFORM_FONT_LOOKUP), use CTFontCreateForCSS().
(WebCore::FontCache::createFontPlatformData):
- platform/spi/cocoa/CoreTextSPI.h: Add signature for CTFontCreateForCSS().
Source/WebKit/mac:
Add SPI to set the font whitelist.
- WebView/WebView.mm:
(+[WebView _setFontWhitelist:]):
- WebView/WebViewPrivate.h:
Source/WebKit2:
Add SPI to set the font whitelist.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetFontWhitelist):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setFontWhitelist):
- UIProcess/WebProcessPool.h:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Source/WTF:
- wtf/Platform.h:
Opt-in using ENABLE(PLATFORM_FONT_LOOKUP)
Tools:
Make DumpRenderTree and WebKitTestRunner use the new font whitelist instead of
swizzling NSFontManager methods. This is predicated on ENABLE(PLATFORM_FONT_LOOKUP).
- DumpRenderTree/mac/DumpRenderTree.mm:
(fontWhitelist):
(adjustFonts):
(createWebViewAndOffscreenWindow):
- WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::activateFonts):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet):
(WTR::systemHiddenFontFamilySet):
(WTR::generateWhitelist):
(WTR::TestController::platformInitializeContext):
- 11:13 AM Changeset in webkit [183561] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed iOS build fix after r183553: fix declaration of QLPreviewScheme
- platform/ios/QuickLookSoftLink.mm:
- 11:05 AM Changeset in webkit [183560] by
-
- 6 edits in trunk/Source/WebCore
[Mac] Use new device picker menu API
https://bugs.webkit.org/show_bug.cgi?id=144392
Reviewed by Jer Noble.
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Pass the route state to the picker.
- platform/graphics/MediaPlaybackTargetPicker.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::MediaPlaybackTargetPickerMac): m_deviceChangeTimer -> m_pendingActionTimer.
(WebCore::MediaPlaybackTargetPickerMac::~MediaPlaybackTargetPickerMac): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::pendingActionTimerFired): Renamed from
outputeDeviceAvailabilityChangedTimerFired.
(WebCore::MediaPlaybackTargetPickerMac::availableDevicesDidChange): Use addPendingAction.
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Call new picker API if it is
available. New API returns true if a target is chosen, so call currentDeviceDidChange in that case.
(WebCore::MediaPlaybackTargetPickerMac::addPendingAction): New.
(WebCore::MediaPlaybackTargetPickerMac::currentDeviceDidChange): Make asynchronous because it
can now be called from showPlaybackTargetPicker.
(WebCore::MediaPlaybackTargetPickerMac::outputeDeviceAvailabilityChangedTimerFired): Renamed
pendingActionTimerFired.
- platform/spi/cocoa/AVKitSPI.h: Add new SPI.
- 10:44 AM Changeset in webkit [183559] by
-
- 6 edits1 add in trunk/Source
REGRESSION (r183373): ASSERT failed in wtf/SHA1.h
https://bugs.webkit.org/show_bug.cgi?id=144257
Reviewed by Darin Adler.
Source/JavaScriptCore:
SHA1 is used to calculate CodeBlockHash.
To calculate hash value, we pass the source code UTF-8 CString to SHA1::addBytes.
However, the source code can contain null character.
So when performingstrlenon the source code's CString, it returns the incorrect length.
In SHA1::addBytes, there's assertioninput.length() == strlen(string)and it fails.
In the template-literal-syntax.js, we perform
evalwith the script contains "\0".
As the result,strlen(string)accidentally shortened by the contained "\0", and assertion fails.
CString will be changed not to contain a null-character[1]. However, inserting the assertion here
is not correct. Because
- If CString should not contain a null character, this should be asserted in CString side instead of SHA1::addBytes.
- If CString can contain a null character, this assertion becomes incorrect.
So this patch just drops the assertion.
In the current implementation, we once convert the entire source code to the newly allocated
UTF-8 string and pass it to the SHA1 processing. However, this is memory consuming.
Ideally, we should stream the decoded bytes into the SHA1 processing iteratively.
We'll implement it in the separate patch[2].
[1]: https://bugs.webkit.org/show_bug.cgi?id=144339
[2]: https://bugs.webkit.org/show_bug.cgi?id=144263
- tests/stress/eval-script-contains-null-character.js: Added.
(shouldBe):
(test):
- tests/stress/template-literal-line-terminators.js:
- tests/stress/template-literal-syntax.js:
- tests/stress/template-literal.js:
Source/WTF:
- wtf/SHA1.h:
(WTF::SHA1::addBytes):
- 10:42 AM Changeset in webkit [183558] by
-
- 2 edits in trunk/Tools
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Reviewed by Andreas Kling.
- WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues):
Make sure that test window is "visible" before each test. While there is no concrete
evidence that this is the problem indeed, the behavior is consistent with what would
happen for an invisible window. Also, WKTR obviously needs to do this to protect
against potential buggy tests that hide the window and don't show it.
- 10:38 AM Changeset in webkit [183557] by
-
- 2 edits in trunk/Source/JavaScriptCore
Evict IsEnvironmentRecord from inline type flags
https://bugs.webkit.org/show_bug.cgi?id=144398
Reviewed by Mark Lam and Michael Saboff.
In https://bugs.webkit.org/show_bug.cgi?id=144397, we'll need an extra bit in the inline
type flags. This change picks the least important inline type flag - IsEnvironmentRecord -
and evicts it into the out-of-line type flags. This change has no performance implications
because we never even accessed IsEnvironmentRecord via the StructureIDBlob. The only place
where we access it at all is in String.prototype.repeat, and there we already load the
structure anyway.
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::implementsHasInstance):
(JSC::TypeInfo::structureIsImmortal):
(JSC::TypeInfo::isEnvironmentRecord):
- 10:31 AM Changeset in webkit [183556] by
-
- 6 edits2 copies in tags/Safari-601.1.31/Source/WebCore
Merged r183553. rdar://problem/20625299
- 10:09 AM Changeset in webkit [183555] by
-
- 3 edits3 adds in trunk
Main resource loaded via 304 response becomes empty if reloaded by user
https://bugs.webkit.org/show_bug.cgi?id=144386
Reviewed by Darin Adler.
Source/WebCore:
Memory cache layer may make a main resource request conditional (add If-modified-since/If-none-match header).
DocumentLoader stores the final ResourceRequest associated with document. If user triggered reload for
conditionally loaded document DocumentLoader would include the same conditionals to the new request as well.
Since these were not added by the memory cache it would pass any 304 response back to the DocumentLoader.
However DocumentLoader has no code to handle 304 so we would end up with an empty document.
Test: http/tests/cache/main-resource-304-reload.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Ensure DocumentLoader doesn't issue conditional requests.
LayoutTests:
- http/tests/cache/main-resource-304-reload-expected.txt: Added.
- http/tests/cache/main-resource-304-reload.html: Added.
- http/tests/cache/resources/iframe304body.php: Added.
- 9:50 AM Changeset in webkit [183554] by
-
- 7 edits2 adds in trunk/Source/WebCore
Replace HTMLMediaElement's seek timer with a task queue.
https://bugs.webkit.org/show_bug.cgi?id=144353
Reviewed by Eric Carlson.
No change in functionality, so no new tests added.
Replace a zero-length timer with an explicit task queue, backed by Document's postTask(). To
make enqueued tasks cancellable, add a new GenericTaskQueue class modelled on
GenericEventQueue which can cancel enqueued but not-yet-executed tasks.
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- dom/GenericTaskQueue.cpp: Added.
(WebCore::GenericTaskQueue::GenericTaskQueue): Initialize ivars.
(WebCore::GenericTaskQueue::enqueueTask): Wrap the task and pass it to the ScriptExecutionContext.
(WebCore::GenericTaskQueue::close): Assert that the task queue will not accept any additional tasks.
(WebCore::GenericTaskQueue::cancelAllTasks): Revoke outstanding weak pointers, thereby cancelling tasks.
- dom/GenericTaskQueue.h: Added.
(WebCore::GenericTaskQueue::hasPendingTasks):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize the task queue.
(WebCore::HTMLMediaElement::~HTMLMediaElement): Close the task queue.
(WebCore::HTMLMediaElement::seekWithTolerance): Post a task, rather than start a timer.
(WebCore::HTMLMediaElement::seekTask): Renamed from seekTimerFired().
(WebCore::HTMLMediaElement::seekTimerFired): Deleted.
- html/HTMLMediaElement.h:
- 9:39 AM Changeset in webkit [183553] by
-
- 6 edits2 adds in trunk/Source/WebCore
Switch QuickLook soft-linking to use QuickLookSoftLink.{h,mm}
<http://webkit.org/b/144362>
Reviewed by Andy Estes.
This patch switches soft-linking of QuickLook.framework to
QuickLookSoftLink.{h,mm} so that we stop exporting unintended
symbols.
No new tests since no change in behavior.
- WebCore.xcodeproj/project.pbxproj:
- Add QuickLookSoftLinking.{h,mm} to the project.
- platform/ios/QuickLookSoftLink.h: Added.
- platform/ios/QuickLookSoftLink.mm: Added.
- platform/mac/SoftLinking.h:
(SOFT_LINK_CLASS_FOR_HEADER): Add macro.
(SOFT_LINK_CLASS_FOR_SOURCE): Add macro.
- platform/network/ios/QuickLook.h:
- Remove unused declarations.
- platform/network/ios/QuickLook.mm:
(WebCore::QLPreviewConverterClass): Deleted.
(WebCore::QLTypeCopyBestMimeTypeForFileNameAndMimeType): Deleted.
(WebCore::QLTypeCopyBestMimeTypeForURLAndMimeType): Deleted.
(WebCore::QLTypeCopyUTIForURLAndMimeType): Deleted.
- Remove SOFT_LINK macros and unused methods after switching to new QuickLookSoftLink.{h,mm}.
(WebCore::QLPreviewGetSupportedMIMETypesSet):
- Switch to use NeverDestroyed<>.
(WebCore::registerQLPreviewConverterIfNeeded):
(createQLPreviewProtocol):
(WebCore::QLPreviewProtocol):
(WebCore::QuickLookHandle::QuickLookHandle):
(WebCore::QuickLookHandle::create):
(WebCore::QuickLookHandle::shouldCreateForMIMEType):
- Simplify code when using QuickLookSoftLink.h.
- platform/network/ios/WebCoreURLResponseIOS.mm:
- Include QuickLookSoftLink.h header.
- 9:33 AM Changeset in webkit [183552] by
-
- 10 edits3 adds in trunk
[ES6] Implement Unicode code point escapes
https://bugs.webkit.org/show_bug.cgi?id=144377
Reviewed by Antti Koivisto.
Source/JavaScriptCore:
- parser/Lexer.cpp: Moved the UnicodeHexValue class in here from
the header. Made it a non-member class so it doesn't need to be part
of a template. Made it use UChar32 instead of int for the value to
make it clearer what goes into this class.
(JSC::ParsedUnicodeEscapeValue::isIncomplete): Added. Replaces the
old type() function.
(JSC::Lexer<CharacterType>::parseUnicodeEscape): Renamed from
parseFourDigitUnicodeHex and added support for code point escapes.
(JSC::isLatin1): Added an overload for UChar32.
(JSC::isIdentStart): Changed this to take UChar32; no caller tries
to call it with a UChar, so no need to overload for that type for now.
(JSC::isNonLatin1IdentPart): Changed argument type to UChar32 for clarity.
Also added FIXME about a subtle ES6 change that we might want to make later.
(JSC::isIdentPart): Changed this to take UChar32; no caller tries
to call it with a UChar, so no need to overload for that type for now.
(JSC::isIdentPartIncludingEscapeTemplate): Made this a template so that we
don't need to repeat the code twice. Added code to handle code point escapes.
(JSC::isIdentPartIncludingEscape): Call the template instead of having the
code in line.
(JSC::Lexer<CharacterType>::recordUnicodeCodePoint): Added.
(JSC::Lexer<CharacterType>::parseIdentifierSlowCase): Made small tweaks and
updated to call parseUnicodeEscape instead of parseFourDigitUnicodeHex.
(JSC::Lexer<CharacterType>::parseComplexEscape): Call parseUnicodeEscape
instead of parseFourDigitUnicodeHex. Move the code to handle "\u" before
the code that handles the escapes, since the code point escape code now
consumes characters while parsing rather than peeking ahead. Test case
covers this: Symptom would be that "\u{" would evaluate to "u" instead of
giving a syntax error.
- parser/Lexer.h: Updated for above changes.
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint): Use ICU's UCHAR_MAX_VALUE instead of writing
out 0x10FFFF; clearer this way.
Source/WebCore:
Test: js/unicode-escape-sequences.html
- css/CSSParser.cpp:
(WebCore::CSSParser::parseEscape): Use ICU's UCHAR_MAX_VALUE instead of writing
out 0x10FFFF; clearer this way. Also use our replacementCharacter instead of
writing out 0xFFFD.
- html/parser/HTMLEntityParser.cpp:
(WebCore::isAlphaNumeric): Deleted.
(WebCore::HTMLEntityParser::legalEntityFor): Use ICU's UCHAR_MAX_VALUE and
U_IS_SURROGATE instead of writing the code out. Didn't use U_IS_UNICODE_CHAR
because that also includes U_IS_UNICODE_NONCHAR and thus would change behavior,
but maye it's something we want to do in the future.
(WebCore::HTMLEntityParser::consumeNamedEntity): Use isASCIIAlphanumeric instead
of a the function in this file that does the same thing less efficiently.
- html/parser/InputStreamPreprocessor.h:
(WebCore::InputStreamPreprocessor::processNextInputCharacter): Use
replacementCharacter from CharacterNames.h instead of writing out 0xFFFd.
- xml/parser/CharacterReferenceParserInlines.h:
(WebCore::consumeCharacterReference): Use ICU's UCHAR_MAX_VALUE instead of
defining our own local highestValidCharacter constant.
LayoutTests:
- js/script-tests/unicode-escape-sequences.js: Added.
- js/unicode-escape-sequences-expected.txt: Added.
- js/unicode-escape-sequences.html: Added. Generated with make-script-test-wrappers.
- 9:32 AM Changeset in webkit [183551] by
-
- 2 edits in trunk/WebKitLibraries
[WinCairo] Turn on WebGL.
https://bugs.webkit.org/show_bug.cgi?id=144389
Reviewed by Brent Fulgham.
- win/tools/vsprops/FeatureDefinesCairo.props:
- 9:20 AM Changeset in webkit [183550] by
-
- 12 edits in trunk
[CMake] [GTK] Organize and clean up unused CMake variables
https://bugs.webkit.org/show_bug.cgi?id=144364
Reviewed by Gyuyoung Kim.
.:
- Source/cmake/OptionsGTK.cmake: Remove unused variables and move variables
specific to certain projects into their PlatformGTK.cmake files.
Source/JavaScriptCore:
- PlatformGTK.cmake: Add variables specific to this project.
Source/WebCore:
- PlatformGTK.cmake: Add variables specific to this project.
Source/WebKit2:
- PlatformGTK.cmake: Add variables specific to this project.
- webkit2gtk-web-extension.pc.in: Hardcode the GTK+ API version. It rarely changes.
- webkit2gtk.pc.in: Ditto.
Source/WTF:
- wtf/PlatformGTK.cmake: Add variables specific to this project.
- 9:15 AM Changeset in webkit [183549] by
-
- 3 edits in branches/safari-600.6-branch/LayoutTests
fast/text/ruby-justification-flush.html fails on safari-600.6-branch
https://bugs.webkit.org/show_bug.cgi?id=144294
Reviewed by Andy Estes.
Simply adjust the numbers to make floating point math divide easier.
- fast/text/ruby-justification-flush-expected.html:
- fast/text/ruby-justification-flush.html:
- 8:55 AM Changeset in webkit [183548] by
-
- 7 edits3 adds in trunk/Source/JavaScriptCore
TypeOf should return SpecStringIdent and the DFG should know this
https://bugs.webkit.org/show_bug.cgi?id=144376
Reviewed by Andreas Kling.
Make TypeOf return atomic strings. That's a simple change in SmallStrings.
Make the DFG know this and use it for optimization. This makes Switch(TypeOf) a bit less
bad.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::setType):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::setType):
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::initialize):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- runtime/SmallStrings.cpp:
(JSC::SmallStrings::initialize):
- tests/stress/switch-typeof-indirect.js: Added.
(bar):
(foo):
(test):
- tests/stress/switch-typeof-slightly-indirect.js: Added.
(foo):
(test):
- tests/stress/switch-typeof.js: Added.
(foo):
(test):
- 8:49 AM Changeset in webkit [183547] by
-
- 7 edits in trunk/Source
REGRESSION(r182573): [GTK] The default context menu contains an empty item since r182573
https://bugs.webkit.org/show_bug.cgi?id=144388
Reviewed by Brady Eidson.
Source/WebCore:
There used to be a method in ContextMenuItem to check if share
menu item was supported or not, but since r182573, there's a
method to get the share menu item. If the returned menu item is
null, it's not added to the menu, but we are not returning a null
ContextMenu item even though we don't support share menu item.
- platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::ContextMenuItem::shareMenuItem): Return a null ContextMenuItem.
Source/WebKit2:
Move the WebContextMenuClient::shareMenuItem() implementation to
platform files, since platforms not supporting share menu item
should return a null ContextMenuIem instead.
- WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::shareMenuItem): Deleted.
- WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
(WebKit::WebContextMenuClient::shareMenuItem):
- WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
(WebKit::WebContextMenuClient::shareMenuItem):
- WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
(WebKit::WebContextMenuClient::shareMenuItem):
- 8:47 AM Changeset in webkit [183546] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r183467): [SOUP] isMainResource is no longer passed as resource load parameters to the network process
https://bugs.webkit.org/show_bug.cgi?id=144381
Reviewed by Darin Adler.
A requester enum value is passed now as part of the
ResourceRequest, but it's not encoded/decoded for soup.
- Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode requester.
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode requester.
- 7:34 AM Changeset in webkit [183545] by
-
- 2 edits in trunk
[EFL] Build failure to find gio-unix
https://bugs.webkit.org/show_bug.cgi?id=144083
Reviewed by Gyuyoung Kim.
Original patch by Doug Newgard <scimma22@outlook.com>
- Source/cmake/OptionsEfl.cmake: Moved geoclue block before find_package(GLIB...)
- 6:13 AM Changeset in webkit [183544] by
-
- 3 edits in trunk/Source/WebCore
Switch to std::function<>, std::bind() in MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=144232
Reviewed by Darin Adler.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
Replace uses of WTF::Function<> and WTF::bind() with the STL alternatives.
- 5:43 AM Changeset in webkit [183543] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix /webkit2/WebKitWebInspectorServer/test-open-debugging-session.
Latest changes in the inspector UI made this test fail. We were
relying that the sidebar was always visible and the first 'li'
element of the inspector was the one containing the title. This is
no longer true, so better use document title that is not likely
to change.
- TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
(openRemoteDebuggingSession):
- 5:10 AM Changeset in webkit [183542] by
-
- 2 edits in trunk/Tools
Unreviewed. Re-sorted my contributor's mails to help bugzilla on showing the proper one.
Patch by Andres Gomez <Andres Gomez> on 2015-04-29
- Scripts/webkitpy/common/config/contributors.json:
- 5:05 AM Changeset in webkit [183541] by
-
- 2 edits in trunk/Tools
Unreviewed. Created a new watchlist for changes in WebInspectorUI images and added myself to it.
Patch by Andres Gomez <Andres Gomez> on 2015-04-29
- Scripts/webkitpy/common/config/watchlist:
- 4:14 AM Changeset in webkit [183540] by
-
- 2 edits in trunk/Tools
[EFL] Allow to run the tests on the native X display
https://bugs.webkit.org/show_bug.cgi?id=144247
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-04-29
Reviewed by Gyuyoung Kim.
Added the USE_NATIVE_XDISPLAY option for the WTR.
We can select the Xorg driver if environment variable is set up before running the tests.
- Scripts/webkitpy/port/efl.py:
(EflPort._driver_class):
- 2:58 AM Changeset in webkit [183539] by
-
- 2 edits in trunk/Tools
[GTK] Add libnotify-dev in gtk install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=144379
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-04-29
Reviewed by Žan Doberšek.
- gtk/install-dependencies:
- 1:23 AM Changeset in webkit [183538] by
-
- 3 edits2 adds in trunk
Fix crash in WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock().
https://bugs.webkit.org/show_bug.cgi?id=140261
Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-04-29
Reviewed by Darin Adler.
Source/WebCore:
We need to check whether RenderObject is valid in RenderView::fooSubtreeSelection functions
because invalid object has caused a crash. This patch adds isValidObjectForNewSelection(), and use it.
- rendering/RenderView.cpp:
(WebCore::isValidObjectForNewSelection):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):
LayoutTests:
- editing/execCommand/crash-140261-expected.txt: Added.
- editing/execCommand/crash-140261.html: Added.
- 1:18 AM Changeset in webkit [183537] by
-
- 10 edits4 adds in trunk
Synchronous XMLHttpRequest should get access to AppCache resources stored as flat files
https://bugs.webkit.org/show_bug.cgi?id=143711
Reviewed by Darin Adler.
Source/WebCore:
This patch checks whether a substitute resource data is stored in memory or in file for synchronous loads.
If data is stored in file, it reads the data through SharedBuffer::createWithContentsOfFile.
This patch refactors some routines to replace Vector<char> by SharedBuffer to transmit response data.
Test: http/tests/appcache/simple-video-sync.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
- loader/FrameLoader.h:
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::createFileURL):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::maybeLoadFallbackSynchronously):
- loader/appcache/ApplicationCacheHost.h:
- xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
LayoutTests:
- http/tests/appcache/resources/fake-video.mp4: Added.
- http/tests/appcache/resources/simple-video-sync.manifest: Added.
- http/tests/appcache/simple-video-sync-expected.txt: Added.
- http/tests/appcache/simple-video-sync.html: Added.
- 1:17 AM Changeset in webkit [183536] by
-
- 34 edits in trunk/Source/WebCore
Purge PassRefPtr from createSVGPathSegFoo factory functions
https://bugs.webkit.org/show_bug.cgi?id=144374
Reviewed by Darin Adler.
Use Ref instead of PassRefPtr in createSVGPathSegFoo functions because
those factory functions can't return null. Additionally let's remove unnecessary
#include<PassRefPtr.h> there.
No new tests, no behavior changes.
- svg/SVGColor.cpp:
(WebCore::SVGColor::cloneForCSSOM):
- svg/SVGColor.h:
- svg/SVGGlyphMap.h:
(WebCore::GlyphMapNode::create):
- svg/SVGPaint.cpp:
(WebCore::SVGPaint::cloneForCSSOM):
- svg/SVGPaint.h:
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::createSVGPathSegClosePath):
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
(WebCore::SVGPathElement::createSVGPathSegMovetoRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
(WebCore::SVGPathElement::createSVGPathSegArcAbs):
(WebCore::SVGPathElement::createSVGPathSegArcRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
- svg/SVGPathElement.h:
- svg/SVGPathSegArcAbs.h:
(WebCore::SVGPathSegArcAbs::create):
- svg/SVGPathSegArcRel.h:
(WebCore::SVGPathSegArcRel::create):
- svg/SVGPathSegClosePath.h:
(WebCore::SVGPathSegClosePath::create):
- svg/SVGPathSegCurvetoCubicAbs.h:
(WebCore::SVGPathSegCurvetoCubicAbs::create):
- svg/SVGPathSegCurvetoCubicRel.h:
(WebCore::SVGPathSegCurvetoCubicRel::create):
- svg/SVGPathSegCurvetoCubicSmoothAbs.h:
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
- svg/SVGPathSegCurvetoCubicSmoothRel.h:
(WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
- svg/SVGPathSegCurvetoQuadraticAbs.h:
(WebCore::SVGPathSegCurvetoQuadraticAbs::create):
- svg/SVGPathSegCurvetoQuadraticRel.h:
(WebCore::SVGPathSegCurvetoQuadraticRel::create):
- svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
- svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
- svg/SVGPathSegLinetoAbs.h:
(WebCore::SVGPathSegLinetoAbs::create):
- svg/SVGPathSegLinetoHorizontalAbs.h:
(WebCore::SVGPathSegLinetoHorizontalAbs::create):
- svg/SVGPathSegLinetoHorizontalRel.h:
(WebCore::SVGPathSegLinetoHorizontalRel::create):
- svg/SVGPathSegLinetoRel.h:
(WebCore::SVGPathSegLinetoRel::create):
- svg/SVGPathSegLinetoVerticalAbs.h:
(WebCore::SVGPathSegLinetoVerticalAbs::create):
- svg/SVGPathSegLinetoVerticalRel.h:
(WebCore::SVGPathSegLinetoVerticalRel::create):
- svg/SVGPathSegMovetoAbs.h:
(WebCore::SVGPathSegMovetoAbs::create):
- svg/SVGPathSegMovetoRel.h:
(WebCore::SVGPathSegMovetoRel::create):
- svg/SVGViewSpec.h:
(WebCore::SVGViewSpec::create):
- svg/animation/SMILTimeContainer.h:
(WebCore::SMILTimeContainer::create):
- svg/animation/SVGSMILElement.cpp:
(WebCore::ConditionEventListener::create):
- svg/graphics/SVGImage.h:
- svg/graphics/SVGImageForContainer.h:
- svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
- svg/graphics/filters/SVGFilter.h:
- 12:53 AM Changeset in webkit [183535] by
-
- 5 edits in trunk
REGRESSION(181868): Windows Live SkyDrive cannot open an excel file
https://bugs.webkit.org/show_bug.cgi?id=144373
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-29
Reviewed by Darin Adler.
Source/JavaScriptCore:
Revert r181868 as it caused a failure on live.com. We can try
re-enabling this exception after we make idl attributes configurable,
which may have prevented this particular failure.
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
LayoutTests:
- js/property-getters-and-setters-expected.txt:
- js/script-tests/property-getters-and-setters.js:
Apr 28, 2015:
- 11:20 PM Changeset in webkit [183534] by
-
- 5 edits in trunk/Source
Versioning.
- 11:18 PM Changeset in webkit [183533] by
-
- 1 copy in tags/Safari-601.1.31
New tag.
- 11:18 PM Changeset in webkit [183532] by
-
- 3 edits in trunk/Source/WebKit2
[SOUP] Use xattrs to get/set the creation time of disk cache files
https://bugs.webkit.org/show_bug.cgi?id=144251
Reviewed by Martin Robinson.
The network process disk cache uses the creation time to compute a
worth value used to determine the order in which cached resources
are deleted when the cache is shrunk. In some operating systems
like Linux there's no st_birthtime in struct stat, but since cache
files are always created and deleted by us, we could use a custom
xattr to store and retrieve the creation time of cached resources.
- NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
(WebKit::NetworkCache::fileTimes):
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::IOChannel::IOChannel):
- 11:14 PM Changeset in webkit [183531] by
-
- 3 edits in trunk/Source/WebKit2
Network Cache: Do not create a SharedBuffer for mapped resources unless explicitly requested
https://bugs.webkit.org/show_bug.cgi?id=144337
Reviewed by Antti Koivisto.
We send a buffer or a memory mapped handler to the web process
depending on whether the resource body is mapped or not, but we
are always creating a shared buffer even for mapped resources.
Split initializeBufferFromStorageRecord() moving the mapped memory
handler initialization to its own method.
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
Initialize the mapped memory handler if the body data is mapped.
(WebKit::NetworkCache::Entry::initializeBufferFromStorageRecord):
Initialize the buffer by wrapping the mapped memory if the body
data is mapped, or using the body data directly otherwise.
(WebKit::NetworkCache::Entry::shareableResourceHandle): Call
initializeShareableResourceHandleFromStorageRecord() if the
handler is null.
- NetworkProcess/cache/NetworkCacheEntry.h:
- 10:51 PM Changeset in webkit [183530] by
-
- 6 edits in trunk/Source
Make a non-static version of FrameView::yPositionForRootContentLayer()
https://bugs.webkit.org/show_bug.cgi?id=144375
Reviewed by Andy Estes.
There were two calls to the static FrameView::yPositionForRootContentLayer()
which passed in all the arguments for the same FrameView. Make a member
function for convenience.
Source/WebCore:
- page/FrameView.cpp:
(WebCore::FrameView::yPositionForRootContentLayer):
- page/FrameView.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
Source/WebKit2:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::shadowLayerPositionForFrame):
- 10:05 PM Changeset in webkit [183529] by
-
- 31 edits5 moves1 delete in trunk
[CoordinatedGraphics] Merge TILED_BACKING_STORE guard with COORDINATED_GRAPHICS
https://bugs.webkit.org/show_bug.cgi?id=143001
Reviewed by Gyuyoung Kim.
.:
- Source/cmake/OptionsEfl.cmake: Removed TILED_BACKING_STORE definition.
- Source/cmake/OptionsGTK.cmake: Ditto.
Source/WebCore:
TiledBackingStore has only been used by Coordinated Graphics since Qt and WebKit1/Efl were dropped.
So, this patch replaces USE(TILED_BACKING_STORE) with USE(COORDINATED_GRAPHICS) to merge the features.
In addition, this moves TiledBackingStore and related files from platform to platform/texmap/coordinated
where other coordinated graphics files are located.
- CMakeLists.txt: Move TiledBackingStore.cpp because this is not common file.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- WebCore.vcxproj/WebCore.vcxproj: Follow new location of TiledBackingStore* files.
- WebCore.vcxproj/WebCore.vcxproj.filters:
- loader/EmptyClients.h:
- page/Chrome.cpp:
- page/Chrome.h:
- page/ChromeClient.h:
- page/Frame.cpp:
(WebCore::Frame::createView):
- page/FrameView.cpp:
(WebCore::FrameView::requestScrollPositionUpdate):
- page/FrameView.h:
- page/Page.cpp:
(WebCore::Page::setPageScaleFactor):
- platform/HostWindow.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea):
(WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):
(WebCore::ScrollView::visibleContentRectInternal):
(WebCore::ScrollView::scrollTo):
- platform/ScrollView.h:
- platform/graphics/cairo/TileCairo.h: Removed because it is dead code since r169328
- platform/graphics/texmap/coordinated/Tile.h: Renamed from Source/WebCore/platform/graphics/Tile.h.
- platform/graphics/texmap/coordinated/TiledBackingStore.cpp: Renamed from Source/WebCore/platform/graphics/TiledBackingStore.cpp.
- platform/graphics/texmap/coordinated/TiledBackingStore.h: Renamed from Source/WebCore/platform/graphics/TiledBackingStore.h.
- platform/graphics/texmap/coordinated/TiledBackingStoreBackend.h: Renamed from Source/WebCore/platform/graphics/TiledBackingStoreBackend.h.
- platform/graphics/texmap/coordinated/TiledBackingStoreClient.h: Renamed from Source/WebCore/platform/graphics/TiledBackingStoreClient.h.
Source/WebKit/win:
- WebCoreSupport/WebChromeClient.h:
(WebChromeClient::delegatedScrollRequested):
Deleted because WIN does not use Coordinated Graphics.
Source/WebKit2:
- UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize):
(WebKit::WebPage::setUseFixedLayout):
(WebKit::WebPage::canHandleUserEvents):
- WebProcess/WebPage/WebPage.h:
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::shouldUseFixedLayout):
- 9:39 PM Changeset in webkit [183528] by
-
- 5 edits in tags/Safari-601.1.30.2.1/Source
Versioning.
- 9:37 PM Changeset in webkit [183527] by
-
- 1 copy in tags/Safari-601.1.30.2.1
New tag.
- 8:56 PM Changeset in webkit [183526] by
-
- 2 edits in trunk/Source/JavaScriptCore
Deadlock on applications using JSContext on non-main thread
https://bugs.webkit.org/show_bug.cgi?id=144370
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-28
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::singleton):
Prevent a possible deadlock by assuming we can synchronously
run something on the main queue at this time.
- 8:34 PM Changeset in webkit [183525] by
-
- 14 edits in trunk/Source/JavaScriptCore
FTL should fully support Switch (it currently lacks the SwitchString variant)
https://bugs.webkit.org/show_bug.cgi?id=144348
Reviewed by Benjamin Poulain.
This adds SwitchString support to the FTL. This is already tested by switch microbenchmarks
in LayoutTests/js/regress.
- dfg/DFGCommon.cpp:
(JSC::DFG::stringLessThan):
- dfg/DFGCommon.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::StringSwitchCase::operator<): Deleted.
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::StringSwitchCase::operator<):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::switchString):
(JSC::FTL::LowerDFGToLLVM::StringSwitchCase::StringSwitchCase):
(JSC::FTL::LowerDFGToLLVM::StringSwitchCase::operator<):
(JSC::FTL::LowerDFGToLLVM::CharacterCase::CharacterCase):
(JSC::FTL::LowerDFGToLLVM::CharacterCase::operator<):
(JSC::FTL::LowerDFGToLLVM::switchStringRecurse):
(JSC::FTL::LowerDFGToLLVM::switchStringSlow):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::check):
- ftl/FTLOutput.h:
- ftl/FTLWeight.h:
(JSC::FTL::Weight::inverse):
- jit/JITOperations.h:
- 7:26 PM Changeset in webkit [183524] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(180076): [Mac, iOS] Correct possible null dereference in printing code
https://bugs.webkit.org/show_bug.cgi?id=144366
<rdar://problem/20533513>
Reviewed by Dean Jackson.
- rendering/RenderBlockFlow.cpp:
(WebCore::needsAppleMailPaginationQuirk): Check if the document settings is a nullptr
before attempting to dereference it.
- 7:12 PM Changeset in webkit [183523] by
-
- 35 edits in trunk/Source/WebCore
Simplify DOM wrapper destruction, don't deref() in finalizers.
<https://webkit.org/b/144183>
Reviewed by Darin Adler.
DOM JS bindings had two mechanisms to call deref() on the WebCore object,
once through a weak finalizer, and once through the JSCell's regular destructor.
That was once believed to be an optimization, but these days the finalizer will
run just moments before the destructor anyway, all in the same call stack.
And more importantly, the finalizer is not guaranteed to run, for instance in the
case where a Weak is assigned to after going dead, but before the WeakBlock
has been swept by the incremental sweeper.
Simplify this by just removing the deref() from the generated finalizers.
This makes it easier to reason about DOM wrapper destruction, and eliminates
the awkward time window where a DOM wrapper could have a null impl().
We could spend more time on figuring out a way to have finalizers manage the
destruction of these wrappers, but that would require fundamental changes to
our implementation of JSC::Weak pointers. It would allow us to make JSDOMWrapper
destructor-less, and shrink each wrapper object by 1 pointer (the ClassInfo*.)
However the risk:reward ratio does not seem justified at this point in time.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bindings/js/JSCSSValueCustom.cpp:
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject):
(WebCore::JSTestActiveDOMObjectOwner::finalize):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter):
(WebCore::JSTestCustomNamedGetterOwner::finalize):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::~JSTestEventConstructor):
(WebCore::JSTestEventConstructorOwner::finalize):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::~JSTestEventTarget):
(WebCore::JSTestEventTargetOwner::finalize):
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::~JSTestException):
(WebCore::JSTestExceptionOwner::finalize):
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::~JSTestGenerateIsReachable):
(WebCore::JSTestGenerateIsReachableOwner::finalize):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::~JSTestInterface):
(WebCore::JSTestInterfaceOwner::finalize):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
(WebCore::JSTestMediaQueryListListenerOwner::finalize):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::~JSTestNamedConstructor):
(WebCore::JSTestNamedConstructorOwner::finalize):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::JSTestNondeterministic::~JSTestNondeterministic):
(WebCore::JSTestNondeterministicOwner::finalize):
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::~JSTestObj):
(WebCore::JSTestObjOwner::finalize):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::~JSTestOverloadedConstructors):
(WebCore::JSTestOverloadedConstructorsOwner::finalize):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::~JSTestTypedefs):
(WebCore::JSTestTypedefsOwner::finalize):
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattribute::~JSattribute):
(WebCore::JSattributeOwner::finalize):
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonly::~JSreadonly):
(WebCore::JSreadonlyOwner::finalize):
- bindings/scripts/test/JS/JSreadonly.h:
- 6:24 PM Changeset in webkit [183522] by
-
- 1 copy in tags/Safari-600.7.4
New tag.
- 5:57 PM Changeset in webkit [183521] by
-
- 3 edits in trunk/Source/WebCore
Build WinCairo without cygwin.
https://bugs.webkit.org/show_bug.cgi?id=144365
Reviewed by Myles Maxfield.
- WebCore.vcxproj/WebCoreGeneratedWinCairo.make:
Pass the CC executable to build-generated-files.pl like r182164.
- WebCore.vcxproj/build-generated-files.pl:
Default to 8 CPUs unless otherwise specified.
- 5:51 PM Changeset in webkit [183520] by
-
- 13 edits in trunk/Tools
Increase stablility of run-benchmark script
https://bugs.webkit.org/show_bug.cgi?id=144361
Patch by Dewei Zhu <Dewei Zhu> on 2015-04-28
Reviewed by Ryosuke Niwa.
- Scripts/run-benchmark:
(main):
- Scripts/webkitpy/benchmark_runner/README.md: Update readme due to changes.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:
(GenericBenchmarkBuilder.clean):
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Improve error handling and remove an unnecessary loop.
(BenchmarkRunner.init):
(BenchmarkRunner.execute):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.prepareEnv): Remove saved sessions of Safari.
- Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Upload 'results' rather than 'time'.
- Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Update formate.
- Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: Update formate.
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
(ServerControl.render_POST): Flush the buffer to make sure we can pass the result to stdout.
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver.fetchResult):
(HTTPServerDriver):
(HTTPServerDriver.killServer): Add kill server interface.
(HTTPServerDriver.getReturnCode): Add get return code interface.
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Adjust to support new interfaces.
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.fetchResult):
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver.killServer):
(SimpleHTTPServerDriver.getReturnCode):
- Scripts/webkitpy/benchmark_runner/utils.py:
(forceRemove): Provide python version of 'rm -rf'.
- 5:32 PM Changeset in webkit [183519] by
-
- 4 edits9 copies in branches/safari-600.1.4.16-branch
Merged r183280. rdar://problem/20700030
- 5:22 PM Changeset in webkit [183518] by
-
- 7 edits in trunk
[Content Extensions] Process NFAs individually to avoid having all NFAs live at the same time
https://bugs.webkit.org/show_bug.cgi?id=144363
Reviewed by Alex Christensen.
Source/WebCore:
This brings dirty memory use when compiling our test content extension down from ~300MB to ~100MB.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
(WebCore::ContentExtensions::CombinedURLFilters::createNFAs): Deleted.
- contentextensions/CombinedURLFilters.h:
Replace function that creates a Vector of all the NFAs with one that allows incremental processing
as they are created.
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::addUniversalActionsToDFA):
Extract code to add universal actions into a helper, since we need to call it in two places now.
(WebCore::ContentExtensions::compileRuleList):
Adopt CombinedURLFilters::processNFAs. Now that we don't have a Vector of NFAs, we need to keep track
of whether or not any NFAs were processed and if we are currently processing the first NFA so we can
ensure that we have some bytecode generated event for empty rule sets, and that universal actions are
placed on the first DFA.
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/DFAMinimizer.cpp:
(TestWebKitAPI::countLiveNodes):
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::buildDFAFromPatterns):
Update tests to use a hand rolled createNFAs function on top of CombinedURLFilters::processNFAs.
- 4:27 PM Changeset in webkit [183517] by
-
- 29 edits in trunk/Source
[TextIndicator] Yellow highlight takes too long to fade out on scroll
https://bugs.webkit.org/show_bug.cgi?id=144358
<rdar://problem/19451011>
Reviewed by Beth Dakin.
- page/TextIndicator.h:
Add Lifetime and DismissalAnimation enums.
(WebCore::TextIndicator::contentImageWithHighlight):
(WebCore::TextIndicator::contentImage):
Fix style.
- page/mac/TextIndicatorWindow.h:
- page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::TextIndicatorWindow):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
(WebCore::TextIndicatorWindow::clearTextIndicator):
(WebCore::TextIndicatorWindow::setTextIndicator):
(WebCore::TextIndicatorWindow::closeWindow):
(WebCore::TextIndicatorWindow::startFadeOut):
Rename m_startFadeOutTimer to m_temporaryTextIndicatorTimer (and related).
This is just about temporary-lifetime TextIndicators, like the ones
you get when the find-in-page UI is hidden but you hit Cmd-G.
Add clearTextIndicator, which takes a DismissalAnimation, providing
clients an opportunity to avoid the normal fade-out animation, if it
was going to happen.
- WebView/WebActionMenuController.mm:
(-[WebActionMenuController _showTextIndicator]):
- WebView/WebHTMLView.mm:
(-[WebHTMLView quickLookWithEvent:]):
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
Pull _clearTextIndicatorWithAnimation out, make it avoid using a dismissal animation
if we're called from didHandleScrollWheel.
- WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:]):
(-[WebView _setTextIndicator:withLifetime:]):
(-[WebView _clearTextIndicator]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
(-[WebView _setTextIndicator:fadeOut:]): Deleted.
- WebView/WebViewInternal.h:
Make _setTextIndicator take a reference.
Add a variant of _setTextIndicator that takes a Lifetime.
Make _clearTextIndicatorWithAnimation take a DismissalAnimation.
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView renewGState]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _dictionaryLookupPopoverWillClose:]):
(-[WKView _setTextIndicator:]):
(-[WKView _setTextIndicator:withLifetime:]):
(-[WKView _clearTextIndicatorWithAnimation:]):
(-[WKView magnifyWithEvent:]):
(-[WKView smartMagnifyWithEvent:]):
(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView _setTextIndicator:fadeOut:]): Deleted.
- UIProcess/API/mac/WKViewInternal.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::setTextIndicator):
(WebKit::WebPageProxy::clearTextIndicator):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::clearTextIndicator):
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::clearTextIndicator):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(WebKit::PageClientImpl::dismissContentRelativeChildWindows):
- UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _animationControllerForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForDataDetectedLink]):
(-[WKImmediateActionController _animationControllerForText]):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindIndicator):
Make _setTextIndicator take a reference.
Add a variant of _setTextIndicator that takes a Lifetime.
Make _clearTextIndicatorWithAnimation take a DismissalAnimation.
Make dismissContentRelativeChildWindows take a parameter indicating
whether the dismissal should include animation or not (currently
only applies to TextIndicator).
Don't animate when dismissal occurs because of scrolling, zooming,
or other things in which the content will have changed significantly
underneath the indicator and shouldn't have a slowly-fading-out yellow highlight.
- 4:16 PM Changeset in webkit [183516] by
-
- 14 edits in trunk
Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT
https://bugs.webkit.org/show_bug.cgi?id=144304
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Define ENABLE_JIT, enabled by default, instead of
ENABLE_LLINT_C_LOOP, disabled by default.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Check ENABLE_JIT instead of ENABLE_LLINT_C_LOOP.
Source/WebCore:
Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
No longer check ENABLE_LLINT_C_LOOP to determine the value of ENABLE_JIT.
- wtf/Platform.h:
Tools:
- Scripts/build-jsc: Use ENABLE_JIT instead of ENABLE_LLINT_C_LOOP on Mac. Always explicitly
set the value of ENABLE_JIT and ENABLE_FTL_JIT to avoid assumptions about the default value.
- Scripts/webkitperl/FeatureList.pm: Add --jit option to build-webkit.
- 4:04 PM Changeset in webkit [183515] by
-
- 14 edits in trunk
Unreviewed, rolling out r183514.
https://bugs.webkit.org/show_bug.cgi?id=144359
It broke cloop test bots (Requested by mcatanzaro on #webkit).
Reverted changeset:
"Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT"
https://bugs.webkit.org/show_bug.cgi?id=144304
http://trac.webkit.org/changeset/183514
- 3:50 PM Changeset in webkit [183514] by
-
- 14 edits in trunk
Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT
https://bugs.webkit.org/show_bug.cgi?id=144304
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Define ENABLE_JIT, enabled by default, instead of
ENABLE_LLINT_C_LOOP, disabled by default.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Check ENABLE_JIT instead of ENABLE_LLINT_C_LOOP.
Source/WebCore:
Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
No longer check ENABLE_LLINT_C_LOOP to determine the value of ENABLE_JIT.
- wtf/Platform.h:
Tools:
- Scripts/build-jsc: Use ENABLE_JIT instead of ENABLE_LLINT_C_LOOP on Mac. Perform sanity-
checking to ensure --cloop and --ftl-jit cannot be combined. Always explicitly set the value
of ENABLE_JIT and ENABLE_FTL_JIT to avoid assumptions about the default value.
- Scripts/webkitperl/FeatureList.pm: Add --jit option to build-webkit.
- 3:38 PM Changeset in webkit [183513] by
-
- 2 edits in trunk/LayoutTests
[WK2] fast/forms/input-search-press-escape-key.html crashes
https://bugs.webkit.org/show_bug.cgi?id=87168
rdar://problem/11508829
- platform/wk2/TestExpectations: This doesn't crash for me any more, unskipping.
- 3:35 PM Changeset in webkit [183512] by
-
- 3 edits in trunk/Tools
[CMake] Remove unnecessary include paths in TestWebKitAPI cmake files
https://bugs.webkit.org/show_bug.cgi?id=144319
Reviewed by Csaba Osztrogonác.
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/PlatformEfl.cmake:
- 3:21 PM Changeset in webkit [183511] by
-
- 3 edits2 adds in trunk
Checkboxes on bugs.webkit.org are painted with stripes at some zoom levels.
https://bugs.webkit.org/show_bug.cgi?id=144351
Reviewed by Simon Fraser.
This patch ensures that CG context is properly restored after painting dashed/dotted lines.
Source/WebCore:
Test: fast/forms/checkbox-painting-with-hr.html
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
LayoutTests:
- fast/forms/checkbox-painting-with-hr-expected.html: Added.
- fast/forms/checkbox-painting-with-hr.html: Added.
- 2:51 PM Changeset in webkit [183510] by
-
- 4 edits in trunk/Source/WebCore
Provide contentsToView() and viewToContents() functions on ScrollView, and use them
https://bugs.webkit.org/show_bug.cgi?id=144357
Reviewed by Tim Horton.
Too much code was consulting topContentInset() and headerHeight() directly. Replace
with calls to new contentsToView() and viewToContents() functions, which wrap the
exisiting documentScrollOffsetRelativeToViewOrigin().
Use the new functions in FrameView and ScrollView coordinate mapping functions.
No behavior change.
- page/FrameView.cpp:
(WebCore::FrameView::convertFromRendererToContainingView):
(WebCore::FrameView::convertFromContainingViewToRenderer):
- platform/ScrollView.cpp:
(WebCore::ScrollView::viewToContents):
(WebCore::ScrollView::contentsToView):
(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):
(WebCore::ScrollView::windowToContents):
(WebCore::ScrollView::contentsToWindow):
- platform/ScrollView.h:
- 2:40 PM Changeset in webkit [183509] by
-
- 15 edits in trunk/Source/WebCore
[Mac] Simplify code to support media engines which do not support target playback
https://bugs.webkit.org/show_bug.cgi?id=144332
Reviewed by Jer Noble.
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange): Always make client
callback, let them decide if it is significant or not.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): m_loadTimer -> m_pendingActionTimer.
(WebCore::HTMLMediaElement::scheduleDelayedAction): Handle CheckPlaybackTargetCompatablity.
(WebCore::HTMLMediaElement::scheduleNextSourceChild): m_loadTimer -> m_pendingActionTimer.
(WebCore::HTMLMediaElement::loadTimerFired): Renamed pendingActionTimerFired.
(WebCore::HTMLMediaElement::prepareForLoad): m_loadTimer -> m_pendingActionTimer.
(WebCore::HTMLMediaElement::setDefaultPlaybackRate): Add logging.
(WebCore::HTMLMediaElement::clearMediaPlayer): m_loadTimer -> m_pendingActionTimer.
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsSupported): Removed.
(WebCore::HTMLMediaElement::dispatchEvent): If a 'webkitcurrentplaybacktargetiswirelesschanged'
event is dispatched when the current target is wireless but the media engine does not support
wireless playback, tell the media engine not to play to the target.
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::showPlaybackTargetPicker): Drive-by fix to disallow audio-only files.
(WebCore::HTMLMediaSession::currentPlaybackTargetIsSupported): Deleted.
- html/HTMLMediaSession.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::isCurrentPlaybackTargetSupported): Deleted.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Use a RetainPtr
to explicitly manage the lifetime of the temporary object.
(WebCore::MediaPlayerPrivateAVFoundationObjC::isPlayingToWirelessPlaybackTarget): Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isCurrentPlaybackTargetWireless):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isCurrentPlaybackTargetSupported): Deleted.
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateQTKit::isCurrentPlaybackTargetWireless):
(WebCore::MediaPlayerPrivateQTKit::isCurrentPlaybackTargetSupported): Deleted.
- 2:19 PM Changeset in webkit [183508] by
-
- 4 edits9 adds in branches/safari-600.7-branch
Merge r183280. rdar://problem/20694404
- 1:45 PM Changeset in webkit [183507] by
-
- 2 edits in trunk
Unreviewed, fix typo in previous commit
libsecretr -> libsecret in the error message.
- Source/cmake/OptionsGTK.cmake:
- 1:45 PM Changeset in webkit [183506] by
-
- 10 edits in trunk
Fix common typo "targetting" => "targeting"
https://bugs.webkit.org/show_bug.cgi?id=144349
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-28
Reviewed by Daniel Bates.
Source/JavaScriptCore:
- bytecode/ExecutionCounter.h:
Source/WebKit/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadRequest):
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- WebView/WebPolicyDelegate.h:
Source/WebKit/win:
- Interfaces/IWebPolicyDelegate.idl:
Tools:
- Scripts/webkitdirs.pm:
(execMacWebKitAppForDebugging):
- 1:39 PM Changeset in webkit [183505] by
-
- 2 edits in trunk
[GTK] Clean up feature detection and make it hard to accidentally build without optional features
https://bugs.webkit.org/show_bug.cgi?id=143546
Reviewed by Martin Robinson.
Add USE_GSTREAMER_MPEGTS option and turn it off by default. Turn off ENABLE_SUBTLE_CRYPTO
by default. Turn on ENABLE_GEOLOCATION by default. Add USE_LIBNOTIFY and turn it on by
default. Fail the build with an informative error message if an optional dependency required
for an enabled feature is not present. Perform find_package commands only when necessary.
Make ENABLE_API_TESTS private. Alphabetize the feature checks (yes, this is actually
possible now!).
- Source/cmake/OptionsGTK.cmake:
- 1:23 PM Changeset in webkit [183504] by
-
- 2 edits in trunk/Source/WTF
Properly reset deleted count when clearing HashTables.
https://bugs.webkit.org/show_bug.cgi?id=144343
Reviewed by Andreas Kling.
- wtf/HashTable.h:
(WTF::KeyTraits>::clear):
Reset m_deletedCount, which appears to have been forgotten.
- 1:18 PM Changeset in webkit [183503] by
-
- 7 edits in trunk/Source/WebKit2
Add support for lookup on iOS.
https://bugs.webkit.org/show_bug.cgi?id=144342
rdar://problem/19994090
Reviewed by Tim Horton.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _lookup:]):
(-[WKContentView canPerformAction:withSender:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::getLookupContextAtPoint):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getLookupContextAtPoint):
- 1:01 PM Changeset in webkit [183502] by
-
- 5 edits in tags/Safari-601.1.30.2/Source
Versioning.
- 12:59 PM Changeset in webkit [183501] by
-
- 1 copy in tags/Safari-601.1.30.2
New tag.
- 12:58 PM Changeset in webkit [183500] by
-
- 2 edits in trunk/Source/JavaScriptCore
Update the features.json for WeakSet, WeakMap, Template literals, Tagged templates
https://bugs.webkit.org/show_bug.cgi?id=144328
Reviewed by Andreas Kling.
Update the status of ES6 features.
- features.json:
- 12:40 PM Changeset in webkit [183499] by
-
- 9 edits in trunk/Source
[Content Extensions] Use less memory for CombinedURLFilters.
https://bugs.webkit.org/show_bug.cgi?id=144290
Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-28
Reviewed by Andreas Kling.
Source/WebCore:
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::recursiveMemoryUsed):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::createNFAs):
- contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
(WebCore::ContentExtensions::NFA::setActions):
- contentextensions/NFA.h:
- contentextensions/NFANode.h:
- contentextensions/Term.h:
(WebCore::ContentExtensions::Term::Term::generateGraph):
(WebCore::ContentExtensions::Term::generateSubgraphForAtom):
Use Vectors instead of HashTables in PrefixTreeVertex because the sets stay small and need to be more memory efficient.
Source/WTF:
- wtf/Forward.h:
- wtf/Vector.h:
Added a minCapacity template parameter to allow changing the minimum size of an
allocated buffer. The default minCapacity is kept at 16 unless otherwise specified
to have no change on existing code, but this could be changed later. A smaller
default minCapacity would use less memory with small Vectors but spend more time
copying when expanding to large Vectors.
- 12:38 PM Changeset in webkit [183498] by
-
- 20 edits in trunk/Source
Consolidate most "frame load" arguments into FrameLoadRequest.
https://bugs.webkit.org/show_bug.cgi?id=144276
Reviewed by Alexey Proskuryakov.
Source/WebCore:
No new tests (No change in behavior).
This patch starts the long overdue process of wrangling the insane load methods in FrameLoader.
Humble beginnings of this long process:
- Put most of the various "frame load" arguments that are passed around within FrameLoader on FrameLoadRequest.
- Get rid of the "easy" constructors of FrameLoadRequest, forcing users to actually think about what they're doing.
- Change a private FrameLoader load method (urlSelected) to take a FrameLoadRequest instead of argument gobbledygook.
- Change a public FrameLoader load methods (changeLocation) to take a FrameLoadRequest instead of gobbledygook.
These cover the straightforward changes where it was easy to figure out what the values of the FrameLoadRequest
arguments were from these various call sites.
Further refactoring can be done in much smaller patches, handling fewer cases at a time. Little by little we will be
able to reduce the number of "load" methods on FrameLoader and make sure that they mainly only take a FrameLoadRequest
as an argument.
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate):
- loader/FrameLoadRequest.cpp:
(WebCore::FrameLoadRequest::FrameLoadRequest):
- loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::lockHistory):
(WebCore::FrameLoadRequest::lockBackForwardList):
(WebCore::FrameLoadRequest::shouldSendReferrer):
(WebCore::FrameLoadRequest::allowNavigationToInvalidURL):
(WebCore::FrameLoadRequest::newFrameOpenerPolicy):
(WebCore::FrameLoadRequest::shouldReplaceDocumentIfJavaScriptURL):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadFrameRequest):
- loader/FrameLoader.h:
- loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::scheduleLocationChange):
- page/ContextMenuController.cpp:
(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
Source/WebKit/ios:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKit/mac:
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Source/WebKit/win:
- Plugins/PluginView.cpp:
(WebCore::PluginView::start):
(WebCore::PluginView::getURLNotify):
(WebCore::PluginView::getURL):
(WebCore::PluginView::handlePost):
Source/WebKit2:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::loadURL):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchCreatePage):
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab):
- 12:27 PM Changeset in webkit [183497] by
-
- 34 edits2 adds6 deletes in trunk/Source/JavaScriptCore
DFG should not use or preserve Phantoms during transformations
https://bugs.webkit.org/show_bug.cgi?id=143736
Reviewed by Geoffrey Garen.
Since http://trac.webkit.org/changeset/183207 and http://trac.webkit.org/changeset/183406, it is
no longer necessary to preserve Phantoms during transformations. They are still useful just
before FixupPhase to support backwards propagation analyses. They are still inserted late in the
game in the DFG backend. But transformations don't need to worry about them. Inside a basic
block, we can be sure that so long as the IR pinpoints the place where the value becomes
available in a bytecode register (using MovHint) and so long as there is a SetLocal anytime some
other block would need the value (either for OSR or for DFG execution), then we don't need any
liveness markers.
So, this removes any places where we inserted Phantoms just for liveness during transformation
and it replaces convertToPhantom() with remove(), which just converts the node to a Check. A
Check node only keeps its children so long as those children have checks.
The fact that we no longer convertToPhantom() means that we have to be more careful when
constant-folding GetLocal. Previously we would convertToPhantom() and use the fact that
Phantom(Phi) was a valid construct. It's not valid anymore. So, when constant folding encounters
a GetLocal it needs to insert a PhantomLocal directly. This allows us to simplify
Graph::convertToConstant() a bit. Luckily, none of the other users of this method would see
GetLocals.
The only Phantom-like cruft left over after this patch is:
- Phantoms before FixupPhase. I kind of like these. It means that before FixupPhase, we can do backwards analyses and rely on the fact that the users of a node in DFG IR are a superset of the users of the original local's live range in bytecode. This is essential for supporting our BackwardsPropagationPhase, which is an important optimization for things like asm.js.
- PhantomLocals and GetLocals being NodeMustGenerate. See discussion in https://bugs.webkit.org/show_bug.cgi?id=144086. It appears that this is not as evil as the alternatives. The best long-term plan is to simply ditch the ThreadedCPS IR entirely and have the DFG use SSA. For now, so long as any new DFG optimizations we add are block-local and treat GetLocal/SetLocal conservatively, this should all be sound.
This change should be perf-neutral although it does reduce the total work that the compiler
does.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGAdjacencyList.h:
(JSC::DFG::AdjacencyList::justChecks):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGBasicBlock.cpp:
(JSC::DFG::BasicBlock::replaceTerminal):
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::findTerminal):
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
- dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::CPSRethreadingPhase):
(JSC::DFG::CPSRethreadingPhase::clearVariables):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock):
- dfg/DFGCSEPhase.cpp:
- dfg/DFGCleanUpPhase.cpp: Copied from Source/JavaScriptCore/dfg/DFGPhantomRemovalPhase.cpp.
(JSC::DFG::CleanUpPhase::CleanUpPhase):
(JSC::DFG::CleanUpPhase::run):
(JSC::DFG::performCleanUp):
(JSC::DFG::PhantomRemovalPhase::PhantomRemovalPhase): Deleted.
(JSC::DFG::PhantomRemovalPhase::run): Deleted.
(JSC::DFG::performPhantomRemoval): Deleted.
- dfg/DFGCleanUpPhase.h: Copied from Source/JavaScriptCore/dfg/DFGPhantomRemovalPhase.h.
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addBaseCheck):
(JSC::DFG::ConstantFoldingPhase::fixUpsilons):
- dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
(JSC::DFG::DCEPhase::fixupBlock):
(JSC::DFG::DCEPhase::cleanVariables):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertStringAddUse):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::fixIntConvertingEdge):
(JSC::DFG::FixupPhase::fixIntOrBooleanEdge):
(JSC::DFG::FixupPhase::fixDoubleOrBooleanEdge):
(JSC::DFG::FixupPhase::injectTypeConversionsInBlock):
(JSC::DFG::FixupPhase::tryToRelaxRepresentation):
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):
(JSC::DFG::FixupPhase::addRequiredPhantom): Deleted.
(JSC::DFG::FixupPhase::addPhantomsIfNecessary): Deleted.
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::mergeRelevantToOSR): Deleted.
- dfg/DFGGraph.h:
- dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::insertCheck):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::remove):
- dfg/DFGNode.h:
(JSC::DFG::Node::replaceWith):
(JSC::DFG::Node::convertToPhantom): Deleted.
(JSC::DFG::Node::convertToCheck): Deleted.
(JSC::DFG::Node::willHaveCodeGenOrOSR): Deleted.
- dfg/DFGNodeFlags.h:
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGPhantomCanonicalizationPhase.cpp: Removed.
- dfg/DFGPhantomCanonicalizationPhase.h: Removed.
- dfg/DFGPhantomRemovalPhase.cpp: Removed.
- dfg/DFGPhantomRemovalPhase.h: Removed.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGPutStackSinkingPhase.cpp:
- dfg/DFGResurrectionForValidationPhase.cpp: Removed.
- dfg/DFGResurrectionForValidationPhase.h: Removed.
- dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
- dfg/DFGStoreBarrierElisionPhase.cpp:
(JSC::DFG::StoreBarrierElisionPhase::elideBarrier):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateCPS):
(JSC::DFG::Validate::validateSSA):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileNoOp):
(JSC::FTL::LowerDFGToLLVM::compilePhantom): Deleted.
- 11:56 AM Changeset in webkit [183496] by
-
- 2 edits in trunk/Tools
[GTK][jhbuild] Mesa build failure with llvm 3.6
https://bugs.webkit.org/show_bug.cgi?id=144250
Reviewed by Žan Doberšek.
Bump the version of Mesa to 10.5.4
- gtk/jhbuild.modules:
- 11:54 AM Changeset in webkit [183495] by
-
- 7 edits3 adds in trunk
Source/JavaScriptCore:
DFG+FTL should generate efficient code for branching on a string's boolean value.
<https://webkit.org/b/144317>
Reviewed by Geoff Garen & Filip Pizlo
Teach Branch nodes about StringUse and have them generate an efficient zero-length string check
instead of dropping out to C++ whenever we branch on a string.
The FTL JIT already handled Branch nodes with StringUse through its use of boolify(), so only
the DFG JIT gets some new codegen logic in this patch.
Test: js/regress/branch-on-string-as-boolean.js (~4.5x speedup)
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitStringBranch):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitBranch):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitBranch):
LayoutTests:
DFG should generate efficient code for branching on a string's boolean value.
<https://webkit.org/b/144317>
Reviewed by Geoff Garen & Filip Pizlo.
- js/regress/branch-on-string-as-boolean-expected.txt: Added.
- js/regress/branch-on-string-as-boolean.html: Added.
- js/regress/script-tests/branch-on-string-as-boolean.js: Added.
- 11:36 AM Changeset in webkit [183494] by
-
- 18 edits2 adds in trunk
Source/WebCore:
[Mac] [iOS] Implement font-synthesis CSS property
https://bugs.webkit.org/show_bug.cgi?id=144305
Reviewed by Andreas Kling.
This patch is fairly straightforward, though there are some particular pieces to the patch listed below.
The implementation of this font-synthesis CSS property lives inside FontCacheIOS and FontCacheMac. We already
determine if we should synthesize bold and italics, this CSS property simply guards that decision.
Because FontCache interacts with FontDescriptions and not RenderStyles, this patch moves the source of truth
regarding font-synthesis into FontDescription (from RenderStyle).
Test: fast/css3-text/font-synthesis.html
- css/CSSPropertyNames.in: Mark font-synthesis as a FontProperty, which means that the relevant state is kept
inside FontDescription. This also means that the property must be marked as a "high priority" property, which
is enforced by it existing at the top of CSSPropertyNames.in. The move to FontDescription must be done so that
FontCacheIOS and FontCacheMac have access to the saved state.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontSynthesisFromStyle): Update to look for state in FontDescription instead of RenderStyle.
- css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges): Guard the synthetic bold and synthic italic decision on the new
FontSynthesis state inside FontDescription.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertFontSynthesis): Moved from
StyleBuilderCustom::applyValueFontSynthesis(). This is because of the updated options inside of
CSSPropertyNames.in
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFontSynthesis): Deleted.
- platform/graphics/FontDescription.h:
(WebCore::FontDescription::FontDescription): Moved from RenderStyle.
(WebCore::FontDescription::fontSynthesis): Ditto.
(WebCore::FontDescription::setFontSynthesis): Ditto.
(WebCore::FontDescription::initialFontSynthesis): Ditto.
(WebCore::FontDescription::operator==): Update to include new state.
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionFontDataCacheKey::makeFlagKey): Make FontDescription hashes sensitive to the new
state inside FontDescription.
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::createFontPlatformData): Guard the synthetic bold and synthetic italic decision on the
new FontSynthesis state inside FontDescription.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData): Ditto.
- platform/text/TextFlags.h: Move FontSynthesis type from RenderStyleConstants.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::fontSynthesis): Moved to FontDescription.
(WebCore::RenderStyle::setFontSynthesis): Ditto.
(WebCore::RenderStyle::initialFontSynthesis): Ditto.
- rendering/style/RenderStyleConstants.h: Moved FontSynthesis type to TextFlags.
- rendering/style/StyleRareInheritedData.h: Remove state regarding font synthesis (moved to FontDescription)
LayoutTests:
Implement font-synthesis CSS property
https://bugs.webkit.org/show_bug.cgi?id=144305
Reviewed by Andreas Kling.
Test all combinations of font-weight, font-style, and font-synthesis.
- fast/css3-text/font-synthesis-expected.html: Added.
- fast/css3-text/font-synthesis.html: Added.
- 11:04 AM Changeset in webkit [183493] by
-
- 3 edits1 add in trunk/LayoutTests
[Win] Temporarily disable WebGL support
https://bugs.webkit.org/show_bug.cgi?id=144291
- platform/win/TestExpectations:
- platform/win/js/dom/constructor-length-expected.txt: Added.
- platform/win/js/dom/global-constructors-attributes-expected.txt:
- 11:04 AM Changeset in webkit [183492] by
-
- 2 edits in trunk/Source/JavaScriptCore
VarargsForwardingPhase should only consider MovHints that have the candidate as a child
https://bugs.webkit.org/show_bug.cgi?id=144340
Reviewed by Michael Saboff and Mark Lam.
Since we were considering all MovHints, we'd assume that the CreateDirectArguments or
CreateClosedArguments node was live so long as any MovHinted bytecode variable was alive.
Basically, we'd keep it alive until the end of the block. This maximized the chances of
there being an interfering operation, which would prevent elimination.
The fix is to only consider MovHints that have the arguments candidate as a child. We only
care to track the liveness of those bytecode locals that would need an arguments object
recovery on OSR exit.
This is a speed-up on V8Spider/raytrace and Octane/raytrace because it undoes the regression
introduced in http://trac.webkit.org/changeset/183406.
- dfg/DFGVarargsForwardingPhase.cpp:
- 11:04 AM WebKitGTK/StartHacking edited by
- Added link to icecc usage instructions (diff)
- 11:01 AM Changeset in webkit [183491] by
-
- 2 edits in trunk
[GTK] Make all options actually options
https://bugs.webkit.org/show_bug.cgi?id=144106
Reviewed by Martin Robinson.
Use WEBKIT_OPTION_DEFINE to set ENABLE_GTKDOC, ENABLE_INTROSPECTION, ENABLE_X11_TARGET, and
ENABLE_WAYLAND_TARGET.
- Source/cmake/OptionsGTK.cmake:
- 10:57 AM Changeset in webkit [183490] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 10:45 AM Changeset in webkit [183489] by
-
- 2 edits in trunk/Source/WebCore
SharedBuffer::copy is not computing the buffer size correctly when having m_dataArray
https://bugs.webkit.org/show_bug.cgi?id=144321
Reviewed by Darin Adler.
Patch correctness covered by existing tests.
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::copy): Direct appending to m_dataArray and not using append method as this method updates the SharedBuffer size.
- 10:44 AM Changeset in webkit [183488] by
-
- 2 edits in trunk/Tools
Disable App Nap in WebKitTestRunner UI process
https://bugs.webkit.org/show_bug.cgi?id=144308
Reviewed by Daniel Bates.
- WebKitTestRunner/mac/main.mm:
(disableAppNapInUIProcess):
(main):
- 10:38 AM Changeset in webkit [183487] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Unreviewed gardening; add results for new tests.
- media/audio-playback-restriction-autoplay-expected.txt: Added.
- media/audio-playback-restriction-play-expected.txt: Added.
- 10:36 AM Changeset in webkit [183486] by
-
- 2 edits in trunk/Tools
[GTK] Update JHBuild Mesa download directory
https://bugs.webkit.org/show_bug.cgi?id=144318
Update the download directory of Mesa module since the previous one
doesn't exist any more.
Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-04-28
Reviewed by Žan Doberšek.
- gtk/jhbuild.modules:
- 10:28 AM Changeset in webkit [183485] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Memory leak.
https://bugs.webkit.org/show_bug.cgi?id=144327
Reviewed by Brent Fulgham.
When a data url is loaded, the ResourceHandle is not released.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::startJob):
- 10:14 AM Changeset in webkit [183484] by
-
- 1 edit5 adds in branches/safari-600.6-branch/LayoutTests
Unreviewed Mac gardening for safari-600.6-branch.
- platform/mac-mavericks/media/controls-after-reload-expected.png: Added.
- platform/mac-mavericks/media/controls-after-reload-expected.txt: Added.
- platform/mac-wk2/media/controls-after-reload-expected.png: Added.
- platform/mac-wk2/media/controls-after-reload-expected.txt: Added.
- 10:05 AM Changeset in webkit [183483] by
-
- 2 edits in trunk/LayoutTests
[Win] PHP scripts fail if HTTP_ORIGIN is not set.
https://bugs.webkit.org/show_bug.cgi?id=144333
Rubberstamped by Brady Eidson.
- http/tests/security/resources/cors-post-redirect-target.php: Check
that HTTP_ORIGIN key exists before using it to avoid PHP error.
- 10:05 AM Changeset in webkit [183482] by
-
- 2 edits in trunk/Websites/webkit.org
Fix the link noted 'contribute to features' in status.html
https://bugs.webkit.org/show_bug.cgi?id=144331
Reviewed by Csaba Osztrogonác.
Fix the href of the link to http://www.webkit.org/coding/contributing.html.
- status.html:
- 9:41 AM Changeset in webkit [183481] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r183477.
https://bugs.webkit.org/show_bug.cgi?id=144334
Roll back the Mesa dependency bump in fear of uncaught
regressions while the testing bots are no-op. (Requested by
zdobersek on #webkit).
Reverted changeset:
"[GTK][jhbuild] Mesa build failure with llvm 3.6"
https://bugs.webkit.org/show_bug.cgi?id=144250
http://trac.webkit.org/changeset/183477
Patch by Commit Queue <commit-queue@webkit.org> on 2015-04-28
- 9:39 AM Changeset in webkit [183480] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][Mac] Update WebContent process' sandbox profile for AWD
https://bugs.webkit.org/show_bug.cgi?id=144315
<rdar://problem/20719293>
Reviewed by Alexey Proskuryakov.
Update sandbox profile for AWD similarly to what was done for iOS in
r182278.
- WebProcess/com.apple.WebProcess.sb.in:
- 8:56 AM Changeset in webkit [183479] by
-
- 8 edits1 add in trunk
[Win] Deactivate WebGL until Windows tests work properly
https://bugs.webkit.org/show_bug.cgi?id=144291
<rdar://problem/20707307>
Reviewed by Zalan Bujtas.
Source/WebKit:
- WebKit.vcxproj/WebKit/WebKitANGLE.props: Added.
- WebKit.vcxproj/WebKit/WebKitCommon.props: Remove ANGLE link
libraries from common property sheet.
- WebKit.vcxproj/WebKit/WebKitDebugWinCairo.props: Reference
the WebKitANGLE property sheet.
- WebKit.vcxproj/WebKit/WebKitReleaseWinCairo.props: Ditto.
Source/WTF:
- wtf/FeatureDefines.h: Force WebGL off for Windows builds.
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props: Turn off the WEB_GL
feature for the Apple Windows port.
- 8:52 AM Changeset in webkit [183478] by
-
- 2 edits in trunk/Source/WebCore
Fix the Mavericks Debug build after r183467.
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::requester): Removed WEBCORE_EXPORT.
(WebCore::ResourceRequestBase::setRequester): Ditto.
- 8:47 AM Changeset in webkit [183477] by
-
- 2 edits in trunk/Tools
[GTK][jhbuild] Mesa build failure with llvm 3.6
https://bugs.webkit.org/show_bug.cgi?id=144250
Reviewed by Žan Doberšek.
Bump the version of Mesa to 10.5.4
- gtk/jhbuild.modules:
- 8:19 AM Changeset in webkit [183476] by
-
- 2 edits1 delete in trunk/Source/JavaScriptCore
Remove WinCE cruft from cmake build system
https://bugs.webkit.org/show_bug.cgi?id=144325
Reviewed by Gyuyoung Kim.
- CMakeLists.txt:
- create_jit_stubs: Removed.
- 8:11 AM Changeset in webkit [183475] by
-
- 1 edit1 delete in trunk/Source/WebCore
Remove make-file-arrays.py
https://bugs.webkit.org/show_bug.cgi?id=144324
Reviewed by Gyuyoung Kim.
- make-file-arrays.py: Removed.
- 8:03 AM Changeset in webkit [183474] by
-
- 3 edits in branches/safari-600.6-branch/Tools
Fix webkitpy tests after r183471.
- Scripts/webkitpy/port/mac_unittest.py:
(test_baseline_search_path): Taught about mac-mavericks.
- Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory): Ditto.
- 7:37 AM Changeset in webkit [183473] by
-
- 1 edit3 adds in trunk/LayoutTests
Add expectations for tests added in r183428 and r183450.
- js/regress/typed-array-get-set-by-val-profiling-expected.txt: Added.
- media/audio-playback-restriction-autoplay-expected.txt: Added.
- media/audio-playback-restriction-play-expected.txt: Added.
- 7:19 AM Changeset in webkit [183472] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- platform/network/ios/ResourceRequestIOS.mm:
(WebCore::ResourceRequest::ResourceRequest):
- 7:19 AM Changeset in webkit [183471] by
-
- 2 edits in branches/safari-600.6-branch/Tools
Tell mac.py about 'mac-yosemite' so that fallback to 'mac-mavericks' works properly.
- Scripts/webkitpy/port/mac.py:
(MacPort):
- 6:35 AM Changeset in webkit [183470] by
-
- 1 edit53 adds in branches/safari-600.6-branch/LayoutTests
Add results to platform/mac-mavericks/ that were previously in a separate repository.
- platform/mac-mavericks/TestExpectations: Added.
- platform/mac-mavericks/accessibility/aria-readonly-expected.txt: Added.
- platform/mac-mavericks/canvas/philip/tests/2d.line.join.parallel-expected.txt: Added.
- platform/mac-mavericks/css2.1/t0905-c5525-flthw-00-c-g-expected.txt: Added.
- platform/mac-mavericks/css2.1/t0905-c5526-flthw-00-c-g-expected.txt: Added.
- platform/mac-mavericks/fast/js/global-constructors-attributes-expected.txt: Added.
- platform/mac-mavericks/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
- platform/mac-mavericks/fast/text/hyphenate-locale-expected.txt: Added.
- platform/mac-mavericks/fast/text/international/bold-bengali-expected.txt: Added.
- platform/mac-mavericks/fast/text/international/cjk-segmentation-expected.txt: Added.
- platform/mac-mavericks/fast/text/international/hindi-spacing-expected.txt: Added.
- platform/mac-mavericks/fast/text/international/khmer-selection-expected.txt: Added.
- platform/mac-mavericks/fast/writing-mode/text-orientation-basic-expected.txt: Added.
- platform/mac-mavericks/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Added.
- platform/mac-mavericks/fonts/cursive-expected.txt: Added.
- platform/mac-mavericks/http/tests/cache/partitioned-cache-expected.txt: Added.
- platform/mac-mavericks/http/tests/cache/partitioned-cache-iframe-expected.txt: Added.
- platform/mac-mavericks/http/tests/xmlhttprequest/head-redirection-expected.txt: Added.
- platform/mac-mavericks/media/video-controls-captions-trackmenu-includes-enabled-track-expected.txt: Added.
- platform/mac-mavericks/platform/mac-wk2/TestExpectations: Added.
- platform/mac-mavericks/platform/mac/accessibility/form-control-value-settable-expected.txt: Added.
- platform/mac-mavericks/platform/mac/accessibility/press-action-is-first-expected.txt: Added.
- platform/mac-mavericks/platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation-expected.txt: Added.
- platform/mac-mavericks/platform/mac/fast/loader/file-url-mimetypes-expected.txt: Added.
- platform/mac-mavericks/platform/mac/fast/text/systemFont-expected.png: Added.
- platform/mac-mavericks/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: Added.
- platform/mac-mavericks/svg/custom/use-on-symbol-inside-pattern-expected.txt: Added.
- platform/mac-mavericks/svg/hixie/intrinsic/003-expected.txt: Added.
- platform/mac-mavericks/transitions/default-timing-function-expected.txt: Added.
- 6:30 AM Changeset in webkit [183469] by
-
- 20 edits2 copies in trunk/Source/WebInspectorUI
Web Inspector: add a separate overview for the Rendering Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=144245
Patch by Matt Baker <Matt Baker> on 2015-04-28
Reviewed by Timothy Hatcher.
The Timelines tab now supports two view modes, labeled "Timelines" and "Rendering Frames", with each mode
having a seperate timeline overview and selected range. The Timelines mode displays the original time-based
graphs (Network, Layout, and Script), and switching to the Rendering Frames mode displays a frames graph
with a timeline ruler which shows frame indices.
If the rendering frames timeline is supported by the backend, a navigation bar is added to the timelines
sidebar with controls for switching between view modes. In addition to user-triggered view mode changes, the
timelines sidebar will automatically change the current view mode in response to content view changes that
are triggered elsewhere in the UI (for example, when a timeline that does not belong to the current view
mode is selected via the navigation path).
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.get activeRecording): Deleted.
(WebInspector.TimelineManager.prototype.get recordings): Deleted.
Removed unused code.
- UserInterface/Main.html:
New files.
- UserInterface/Models/RenderingFrameTimelineRecord.js:
(WebInspector.RenderingFrameTimelineRecord):
(WebInspector.RenderingFrameTimelineRecord.resetFrameIndex):
(WebInspector.RenderingFrameTimelineRecord.prototype.get frameIndex):
(WebInspector.RenderingFrameTimelineRecord.prototype.get frameNumber):
- UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.reset):
Frame number is now derived from frame index.
- UserInterface/Views/LinearTimelineOverview.js:
(WebInspector.LinearTimelineOverview):
(WebInspector.LinearTimelineOverview.prototype.canShowTimeline):
New overview class for time-based timeline graphs.
- UserInterface/Views/RenderingFrameDetailsSidebarPanel.js:
(WebInspector.RenderingFrameDetailsSidebarPanel):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.updateRangeSelection):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype._getSelectedRecords):
Changed type of selected range from time to frame indices.
- UserInterface/Views/RenderingFrameTimelineOverview.js:
(WebInspector.RenderingFrameTimelineOverview.this.timelineRuler.formatLabelCallback):
(WebInspector.RenderingFrameTimelineOverview):
(WebInspector.RenderingFrameTimelineOverview.prototype.canShowTimeline):
New overview class for frame-based timeline graphs.
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
(.timeline-overview > .graphs-container > .timeline-overview-graph.rendering-frame):
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
(WebInspector.RenderingFrameTimelineOverviewGraph):
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):
Updated to use frame index ruler and removed frame combining logic.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
Increased column widths.
- UserInterface/Views/TimelineOverview.css:
(.timeline-overview > .graphs-container):
(body.mac-platform.legacy .timeline-overview > .graphs-container):
Updated for new ruler height.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get secondsPerPixel):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype.get visibleDuration):
(WebInspector.TimelineOverview.prototype.set selectionDuration):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype.get timelineRuler):
(WebInspector.TimelineOverview.prototype.canShowTimeline):
(WebInspector.TimelineOverview.prototype._handleScrollEvent):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
(WebInspector.TimelineOverview.prototype._timelineRemoved):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
(WebInspector.TimelineOverview.prototype.set currentTime): Deleted.
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded): Deleted.
(WebInspector.TimelineOverview.prototype._needsLayout): Deleted.
Converted to base class. Derived classes provide settings and permitted timeline types.
- UserInterface/Views/TimelineRecordFrame.css:
(.timeline-record-frame):
(.timeline-record-frame > .frame):
(.timeline-record-frame > .frame > .duration):
(.timeline-record-frame > .frame > .duration.timeline-record-type-network):
(.timeline-record-frame > .frame > .duration.timeline-record-type-layout):
(.timeline-record-frame > .frame > .duration.timeline-record-type-script):
(.timeline-record-frame > .frame > .duration:last-child): Deleted.
New graph frames styles.
- UserInterface/Views/TimelineRecordFrame.js:
(WebInspector.TimelineRecordFrame):
(WebInspector.TimelineRecordFrame.prototype.get record):
(WebInspector.TimelineRecordFrame.prototype.set record):
(WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
(WebInspector.TimelineRecordFrame.prototype.get element): Deleted.
Updated to use frame index ruler.
Removed dropped frames and frame combining logic.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype.shown):
(WebInspector.TimelineRecordingContentView.prototype.hidden):
(WebInspector.TimelineRecordingContentView.prototype.updateLayout):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight):
(WebInspector.TimelineRecordingContentView.prototype._getRenderingFrameTimeline):
(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
(WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView): Deleted.
(WebInspector.TimelineRecordingContentView.prototype.goForward): Deleted.
(WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._update): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._debuggerPaused): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._debuggerResumed): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated): Deleted.
Maintains two timeline overviews, switching between them based on the current content view.
Updated tree element filtering to support both overview rulers.
- UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .header):
(body.mac-platform.legacy .timeline-ruler > .header):
(.timeline-ruler > .header > .divider > .label):
(.timeline-ruler > .selection-drag):
(body.mac-platform.legacy .timeline-ruler > .selection-drag):
(.timeline-ruler > .selection-handle):
(body.mac-platform.legacy .timeline-ruler > .selection-handle):
(.timeline-ruler > .header > .divider): Deleted.
(.timeline-ruler > .selection-drag:active): Deleted.
Updated for new ruler height.
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.set formatLabelCallback):
(WebInspector.TimelineRuler.prototype.updateLayout):
(WebInspector.TimelineRuler.prototype._formatDividerLabelText):
(WebInspector.TimelineRuler.prototype.set allowsClippedLabels): Deleted.
(WebInspector.TimelineRuler.prototype._updateSelection): Deleted.
Added ability to customize label formatting.
- UserInterface/Views/TimelineSidebarPanel.css:
(.panel.timeline .navigation-bar.timelines-view):
(.sidebar > .panel.navigation.timeline > .title-bar):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timelines):
(.sidebar > .panel.navigation.timeline > .navigation-bar-container):
(.sidebar > .panel.navigation.timeline > .navigation-bar-container > .navigation-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .timelines-content):
(.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
(body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
Updated for new navigation bar and ruler height.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.get viewMode):
(WebInspector.TimelineSidebarPanel.prototype.canShowTimeline):
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
(WebInspector.TimelineSidebarPanel.get this):
(WebInspector.TimelineSidebarPanel._timelineAdded.set this):
Added support for two view modes: Timelines and Rendering Frames.
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
New files.
- 6:04 AM Changeset in webkit [183468] by
-
- 9 edits3 adds in trunk/Source/WebInspectorUI
Web Inspector: Add new tab button to make it easy to bring a closed tab back
https://bugs.webkit.org/show_bug.cgi?id=144297
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.isTabTypeAllowed):
(WebInspector._tabContentViewForType):
(WebInspector._rememberOpenTabs):
(WebInspector._updateNewTabButtonState):
(WebInspector._newTabItemClicked):
(WebInspector.isNewTabWithTypeAllowed):
(WebInspector.createNewTab):
(WebInspector.activateExtraDomains):
(WebInspector._restoreCookieForOpenTabs):
(WebInspector._saveCookieForOpenTabs):
(WebInspector._isTabTypeAllowed): Deleted.
- UserInterface/Images/NewTab.svg: Added.
- UserInterface/Images/NewTabPlus.svg:
- UserInterface/Main.html:
- UserInterface/Views/NewTabContentView.css: Added.
(.new-tab.tab.content-view):
(.new-tab.tab.content-view > .tab-item):
(.new-tab.tab.content-view > .tab-item.disabled):
(.new-tab.tab.content-view > .tab-item > .box):
(.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
(.new-tab.tab.content-view > .tab-item > .box > img):
(.new-tab.tab.content-view > .tab-item > label):
- UserInterface/Views/NewTabContentView.js: Added.
(WebInspector.NewTabContentView):
(WebInspector.NewTabContentView.prototype.get type):
(WebInspector.NewTabContentView.prototype._createNewTab):
- UserInterface/Views/TabBar.css:
(.tab-bar > .item:not(.disabled).selected):
(.tab-bar > .item.new-tab-button:not(.disabled):hover):
(.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
(.tab-bar > .item.disabled > .icon):
(.tab-bar > .item.new-tab-button:not(.disabled):hover > .icon):
(.tab-bar > .item.selected): Deleted.
(.tab-bar > .item.new-tab-button:hover): Deleted.
(.tab-bar:not(.animating) > .item:not(.selected):hover + .item): Deleted.
(.tab-bar > .item.new-tab-button:hover > .icon): Deleted.
- UserInterface/Views/TabBar.js:
(WebInspector.TabBar.prototype.set selectedTabBarItem):
(WebInspector.TabBar.prototype._handleMouseDown):
- UserInterface/Views/TabBarItem.js:
(WebInspector.TabBarItem.prototype.get disabled):
(WebInspector.TabBarItem.prototype.set disabled):
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser):
(WebInspector.TabBrowser.prototype.addTabForContentView):
(WebInspector.TabBrowser.prototype.showTabForContentView):
(WebInspector.TabBrowser.prototype.closeTabForContentView):
- 5:49 AM Changeset in webkit [183467] by
-
- 22 edits2 adds in trunk
Network Cache: Disk cache getting filled by YouTube video data
https://bugs.webkit.org/show_bug.cgi?id=144259
Reviewed by Darin Adler.
Source/WebCore:
MSE media is loaded via XHR and tends to eventually fill the cache.
YouTube serves the media chunks cacheable, however they are rarely (if ever) reused.
We can reduce disk writes and keep more useful resources around by not caching them
Test: http/tests/cache/disk-cache/disk-cache-media.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Set the requester.
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::streamingMedia):
- page/DiagnosticLoggingKeys.h:
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):
(WebCore::equalIgnoringHeaderFields):
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::requester):
(WebCore::ResourceRequestBase::setRequester):
Add requester type to the request object. Currently this is main resource, xhr or unspecified.
(WebCore::ResourceRequestBase::encodeWithoutPlatformData):
(WebCore::ResourceRequestBase::decodeWithoutPlatformData):
- platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::deprecatedSetMainResourceRequest): Deleted.
(WebCore::ResourceRequest::deprecatedIsMainResourceRequest): Deleted.
Replace this iOS only field with shared mechanism.
- platform/network/ios/QuickLook.mm:
(WebCore::QuickLookHandle::create):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
Set the requester.
Source/WebKit2:
MSE media is loaded via XHR and tends to eventually fill the cache.
YouTube serves the media chunks cacheable, however they are rarely (if ever) reused.
We can reduce disk writes and keep more useful resources around by not caching them
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeStoreDecision):
Don't store if the requester is XHR and response has video or audio content type.
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::storeDecisionToDiagnosticKey):
- Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
- Shared/Network/NetworkResourceLoadParameters.h:
The requester type is now part of the ResourceRequest, no need for separate parameter.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
- WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
LayoutTests:
- http/tests/cache/disk-cache/disk-cache-media-expected.txt: Added.
- http/tests/cache/disk-cache/disk-cache-media.html: Added.
- http/tests/cache/disk-cache/resources/cache-test.js:
(generateTestURL):
- 4:36 AM Changeset in webkit [183466] by
-
- 3 edits in trunk/Source/WebCore
Fix windows build error in WebCore related to bulk build.
https://bugs.webkit.org/show_bug.cgi?id=144313
Patch by Namhoon Kim <nakim@ea.com> on 2015-04-28
Reviewed by Csaba Osztrogonác.
No new tests because there is no behavior change.
- css/CSSAllInOne.cpp:
- dom/DOMAllInOne.cpp:
- 3:45 AM Changeset in webkit [183465] by
-
- 3 edits in trunk/WebKitLibraries
[Win] Enable ES6 template literals
https://bugs.webkit.org/show_bug.cgi?id=144316
Reviewed by Csaba Osztrogonác.
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
- 1:27 AM Changeset in webkit [183464] by
-
- 1 edit15 adds in branches/safari-600.6-branch/LayoutTests
Unreviewed Mac gardening for safari-600.6-branch.
- platform/mac-mavericks/media/audio-controls-rendering-expected.txt: Added.
- platform/mac-mavericks/media/controls-strict-expected.txt: Added.
- platform/mac-mavericks/media/video-no-audio-expected.txt: Added.
- platform/mac-mavericks/platform/mac/fast/text/systemFont-expected.txt: Added.
- platform/mac-mavericks/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
- platform/mac-mountainlion/media/video-colorspace-yuv420-expected.png: Added.
- platform/mac-mountainlion/media/video-colorspace-yuv420-expected.txt: Added.
- platform/mac-mountainlion/media/video-colorspace-yuv422-expected.png: Added.
- platform/mac-mountainlion/media/video-colorspace-yuv422-expected.txt: Added.
- 1:09 AM Changeset in webkit [183463] by
-
- 3 edits in trunk/Source/WebKit2
[WK2] API::UserContentURLPattern creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144225
Reviewed by Darin Adler.
Have API::UserContentURLPattern creation functions return Ref<>.
Call-sites are also updated, using and operating on the returned Ref<>
object where possible.
- Shared/API/APIUserContentURLPattern.h:
(API::UserContentURLPattern::create):
- Shared/API/c/WKUserContentURLPattern.cpp:
(WKUserContentURLPatternCreate):
- 1:06 AM Changeset in webkit [183462] by
-
- 14 edits in trunk/Source/WebKit2
[WK2] API::URLRequest, API::URLResponse creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144224
Reviewed by Darin Adler.
Have API::URLRequest and API::URLResponse creation functions return Ref<>.
The call-sites are also updated, using and operating on the returned Ref<> object
where possible.
- Shared/API/APIURLRequest.h:
(API::URLRequest::create):
- Shared/API/APIURLResponse.h:
(API::URLResponse::create):
- Shared/API/c/WKURLRequest.cpp:
(WKURLRequestCreateWithWKURL):
- Shared/API/c/mac/WKURLRequestNS.mm:
(WKURLRequestCreateWithNSURLRequest):
- Shared/API/c/mac/WKURLResponseNS.mm:
(WKURLResponseCreateWithNSURLResponse):
- UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient):
- UIProcess/API/C/WKDownload.cpp:
(WKDownloadCopyRequest):
- UIProcess/API/C/WKNavigationDataRef.cpp:
(WKNavigationDataCopyOriginalRequest):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPagePolicyClient):
(WKPageSetPageUIClient):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp:
(WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(willSendRequestForFrame):
- WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
Apr 27, 2015:
- 11:52 PM Changeset in webkit [183461] by
-
- 2 edits in trunk/Source/WebCore
Eliminate styleDidChange with StyleDifferenceEqual when updates are actually necessary
https://bugs.webkit.org/show_bug.cgi?id=144198
Followup: fix assertions seen in fullscreen and pseudo-element tests. These code
paths set the style to the existing pointer, but with a SyntheticStyleChange.
We have to avoid an early return in this case.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
- 11:35 PM Changeset in webkit [183460] by
-
- 3 edits in trunk/Source/WebKit2
[WK2] API::Point, API::Size, API::Rect creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144223
Reviewed by Darin Adler.
Have API::Point, API::Size and API::Rect creation functions return Ref<>.
Call-sites are also updated, using and operating on the returned Ref<> object
where possible.
- Shared/API/APIGeometry.h:
(API::Size::create):
(API::Point::create):
(API::Rect::create):
- Shared/API/c/WKGeometry.cpp:
(WKPointCreate):
(WKSizeCreate):
(WKRectCreate):
- 11:31 PM Changeset in webkit [183459] by
-
- 8 edits in trunk/Source/WebKit2
[WK2] API::Error creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144222
Reviewed by Darin Adler.
Have API::Error creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.
- Shared/API/APIError.h:
(API::Error::create):
- Shared/API/c/cf/WKErrorCF.cpp:
(WKErrorCreateWithCFError):
- UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerDeleteEntriesForOrigin):
(WKOriginDataManagerDeleteEntriesModifiedBetweenDates):
(WKOriginDataManagerDeleteAllEntries):
- UIProcess/API/C/WKPage.cpp:
(toGenericCallbackFunction):
(WKPageForceRepaint):
(WKPageValidateCommand):
(WKPageComputePagesForPrinting):
- UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):
- UIProcess/GenericCallback.h:
(WebKit::toGenericCallbackFunction):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::printFinishedCallback):
- 10:54 PM Changeset in webkit [183458] by
-
- 5 edits in trunk/Source/JavaScriptCore
RegExp matches arrays should use contiguous indexing.
<https://webkit.org/b/144286>
Reviewed by Geoffrey Garen.
We had a custom Structure being used for RegExp matches arrays that would
put the arrays into SlowPutArrayStorageShape mode. This was just left
from when matches arrays were custom, lazily initialized objects.
This change removes that Structure and switches the matches arrays to
using the default ContiguousShape Structure. This allows the FTL JIT
to compile the inner loop of the Octane/regexp benchmark.
Also made a version of initializeIndex() [inline] that takes the indexing
type in an argument, allowing createRegExpMatchesArray() to initialize
the entire array without branching on the indexing type for each entry.
~3% progression on Octane/regexp.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpMatchesArrayStructure): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
- runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
- 10:33 PM Changeset in webkit [183457] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Remove unnecessary semicolon from WebKitNotificationProvider.h.
https://bugs.webkit.org/show_bug.cgi?id=144312
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-27
Reviewed by Martin Robinson.
No new tests, no behavior change.
- UIProcess/API/gtk/WebKitNotificationProvider.h:
- 10:24 PM Changeset in webkit [183456] by
-
- 2 edits in trunk
Unreviewed, fix GTK build after r183452
- Source/cmake/OptionsGTK.cmake:
- 10:13 PM Changeset in webkit [183455] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Cannot scroll Timeline Overview horizontally, scrollbar cannot be interacted with
https://bugs.webkit.org/show_bug.cgi?id=144302
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-27
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineOverview.css:
(.timeline-overview > .scroll-container):
Increase the z-index of the scroll container over anything in the
overview so that it can be interacted with.
- 9:59 PM Changeset in webkit [183454] by
-
- 20 edits in trunk
Eliminate styleDidChange with StyleDifferenceEqual when updates are actually necessary
https://bugs.webkit.org/show_bug.cgi?id=144198
Reviewed by Darin Adler, Antti Koivisto.
Source/WebCore:
SyntheticStyleChange style recalcs are triggered for cases where behavior depends
on state which is outside of RenderStyle; this includes triggering compositing for
animations, for video and canvas, and for iframes with composited content.
In these cases, we'd run through RenderElement::setStyle() and its fan-out, but
with diff == StyleDifferenceEqual, and so be unable to determine if there
is actual work to be done.
This patch enforces the contract that the diff is never StyleDifferenceEqual if
compositing or other work has to happen from setStyle(). This is achieved by
passing in a 'hasSideEffects' flag, which causes the diff to become at least
StyleDifferenceRecompositeLayer.
RenderLayerCompositor::layerStyleChanged() can now safely early return
if the diff is equal. Future patches will reduce redundant work even more.
Test: compositing/animation/no-style-recalc-during-accelerated-animation.html
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::animate): Returns a bool now if the state changed.
(WebCore::AnimationBase::state):
- page/animation/AnimationController.cpp:
(WebCore::AnimationController::updateAnimations): bool out param which indicates
whether any animations changed state.
- page/animation/AnimationController.h:
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::animate): If any transitions or animations changed
state, set the animationStateChanged out param to true.
- page/animation/CompositeAnimation.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate): Return true if the state changed.
- page/animation/ImplicitAnimation.h:
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate): Return true if the state changed.
- page/animation/KeyframeAnimation.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::adjustStyleDifference): We may enter here now with diff
!= StyleDifferenceEqual, but still need to do the check to see if layers changed.
(WebCore::RenderElement::initializeStyle): When setting style for the first time,
don't use StyleDifferenceEqual.
(WebCore::RenderElement::setStyle): Additional flag to indicate whether this style
change involves side effects. If the diff is equal but the flag is set, change
the diff to StyleDifferenceRecompositeLayer (the "lowest" non-zero diff).
- rendering/RenderElement.h:
(WebCore::RenderElement::setAnimatableStyle): Pass true to setStyle() if hasSideEffects
is true, or if animation state changed.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::styleChanged): Pass the diff down.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerStyleChanged): Return if the diff is equal.
- rendering/RenderLayerCompositor.h:
- rendering/style/RenderStyleConstants.h: StyleDifferenceNewStyle is used when
setting style for the first time.
- style/StyleResolveTree.cpp:
(WebCore::Style::createRendererIfNeeded): Provide animationsChanged bool (which is unused).
(WebCore::Style::resolveLocal): If the style change is synthetic, set the flag that
says there are side-effects.
LayoutTests:
New test that detects whether a "hardware" animation is firing the style recalc
timer on every frame, which happened during development of this patch.
- compositing/animation/no-style-recalc-during-accelerated-animation-expected.txt: Added.
- compositing/animation/no-style-recalc-during-accelerated-animation.html: Added.
- 9:44 PM Changeset in webkit [183453] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
FTL failed to initialize arguments.callee on the slow path as well as the fast path
https://bugs.webkit.org/show_bug.cgi?id=144293
Reviewed by Mark Lam.
The slow path doesn't fully initialize DirectArguments - it leaves callee blank. So, we need
to initialize the callee on the common path after the fast and slow path.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments):
- tests/stress/arguments-callee-uninitialized.js: Added.
(foo):
- 9:35 PM Changeset in webkit [183452] by
-
- 4 edits in trunk
[GTK] Add one single option to control all OpenGL-related options
https://bugs.webkit.org/show_bug.cgi?id=144105
Reviewed by Martin Robinson.
.:
Add public ENABLE_OPENGL option, which is mandatory for ENABLE_3D_TRANSFORMS,
ENABLE_ACCELERATED_2D_CANVAS, ENABLE_GLES2, ENABLE_THREADED_COMPOSITOR, ENABLE_WEBGL,
USE_REDIRECTED_XCOMPOSITE_WINDOW, and USE_GSTREAMER_GL. Make ENABLE_GLES2 a proper WebKit
option and move code around accordingly. Use WEBKIT_OPTION_DEPEND and rely on it. Add a
large comment to explain why default value of ENABLE_ACCELERATED_2D_CANVAS is based on the
presence of CairoGL.
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
Test WTF_USE_TEXTURE_MAPPER since USE_TEXTURE_MAPPER has been removed.
- PlatformGTK.cmake:
- 9:28 PM Changeset in webkit [183451] by
-
- 2 edits in trunk
[GTK] ENABLE_SMOOTH_SCROLLING should be private
https://bugs.webkit.org/show_bug.cgi?id=144306
Reviewed by Martin Robinson.
Make ENABLE_SMOOTH_SCROLLING private instead of public.
- Source/cmake/OptionsGTK.cmake:
- 9:16 PM Changeset in webkit [183450] by
-
- 6 edits4 adds in trunk
[JSC] Add support for typed arrays to the Array profiling
https://bugs.webkit.org/show_bug.cgi?id=143913
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-27
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch adds ArrayModes for every typed arrays. Having that information
let us generate better GetByVal and PutByVal when the type speculation
are not good enough.
A typical case where this is useful is any basic block for which the type
of the object is always more restrictive than the speculation (for example,
a basic block gated by a branch only taken for on type).
- bytecode/ArrayProfile.cpp:
(JSC::dumpArrayModes):
- bytecode/ArrayProfile.h:
(JSC::arrayModeFromStructure):
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine):
Maintain the refine() semantic. We do not support OutOfBounds access
for GetByVal on typed array.
- runtime/IndexingType.h:
- tests/stress/typed-array-get-by-val-profiling.js: Added.
(testArray.testCode):
(testArray):
- tests/stress/typed-array-put-by-val-profiling.js: Added.
(testArray.testCode):
(testArray):
LayoutTests:
- js/regress/script-tests/typed-array-get-set-by-val-profiling.js: Added.
- js/regress/typed-array-get-set-by-val-profiling.html: Added.
- 8:43 PM Changeset in webkit [183449] by
-
- 2 edits in trunk/Source/WebKit/mac
<rdar://problem/20721931> REGRESSION (r178753): All legacy framework headers are missing availability annotations
https://bugs.webkit.org/show_bug.cgi?id=144311
Reviewed by Adele Peterson.
- postprocess-headers.sh: Changed “macsox” to “macosx”.
- 8:05 PM Changeset in webkit [183448] by
-
- 2 edits23 adds2 deletes in trunk/LayoutTests
Break up select text into multiple tests
https://bugs.webkit.org/show_bug.cgi?id=144301
Patch by Doug Russell <d_russell@apple.com> on 2015-04-27
Reviewed by Alexey Proskuryakov.
- platform/mac/TestExpectations:
- platform/mac/accessibility/select-text-expected.txt: Removed.
- platform/mac/accessibility/select-text.html: Removed.
- platform/mac/accessibility/select-text/select-text-1-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-1.html: Added.
- platform/mac/accessibility/select-text/select-text-135546-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-135546.html: Added.
- platform/mac/accessibility/select-text/select-text-135575-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-135575.html: Added.
- platform/mac/accessibility/select-text/select-text-2-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-2.html: Added.
- platform/mac/accessibility/select-text/select-text-3-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-3.html: Added.
- platform/mac/accessibility/select-text/select-text-4-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-4.html: Added.
- platform/mac/accessibility/select-text/select-text-5-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-5.html: Added.
- platform/mac/accessibility/select-text/select-text-6-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-6.html: Added.
- platform/mac/accessibility/select-text/select-text-7-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-7.html: Added.
- platform/mac/accessibility/select-text/select-text-8-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-8.html: Added.
- platform/mac/accessibility/select-text/select-text-9-expected.txt: Added.
- platform/mac/accessibility/select-text/select-text-9.html: Added.
- 7:43 PM Changeset in webkit [183447] by
-
- 3 edits in trunk/Source/WebKit2
PDF action menu fixes
https://bugs.webkit.org/show_bug.cgi?id=144299
<rdar://problem/20702215>
Reviewed by Tim Horton.
Make two corrections to how PDFs are handled:
- When calculating the view rect for the user's selection, make sure
that we get coordinates for the correct PDF page. The existing code assumed
that the current PDFLayerControler's current page was correct, but this will
not be true if you zoom the PDF out so that several pages are displayed at
once. Each selection keeps track of the page it is referenced against.
- Revise the offsets calculated for the TextIndicator to take into account
the font descender (as well as the ascender), and to adjust by the scaled
amount of margin around the selected text.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::viewRectForSelection): Use correct page for calculating
the coordinates.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin): Include font 'descendant'
and (scaled) margin when adjusting the hit target for the TextIndicator to draw.
- 7:14 PM Changeset in webkit [183446] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, roll out r183438 "RegExp matches arrays should use contiguous indexing". It
causes many debug test failures.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::regExpMatchesArrayStructure):
- runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
- runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
- 6:25 PM Changeset in webkit [183445] by
-
- 3 edits in branches/safari-600.6-branch/LayoutTests
Unreviewed Mac gardening for safari-600.6-branch.
- fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
- fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
- 6:16 PM Changeset in webkit [183444] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Marked platform/mac/fast/text/multiple-codeunit-vertical-upright.html as ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=144303
- platform/mac/TestExpectations:
- 6:06 PM Changeset in webkit [183443] by
-
- 2 edits4 adds in trunk/Tools
Add 'init.py' and fix known bug in benchmark runner.
https://bugs.webkit.org/show_bug.cgi?id=144296
Patch by Dewei Zhu <Dewei Zhu> on 2015-04-27
Reviewed by Ryosuke Niwa
- Scripts/webkitpy/benchmark_runner/init.py: Make python to recognize this module.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/init.py: Make python to recognize this module.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.init):
(BenchmarkRunner.execute): Fix logic bug that '--output-file' option doesn't work, and empty output file bug.
- Scripts/webkitpy/benchmark_runner/browser_driver/init.py: Make python to recognize this module.
- Scripts/webkitpy/benchmark_runner/http_server_driver/init.py: Make python to recognize this module.
- 5:59 PM Changeset in webkit [183442] by
-
- 19 edits7 deletes in trunk/Source/WebCore
Consolidate one-line flag-related header files into TextFlags.h
https://bugs.webkit.org/show_bug.cgi?id=144295
Reviewed by Tim Horton.
There were a collection of single-line header files throughout platform/ which contain
single-line type declaractions of flags related to text layout & rendering. This patch
consolidates all these single-line headers into TextFlags.h
No new tests because there is no behavior change.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontFace.h:
- css/CSSPrimitiveValueMappings.h:
- loader/cache/CachedFont.h:
- loader/cache/CachedTextTrack.h:
- page/Settings.h:
- platform/DragImage.h:
- platform/graphics/FontDescription.h:
- platform/graphics/FontOrientation.h: Removed.
- platform/graphics/FontPlatformData.h:
- platform/graphics/FontRenderingMode.h: Removed.
- platform/graphics/FontSmoothingMode.h: Removed.
- platform/graphics/FontTraitsMask.h: Removed.
- platform/graphics/FontWidthVariant.h: Removed.
- platform/graphics/TextRenderingMode.h: Removed.
- platform/graphics/cairo/FontCustomPlatformData.h:
- platform/graphics/freetype/FontPlatformData.h:
- platform/graphics/mac/FontCustomPlatformData.h:
- platform/graphics/win/FontCustomPlatformData.h:
- platform/text/NonCJKGlyphOrientation.h: Removed.
- platform/text/TextFlags.h:
- rendering/TextPainter.h:
- style/StyleFontSizeFunctions.h:
- 5:46 PM Changeset in webkit [183441] by
-
- 2 edits in trunk/Websites/webkit.org
Add naver to team.html
https://bugs.webkit.org/show_bug.cgi?id=144298
Reviewed by Gyuyoung Kim.
- team.html:
- 5:31 PM Changeset in webkit [183440] by
-
- 2 edits in trunk/Websites/webkit.org
Status page: fix the email links
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-27
- status.html:
- 5:22 PM Changeset in webkit [183439] by
-
- 2 edits in trunk/Tools
More build fix.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
Use -objectForKey:, not array subscript.
- 5:14 PM Changeset in webkit [183438] by
-
- 5 edits in trunk/Source/JavaScriptCore
RegExp matches arrays should use contiguous indexing.
<https://webkit.org/b/144286>
Reviewed by Geoffrey Garen.
We had a custom Structure being used for RegExp matches arrays that would
put the arrays into SlowPutArrayStorageShape mode. This was just left
from when matches arrays were custom, lazily initialized objects.
This change removes that Structure and switches the matches arrays to
using the default ContiguousShape Structure. This allows the FTL JIT
to compile the inner loop of the Octane/regexp benchmark.
Also made a version of initializeIndex() [inline] that takes the indexing
type in an argument, allowing createRegExpMatchesArray() to initialize
the entire array without branching on the indexing type for each entry.
~3% progression on Octane/regexp.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpMatchesArrayStructure): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
- runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
- 5:08 PM Changeset in webkit [183437] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Mark fast/text/ruby-justification-flush.html as ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=144294
- 5:03 PM Changeset in webkit [183436] by
-
- 6 edits4 adds in trunk
Form control may be associated with the wrong HTML Form element after form id change
https://bugs.webkit.org/show_bug.cgi?id=133456
<rdar://problem/17095055>
Reviewed by Andy Estes.
Source/WebCore:
Fixes an issue where a form control may be associated with the wrong HTML Form element
after the id of the HTML Form element associated with the form control is changed when
there is more than one HTML Form element with the same id in the document. Specifically,
a form control that has an HTML form attribute value X will always be associated with
some HTML Form element f where f.id = X regardless of whether f.id is subsequently
changed.
Tests: fast/forms/change-form-id-to-be-unique-then-submit-form.html
fast/forms/change-form-id-to-be-unique.html
- dom/Element.cpp:
(WebCore::Element::attributeChanged): Notify observers when the id of an element changed.
(WebCore::Element::updateId): Added parameter NotifyObservers (defaults to NotifyObservers::Yes),
as to whether we should notify observers of the id change.
(WebCore::Element::updateIdForTreeScope): Ditto.
(WebCore::Element::willModifyAttribute): Do not notify observers of the id change immediately. As
indicated by the name of this method, we plan to modify the DOM attribute id of the element, but
we have not actually modified it when this method is called. Instead we will notify observers
in Element::attributeChanged(), which is called after the DOM attribute id is modified.
(WebCore::Element::cloneAttributesFromElement): Ditto.
- dom/Element.h: Defined enum class NotifyObservers.
- dom/TreeScope.cpp:
(WebCore::TreeScope::addElementById): Added boolean parameter notifyObservers (defaults to true)
as to whether we should dispatch a notification to all observers.
(WebCore::TreeScope::removeElementById): Ditto.
- dom/TreeScope.h:
LayoutTests:
Add tests to ensure that we associate the correct HTML Form element with a
<select> after changing the id of its associated HTML form element.
- fast/forms/change-form-id-to-be-unique-expected.txt: Added.
- fast/forms/change-form-id-to-be-unique-then-submit-form-expected.txt: Added.
- fast/forms/change-form-id-to-be-unique-then-submit-form.html: Added.
- fast/forms/change-form-id-to-be-unique.html: Added.
- 4:34 PM Changeset in webkit [183435] by
-
- 2 edits in trunk/Tools
Catch unexpected exits in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=144288
Reviewed by Tim Horton.
- DumpRenderTree/mac/DumpRenderTree.mm:
(atexitFunction):
(DumpRenderTreeMain):
- 4:18 PM Changeset in webkit [183434] by
-
- 2 edits in trunk/Tools
Build fix
- DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
Use -objectForKey:, not array subscript.
- 3:34 PM Changeset in webkit [183433] by
-
- 2 edits in trunk/Source/WebCore
Reduce allocations and memory usage when compiling content extensions.
https://bugs.webkit.org/show_bug.cgi?id=144277
Reviewed by Benjamin Poulain.
Covered by existing tests.
- contentextensions/Term.h:
(WebCore::ContentExtensions::Term::CharacterSet::set):
(WebCore::ContentExtensions::Term::CharacterSet::get):
(WebCore::ContentExtensions::Term::CharacterSet::invert):
(WebCore::ContentExtensions::Term::CharacterSet::inverted):
(WebCore::ContentExtensions::Term::CharacterSet::bitCount):
(WebCore::ContentExtensions::Term::CharacterSet::operator==):
(WebCore::ContentExtensions::Term::CharacterSet::hash):
(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::addCharacter):
(WebCore::ContentExtensions::Term::isEndOfLineAssertion):
(WebCore::ContentExtensions::Term::isUniversalTransition):
(WebCore::ContentExtensions::Term::generateSubgraphForAtom):
Use two uint64_t's instead of a BitVector with a capacity of 128 bits.
- 3:30 PM Changeset in webkit [183432] by
-
- 35 edits in trunk
Rename WTF_USE_3D_GRAPHICS to ENABLE_GRAPHICS_CONTEXT_3D
https://bugs.webkit.org/show_bug.cgi?id=144193
Reviewed by Darin Adler.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWinCairo.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
- CMakeLists.txt:
- platform/graphics/ANGLEWebKitBridge.cpp:
- platform/graphics/FormatConverter.cpp:
- platform/graphics/FormatConverter.h:
- platform/graphics/GLContext.h:
- platform/graphics/GraphicsContext3D.cpp:
- platform/graphics/GraphicsContext3DPrivate.cpp:
- platform/graphics/OpenGLShims.cpp:
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
- platform/graphics/cg/GraphicsContext3DCG.cpp:
- platform/graphics/egl/GLContextEGL.cpp:
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/glx/GLContextGLX.cpp:
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/mac/GraphicsContext3DMac.mm:
- platform/graphics/opengl/Extensions3DOpenGL.cpp:
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
- platform/graphics/opengl/Extensions3DOpenGLES.cpp:
- platform/graphics/opengl/GLPlatformContext.cpp:
- platform/graphics/opengl/GLPlatformSurface.cpp:
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
- platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
- platform/graphics/win/GraphicsContext3DWin.cpp:
Source/WebKit2:
- CMakeLists.txt:
Source/WTF:
- wtf/FeatureDefines.h:
- wtf/Platform.h:
- 3:24 PM Changeset in webkit [183431] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Video not centered in element on retina devices
https://bugs.webkit.org/show_bug.cgi?id=144274
Reviewed by Simon Fraser.
In r173702, a transform was added to the video layer (and a matching, inverse transform
in the UIProcess), but this transform affects the position property of the video layer
used to position the video content within the element bounds when their aspect ratios
do not match.
To work around this problem, pre-apply the transform during -setPosition:.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebVideoContainerLayer setPosition:]):
- 3:12 PM Changeset in webkit [183430] by
-
- 5 edits in tags/Safari-601.1.30.1/Source
Versioning.
- 3:10 PM Changeset in webkit [183429] by
-
- 1 copy in tags/Safari-601.1.30.1
New tag.
- 3:08 PM Changeset in webkit [183428] by
-
- 11 edits2 adds in trunk
Add a setting & restriction which prevents non-interactivte playback of audible media elements.
https://bugs.webkit.org/show_bug.cgi?id=143486
Reviewed by Eric Carlson.
Source/WebCore:
Tests: media/audio-playback-restriction-autoplay.html
media/audio-playback-restriction-play.html
To allow clients who want to allow non-user-interactive video-only playback, but still
restrict playback of audible media elements, add a new setting and matching restriction
which disallows playback of media elements containing audible characteristics.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Set the RequireUserGestureForAudioRateChange
restriction if the audioPlaybackRequiresUserGesture() setting is set.
(WebCore::HTMLMediaElement::parseAttribute): Drive-by fix. Move the opening brace
out of the #if, as this confuses the heck out of diff and makes all subsequent
changes appear to be within HTMLMediaElement::parseAttribute.
(WebCore::HTMLMediaElement::autoplay): Remove the restriction check from within autoplay().
It is checked again immediately after every autoplay() call site.
(WebCore::HTMLMediaElement::pauseInternal): Remove the iOS-only #if.
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Check whether playback
is permitted, and if not, pause.
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): Ditto.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Ditto.
- html/HTMLMediaSession.cpp:
(WebCore::restrictionName): Since BehaviorRestrictions is a bitfield, check each bit
individually.
(WebCore::HTMLMediaSession::removeBehaviorRestriction): Handle RequireUserGestureForAudioRateChange.
(WebCore::HTMLMediaSession::playbackPermitted): Check whether the element has audio and
audio playback is restricted, and return false if so.
- html/HTMLMediaSession.h:
- page/Settings.cpp:
- page/Settings.in:
- testing/Internals.cpp:
(WebCore::Internals::setMediaSessionRestrictions): Added.
(WebCore::Internals::setMediaElementRestrictions): Added.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- media/audio-playback-restriction-autoplay.html: Added.
- media/audio-playback-restriction-play.html: Added.
- media/video-test.js:
(setCaptionDisplayMode):
(runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk):
(runWithKeyDown):
- 3:04 PM Changeset in webkit [183427] by
-
- 2 edits in trunk
[CMake] Should be possible for an option to conflict with other options
https://bugs.webkit.org/show_bug.cgi?id=143956
Reviewed by Martin Robinson.
Add WEBKIT_OPTION_CONFLICT macro, which fails the build if conflicting options are on.
- Source/cmake/WebKitFeatures.cmake:
- 2:57 PM Changeset in webkit [183426] by
-
- 2 edits in trunk/Source/WebKit2
Context menus are not reshown after an orientation change
<https://bugs.webkit.org/show_bug.cgi?id=144143>
<rdar://problem/20679931>
Reviewed by Darin Adler.
- UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet updateSheetPosition]):
Return early if we're still in a rotation, not if the rotation is
complete.
- 2:43 PM Changeset in webkit [183425] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Attempt to workaround exception in TimelineRuler
https://bugs.webkit.org/show_bug.cgi?id=144228
Reviewed by Joseph Pecoraro.
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.updateLayout):
Use firstChild instead of a custom _labelElement property on the dividerElement.
- 2:35 PM Changeset in webkit [183424] by
-
- 11 edits4 adds in trunk
[WebAudio] AudioContext does not remove user-gesture restriction during resume()
https://bugs.webkit.org/show_bug.cgi?id=144211
Reviewed by Eric Carlson.
Source/WebCore:
Tests: webaudio/audiocontext-restriction-audiobuffersourcenode-start.html
webaudio/audiocontext-restriction.html
Before the introduction of resume(), suspend(), and stop(), AudioContexts which required
a user-gesture would start normally, but would effectively mute their outputs. Now that
the AudioContext's state property is exposed to JavaScript, the AudioContext should stay
in the "suspended" state until the user-gesture restriction is lifted.
Add a new method, willBeginPlayback() which checks and potentially clears the context's
behavior restrictions before checking with the MediaSession. Call this new willBeginPlayback()
method when the state would transition to "running".
Because they may be called before any nodes are created, make sure to call lazyInitialize()
from within the JS-exposed resumePlayback(), suspendPlayback(), and stopPlayback() methods.
Instead of clearing the behavior restrictions directly, scheduled AudioNodes should instead
call a new method nodeWillBeginPlayback(). Because existing sites will call AudioNode.start()
inside a user-gesture handler to clear the user-gesture restriction, call startRendering()
from nodeWillBeginPlayback(). But because we don't want AudioNode.start() to resume playback
unconditionally, only do so when the user-gesture restriction is set.
Now that an AudioContext will not transition to "running" state without a user-gesture (if
that restriction is set), there's no reason to check for that restriction from inside
AudioDestinationNode.
Add some internal methods to set and clear AudioContext BehaviorRestrictions for testing purposes.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::startPlaying):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::nodeWillBeginPlayback):
(WebCore::AudioContext::willBeginPlayback):
(WebCore::AudioContext::willPausePlayback):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::suspendContext):
(WebCore::AudioContext::resumeContext):
(WebCore::AudioContext::closeContext):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::mayResumePlayback):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::behaviorRestrictions):
(WebCore::AudioContext::userGestureRequiredForAudioStart):
(WebCore::AudioContext::pageConsentRequiredForAudioStart):
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start):
- testing/Internals.cpp:
(WebCore::Internals::setAudioContextRestrictions):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- webaudio/audiocontext-restriction-audiobuffersourcenode-start-expected.txt: Added.
- webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: Added.
- webaudio/audiocontext-restriction-expected.txt: Added.
- webaudio/audiocontext-restriction.html: Added.
- webaudio/resources/audio-testing.js:
(runWithKeyDown):
- 2:30 PM Changeset in webkit [183423] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements tab details sidebar becomes non-expandable after using Console tab
https://bugs.webkit.org/show_bug.cgi?id=144212
Show the DOM tree content view again on main resource change. This better matches what we did
in the pre tab user interface with the DOM being off the main resource tree element.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView): Listen for main resource change. Call _showDOMTreeContentView.
(WebInspector.ElementsTabContentView.prototype.closed): Fix a leak and exception.
The removeEventListener was wrong. Add a new removeEventListener for WebInspector.Frame.
(WebInspector.ElementsTabContentView.prototype._showDOMTreeContentView): Added.
(WebInspector.ElementsTabContentView.prototype._mainFrameDidChange): Call _showDOMTreeContentView.
(WebInspector.ElementsTabContentView.prototype._mainResourceDidChange): Added.
- 2:28 PM Changeset in webkit [183422] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: TabContentView closed() isn't being called when a tab is closed / removed
https://bugs.webkit.org/show_bug.cgi?id=144229
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype._disassociateFromContentView):
TabContentViews don't have a representedObject, so returning early and not
calling closed() was not correct.
- 2:08 PM Changeset in webkit [183421] by
-
- 4 edits in trunk/Source/JavaScriptCore
REGRESSION (r183373): ASSERT failed in wtf/SHA1.h
https://bugs.webkit.org/show_bug.cgi?id=144257
Temporarily disable skip these tests.
- tests/stress/template-literal-line-terminators.js:
- tests/stress/template-literal-syntax.js:
- tests/stress/template-literal.js:
- 2:02 PM Changeset in webkit [183420] by
-
- 2 edits in trunk/Source/WebCore
Build fix.
- accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postTextReplacementPlatformNotification):
Use -setObject:forKey:, not array subscript.
- 1:42 PM Changeset in webkit [183419] by
-
- 3 edits in trunk/Source/JavaScriptCore
Function allocations shouldn't sink through Put operations
https://bugs.webkit.org/show_bug.cgi?id=144176
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-27
Reviewed by Filip Pizlo.
By design, we don't support function allocation sinking through any
related operation ; however object allocation can sink through PutByOffset et
al.
Currently, the checks to prevent function allocation to sink through
these are misguided and do not prevent anything ; function allocation sinking
through these operations is prevented as a side effect of requiring an
AllocatePropertyStorage through which the function allocation is seen as
escaping.
This changes it so that ObjectAllocationSinkingPhase::handleNode()
checks properly that only object allocations sink through related write
operations.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- 1:34 PM Changeset in webkit [183418] by
-
- 2 edits in trunk/Tools
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Reviewed by Tim Horton.
- WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues):
Disable App Nap. I don't have positive evidence that it's the culprit, but it could be,
and we clearly don't want App Nap while testing.
- 1:33 PM Changeset in webkit [183417] by
-
- 2 edits in trunk/Source/WebCore
WirelessTargetPicker should not be visible unless a file is playable
https://bugs.webkit.org/show_bug.cgi?id=144271
<rdar://problem/20712003>
Reviewed by Jer Noble.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.isPlayable): New.
(Controller.prototype.setStatusHidden): Call updateWirelessTargetAvailable.
(Controller.prototype.updateWirelessTargetAvailable): Don't show the button until the
status message has been hidden.
- 1:30 PM Changeset in webkit [183416] by
-
- 13 edits1 delete in trunk
[CMake] Autogenerate cmakeconfig.h.cmake
https://bugs.webkit.org/show_bug.cgi?id=143997
Reviewed by Csaba Osztrogonác.
.:
- CMakeLists.txt: Create the configuration header as the last part of the cmake run.
- Source/CMakeLists.txt: No longer use configure_file to create cmakeconfig.h.
- Source/cmake/OptionsCommon.cmake: Expose WTF_CPU_ARM64_CORTEXA53 to the build explicitly.
- Source/cmake/OptionsGTK.cmake: Expose variables to the build using SET_AND_EXPOSE_TO_BUILD.
Do some other miscellaneous related cleanup.
- Source/cmake/OptionsEFL.cmake: Expose HAVE_LLVM to the build.
- Source/cmake/WebKitFeatures.cmake: Expose all WebKit features to the build. Add support for
build exposed variables. Add a macro to generate a configuration from them.
- Source/cmakeconfig.h.cmake: Removed.
Source/WebCore:
- PlatformGTK.cmake: Use the WTF_USE style variables, because those are the same
as the ones exposed to the build.
Source/WTF:
- wtf/Platform.h: Move a GTK-specific setting from cmakeconfig.h to here.
Tools:
- DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Add XP_UNIX to the command-line
definitions since TestNetscapePlugIn does not use cmakeconfig.h.
- 1:28 PM Changeset in webkit [183415] by
-
- 2 edits in trunk/Source/WebKit/win
Unreviewed build fix after r183405
- WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read): Cast the enum class to a LONG.
- 1:23 PM Changeset in webkit [183414] by
-
- 2 edits in trunk/LayoutTests
rdar://problem/16678392 Page visibility tests are broken in Yosemite
- platform/mac-wk2/TestExpectations: They don't seem to be broken any more, unskipping.
Maybe <http://trac.webkit.org/changeset/181866> fixed them?
Also updated the next line (media/video-background-tab-playback.html), as it didn't match what bots see now.
- 1:19 PM Changeset in webkit [183413] by
-
- 3 edits2 adds in trunk
Simple line layout: Wrong text offsetting when range does not start from the first renderer.
https://bugs.webkit.org/show_bug.cgi?id=144167
rdar://problem/20639857
Reviewed by Simon Fraser.
This patch ensures that TextIterator returns the right text when the input range starts
from a sibling node.
TextIterator::m_previousTextLengthInFlow keeps track of the current node offset from the parent.
Source/WebCore:
It is required to map simple line layout runs to RenderText positions.
This patch sets the offset value when the iteration start with a sibling node.
Test: fast/text/range-text-with-simple-line-layout.html
- editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::handleTextNode):
LayoutTests:
it is required to map simple line layout runs to RenderText positions.
This patch sets the offset value when the iteration start with a sibling node.
- fast/text/range-text-with-simple-line-layout-expected.txt: Added.
- fast/text/range-text-with-simple-line-layout.html: Added.
- 1:15 PM Changeset in webkit [183412] by
-
- 19 edits in trunk/Source/WebKit2
[WK2] API::Dictionary creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144221
Reviewed by Darin Adler.
Have API::Dictionary creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.
- Shared/API/APIDictionary.cpp:
(API::Dictionary::create):
- Shared/API/APIDictionary.h:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(createEncodedObject):
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
- Shared/API/c/WKDictionary.cpp:
(WKDictionaryCreate):
- Shared/API/c/WKMutableDictionary.cpp:
(WKMutableDictionaryCreate):
- Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::createPluginInformationDictionary):
- Shared/Plugins/Netscape/PluginInformation.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_snapshot):
- UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
- UIProcess/Plugins/PlugInAutoStartProvider.h:
- UIProcess/StatisticsRequest.cpp:
(WebKit::createDictionaryFromHashMap):
(WebKit::StatisticsRequest::completedRequest):
- UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::willSubmitForm):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailToInitializePlugin):
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):
- 1:13 PM Changeset in webkit [183411] by
-
- 15 edits in trunk/Source/WebKit2
[WK2] API::Data creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144220
Reviewed by Darin Adler.
Have API::Data creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.
- Shared/API/APIData.h:
(API::Data::createWithoutCopying):
(API::Data::create):
- Shared/API/c/WKData.cpp:
(WKDataCreate):
- Shared/API/c/mac/WKWebArchive.cpp:
(WKWebArchiveCopyData):
- Shared/API/c/mac/WKWebArchiveResource.cpp:
(WKWebArchiveResourceCopyData):
- Shared/APIWebArchive.h:
- Shared/APIWebArchive.mm:
(API::WebArchive::data):
- Shared/APIWebArchiveResource.h:
- Shared/APIWebArchiveResource.mm:
(API::WebArchiveResource::data):
- Shared/Cocoa/APIDataCocoa.mm:
(API::Data::createWithoutCopying):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
- UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_load_bytes):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::createData):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
- 1:09 PM Changeset in webkit [183410] by
-
- 7 edits in trunk/Source/WebKit2
[WK2] API::URL creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144219
Reviewed by Darin Adler.
Have API::URL creation functions return Ref<>.
The call-sites are also updated, using and operating in the
returned Ref<> object, where possible.
- Shared/API/APIURL.h:
(API::URL::create):
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedURLAPI):
- Shared/API/c/WKURL.cpp:
(WKURLCreateWithUTF8CString):
(WKURLCreateWithBaseURL):
- UIProcess/API/gtk/WebKitWebResource.cpp:
(webkit_web_resource_get_data):
- UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didChangeIconForPageURL):
(WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::userAgent):
- 1:05 PM Changeset in webkit [183409] by
-
- 9 edits in trunk/Source/WebKit2
[WK2] API::String creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144218
Reviewed by Darin Adler.
Have API::String creation functions return Ref<>.
The call-sites are also updated, using and operating on the returned
Ref<> object, where possible.
- Shared/API/APIString.h:
- Shared/API/c/WKPluginInformation.cpp:
(WKPluginInformationBundleIdentifierKey):
(WKPluginInformationBundleVersionKey):
(WKPluginInformationBundleShortVersionKey):
(WKPluginInformationPathKey):
(WKPluginInformationDisplayNameKey):
(WKPluginInformationDefaultLoadPolicyKey):
(WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WKPluginInformationHasSandboxProfileKey):
(WKPluginInformationFrameURLKey):
(WKPluginInformationMIMETypeKey):
(WKPluginInformationPageURLKey):
(WKPluginInformationPluginspageAttributeURLKey):
(WKPluginInformationPluginURLKey):
(WKPlugInInformationReplacementObscuredKey):
- Shared/API/c/WKSharedAPICast.h:
(WebKit::ProxyingRefPtr::ProxyingRefPtr):
(WebKit::toCopiedAPI):
- Shared/API/c/WKString.cpp:
(WKStringCreateWithUTF8CString):
(WKStringCreateWithJSString):
- UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
- UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetOriginKey):
(WKKeyValueStorageManagerGetCreationTimeKey):
(WKKeyValueStorageManagerGetModificationTimeKey):
- UIProcess/API/C/WKPage.cpp:
(WKPageGetSessionHistoryURLValueType):
(WKPageGetSessionBackForwardListItemValueType):
(toGenericCallbackFunction):
(WKPageValidateCommand):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didReceiveInvalidMessage):
- 12:36 PM Changeset in webkit [183408] by
-
- 10 edits4 deletes in trunk
Unreviewed, rolling out r183393.
https://bugs.webkit.org/show_bug.cgi?id=144272
Caused memory corruption detected by GuardMalloc (Requested by
ap on #webkit).
Reverted changeset:
"Synchronous XMLHttpRequest should get access to AppCache
resources stored as flat files"
https://bugs.webkit.org/show_bug.cgi?id=143711
http://trac.webkit.org/changeset/183393
- 11:57 AM Changeset in webkit [183407] by
-
- 4 edits in trunk/Source/WebCore
[Curl] Favicons loaded from disc cache are ignored.
https://bugs.webkit.org/show_bug.cgi?id=143953
Reviewed by Alex Christensen.
When a favicon is loaded from the Curl disc cache, the icon data is thrown away.
This happens because we give a 304 response, which makes the icon loader ignore
the response. We can solve this by responding with 200 OK.
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse):
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::initializeHandle):
- 11:49 AM Changeset in webkit [183406] by
-
- 5 edits in trunk/Source/JavaScriptCore
VarargsForwardingPhase should use bytecode liveness in addition to other uses to determine the last point that a candidate is used
https://bugs.webkit.org/show_bug.cgi?id=143843
Reviewed by Geoffrey Garen.
It will soon come to pass that Phantom isn't available at the time that
VarargsForwardingPhase runs. So, it needs to use some other mechanism for discovering when
a value dies for OSR.
This is simplified by two things:
1) The bytecode kill analysis is now reusable. This patch makes it even more reusable than
before by polishing the API.
2) This phase already operates on one node at a time and allows itself to do a full search
of the enclosing basic block for that node. This is fine because CreateDirectArguments
and friends is a rarely occurring node. The fact that it operates on one node at a time
makes it even easier to reason about OSR liveness - we just track the list of locals in
which it is live.
This change has no effect right now but it is a necessary prerequisite to implementing
https://bugs.webkit.org/show_bug.cgi?id=143736.
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::tryAt):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKilledOperands):
- dfg/DFGPhantomInsertionPhase.cpp:
- dfg/DFGVarargsForwardingPhase.cpp:
- 11:46 AM Changeset in webkit [183405] by
-
- 15 edits in trunk/Source
Make 'enum NavigationType' be an enum class
https://bugs.webkit.org/show_bug.cgi?id=144270
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No change in behavior).
I’ll be adding a new NavigationType for bug 144269 so it makes sense to make this
an enum class first.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoaderTypes.h:
- loader/NavigationAction.cpp:
(WebCore::navigationType):
(WebCore::NavigationAction::NavigationAction):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::type):
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary):
Source/WebKit2:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::NavigationActionData):
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(toWKNavigationType):
- UIProcess/API/gtk/WebKitPrivate.cpp:
(toWebKitNavigationType):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab):
- 11:42 AM Changeset in webkit [183404] by
-
- 4 edits2 adds in trunk
Fix viewport units in Media Queries
https://bugs.webkit.org/show_bug.cgi?id=144260
Reviewed by Darin Adler.
Source/WebCore:
This patch makes sure that viewport units are considered "length units"
in the context of Media Queries, by having MediaQueryExp use the unit logic
that is in CSSPrimitiveValue.
It does that by turning the relevant methods in CSSPrimitiveValue into static.
It also makes sure that the logic for "resolution units" is not maintained separately
in MediaQueryExp, to avoid similiar issues in the future with resolution units.
Test: fast/media/mq-viewport-units.html
- css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isViewportPercentageLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isResolution): Added a static variant.
- css/MediaQueryExp.cpp:
(WebCore::featureWithValidPositiveLenghtOrNumber): Call CSSPrimitiveValue's length unit logic.
(WebCore::featureWithValidDensity): Call CSSPrimitiveValue's resolution unit logic.
LayoutTests:
These tests make sure that viewport units are working as expected inside of Media Queries.
- fast/media/mq-viewport-units-expected.txt: Added.
- fast/media/mq-viewport-units.html: Added.
- 11:38 AM Changeset in webkit [183403] by
-
- 6 edits in trunk
REGRESSION(r182879): Images and video can no longer be downloaded
https://bugs.webkit.org/show_bug.cgi?id=144267
<rdar://problem/20702844>
Reviewed by Simon Fraser.
Source/WebKit/mac:
- WebView/WebActionMenuController.mm:
(-[WebActionMenuController _createActionMenuItemForTag:]): Check for
"!WebCore::protocolIs(..., "file")" for image and media downloads.
Source/WebKit2:
- UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createActionMenuItemForTag:]): Check for
"!WebCore::protocolIs(..., "file")" for image and media downloads.
Tools:
Revise tests to check for proper download menu state.
- Downloading a loal image should be disabled.
- Downloading a local media file should be disabled.
- Downloading non-downloadable media should be disabled.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):
- 11:36 AM Changeset in webkit [183402] by
-
- 3 edits in trunk/Source/JavaScriptCore
Map#entries and Map#keys error for non-Maps is swapped
https://bugs.webkit.org/show_bug.cgi?id=144253
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-27
Reviewed by Simon Fraser.
Correcting error messages on Set/Map methods when called on
incompatible objects.
- runtime/MapPrototype.cpp:
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
- runtime/SetPrototype.cpp:
(JSC::setProtoFuncEntries):
- 11:31 AM Changeset in webkit [183401] by
-
- 23 edits4 adds in trunk/Source/JavaScriptCore
Rationalize DFG DCE handling of nodes that perform checks that propagate through AI
https://bugs.webkit.org/show_bug.cgi?id=144186
Reviewed by Geoffrey Garen.
If I do ArithAdd(Int32Use, Int32Use, CheckOverflow) then AI will prove that this returns
Int32. We may later perform code simplifications based on the proof that this is Int32, and
we may kill all DFG users of this ArithAdd. Then we may prove that there is no exit site at
which the ArithAdd is live. This seems like it is sufficient to then kill the ArithAdd,
except that we still need the overflow check!
Previously we mishandled this:
- In places where we want the overflow check we need to use MustGenerate(@ArithAdd) as a hack to keep it alive. That's dirty and it's just indicative of a deeper issue.
- Our MovHint removal doesn't do Phantom canonicalization which essentially makes it powerless. This was sort of hiding the bug.
- Nodes that have checks that AI leverages should always be NodeMustGenerate. You can't kill something that you are relying on for subsequent simplifications.
This fixes MovHint removal to also canonicalize Phantoms. This also adds ModeMustGenerate to
nodes that may perform checks that are used by AI to guarantee the result type. As a result,
we no longer need the weird MustGenerate node.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::tryToRelaxRepresentation):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd): Deleted.
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
- dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- tests/stress/fold-based-on-int32-proof-mul-branch.js: Added.
(foo):
- tests/stress/fold-based-on-int32-proof-mul.js: Added.
(foo):
- tests/stress/fold-based-on-int32-proof-or-zero.js: Added.
(foo):
- tests/stress/fold-based-on-int32-proof.js: Added.
(foo):
- 11:19 AM Changeset in webkit [183400] by
-
- 8 edits1 delete in trunk/Tools
Merge run-launcher into run-minibrowser
https://bugs.webkit.org/show_bug.cgi?id=141928
Reviewed by Darin Adler.
- Scripts/run-iexploder-tests:
(runSafariWithIExploder):
- Scripts/run-launcher: Removed.
- Scripts/run-minibrowser:
- Scripts/webkitdirs.pm:
(launcherPath):
- Scripts/webkitpy/port/efl.py:
(EflPort.show_results_html_file):
- Scripts/webkitpy/port/efl_unittest.py:
(EflPortTest.test_show_results_html_file):
- Scripts/webkitpy/port/gtk.py:
(GtkPort.print_leaks_summary):
(GtkPort.show_results_html_file):
(GtkPort): Deleted.
- Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_show_results_html_file):
- 10:24 AM Changeset in webkit [183399] by
-
- 7 edits8 adds in trunk
[CSS Grid Layout] Support for the justify-self and justify-items in grid layout
https://bugs.webkit.org/show_bug.cgi?id=133280
Source/WebCore:
Reviewed by David Hyatt.
Implementation of justify-self and justify-items properties for grid. It supports
different writing-modes and direction. Margins, borders and paddings are also
considered when computing the final position and stretched size.
This patch applies also a quite important refactoring of the alignment logic in
order to share code between the two alignment dimensions, row-axis and column-axis.
Overflow handling is still missing and will be added later in a follow-up bug.
Tests: fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html
fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html
fast/css-grid-layout/grid-align-justify-margin-border-padding.html
fast/css-grid-layout/justify-self-cell.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::allowedToStretchLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::needToStretchChildLogicalHeight): Deleted.
(WebCore::RenderGrid::marginLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching): Deleted.
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded): Deleted.
- rendering/RenderGrid.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveJustification):
- rendering/style/RenderStyle.h:
LayoutTests:
Implementation of justify-self and justify-items properties for grid.
Added additional testing for ensuring margin, padding and border are considered when
computing grid item's position.
Reviewed by David Hyatt.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl-expected.txt: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html: Added.
- fast/css-grid-layout/grid-align-justify-margin-border-padding.html: Added.
- fast/css-grid-layout/justify-self-cell-expected.txt: Added.
- fast/css-grid-layout/justify-self-cell.html: Added.
- fast/css-grid-layout/resources/grid.css:
(.directionLTR): Added. Useful for defining orthogonal flows.
- 10:07 AM Changeset in webkit [183398] by
-
- 2 edits in trunk/Source/WebCore
Crashes under IDBDatabase::closeConnection
https://bugs.webkit.org/show_bug.cgi?id=141745
Reviewed by Alexey Proskuryakov.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::~IDBDatabase): Do the work of close/closeConnection without
actually calling those functions.
(WebCore::IDBDatabase::closeConnection): Protect the database so it's not destroyed
in the middle of this function's execution.
- 7:56 AM Changeset in webkit [183397] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Unreviewed.
Fixed timeout expectation of "closed should fulfill with
undefined" test. This doesn't time out anymore.
- streams/reference-implementation/readable-stream-templated.html:
- 7:54 AM Changeset in webkit [183396] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
Fixed timeout expectation of "closed should fulfill with
undefined" test. This doesn't time out anymore.
- streams/reference-implementation/readable-stream-templated.html:
- 6:31 AM Changeset in webkit [183395] by
-
- 12 edits in trunk
[Streams API] ReadableStream constructor start function should be able to close the stream
https://bugs.webkit.org/show_bug.cgi?id=143363
Reviewed by Benjamin Poulain.
Source/WebCore:
Implements https://streams.spec.whatwg.org/#close-readable-stream.
When the "close" JS function is called, the stream is getting closed.
The stream state is changed to close and if it has a reader, the reader gets closed as well:
The reader resolves the closed promise and releases the stream.
Enabled the possibility to resolve a promise with any JS value.
This is used to resolve closed promise with jsUndefined and will be used for read promises in
the future as well, though of course it is not restricted to Streams.
Covered by reference tests that are now passing.
- Modules/streams/ReadableStream.h:
- Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::changeStateToClosed): Called by the JS function 'close'.
- Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::ReadableStreamReader): Initialized stream.
(WebCore::ReadableStreamReader::initialize): Added to handle state change at constructor time
in particular closed/errored state.
(WebCore::ReadableStreamReader::releaseStream): Releases the stream.
(WebCore::ReadableStreamReader::closed): Stores the promise callbacks and invokes success
immediately if the stream is already closed.
(WebCore::ReadableStreamReader::changeStateToClosed): Changes the internal state to closed,
resolves the promise and releases the stream.
- Modules/streams/ReadableStreamReader.h:
(WebCore::ReadableStreamReader::State): Added.
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::resolve<JSC::JSValue>): Adds the ability to resolve a promise with
a custom JS value.
- bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close): Not "notImplemented" anymore. Now it closes the
stream.
- bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Resolves the promise with undefined.
LayoutTests:
Updated expectations with new passes.
- streams/reference-implementation/bad-underlying-sources-expected.txt:
- streams/reference-implementation/readable-stream-reader-expected.txt:
- streams/reference-implementation/readable-stream-templated-expected.txt:
- 4:10 AM Changeset in webkit [183394] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(CSS_GRID_LAYOUT) build after r183370
https://bugs.webkit.org/show_bug.cgi?id=144255
Reviewed by Carlos Garcia Campos.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
- 4:03 AM Changeset in webkit [183393] by
-
- 10 edits4 adds in trunk
Synchronous XMLHttpRequest should get access to AppCache resources stored as flat files
https://bugs.webkit.org/show_bug.cgi?id=143711
Reviewed by Darin Adler.
Source/WebCore:
This patch checks whether a substitute resource data is stored in memory or in file for synchronous loads.
If data is stored in file, it reads the data through SharedBuffer::createWithContentsOfFile.
This patch refactors some routines to replace Vector<char> by SharedBuffer to transmit response data.
Test: http/tests/appcache/simple-video-sync.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
- loader/FrameLoader.h:
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::createFileURL):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::maybeLoadFallbackSynchronously):
- loader/appcache/ApplicationCacheHost.h:
- xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
LayoutTests:
- http/tests/appcache/resources/fake-video.mp4: Added.
- http/tests/appcache/resources/simple-video-sync.manifest: Added.
- http/tests/appcache/simple-video-sync-expected.txt: Added.
- http/tests/appcache/simple-video-sync.html: Added.
- 3:23 AM Changeset in webkit [183392] by
-
- 2 edits in trunk/LayoutTests
Also skip it in run-javascriptcore-tests.
- js/script-tests/class-syntax-semicolon.js:
- 3:13 AM Changeset in webkit [183391] by
-
- 2 edits in trunk/LayoutTests
Temporarily skip the test added in r183384 as it's hitting an assertion per an existing bug.
The newly uncovered bug is tracked by webkit.org/b/144258.
- 3:05 AM Changeset in webkit [183390] by
-
- 3 edits in trunk/Tools
[buildbot] Fix the output of perf-test buildstep on timeout
https://bugs.webkit.org/show_bug.cgi?id=144097
Reviewed by Ryosuke Niwa.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunAndUploadPerfTests.getText2):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunAndUploadPerfTestsTest.test_buildbot_timeout):
(RunAndUploadPerfTestsTest.test_build_bad_preparation): Deleted.
- 3:02 AM Changeset in webkit [183389] by
-
- 5 edits in trunk
[EFL] TestWebKitAPI's forwarding header generator should depend on WebKit2's generator
https://bugs.webkit.org/show_bug.cgi?id=143874
Reviewed by Gyuyoung Kim.
Source/WebKit2:
- PlatformEfl.cmake: Rename the generator to have consistent name with other generators.
- Scripts/generate-forwarding-headers.pl: Removed the unnecessary multiple include-path support.
Tools:
- TestWebKitAPI/PlatformEfl.cmake: Add the new dependency.
Apr 26, 2015:
- 11:47 PM Changeset in webkit [183388] by
-
- 7 edits2 adds in trunk
[JHBuild] Move to upstream OpenWebRTC
https://bugs.webkit.org/show_bug.cgi?id=144145
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/FindOpenWebRTC.cmake: Check the presence of the
owr-gst library.
Source/WebCore:
- platform/mediastream/openwebrtc/OpenWebRTCUtilities.cpp:
(WebCore::initializeOpenWebRTC): Update with new owr_init API.
Tools:
- efl/jhbuild.modules: Switch to upstream OpenWebRTC repository
and add a new simple patch to gst-plugins-base, required for
OpenWebRTC build.
- efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Added.
- gtk/jhbuild.modules: Ditto.
- gtk/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Added.
- 11:17 PM Changeset in webkit [183387] by
-
- 11 edits4 adds1 delete in trunk/Source
[SOUP] Add initial implementation of NetworkProcess disk cache
https://bugs.webkit.org/show_bug.cgi?id=143872
Reviewed by Martin Robinson.
Source/WebCore:
Allow to create a GRefPtr for SoupBuffer. Even though SoupBuffer
is not a GObject and has copy/free functions instead of ref/unref,
it's internally refcounted, so we could use copy/free as
ref/unref.
- PlatformGTK.cmake:
- platform/network/soup/GRefPtrSoup.cpp: Added.
(WTF::refGPtr):
(WTF::derefGPtr):
- platform/network/soup/GRefPtrSoup.h: Added.
Source/WebKit2:
Implement the platform specific parts of the disk cache
implementation for Soup. It's mainly NetworkCache::Data and
NetworkCache::IOChannel.
- CMakeLists.txt:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::dumpFileChanged):
(WebKit::NetworkCache::Cache::initialize):
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
- NetworkProcess/cache/NetworkCacheData.h:
(WebKit::NetworkCache::Data::soupBuffer):
- NetworkProcess/cache/NetworkCacheDataSoup.cpp: Added.
(WebKit::NetworkCache::Data::Data):
(WebKit::NetworkCache::Data::empty):
(WebKit::NetworkCache::Data::data):
(WebKit::NetworkCache::Data::isNull):
(WebKit::NetworkCache::Data::apply):
(WebKit::NetworkCache::Data::subrange):
(WebKit::NetworkCache::concatenate):
(WebKit::NetworkCache::MapWrapper::~MapWrapper):
(WebKit::NetworkCache::deleteMapWrapper):
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::Data::adoptMap):
(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::bytesEqual):
- NetworkProcess/cache/NetworkCacheIOChannel.h:
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: Added.
(WebKit::NetworkCache::IOChannel::IOChannel):
(WebKit::NetworkCache::IOChannel::open):
(WebKit::NetworkCache::fillDataFromReadBuffer):
(WebKit::NetworkCache::inputStreamReadReadyCallback):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::outputStreamWriteReadyCallback):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Removed.
- NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::clearDiskCache):
- PlatformGTK.cmake:
- 10:58 PM Changeset in webkit [183386] by
-
- 2 edits in trunk/LayoutTests
editing/selection/programmatic-selection-on-mac-is-directionless.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141122
- platform/wk2/TestExpectations: Mark the test as such. Unfortunately, there are
almost certainly other tests affected by this.
- 10:39 PM Changeset in webkit [183385] by
-
- 5 edits in trunk
[CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes as definite
https://bugs.webkit.org/show_bug.cgi?id=144144
Reviewed by Darin Adler.
Source/WebCore:
Change order in hasDefiniteLogicalHeight() ifs to consider definite
absolutely positioned elements.
Test: fast/css-grid-layout/percent-track-breadths-regarding-container-size.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::hasDefiniteLogicalHeight):
LayoutTests:
Add new test case to check absolutely positioned elements.
- fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt:
- fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
- 10:02 PM Changeset in webkit [183384] by
-
- 2 edits in trunk/LayoutTests
Class body ending with a semicolon throws a SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144244
Patch by Ryosuke Niwa <rniwa@webkit.org> on 2015-04-26
Reviewed by Darin Adler.
Added a regression test for having a semicolon inside the class definition.
- js/class-syntax-semicolon-expected.txt: Added.
- js/class-syntax-semicolon.html: Added.
- js/script-tests/class-syntax-semicolon.js: Added.
- 9:20 PM Changeset in webkit [183383] by
-
- 3 edits3 adds in trunk
Class body ending with a semicolon throws a SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144244
Reviewed by Darin Adler.
Source/JavaScriptCore:
The bug was caused by parseClass's inner loop for method definitions not moving onto the next iteration
it encounters a semicolon. As a result, we always expected a method to appear after a semicolon. Fixed
it by continue'ing when it encounters a semicolon.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
LayoutTests:
Added a regression test for having a semicolon inside the class definition.
- js/class-syntax-semicolon-expected.txt: Added.
- js/class-syntax-semicolon.html: Added.
- js/script-tests/class-syntax-semicolon.js: Added.
- 9:18 PM Changeset in webkit [183382] by
-
- 7 edits in trunk
Getter or setter method named "prototype" or "constrcutor" should throw SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144243
Reviewed by Darin Adler.
Source/JavaScriptCore:
Fixed the bug by adding explicit checks in parseGetterSetter when we're parsing class methods.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseGetterSetter):
LayoutTests:
Added tests cases to both tests. Also added test cases missing from expression tests.
- js/class-syntax-declaration-expected.txt:
- js/class-syntax-expression-expected.txt:
- js/script-tests/class-syntax-declaration.js:
- js/script-tests/class-syntax-expression.js:
- 8:51 PM Changeset in webkit [183381] by
-
- 86 edits2 adds in trunk
SVGFilterBuilder should drive the builtin sourceAlpha from the passed sourceGraphic
https://bugs.webkit.org/show_bug.cgi?id=144137
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-04-26
Reviewed by Darin Adler.
Source/WebCore:
The SourceAlpha should be driven from the last applied FilterEffect. This
will require the SourceAlpha FilterEffect to wrap a FilterEffect rather
than just getting the SourceGraphic reference from FilterEffectRenderer.
This is based on the Blink patch:
https://src.chromium.org/viewvc/blink?revision=194115&view=revision.
Test: svg/filters/sourceAlpha-input-filter-effect.html
- platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::create): Make SourceAlpha wraps a FilterEffect
rather than a Filter.
(WebCore::SourceAlpha::determineAbsolutePaintRect): Determine the paint
rect from the wrapped FilterEffect.
(WebCore::SourceAlpha::platformApplySoftware): Extract the alpha channel
from the wrapped FilterEffect.
(WebCore::SourceAlpha::SourceAlpha):
- platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::SourceAlpha): Deleted.
Reimplement the constructor of the SourceAlpha such that it wraps the
sourceEffect in its inputEffects.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter): Delete the FIXME
comment and do exactly what it said. This matches the implementation of
Gecko and Blink.
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
Delete the extra argument.
- svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::SVGFilterBuilder):
- svg/graphics/filters/SVGFilterBuilder.h: Drive the SourceAlpha from the
passed source FilterEffect.
- platform/graphics/filters/FEBlend.cpp:
- platform/graphics/filters/FEBlend.h:
- platform/graphics/filters/FEColorMatrix.cpp:
- platform/graphics/filters/FEColorMatrix.h:
- platform/graphics/filters/FEComponentTransfer.cpp:
- platform/graphics/filters/FEComponentTransfer.h:
- platform/graphics/filters/FEComposite.cpp:
- platform/graphics/filters/FEComposite.h:
- platform/graphics/filters/FEConvolveMatrix.cpp:
- platform/graphics/filters/FEConvolveMatrix.h:
- platform/graphics/filters/FEDiffuseLighting.cpp:
- platform/graphics/filters/FEDiffuseLighting.h:
- platform/graphics/filters/FEDisplacementMap.cpp:
- platform/graphics/filters/FEDisplacementMap.h:
- platform/graphics/filters/FEDropShadow.cpp:
- platform/graphics/filters/FEDropShadow.h:
- platform/graphics/filters/FEFlood.cpp:
- platform/graphics/filters/FEFlood.h:
- platform/graphics/filters/FEGaussianBlur.cpp:
- platform/graphics/filters/FEGaussianBlur.h:
- platform/graphics/filters/FELighting.cpp:
- platform/graphics/filters/FELighting.h:
- platform/graphics/filters/FEMerge.cpp:
- platform/graphics/filters/FEMerge.h:
- platform/graphics/filters/FEMorphology.cpp:
- platform/graphics/filters/FEMorphology.h:
- platform/graphics/filters/FEOffset.cpp:
- platform/graphics/filters/FEOffset.h:
- platform/graphics/filters/FESpecularLighting.cpp:
- platform/graphics/filters/FESpecularLighting.h:
- platform/graphics/filters/FETile.cpp:
- platform/graphics/filters/FETile.h:
- platform/graphics/filters/FETurbulence.cpp:
- platform/graphics/filters/FETurbulence.h:
- platform/graphics/filters/Filter.h:
- platform/graphics/filters/FilterEffect.cpp:
- platform/graphics/filters/FilterEffect.h:
- platform/graphics/filters/SourceGraphic.cpp:
- platform/graphics/filters/SourceGraphic.h:
- rendering/svg/RenderSVGResourceFilter.h:
- rendering/svg/SVGRenderTreeAsText.cpp:
Code clean up: Pointer to reference conversion. It starts by converting
FilterEffect::m_filter from pointer to reference and it kept expanding.
All the creations of FilterEffect were happening by passing "this" so
passing "*this" did not require to check whether the pointer is nil.
- svg/SVGFEBlendElement.cpp:
- svg/SVGFEBlendElement.h:
- svg/SVGFEColorMatrixElement.cpp:
- svg/SVGFEColorMatrixElement.h:
- svg/SVGFEComponentTransferElement.cpp:
- svg/SVGFEComponentTransferElement.h:
- svg/SVGFECompositeElement.cpp:
- svg/SVGFECompositeElement.h:
- svg/SVGFEConvolveMatrixElement.cpp:
- svg/SVGFEConvolveMatrixElement.h:
- svg/SVGFEDiffuseLightingElement.cpp:
- svg/SVGFEDiffuseLightingElement.h:
- svg/SVGFEDisplacementMapElement.cpp:
- svg/SVGFEDisplacementMapElement.h:
- svg/SVGFEDropShadowElement.cpp:
- svg/SVGFEDropShadowElement.h:
- svg/SVGFEFloodElement.cpp:
- svg/SVGFEFloodElement.h:
- svg/SVGFEGaussianBlurElement.cpp:
- svg/SVGFEGaussianBlurElement.h:
- svg/SVGFEImageElement.cpp:
- svg/SVGFEImageElement.h:
- svg/SVGFEMergeElement.cpp:
- svg/SVGFEMergeElement.h:
- svg/SVGFEMorphologyElement.cpp:
- svg/SVGFEMorphologyElement.h:
- svg/SVGFEOffsetElement.cpp:
- svg/SVGFEOffsetElement.h:
- svg/SVGFESpecularLightingElement.cpp:
- svg/SVGFESpecularLightingElement.h:
- svg/SVGFETileElement.cpp:
- svg/SVGFETileElement.h:
- svg/SVGFETurbulenceElement.cpp:
- svg/SVGFETurbulenceElement.h:
- svg/SVGFilterPrimitiveStandardAttributes.h:
- svg/graphics/filters/SVGFEImage.cpp:
- svg/graphics/filters/SVGFEImage.h:
Code clean up: Pointer to reference and PassRefPtr<> to RefPtr<> or Ref<>
conversion.
LayoutTests:
Ensure the SourceAlpha is driven from last applied FilterEffect.
- svg/filters/sourceAlpha-input-filter-effect-expected.html: Added.
- svg/filters/sourceAlpha-input-filter-effect.html: Added.
- 8:38 PM Changeset in webkit [183380] by
-
- 2 edits in trunk/Websites/webkit.org
Improve the status page
https://bugs.webkit.org/show_bug.cgi?id=144248
Reviewed by Darin Adler.
- status.html:
Lots of minor changes:
-Add a page title.
-Do not use sync XHR. That was nice for testing but that's eveil
and it breaks Firefox.
-Start fetching the json files as soon as possible during page load,
that server takes forever to respond.
-Remove some useless CSS.
-Get rid of mustache. That template thing was awesome but it took
up to 600ms to fetch the file (plus it is not exactly efficient).
-Put both the specifications and the features in the list.
They are referencing each other with links. That seems to work pretty well.
-Use the keywords for filtering.
- 7:30 PM Changeset in webkit [183379] by
-
- 2 edits in trunk/LayoutTests
[EFL] Unreviewed EFL gardening on 27th April.
Unskip 2 tests which have been passed since r183368.
Mark editing/selection/extend-by-character-007.html to missing.
This needs to have new baseline for EFL port.
- platform/efl/TestExpectations:
- 7:04 PM Changeset in webkit [183378] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r174283): disabled default buttons use impossible-to-read white text on Mac
https://bugs.webkit.org/show_bug.cgi?id=144237
Reviewed by Simon Fraser.
No test because DumpRenderTree and WebKitTestRunner don't have a good method
for testing behaviors that are specific to active windows. That's the same reason
that the change that caused this bug didn't come with a regression test.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Renamed "e" to "element". Added a comment to
clarify the meaning of the setInsideDefaultButton function, and added an
isDisabledFormControl check so it won't trigger on a disabled button.
(WebCore::RenderTheme::systemColor): Moved CSSValueActivebuttontext into
alphabetical order to match the rest of the switch statement ordering.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Moved CSSValueActivebuttontext into
alphabetical order to match the rest of the switch statement ordering. Also
fixed its behavior on older versions of OS X; it should just return the same
thing that CSSValueButtontext would return in that context.
- 6:52 PM Changeset in webkit [183377] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Cannot make Timeline time range selection clicking inside Frames Overview
https://bugs.webkit.org/show_bug.cgi?id=143744
Patch by Matt Baker <Matt Baker> on 2015-04-26
Reviewed by Timothy Hatcher.
Fixed frame rate divider element style so that it is no longer a mouse event target.
- UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
(.timeline-overview-graph.rendering-frame > .divider):
- 6:25 PM Changeset in webkit [183376] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow Timeline tab to show resource when a go-to arrow is clicked in a recording
https://bugs.webkit.org/show_bug.cgi?id=144240
Only support showing a resource or script if we have that represented object in the Timeline sidebar.
Reviewed by Darin Adler.
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype.canShowRepresentedObject):
- 6:24 PM Changeset in webkit [183375] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Don't use treeElement.revealAndSelect when showing a default content view
https://bugs.webkit.org/show_bug.cgi?id=144239
Using revealAndSelect will end up calling WebInspector.showRepresentedObject. That is not bad
is most cases, but if the select tab supports the same represented object, it can end up showing
the content view in the wrong tab.
Reviewed by Darin Adler.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection): Deleted.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
- 5:33 PM Changeset in webkit [183374] by
-
- 2 edits3 adds in trunk
Map#forEach does not pass "map" argument to callback.
https://bugs.webkit.org/show_bug.cgi?id=144187
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-26
Reviewed by Darin Adler.
Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-map.prototype.foreach
step 7.a.i., the callback should be called with three arguments.
- runtime/MapPrototype.cpp:
(JSC::mapProtoFuncForEach):
- 5:27 PM Changeset in webkit [183373] by
-
- 37 edits3 adds in trunk
[ES6] Implement ES6 template literals
https://bugs.webkit.org/show_bug.cgi?id=142691
Reviewed by Darin Adler.
.:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Source/cmake/WebKitFeatures.cmake:
- Source/cmakeconfig.h.cmake:
Source/JavaScriptCore:
This patch implements TemplateLiteral.
Since TaggedTemplate requires some global states and
primitive operations like GetTemplateObject,
we separate the patch. It will be implemented in a subsequent patch.
Template Literal Syntax is guarded by ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
By disabling it, we can disable Template Literal support.
To implement template literals, in this patch,
we newly introduces bytecode op_to_string.
In template literals, we alternately evaluate the expression and
perform ToString onto the result of evaluation.
For example,
${f1()} ${f2()}
In this template literal, execution order is the following,
- calling f1()
- ToString(the result of f1())
- calling f2()
- ToString(the result of f2())
op_strcat also performs ToString. However, performing ToString
onto expressions are batched in op_strcat, it's not the same to the
template literal spec. In the above example,
ToString(f1()) should be called before calling f2().
- Configurations/FeatureDefines.xcconfig:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitToString):
(JSC::BytecodeGenerator::emitToNumber): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::TemplateStringNode::emitBytecode):
(JSC::TemplateLiteralNode::emitBytecode):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emitSlow_op_to_string):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emitSlow_op_to_string):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createTemplateString):
(JSC::ASTBuilder::createTemplateStringList):
(JSC::ASTBuilder::createTemplateExpressionList):
(JSC::ASTBuilder::createTemplateLiteral):
- parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<T>::parseIdentifierSlowCase):
(JSC::Lexer<T>::parseString):
(JSC::LineNumberAdder::LineNumberAdder):
(JSC::LineNumberAdder::clear):
(JSC::LineNumberAdder::add):
(JSC::Lexer<T>::parseTemplateLiteral):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanRegExp):
(JSC::Lexer<T>::scanTrailingTemplateString):
(JSC::Lexer<T>::parseStringSlowCase): Deleted.
- parser/Lexer.h:
- parser/NodeConstructors.h:
(JSC::TemplateExpressionListNode::TemplateExpressionListNode):
(JSC::TemplateStringNode::TemplateStringNode):
(JSC::TemplateStringListNode::TemplateStringListNode):
(JSC::TemplateLiteralNode::TemplateLiteralNode):
- parser/Nodes.h:
(JSC::TemplateExpressionListNode::value):
(JSC::TemplateExpressionListNode::next):
(JSC::TemplateStringNode::cooked):
(JSC::TemplateStringNode::raw):
(JSC::TemplateStringListNode::value):
(JSC::TemplateStringListNode::next):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseTemplateString):
(JSC::Parser<LexerType>::parseTemplateLiteral):
(JSC::Parser<LexerType>::parsePrimaryExpression):
- parser/Parser.h:
- parser/ParserTokens.h:
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTemplateString):
(JSC::SyntaxChecker::createTemplateStringList):
(JSC::SyntaxChecker::createTemplateExpressionList):
(JSC::SyntaxChecker::createTemplateLiteral):
(JSC::SyntaxChecker::createSpreadExpression): Deleted.
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
- tests/stress/template-literal-line-terminators.js: Added.
(test):
(testEval):
(testEvalLineNumber):
- tests/stress/template-literal-syntax.js: Added.
(testSyntax):
(testSyntaxError):
- tests/stress/template-literal.js: Added.
(test):
(testEval):
(testEmbedded):
Source/WebCore:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Configurations/FeatureDefines.xcconfig:
Tools:
Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
- Scripts/webkitperl/FeatureList.pm:
- 4:41 PM Changeset in webkit [183372] by
-
- 4 edits in trunk/Source/WebKit2
Remove PluginView::renderer().
https://bugs.webkit.org/show_bug.cgi?id=144216
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-26
Reviewed by Darin Adler.
Nobody should have to know about the plug-in view's renderer except the plug-in view itself.
No new tests, no behavior change.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertFromScrollbarToContainingView):
(WebKit::PDFPlugin::convertFromContainingViewToScrollbar):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::renderer): Deleted.
- WebProcess/Plugins/PluginView.h:
- 3:54 PM Changeset in webkit [183371] by
-
- 2 edits3 adds in trunk
Set#forEach does not pass "key" or "set" arguments to callback.
https://bugs.webkit.org/show_bug.cgi?id=144188
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-26
Reviewed by Darin Adler.
Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.foreach
Set#forEach should pass 3 arguments to the callback.
- runtime/SetPrototype.cpp:
(JSC::setProtoFuncForEach):
- 3:44 PM Changeset in webkit [183370] by
-
- 11 edits2 adds in trunk
[CSS Grid Layout] Support for align-self and align-items in grid layout
https://bugs.webkit.org/show_bug.cgi?id=133225
Reviewed by Darin Adler.
Source/WebCore:
Implementation of align-self and align-items properties for grid. It supports
different writing-modes and direction. Margins, borders and paddings are also
considered when computing the final position and stretched size.
Overflow handling is still missing and will be added when implemented row-axis
alignment support.
Test: fast/css-grid-layout/grid-align.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::endOfRowForChild):
(WebCore::RenderGrid::startOfRowForChild):
(WebCore::RenderGrid::centeredRowPositionForChild):
(WebCore::marginWidthForChild):
(WebCore::marginHeightForChild):
(WebCore::RenderGrid::allowedToStretchLogicalHeightForChild):
(WebCore::RenderGrid::needToStretchChildLogicalHeight):
(WebCore::RenderGrid::marginLogicalHeightForChild):
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::populateGridPositions): Deleted.
- rendering/RenderGrid.h:
LayoutTests:
Implementation of align-self and align-items properties ifor grid.
Several layout tests were touched for adapting them to the new grid item's
column-axis position when using RTL direction.
- fast/css-grid-layout/grid-align-expected.txt: Added.
- fast/css-grid-layout/grid-align.html: Added.
- fast/css-grid-layout/grid-element-border-grid-item.html:
- fast/css-grid-layout/grid-element-border-padding-grid-item.html:
- fast/css-grid-layout/grid-element-padding-grid-item.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl-expected.html:
- fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl-expected.html:
- fast/css-grid-layout/grid-item-margin-resolution.html:
- 3:31 PM Changeset in webkit [183369] by
-
- 2 edits in trunk/Tools
[CMake][EFL] Remove unnecessary include, library path in WebKitTestRunner/PlatformEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=144217
Reviewed by Darin Adler.
- WebKitTestRunner/PlatformEfl.cmake:
- 3:17 PM Changeset in webkit [183368] by
-
- 74 edits3 copies8 adds in trunk
AX: richer text change notifications (142719)
https://bugs.webkit.org/show_bug.cgi?id=142719
Patch by Doug Russell <d_russell@apple.com> on 2015-04-26
Reviewed by Darin Adler.
Richer accessibility value change notifications. Introduce AXTextEditType,
postTextStateChangeNotification and postTextReplacementNotification to give assistive
tech apps more reliable context for responding to changes in web content. Also implement
a mechanism to post value changes in password form fields in coalesced ticks to thwart
analyzing the cadence of changes.
Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent,
and an overload of postTextReplacementNotification to give assistive tech apps more
reliable context for responding to changes in web content selection. Also block posting
selection changes on password fields.
Source/WebCore:
Tests: platform/mac/accessibility/input-replacevalue-userinfo.html
platform/mac/accessibility/selection-change-userinfo.html
platform/mac/accessibility/value-change-userinfo.html
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::isPasswordFieldOrContainedByPasswordField):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::rootWebArea):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::selectedChildrenChanged): Deleted.
(WebCore::AXObjectCache::frameLoadingEventNotification): Deleted.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::computedObjectAttributeCache): Deleted.
(WebCore::AXObjectCache::getOrCreate): Deleted.
(WebCore::AXObjectCache::attachWrapper): Deleted.
- accessibility/AXTextStateChangeIntent.h: Added.
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::passwordFieldOrContainingPasswordField):
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isContainedByPasswordField):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField):
(WebCore::AccessibilityObject::isPasswordField): Deleted.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
- accessibility/AccessibilityScrollView.h:
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::setShouldRepostNotificationsForTests):
(WebCore::AXPostNotificationWithUserInfo):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::textReplacementChangeDictionary):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(+[WebAccessibilityObjectWrapperBase accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]):
(arrayRemovingNonJSONTypes):
(dictionaryRemovingNonJSONTypes):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:userInfo:]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand):
(WebCore::sendAXTextChangedIgnoringLineBreaks):
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
- editing/AppendNodeCommand.h:
(WebCore::AppendNodeCommand::create):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::applyBlockStyle): Deleted.
- editing/ApplyStyleCommand.h:
- editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapplyEditType):
(WebCore::CompositeEditCommand::CompositeEditCommand):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::insertParagraphSeparator):
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::appendNode):
(WebCore::CompositeEditCommand::removeNodePreservingChildren):
(WebCore::CompositeEditCommand::insertTextIntoNode):
(WebCore::CompositeEditCommand::deleteTextFromNode):
(WebCore::CompositeEditCommand::replaceTextInNode):
(WebCore::CompositeEditCommand::moveParagraphs):
(WebCore::EditCommandComposition::getNodesInCommand): Deleted.
(WebCore::CompositeEditCommand::applyStyle): Deleted.
(WebCore::CompositeEditCommand::insertLineBreak): Deleted.
(WebCore::CompositeEditCommand::insertNodeAt): Deleted.
(WebCore::CompositeEditCommand::removeChildrenInRange): Deleted.
(WebCore::CompositeEditCommand::inputText): Deleted.
- editing/CompositeEditCommand.h:
- editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
- editing/DeleteFromTextNodeCommand.h:
(WebCore::DeleteFromTextNodeCommand::create):
(WebCore::DeleteFromTextNodeCommand::deletedText):
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::preservesTypingStyle): Deleted.
- editing/DeleteSelectionCommand.h:
(WebCore::DeleteSelectionCommand::create):
- editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
(WebCore::DictationCommand::insertParagraphSeparator):
- editing/EditAction.h:
- editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand):
(WebCore::EditCommand::editingAction):
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
(WebCore::SimpleEditCommand::SimpleEditCommand):
(WebCore::SimpleEditCommand::notifyAccessibilityForTextChange):
(WebCore::EditCommand::setParent): Deleted.
- editing/EditCommand.h:
- editing/EditingAllInOne.cpp:
- editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::deleteSelectionWithSmartDelete):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::replaceSelectionWithText):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::transpose):
(WebCore::Editor::changeSelectionAfterCommand):
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::executeInsertFragment):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::isBoundary):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
(WebCore::FrameSelection::modifyMovingBackward): Deleted.
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): Deleted.
(WebCore::FrameSelection::selectionAtWordStart): Deleted.
- editing/FrameSelection.h:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
(WebCore::FrameSelection::selection): Deleted.
- editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
- editing/InsertIntoTextNodeCommand.h:
(WebCore::InsertIntoTextNodeCommand::create):
(WebCore::InsertIntoTextNodeCommand::insertedText):
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
- editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
- editing/InsertParagraphSeparatorCommand.h:
(WebCore::InsertParagraphSeparatorCommand::create):
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::InsertTextCommand):
- editing/InsertTextCommand.h:
(WebCore::InsertTextCommand::create):
(WebCore::InsertTextCommand::createWithMarkerSupplier):
- editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
- editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
- editing/RemoveNodePreservingChildrenCommand.h:
(WebCore::RemoveNodePreservingChildrenCommand::create):
- editing/ReplaceDeleteFromTextNodeCommand.cpp: Copied from Source/WebCore/editing/AppendNodeCommand.h.
(WebCore::ReplaceDeleteFromTextNodeCommand::ReplaceDeleteFromTextNodeCommand):
(WebCore::ReplaceDeleteFromTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceDeleteFromTextNodeCommand.h: Copied from Source/WebCore/editing/AppendNodeCommand.h.
- editing/ReplaceInsertIntoTextNodeCommand.cpp: Added.
(WebCore::ReplaceInsertIntoTextNodeCommand::ReplaceInsertIntoTextNodeCommand):
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceInsertIntoTextNodeCommand.h: Copied from Source/WebCore/editing/RemoveNodePreservingChildrenCommand.h.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Deleted.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Deleted.
- editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertParagraphSeparator):
- editing/atk/FrameSelectionAtk.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS):
- editing/ios/DictationCommandIOS.h:
- editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/EventHandler.cpp:
(WebCore::setInitialKeyboardSelection):
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
Source/WebKit2:
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
Tools:
- DumpRenderTree/mac/AccessibilityNotificationHandler.h:
- DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler stopObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeNotificationListener):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::removeNotificationListener):
LayoutTests:
- platform/mac/accessibility/input-replacevalue-userinfo-expected.txt: Added.
- platform/mac/accessibility/input-replacevalue-userinfo.html: Added.
- platform/mac/accessibility/selection-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/selection-change-userinfo.html: Added.
- platform/mac/accessibility/value-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/value-change-userinfo.html: Added.
- 2:26 PM Changeset in webkit [183367] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
refine
- 2:25 PM Changeset in webkit [183366] by
-
- 6 edits2 adds in trunk
REGRESSION (r176751): line-height ignored in <button> elements
https://bugs.webkit.org/show_bug.cgi?id=144234
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/forms/button-line-height.html
- platform/Theme.h: Changed controlFont to return an Optional so we can tell
when the theme is overriding the font. Otherwise if the font from the user-agent
style sheet and the font from the theme are the same, we will think we are not
overriding the font when we actually are.
- platform/mac/ThemeMac.h: Updated controlFont to return Optional.
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont): Ditto.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Set line height only if the font is
overriden by the theme, all the time for PushButtonPart on Mac, and not at all
for other parts. Also tightened up the logic a little since RenderStyle's
setFontDescription already does an "==" comparison; we don't have to do
that twice.
LayoutTests:
- fast/forms/button-line-height-expected.html: Added.
- fast/forms/button-line-height.html: Added.
- 2:18 PM Changeset in webkit [183365] by
-
- 4 edits2 adds in trunk
REGRESSION (r173801): Use after free in WebCore::NotificationCenter::~NotificationCenter
https://bugs.webkit.org/show_bug.cgi?id=137163
Reviewed by Andy Estes.
Source/WebCore:
Test: fast/notifications/request-notification-permission-while-reloading.html
The test doesn't crash under WebKit2, but that's still OK for our purposes.
- Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::NotificationCenter): Initialize m_timer.
(WebCore::NotificationCenter::createNotification): Moved here from the header.
(WebCore::NotificationCenter::requestPermission): Start the timer and ref the notification
center when we need to defer a callback. Also use a lambda for the callback and changed
the argument to match what the bindings actually pass. Before we said PassRefPtr, but the
bindings were not transferring ownership of the VoidCallback. The new type is a little
strange but it's consistent with how the bindings work right now.
(WebCore::NotificationCenter::timerFired): Added. Calls all the callbacks, then does a deref
to match the ref we did above.
(WebCore::NotificationCenter::requestTimedOut): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::startTimer): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::timerFired): Deleted.
- Modules/notifications/NotificationCenter.h: Reorganized the header to be a bit more tidy.
Changed the argument type for requestPermission to match the reality of what's passed by the
bindings. Removed NotificationRequestCallback and replaced the m_callbacks HashSet with a
vector of std::function.
LayoutTests:
- fast/notifications/request-notification-permission-while-reloading-expected.txt: Added.
- fast/notifications/request-notification-permission-while-reloading.html: Added.
- 1:38 PM Changeset in webkit [183364] by
-
- 15 edits in trunk/Source/WebCore
Modernize animations code
https://bugs.webkit.org/show_bug.cgi?id=144196
Reviewed by Darin Adler.
General cleanup in animation-related code.
Use C++ references where possible. Use modern loops. Make classes fast-allocated.
Use C++11 member initialization. Order member variables to optimize packing.
This removes some null checks in CompositeAnimation, but the values in m_transitions
and m_keyframeAnimations can never be null.
No behavior change.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
(WebCore::AnimationBase::animationsMatch):
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
(WebCore::AnimationBase::beginAnimationUpdateTime):
(WebCore::AnimationBase::getElapsedTime):
- page/animation/AnimationBase.h:
(WebCore::AnimationBase::animation):
(WebCore::AnimationBase::setAnimation):
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation):
(WebCore::CompositeAnimation::clearRenderer):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::getAnimatedStyle):
(WebCore::CompositeAnimation::timeToNextService):
(WebCore::CompositeAnimation::getAnimationForProperty):
(WebCore::CompositeAnimation::computeExtentOfTransformAnimation):
(WebCore::CompositeAnimation::suspendAnimations):
(WebCore::CompositeAnimation::resumeAnimations):
(WebCore::CompositeAnimation::overrideImplicitAnimations):
(WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
(WebCore::CompositeAnimation::isAnimatingProperty):
(WebCore::CompositeAnimation::pauseTransitionAtTime):
(WebCore::CompositeAnimation::numberOfActiveAnimations):
- page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::create):
(WebCore::CompositeAnimation::animationController):
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
- page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle):
(WebCore::KeyframeAnimation::computeExtentOfTransformAnimation):
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::overrideAnimations):
(WebCore::KeyframeAnimation::resumeOverriddenAnimations):
(WebCore::KeyframeAnimation::timeToNextService):
- page/animation/KeyframeAnimation.h:
- platform/animation/Animation.cpp:
(WebCore::Animation::animationsMatch):
- platform/animation/Animation.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::performOverlapTests):
- rendering/style/KeyframeList.h:
(WebCore::KeyframeList::properties):
(WebCore::KeyframeList::keyframes):
(WebCore::KeyframeList::beginProperties): Deleted.
(WebCore::KeyframeList::endProperties): Deleted.
(WebCore::KeyframeList::operator[]): Deleted.
- rendering/style/RenderStyle.h:
- 1:36 PM Changeset in webkit [183363] by
-
- 4 edits in tags/Safari-601.1.30/Source/WebKit2
Merged r183360. rdar://problem/20702337
- 1:22 PM Changeset in webkit [183362] by
-
- 5 edits in trunk/Source
Versioning.
- 1:20 PM Changeset in webkit [183361] by
-
- 1 copy in tags/Safari-601.1.30
New tag.
- 1:20 PM Changeset in webkit [183360] by
-
- 4 edits in trunk/Source/WebKit2
<rdar://problem/20702337> REGRESSION (r182952): Plug-in service fails to load because it links against WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144233
Reviewed by Simon Fraser.
Have the plug-in service link against WebKit.framework rather than WebKit2.framework.
- Configurations/PluginService.32.xcconfig: Removed linker flags for linking against WebKit2
and Foundation from the definition of OTHER_LDFLAGS. Since linking is no longer conditional,
we can just do it in the target’s Link Binary With Libraries build phase.
- Configurations/PluginService.64.xcconfig: Ditto.
- WebKit2.xcodeproj/project.pbxproj: Have Foundation and WebKit listed in the services’ Link
Binariy With Libraries build phases (one service already had WebKit).
- 12:57 PM Changeset in webkit [183359] by
-
- 1 edit1 add in trunk/Websites/webkit.org
Start a basic status page on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=143940
Patch by Benjamin Poulain <benjamin@webkit.org>, Chris Bateman <chrisb808@gmail.com> on 2015-04-26
Reviewed by Darin Adler.
- status.html: Added.
Nothing fancy, for now just show the "features" list of the two features.json
- 12:55 PM Changeset in webkit [183358] by
-
- 30 edits4 adds3 deletes in trunk
[JSC] Implement Math.clz32(), remove Number.clz()
https://bugs.webkit.org/show_bug.cgi?id=144205
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This patch adds the ES6 function Math.clz32(), and remove the non-standard
Number.clz(). Number.clz() probably came from an older draft.
The new function has a corresponding instrinsic: Clz32Intrinsic,
and a corresponding DFG node: ArithClz32, optimized all the way to LLVM.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::countLeadingZeros32):
- assembler/X86Assembler.h:
(JSC::X86Assembler::bsr_rr):
The x86 assembler did not have countLeadingZeros32() because there is
no native CLZ instruction on that architecture.
I have added the version with bsr + branches for the case of zero.
An other popular version uses cmov to handle the case of zero. I kept
it simple since the Assembler has no support for cmov.
It is unlikely to matter much. If the code is hot enough, LLVM picks
something good based on the surrounding code.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Constant handling + effect propagation. The node only produces integer (between 0 and 32).
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
Thanks to the definition of toUint32(), we can ignore plenty of details
from doubles.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithClz32):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithClz32):
- ftl/FTLOutput.h:
(JSC::FTL::Output::ctlz32):
- jit/ThunkGenerators.cpp:
(JSC::clz32ThunkGenerator):
- jit/ThunkGenerators.h:
- runtime/Intrinsic.h:
- runtime/MathCommon.h:
(JSC::clz32):
Fun fact: InstCombine does not recognize this pattern to eliminate
the branch which makes our FTL version better than the C version.
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncClz32):
- runtime/NumberPrototype.cpp:
(JSC::clz): Deleted.
(JSC::numberProtoFuncClz): Deleted.
- runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
- tests/stress/math-clz32-basics.js: Added.
(mathClz32OnInteger):
(testMathClz32OnIntegers):
(verifyMathClz32OnIntegerWithOtherTypes):
(mathClz32OnDouble):
(testMathClz32OnDoubles):
(verifyMathClz32OnDoublesWithOtherTypes):
(mathClz32NoArguments):
(mathClz32TooManyArguments):
(testMathClz32OnConstants):
(mathClz32StructTransition):
(Math.clz32):
LayoutTests:
Basic conformance tests.
- js/Object-getOwnPropertyNames-expected.txt:
- js/math-clz32-expected.txt: Added.
- js/math-clz32.html: Renamed from LayoutTests/js/number-clz.html.
- js/number-clz-expected.txt: Removed.
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/math-clz32.js: Added.
(objectConvertToString.toString):
(objectRecordToStringCall.toString):
(objectThrowOnToString.toString):
(objectWithValueOf.valueOf):
(objectThrowOnValueOf.valueOf):
(objectThrowOnValueOf.toString):
(objectRecordValueOfCall.valueOf):
(objectRecordConversionCalls.toString):
(objectRecordConversionCalls.valueOf):
- js/script-tests/number-clz.js: Removed.
- 12:52 PM Changeset in webkit [183357] by
-
- 7 edits2 adds in trunk
[ES6] Array.from need to accept iterables
https://bugs.webkit.org/show_bug.cgi?id=141055
Reviewed by Darin Adler.
Source/JavaScriptCore:
ES6 spec requires that Array.from accepts iterable objects.
This patch introduces this functionality, Array.from accepting iterable objects.
Currently,
isConstructoris not used. Instead of it,typeof thiObj === "function"is used.
However, it doesn't conform to the spec. WhileisConstructorqueries the given object has[[Construct]],
typeof thisObj === "function"queries the given object has[[Call]].
This will be fixed in the subsequent patch[1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=144093
- builtins/ArrayConstructor.js:
(from):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- tests/stress/array-from-with-iterable.js: Added.
(shouldBe):
(.set for):
(.set var):
(.get var):
(argumentsGenerators):
(.set shouldBe):
(.set new):
- tests/stress/array-from-with-iterator.js: Added.
(shouldBe):
(shouldThrow):
(createIterator.iterator.return):
(createIterator):
(.):
LayoutTests:
Array.from now accepts iterables.
- js/array-from-expected.txt:
- 11:45 AM Changeset in webkit [183356] by
-
- 17 edits in trunk/LayoutTests
New baselines for iOS.
- platform/ios-simulator-wk2/compositing/contents-scale/rounded-contents-scale-expected.txt:
- platform/ios-simulator-wk2/compositing/contents-scale/scaled-ancestor-expected.txt:
- platform/ios-simulator-wk2/compositing/contents-scale/simple-scale-expected.txt:
- platform/ios-simulator-wk2/compositing/contents-scale/z-translate-expected.txt:
- platform/ios-simulator-wk2/compositing/repaint/invalidations-on-composited-layers-expected.txt:
- platform/ios-simulator-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/2d-transformed-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/3d-transformed-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/clipped-by-viewport-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/clipped-visible-rect-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/flipped-preserve-3d-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/iframe-and-layers-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/nested-transform-expected.txt:
- platform/ios-simulator-wk2/compositing/visible-rect/scrolled-expected.txt:
- 11:25 AM Changeset in webkit [183355] by
-
- 1 edit2 adds in trunk/LayoutTests
New WK1 results for this test.
- platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: Added.
- 10:24 AM Changeset in webkit [183354] by
-
- 49 edits1 copy1 add in trunk
Expand compositing coverage rect when scrolling and animating
https://bugs.webkit.org/show_bug.cgi?id=144214
rdar://problem/20695926
Reviewed by Darin Adler.
Source/WebCore:
r183300 added a secondary rect that gets mapped through graphics layers during
layer flushing, which represents a rect, in layer coordinates, that represents
the portion of this layer that's visible in the viewport.
This patch extends that rect based on scrolling and animating, with the extended
coverage rect being mapped into descendants (where it's used to determine whether
they should detach their backing store). This required moving the responsibility for
extending the coverage rect from TileController (where it was used to compute
tiled extent), to GraphicsLayerCA. Thus, GraphicsLayerCA now owns the concept
of coverage rect, and pushes it onto TileControllers.
Test: compositing/tiling/transform-origin-tiled.html
- platform/graphics/TiledBacking.h: Coverage rect is now pushed onto
TiledBacking from outside; new functions reflect that.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): No need to pass
old visible rect to commitLayerChangesBeforeSublayers.
(WebCore::accumulatesTransform):
(WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush): Now calls computeVisibleAndCoverageRect(),
then adjustCoverageRect() which adjusts for scrolling and animations.
(WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect): Fetch the coverage rect from the
TransformState, but we can only use this if mapping it through various transforms didn't clamp
it (which can happen with severe rotations in perspective).
(WebCore::GraphicsLayerCA::adjustCoverageRect): If this layer represents the page tiled backing,
ask the TileController to do coverage adjustment (code which should move into here eventually).
For other tiled layers, do motion-based adjustment. This should really be done for all layers
(an animating non-tiled layer may contain a tiled layer).
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): The VisibleRectChanged wasn't needed
any more; layers only react to changed in coverage rect now.
(WebCore::GraphicsLayerCA::recursiveCommitChanges): If adjustCoverageRect() changed the
coverage rect, here we push the new rect back into the TransformState so it will affect
descendants.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateCoverage): Coverage and backing store attachment go
hand-in-hand now.
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
(WebCore::GraphicsLayerCA::computeVisibleRect): Deleted.
(WebCore::GraphicsLayerCA::updateBackingStoreAttachment): Deleted.
(WebCore::GraphicsLayerCA::updateVisibleRect): Deleted.
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVisibleRect): Visible rect is only used for scroll performance
logging now.
(WebCore::TileController::setCoverageRect):
(WebCore::TileController::tilesWouldChangeForCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::boundsForSize): This is required because when computeTileCoverageRect()
is called at the top of committing the owning layer, we haven't yet pushed a new size to the
underlying platform layer (which TileController::bounds() consults).
(WebCore::TileController::bounds):
(WebCore::TileController::computeTileCoverageRect): Have to push the new size in, since the
underlying layer hasn't been updated yet.
(WebCore::TileController::didRevalidateTiles):
(WebCore::TileController::tilesWouldChangeForVisibleRect): Deleted.
- platform/graphics/ca/TileController.h:
- platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::TileCoverageMap): Add a layer to the tile map that shows
a dark blue outline for the coverage rect.
(WebCore::TileCoverageMap::update): Fix some minor issues with map position when top
content inset is non-zero.
- platform/graphics/ca/TileCoverageMap.h:
- platform/graphics/ca/TileGrid.cpp: Everything is in terms of coverage rect now.
(WebCore::TileGrid::tilesWouldChangeForCoverageRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::tilesWouldChangeForVisibleRect): Deleted.
- platform/graphics/ca/TileGrid.h:
- platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::operator=):
(WebCore::TransformState::mappedQuad): Pass direction into mapQuad().
(WebCore::TransformState::mappedSecondaryQuad): Ditto.
(WebCore::TransformState::setLastPlanarSecondaryQuad): This function allows a caller
to pass in a secondary quad, and get it mapped into the coordinate space of the last
"flattening" state (since the TransformState may have in-flight XY offset, or transform).
This mapping is achieved by re-using mapQuad(), but in the inverse direction.
(WebCore::TransformState::mapQuad): Make direction a parameter.
(WebCore::TransformState::flattenWithTransform): This code omitted to map the secondary
quad. Failure was detected by tests.
- platform/graphics/transforms/TransformState.h:
(WebCore::TransformState::isMappingSecondaryQuad):
(WebCore::TransformState::direction):
(WebCore::TransformState::inverseDirection):
(WebCore::TransformState::lastPlanarSecondaryQuad): Deleted.
LayoutTests:
New baselines for tests dumping layer output, with coverage rect being affected
by this changeset. One new test for tiling a layer inside overflow:hidden with transform-origin.
- compositing/contents-scale/animating-expected.txt:
- compositing/contents-scale/rounded-contents-scale-expected.txt:
- compositing/contents-scale/scaled-ancestor-expected.txt:
- compositing/contents-scale/simple-scale-expected.txt:
- compositing/tiling/transform-origin-tiled.html: Added.
- platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
- platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
- platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
- platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac/compositing/visible-rect/scrolled-expected.txt:
- 8:47 AM Changeset in webkit [183353] by
-
- 2 edits in trunk/Source/WebKit2
Fixed the build.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _showDocumentPickerMenu]): Suppressed deprecation warnings around use
of -[UIDocumentMenuViewController _setIgnoreApplicationEntitlementForImport:].
- 6:00 AM Changeset in webkit [183352] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Vertically misaligned text in Object Trees
https://bugs.webkit.org/show_bug.cgi?id=144029
Reviewed by Timothy Hatcher.
Remove top offset for object tree property titles to fix alignment issue since applying -webkit-system-font
font family to these (http://trac.webkit.org/changeset/182982).
- UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.object-tree-property > .titles):
Apr 25, 2015:
- 11:54 PM Changeset in webkit [183351] by
-
- 2 edits in trunk/LayoutTests
Mark some tests that take >10 seconds on debug bots as slow.
This is too close to 30 second timeout, so it's likely that these tests would flakily
time out on other configurations, e.g. locally.
- 11:06 PM Changeset in webkit [183350] by
-
- 19 edits in trunk/Source/WebCore
Updated expected bindings generation test results after r183343.
- bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
- bindings/scripts/test/ObjC/DOMTestCallback.h:
- bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
- bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
- bindings/scripts/test/ObjC/DOMTestEventTarget.h:
- bindings/scripts/test/ObjC/DOMTestException.h:
- bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
- bindings/scripts/test/ObjC/DOMTestInterface.h:
- bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
- bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
- bindings/scripts/test/ObjC/DOMTestNode.h:
- bindings/scripts/test/ObjC/DOMTestNondeterministic.h:
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
- bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
- bindings/scripts/test/ObjC/DOMTestTypedefs.h:
- bindings/scripts/test/ObjC/DOMattribute.h:
- bindings/scripts/test/ObjC/DOMreadonly.h:
- 11:00 PM Changeset in webkit [183349] by
-
- 4 edits1 delete in trunk/Source/WebKit2
Further update gesture swipe shadow style
https://bugs.webkit.org/show_bug.cgi?id=144215
<rdar://problem/19295843>
Reviewed by Dan Bernstein.
- Resources/mac/SwipeShadow.png: Removed.
- Resources/mac/SwipeShadow@2x.png: Removed.
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- WebKit2.xcodeproj/project.pbxproj:
Use a CAGradientLayer instead of PNGs for the swipe shadow.
- 10:20 PM Changeset in webkit [183348] by
-
- 5 edits in trunk
font-synthesis's initial value is "style weight"
https://bugs.webkit.org/show_bug.cgi?id=144195
Reviewed by Darin Adler.
Source/WebCore:
Updated fast/css3-text/font-synthesis-parse.html.
- rendering/style/RenderStyle.h:
LayoutTests:
Updating test.
- fast/css3-text/font-synthesis-parse-expected.txt:
- fast/css3-text/font-synthesis-parse.html:
- 9:16 PM Changeset in webkit [183347] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r183305.
https://bugs.webkit.org/show_bug.cgi?id=144213
Crashes on wikipedia (Requested by litherum on #webkit).
Reverted changeset:
"[Cocoa] FontPlatformData's equality check should always use
reference URLs"
https://bugs.webkit.org/show_bug.cgi?id=144168
http://trac.webkit.org/changeset/183305
- 9:12 PM Changeset in webkit [183346] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught exception ReferenceError: Can't find variable: message LogContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144210
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-25
Reviewed by Timothy Hatcher.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):
With recent refactorings this change was missed.
- 8:42 PM Changeset in webkit [183345] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught exception using WebInspector.contentBrowser
https://bugs.webkit.org/show_bug.cgi?id=144206
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-25
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
Use the current tab's content browser since a global one no longer exists.
- 7:33 PM Changeset in webkit [183344] by
-
- 2 edits in trunk/Tools
Add myself to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=144204
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-25
Reviewed by Darin Adler.
- Scripts/webkitpy/common/config/contributors.json:
- 6:38 PM Changeset in webkit [183343] by
-
- 5 edits in trunk/Source
Source/WebCore:
WebCore part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=144201
Reviewed by Darin Adler.
Instead of TBD, use the high version number to which it corresponds in CFAvailability.h,
9876.5.
- bindings/objc/WebKitAvailability.h: Added a definition of NSi_9876_5, so that we can
use 9876_5 in availability macros. Removed the definition of
AVAILABILITY_INTERNALMAC_TBD, which will no longer be used.
- bindings/scripts/CodeGeneratorObjC.pm:
(ReadPublicInterfaces): Use 9876_5 instead of TBD.
Source/WebKit2:
WebKit2 part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=144201
Reviewed by Darin Adler.
Instead of TBD, we use the high version number to which it corresponds in CFAvailability.h,
9876.5.
- mac/MigrateHeadersFromWebKitLegacy.make: To detect not-yet-available declarations in
headers, look for "9876_5" rather than "TBA".
- 6:28 PM Changeset in webkit [183342] by
-
- 4 edits in trunk/Source
Update localized strings.
Source/WebCore:
- English.lproj/Localizable.strings: Updated.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js: Updated.
- 6:27 PM Changeset in webkit [183341] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Make JSContext debugging work with Tabs UI
https://bugs.webkit.org/show_bug.cgi?id=144203
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._isTabTypeAllowed):
(WebInspector.activateExtraDomains):
(WebInspector._updateReloadToolbarButton):
(WebInspector._updateDownloadToolbarButton):
- 6:26 PM Changeset in webkit [183340] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Save and restore tab state on reload and between sessions
https://bugs.webkit.org/show_bug.cgi?id=144202
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._mainResourceDidChange):
(WebInspector._provisionalLoadStarted):
(WebInspector._restoreCookieForOpenTabs):
(WebInspector._saveCookieForOpenTabs):
(WebInspector._pageHidden):
- UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView):
(WebInspector.TabContentView.prototype.restoreStateFromCookie):
(WebInspector.TabContentView.prototype.saveStateToCookie):
- 6:26 PM Changeset in webkit [183339] by
-
- 7 edits1 move3 adds in trunk/Source/WebInspectorUI
Web Inspector: Split search from ResourceSidebarPanel into a Search tab and sidebar
https://bugs.webkit.org/show_bug.cgi?id=144197
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._tabContentViewForType):
(WebInspector._searchTextDidChange):
(WebInspector._focusSearchField):
(WebInspector._domNodeWasInspected):
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
- UserInterface/Images/SearchResults.svg: Added.
- UserInterface/Main.html:
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._addStorageChild):
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
(WebInspector.ResourceSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.forEachMatch): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts.scriptCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback): Deleted.
(WebInspector.ResourceSidebarPanel.prototype.performSearch): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._showResourcesContentTreeOutline): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._showSearchContentTreeOutline): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchFieldChanged): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchFieldInput): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForResource): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForScript): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._focusSearchField): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._scriptsToSearch): Deleted.
- UserInterface/Views/SearchBar.js:
(WebInspector.SearchBar):
- UserInterface/Views/SearchSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.css.
(.sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.search > .search-bar):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar):
(.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
- UserInterface/Views/SearchSidebarPanel.js: Added.
(WebInspector.SearchSidebarPanel):
(WebInspector.SearchSidebarPanel.prototype.closed):
(WebInspector.SearchSidebarPanel.prototype.focusSearchField):
(WebInspector.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon):
(WebInspector.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder):
(WebInspector.SearchSidebarPanel.prototype.performSearch.forEachMatch):
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourceCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.searchScripts.scriptCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch.searchScripts):
(WebInspector.SearchSidebarPanel.prototype.performSearch.domSearchResults):
(WebInspector.SearchSidebarPanel.prototype.performSearch.domCallback):
(WebInspector.SearchSidebarPanel.prototype.performSearch):
(WebInspector.SearchSidebarPanel.prototype._searchFieldChanged):
(WebInspector.SearchSidebarPanel.prototype._searchFieldInput):
(WebInspector.SearchSidebarPanel.prototype._searchTreeElementForResource):
(WebInspector.SearchSidebarPanel.prototype._searchTreeElementForScript):
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange.delayedWork):
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.SearchSidebarPanel.prototype._treeElementSelected):
- UserInterface/Views/SearchTabContentView.js: Added.
(WebInspector.SearchTabContentView):
(WebInspector.SearchTabContentView.prototype.get type):
(WebInspector.SearchTabContentView.prototype.shown):
(WebInspector.SearchTabContentView.prototype.closed):
(WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
(WebInspector.SearchTabContentView.prototype.focusSearchField):
(WebInspector.SearchTabContentView.prototype.performSearch):
- UserInterface/Views/Toolbar.css:
(.toolbar .item-section.center-right):
(.toolbar .item-section.right):
(.toolbar .search-bar):
(.toolbar .search-bar > input[type="search"]):
(.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
(body.window-inactive .toolbar .search-bar > input[type="search"]):
(.toolbar .item): Deleted.
- 6:25 PM Changeset in webkit [183338] by
-
- 15 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: New Toolbar UI for tabs
https://bugs.webkit.org/show_bug.cgi?id=144185
Reviewed by Joseph Pecoraro.
- UserInterface/Base/ImageUtilities.js:
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector.updateDockedState):
(WebInspector._captureDidStart):
(WebInspector._debuggerDidPause):
(WebInspector._debuggerDidResume):
(WebInspector._mainFrameDidChange):
(WebInspector._mainResourceDidChange):
(WebInspector._windowKeyDown):
(WebInspector._windowKeyUp):
(WebInspector._pageHidden):
(WebInspector._undock):
(WebInspector._dockBottom):
(WebInspector._dockRight):
(WebInspector._updateDockNavigationItems):
(WebInspector._domNodeWasInspected):
(WebInspector._inspectModeStateChanged):
(WebInspector._toggleInspectMode):
(WebInspector._downloadWebArchive):
(WebInspector._reloadPageClicked):
(WebInspector._updateDownloadToolbarButton):
(WebInspector.archiveMainFrame):
(WebInspector.canArchiveMainFrame):
- UserInterface/Images/Crosshair.svg:
- UserInterface/Images/DockBottom.svg:
- UserInterface/Images/DockRight.svg:
- UserInterface/Images/DownloadArrow.svg:
- UserInterface/Images/ReloadToolbar.svg: Added.
- UserInterface/Images/Undock.svg:
- UserInterface/Views/ActivateButtonToolbarItem.js:
(WebInspector.ActivateButtonToolbarItem):
(WebInspector.ActivateButtonToolbarItem.prototype.set label):
- UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button):
(body.window-inactive .toolbar .item.button):
(.toolbar.small-size .item.button > .glyph):
- UserInterface/Views/ButtonToolbarItem.js:
(WebInspector.ButtonToolbarItem):
(WebInspector.ButtonToolbarItem.prototype.set label):
- UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
- UserInterface/Views/Main.css:
(body.docked.bottom):
- UserInterface/Views/Toolbar.css:
(.toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar):
(.toolbar .control-section):
(.toolbar .item-section):
(.toolbar .item-section.left):
(.toolbar .item-section.center-left):
(.toolbar .item-section.center-right):
(.toolbar .item-section.right):
- UserInterface/Views/Toolbar.js:
(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
(WebInspector.Toolbar.prototype.customUpdateLayout):
(WebInspector.Toolbar.prototype.addToolbarItem):
- 6:24 PM Changeset in webkit [183337] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Add NavigationBar to the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=144191
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
- UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel):
(WebInspector.DetailsSidebarPanel.prototype.get navigationItem):
- UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.removeNavigationItem):
Remove unused index argument.
- UserInterface/Views/Sidebar.css:
(.sidebar > .navigation-bar):
(.sidebar.has-navigation-bar > .panel):
- UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar):
(WebInspector.Sidebar.prototype.addSidebarPanel):
(WebInspector.Sidebar.prototype.removeSidebarPanel):
(WebInspector.Sidebar.prototype.set selectedSidebarPanel):
(WebInspector.Sidebar.prototype.get minimumWidth):
(WebInspector.Sidebar.prototype.set width):
(WebInspector.Sidebar.prototype.set collapsed):
- 6:23 PM Changeset in webkit [183336] by
-
- 8 edits6 deletes in trunk/Source
Web Inspector: Remove native window dock controls
https://bugs.webkit.org/show_bug.cgi?id=144184
Reviewed by Joseph Pecoraro.
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
- Resources/Dock.pdf: Removed.
- Resources/DockLegacy.pdf: Removed.
- WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]):
(-[WebInspectorWindowController setDockingUnavailable:]):
Source/WebKit2:
- Resources/DockBottom.pdf: Removed.
- Resources/DockBottomLegacy.pdf: Removed.
- Resources/DockRight.pdf: Removed.
- Resources/DockRightLegacy.pdf: Removed.
- UIProcess/WebInspectorProxy.h:
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
- WebKit2.xcodeproj/project.pbxproj:
- 6:23 PM Changeset in webkit [183335] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Switch over to a tab based UI
https://bugs.webkit.org/show_bug.cgi?id=144154
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector._tabContentViewForType):
(WebInspector._rememberOpenTabs):
(WebInspector._windowResized):
(WebInspector._tabBrowserSizeDidChange):
(WebInspector._quickConsoleDidResize):
(WebInspector._sidebarWidthDidChange):
(WebInspector._tabBrowserSelectedTabContentViewDidChange):
(WebInspector._inspectModeStateChanged):
(WebInspector._focusedContentView):
- UserInterface/Main.html:
- UserInterface/Views/Main.css:
(#tab-browser):
- 6:22 PM Changeset in webkit [183334] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove Main.js code we don't need for Tabs
https://bugs.webkit.org/show_bug.cgi?id=144126
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
- 6:22 PM Changeset in webkit [183333] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: Change more places that changed WebInspector.navigationSidebar.selectedSidebarPanel to tabs
https://bugs.webkit.org/show_bug.cgi?id=144125
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.toggleDetailsSidebar):
(WebInspector.tabContentViewClassForRepresentedObject):
(WebInspector._updateModifierKeys):
(WebInspector._consoleResizerMouseDown.dockedResizerDragEnd):
(WebInspector._consoleResizerMouseDown):
(WebInspector.linkifyURLAsNode):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.showConsole):
(InspectorFrontendAPI.showResources):
- UserInterface/Protocol/InspectorObserver.js:
(WebInspector.InspectorObserver.prototype.inspect):
- UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.canShowRepresentedObject):
(WebInspector.DebuggerTabContentView.prototype.revealAndSelectBreakpoint):
- UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.bestTabContentViewForClass):
- 6:21 PM Changeset in webkit [183332] by
-
- 7 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Make Console work in a tab world
https://bugs.webkit.org/show_bug.cgi?id=144112
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.isShowingConsoleTab):
(WebInspector.UIString):
(WebInspector.toggleNavigationSidebar):
(WebInspector.toggleDetailsSidebar):
(WebInspector.tabContentViewClassForRepresentedObject):
(WebInspector.linkifyStringAsFragment):
- UserInterface/Images/Console.svg: Added.
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showConsole):
- UserInterface/Views/ConsoleTabContentView.js: Added.
(WebInspector.ConsoleTabContentView):
(WebInspector.ConsoleTabContentView.prototype.shown):
(WebInspector.ConsoleTabContentView.prototype.showRepresentedObject):
(WebInspector.ConsoleTabContentView.prototype.canShowRepresentedObject):
(WebInspector.ConsoleTabContentView.prototype.get supportsSplitContentBrowser):
- UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype.get navigationItems):
(WebInspector.LogContentView.prototype.shown):
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
(WebInspector.LogContentView.prototype._showConsoleTab):
- UserInterface/Views/LogIcon.css:
(.log-icon .icon):
- UserInterface/Views/Main.css:
(#split-content-browser .hierarchical-path-component.log-icon .icon):
(#split-content-browser .hierarchical-path-component.log-icon .title):
(#split-content-browser .hierarchical-path-component.log-icon select):
- 6:20 PM Changeset in webkit [183331] by
-
- 25 edits in trunk/Source/WebInspectorUI
Web Inspector: Make showing a content view work in the tab world
https://bugs.webkit.org/show_bug.cgi?id=144110
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.hideSplitConsole):
(WebInspector.showSourceCodeLocation):
(WebInspector.showOriginalUnformattedSourceCodeLocation):
(WebInspector.showOriginalOrFormattedSourceCodeLocation):
(WebInspector.showOriginalOrFormattedSourceCodeTextRange):
(WebInspector.showResourceRequest):
(WebInspector.debuggerToggleBreakpoints):
(WebInspector.debuggerPauseResumeToggle):
(WebInspector.debuggerStepOver):
(WebInspector.debuggerStepInto):
(WebInspector.debuggerStepOut):
(WebInspector._focusChanged):
(WebInspector._mouseWasClicked):
(WebInspector._dragOver):
(WebInspector._captureDidStart):
(WebInspector._debuggerDidPause):
(WebInspector._debuggerDidResume):
(WebInspector._frameWasAdded):
(WebInspector._undock):
(WebInspector._updateDockNavigationItems):
- UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
(WebInspector.Breakpoint.prototype.appendContextMenuItems):
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showMainResourceForFrame):
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel):
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype.updateHierarchicalPathForCurrentContentView):
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
- UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.restoreFromCookie):
- UserInterface/Views/DOMTreeDataGridNode.js:
(WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
(WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline):
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
(WebInspector.DebuggerSidebarPanel.prototype._addIssue):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
- UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.get contentBrowser):
(WebInspector.NavigationSidebarPanel.prototype.set contentBrowser):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):
- UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
(WebInspector.ObjectTreeBaseTreeElement):
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._storageCleared):
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.shown):
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline):
- 6:20 PM Changeset in webkit [183330] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Make debugger keyboard shortcuts global
https://bugs.webkit.org/show_bug.cgi?id=144068
We wont always have a DebuggerSidebarPanel to listen for the shortcuts.
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.showSourceCodeForFrame):
(WebInspector.showSourceCode):
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.pause):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
(WebInspector.DebuggerSidebarPanel):
- 6:19 PM Changeset in webkit [183329] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove Reload and Download Web Archive buttons from FrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=144064
The will be global toolbar items soon.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/FrameTreeElement.js:
- UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype._updateStatus):
- 6:19 PM Changeset in webkit [183328] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove time and weight from the dashboard
https://bugs.webkit.org/show_bug.cgi?id=144063
These two items were the odd ones out since they are only available
when recording a timeline. We will need the toolbar space soon, so make
this lets us make the dashboard skinnier.
This also removes the exception catching in DashboardContainerView. It doesn't really
help us and it makes debugging an exception harder.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
- UserInterface/Views/DashboardContainerView.js:
(WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
- UserInterface/Views/DefaultDashboardView.css:
(body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount):
(body.javascript .toolbar .dashboard.default > .item.resourcesCount):
- UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
- 6:18 PM Changeset in webkit [183327] by
-
- 16 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove sidebar panel shortcut and image
https://bugs.webkit.org/show_bug.cgi?id=144061
Sidebar panels no longer need a keyboard shortcut or a toolbar image.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
- UserInterface/Views/DOMDetailsSidebarPanel.js:
(WebInspector.DOMDetailsSidebarPanel):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
- UserInterface/Views/DebuggerSidebarPanel.js:
- UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel):
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel):
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
(WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
(WebInspector.NavigationSidebarPanel.prototype.show):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
- UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel):
- UserInterface/Views/RenderingFrameDetailsSidebarPanel.js:
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
- UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.added):
(WebInspector.SidebarPanel.prototype.removed):
(WebInspector.SidebarPanel.prototype.visibilityDidChange):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForTimeline):
- 6:17 PM Changeset in webkit [183326] by
-
- 13 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove allowedNavigationSidebarPanels, it isn't needed
https://bugs.webkit.org/show_bug.cgi?id=144056
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
- UserInterface/Views/ContentView.js:
- UserInterface/Views/CookieStorageContentView.js:
- UserInterface/Views/DOMStorageContentView.js:
- UserInterface/Views/DOMTreeContentView.js:
- UserInterface/Views/DatabaseContentView.js:
- UserInterface/Views/DatabaseTableContentView.js:
- UserInterface/Views/FontResourceContentView.js:
- UserInterface/Views/FrameDOMTreeContentView.js:
- UserInterface/Views/LogContentView.js:
- UserInterface/Views/ResourceClusterContentView.js:
- UserInterface/Views/TimelineRecordingContentView.js:
- 6:17 PM Changeset in webkit [183325] by
-
- 12 edits in trunk/Source/WebInspectorUI
Web Inspector: Support passing extra arguments to ContentViews during construction
https://bugs.webkit.org/show_bug.cgi?id=144055
This allows us to pass the TimelineSidebarPanel to Timeline views since in the future
there could be multiple timeline sidebars, one per tab. So the global instance will
be going away.
This also removes the exception catching in ContentViewContainer. It doesn't really
help us and it makes debugging an exception harder.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
(WebInspector.ContentBrowser.prototype.contentViewForRepresentedObject):
- UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
- UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
(WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject):
- UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):
(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
(WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
- UserInterface/Views/TimelineSidebarPanel.js:
- UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.get timelineSidebarPanel):
- 6:16 PM Changeset in webkit [183324] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Disable global keyboard shortcuts for background tabs
https://bugs.webkit.org/show_bug.cgi?id=143918
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
(WebInspector.ContentBrowser.prototype.shown): Added.
(WebInspector.ContentBrowser.prototype.hidden): Added.
Disable shortcuts on the browser and find banner.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype.shown): Added.
(WebInspector.ContentBrowserTabContentView.prototype.hidden): Added.
Tell the content browser we were shown or hidden.
- UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner):
(WebInspector.FindBanner.prototype.show):
(WebInspector.FindBanner.prototype.enableKeyboardShortcuts): Added.
(WebInspector.FindBanner.prototype.disableKeyboardShortcuts): Added.
Support disabling or enabling the keyboard shortcuts.
- 6:16 PM Changeset in webkit [183323] by
-
- 7 edits4 copies13 adds in trunk/Source/WebInspectorUI
Web Inspector: Add TabBrowser and TabContentView
https://bugs.webkit.org/show_bug.cgi?id=143886
Reviewed by Joseph Pecoraro.
- UserInterface/Images/Debugger.svg: Added.
- UserInterface/Images/Elements.svg: Added.
- UserInterface/Images/Gear.svg: Added.
- UserInterface/Images/NewTabPlus.svg: Added.
- UserInterface/Images/Resources.svg:
- UserInterface/Images/Timeline.svg: Added.
- UserInterface/Images/ToggleLeftSidebar.svg: Added.
- UserInterface/Images/ToggleRightSidebar.svg: Added.
- UserInterface/Views/ContentBrowserTabContentView.css: Added.
(.content-browser.tab.content-view > .content-browser):
- UserInterface/Views/ContentBrowserTabContentView.js: Added.
(WebInspector.ContentBrowserTabContentView):
(WebInspector.ContentBrowserTabContentView.prototype.get contentBrowser):
(WebInspector.ContentBrowserTabContentView.prototype.shown):
(WebInspector.ContentBrowserTabContentView.prototype.hidden):
(WebInspector.ContentBrowserTabContentView.prototype.closed):
(WebInspector.ContentBrowserTabContentView.prototype.updateLayout):
(WebInspector.ContentBrowserTabContentView.prototype.get managesDetailsSidebarPanels):
(WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels):
(WebInspector.ContentBrowserTabContentView.prototype.contentBrowserTreeElementForRepresentedObject):
(WebInspector.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarCollapsedStateDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserCurrentContentViewDidChange):
(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
- UserInterface/Views/DebuggerTabContentView.js: Added.
(WebInspector.DebuggerTabContentView):
- UserInterface/Views/ElementsTabContentView.js: Added.
(WebInspector.ElementsTabContentView):
(WebInspector.ElementsTabContentView.prototype._mainFrameDidChange):
- UserInterface/Views/ResourcesTabContentView.js: Added.
(WebInspector.ResourcesTabContentView):
- UserInterface/Views/SettingsTabContentView.js: Added.
(WebInspector.SettingsTabContentView):
- UserInterface/Views/TabBrowser.css: Added.
(.tab-browser):
(.tab-browser > .tab-bar):
(.tab-browser > .content-view-container):
(.tab-browser > .tab-bar + .content-view-container):
- UserInterface/Views/TabBrowser.js: Added.
(WebInspector.TabBrowser):
(WebInspector.TabBrowser.prototype.get tabBar):
(WebInspector.TabBrowser.prototype.get navigationSidebar):
(WebInspector.TabBrowser.prototype.get detailsSidebar):
(WebInspector.TabBrowser.prototype.get selectedTabContentView):
(WebInspector.TabBrowser.prototype.updateLayout):
(WebInspector.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
(WebInspector.TabBrowser.prototype.addTabForContentView):
(WebInspector.TabBrowser.prototype.showTabForContentView):
(WebInspector.TabBrowser.prototype.closeTabForContentView):
(WebInspector.TabBrowser.prototype._tabBarItemSelected):
(WebInspector.TabBrowser.prototype._sidebarPanelSelected):
(WebInspector.TabBrowser.prototype._sidebarCollapsedStateDidChange):
(WebInspector.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
(WebInspector.TabBrowser.prototype._showDetailsSidebarPanelsForTabContentView):
- UserInterface/Views/TabContentView.js: Added.
(WebInspector.TabContentView):
(WebInspector.TabContentView.prototype.get parentTabBrowser):
(WebInspector.TabContentView.prototype.set parentTabBrowser):
(WebInspector.TabContentView.prototype.get tabBarItem):
(WebInspector.TabContentView.prototype.get managesDetailsSidebarPanels):
(WebInspector.TabContentView.prototype.showDetailsSidebarPanels):
(WebInspector.TabContentView.prototype.canShowRepresentedObject):
(WebInspector.TabContentView.prototype.get navigationSidebarPanel):
(WebInspector.TabContentView.prototype.get navigationSidebarCollapsedSetting):
(WebInspector.TabContentView.prototype.get detailsSidebarPanels):
(WebInspector.TabContentView.prototype.get detailsSidebarCollapsedSetting):
(WebInspector.TabContentView.prototype.get detailsSidebarSelectedPanelSetting):
- UserInterface/Views/TimelineTabContentView.js: Added.
(WebInspector.TimelineTabContentView):
- 6:15 PM Changeset in webkit [183322] by
-
- 2 edits3 adds in trunk/Source/WebInspectorUI
Web Inspector: Add a WebInspector.TabBar class
https://bugs.webkit.org/show_bug.cgi?id=143442
Reviewed by Joseph Pecoraro.
- UserInterface/Main.html:
Added new files.
- UserInterface/Protocol/InspectorFrontendHostStub.js:
(window.Symbol):
(WebInspector.InspectorFrontendHostStub.prototype.showContextMenu):
Added some stubs needed to work standalone.
- UserInterface/Views/TabBar.css: Added.
(.tab-bar):
(body.window-inactive .tab-bar):
(.tab-bar > .top-border):
(body.window-inactive .tab-bar > .top-border):
(.tab-bar > .item):
(.tab-bar > :nth-child(n + 2 of .item)):
(.tab-bar > .item.pinned):
(.tab-bar > .item.selected):
(.tab-bar > .item.new-tab-button:hover):
(.tab-bar:not(.animating) > .item:not(.selected):hover + .item):
(body.window-inactive .tab-bar > .item):
(body.window-inactive .tab-bar > .item.selected):
(.tab-bar > .item > .close):
(body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:hover > .close):
(.tab-bar.single-tab > .item > .close):
(.tab-bar > .item > .close:hover):
(.tab-bar > .item > .close:active):
(.tab-bar > .item > .flex-space):
(.tab-bar > .item > .flex-space:last-child):
(.tab-bar > .item > .icon):
(.tab-bar > .item.selected > .icon):
(.tab-bar > .item.new-tab-button:hover > .icon):
(.tab-bar > .item > .title):
(.tab-bar > .item > .title > .content):
(.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
(.tab-bar > .item.selected > .title):
(.tab-bar.collapsed > .item):
(.tab-bar.collapsed > .item > .flex-space):
(.tab-bar.collapsed > .item > .close):
(.tab-bar.hide-titles > .item > .title):
(.tab-bar.hide-titles > .item.selected:hover > .icon):
(.tab-bar.hide-titles > .item.selected:hover > .close):
(.tab-bar.static-layout):
(.tab-bar.static-layout > .item):
(.tab-bar.animating.closing-tab > .item):
(.tab-bar.animating:matches(.expanding-tabs, .inserting-tab) > .item):
(.tab-bar.animating.inserting-tab > .item.being-inserted):
(.tab-bar.animating.closing-tab > .item.selected):
(body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
(.tab-bar.dragging-tab > .item.selected):
- UserInterface/Views/TabBar.js: Added.
(WebInspector.TabBar):
(WebInspector.TabBar.prototype.get newTabItem):
(WebInspector.TabBar.prototype.set newTabItem):
(WebInspector.TabBar.prototype.addTabBarItem):
(WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
(WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
(WebInspector.TabBar.prototype.insertTabBarItem):
(WebInspector.TabBar.prototype.insertTabBarItem.set else):
(WebInspector.TabBar.prototype.insertTabBarItem.set this):
(WebInspector.TabBar.animateTabs.get if):
(WebInspector.TabBar.animateTabs):
(WebInspector.TabBar.removeStyles):
(WebInspector.TabBar.prototype.insertTabBarItem):
(WebInspector.TabBar.prototype.updateLayoutSoon.update):
(WebInspector.TabBar.prototype.updateLayoutSoon):
(WebInspector.TabBar.prototype.updateLayout):
(WebInspector.TabBar.prototype.get selectedTabBarItem):
(WebInspector.TabBar.prototype.set selectedTabBarItem):
(WebInspector.TabBar.prototype.get tabBarItems):
(WebInspector.TabBar.prototype.get element):
(WebInspector.TabBar.prototype._findTabBarItem):
(WebInspector.TabBar.prototype._hasMoreThanOneNormalTab):
(WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
(WebInspector.TabBar.prototype._clearTabBarItemSizesAndPositions):
(WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
(WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
(WebInspector.TabBar.prototype._handleMouseDown):
(WebInspector.TabBar.prototype._handleMouseMoved):
(WebInspector.TabBar.prototype._handleMouseUp):
(WebInspector.TabBar.prototype._handleMouseLeave):
(WebInspector.TabBar.prototype._handleNewTabMouseEnter):
- UserInterface/Views/TabBarItem.js: Added.
(WebInspector.TabBarItem):
(WebInspector.TabBarItem.prototype.get identifier):
(WebInspector.TabBarItem.prototype.get element):
(WebInspector.TabBarItem.prototype.get parentTabBar):
(WebInspector.TabBarItem.prototype.set parentTabBar):
(WebInspector.TabBarItem.prototype.get selected):
(WebInspector.TabBarItem.prototype.set selected):
(WebInspector.TabBarItem.prototype.get pinned):
(WebInspector.TabBarItem.prototype.get image):
(WebInspector.TabBarItem.prototype.set image):
(WebInspector.TabBarItem.prototype.get title):
(WebInspector.TabBarItem.prototype.set title):
(WebInspector.TabBarItem.prototype.updateLayout):
- 6:14 PM Changeset in webkit [183321] by
-
- 1 edit in trunk/Source/WebInspectorUI/ChangeLog
Web Inspector: Make closing ContentViews more leak proof
https://bugs.webkit.org/show_bug.cgi?id=144200
Remove all listeners on the target objects in close that match the this object.
This makes things more foolproof when something changes or a new listener is
added to the same object. TimelineRecordingContentView also had a leak where
TimelineManager and DebuggerManager listeners were not being removed.
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.closed):
- UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView.prototype.closed):
- UserInterface/Views/ContentFlowDOMTreeContentView.js:
(WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
- UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype.closed):
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype.closed):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.closed):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.closed):
- 6:08 PM Changeset in webkit [183320] by
-
- 3 edits3 adds in trunk
Set#keys !== Set#values
https://bugs.webkit.org/show_bug.cgi?id=144190
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-25
Reviewed by Darin Adler.
Source/JavaScriptCore:
per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.keys
Set#keys should === Set#values
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
(JSC::setProtoFuncKeys): Deleted.
LayoutTests:
- js/script-tests/set-keys.js: Added.
- js/set-keys-expected.txt: Added.
- js/set-keys.html: Added.
- 6:06 PM Changeset in webkit [183319] by
-
- 10 edits in trunk/Source/JavaScriptCore
Allow for pausing a JSContext when opening a Web Inspector
<rdar://problem/20564788>
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedSetupMessage):
- inspector/remote/RemoteInspectorConstants.h:
- inspector/remote/RemoteInspectorDebuggable.h:
- inspector/remote/RemoteInspectorDebuggableConnection.h:
- inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
On any incoming setup message, we may want to automatically
pause the debuggable. If requested, pause the debuggable
after we have setup the frontend connection.
- runtime/JSGlobalObjectDebuggable.h:
- runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::pause):
Pass through to the inspector controller.
- inspector/JSGlobalObjectInspectorController.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::pause):
Enable pause on next statement.
- 5:59 PM Changeset in webkit [183318] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: Make closing ContentViews more leak proof
https://bugs.webkit.org/show_bug.cgi?id=144200
Remove all listeners on the target objects in close that match the this object.
This makes things more foolproof when something changes or a new listener is
added to the same object. TimelineRecordingContentView also had a leak where
TimelineManager and DebuggerManager listeners were not being removed.
Reviewed by Darin Adler.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.closed):
- UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView.prototype.closed):
- UserInterface/Views/ContentFlowDOMTreeContentView.js:
(WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
- UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype.closed):
- UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype.closed):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.closed):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.closed):
- 4:47 PM Changeset in webkit [183317] by
-
- 5 edits in trunk
Crash if IDBTransaction is aborted right after it's created
https://bugs.webkit.org/show_bug.cgi?id=144199
Reviewed by Simon Fraser.
Source/WebCore:
Test: storage/indexeddb/transaction-abort.html
- Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::IDBTransactionBackend): Don't start the
transaction if it is already complete (has been aborted).
LayoutTests:
- platform/mac-wk2/TestExpectations: Unskip storage/indexeddb/transaction-abort.html.
- storage/indexeddb/transaction-abort-expected.txt: Updated since the exact text of
the execptions is different from what was marked here as expected.
- 4:20 PM WebKitEFLLayoutTest edited by
- (diff)
- 3:03 PM Changeset in webkit [183316] by
-
- 16 edits3 adds in trunk
class methods should be non-enumerable
https://bugs.webkit.org/show_bug.cgi?id=143181
Reviewed by Darin Adler.
Source/JavaScriptCore:
Fixed the bug by using Object.defineProperty to define methods.
This patch adds the concept of link time constants and uses it to resolve Object.defineProperty
inside CodeBlock's constructor since bytecode can be linked against multiple global objects.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock): Resolve link time constants that are used. Ignore ones with register
index of zero.
- bytecode/SpecialPointer.h: Added a new enum for link time constants. It currently contains
exactly one entry for Object.defineProperty.
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::addConstant): Added. Like addConstant that takes JSValue, allocate a new
constant register for the link time constant we're adding.
(JSC::UnlinkedCodeBlock::registerIndexForLinkTimeConstant): Added.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitMoveLinkTimeConstant): Added. Like addConstantValue, allocate a new
register for the specified link time constant and notify UnlinkedCodeBlock about it.
(JSC::BytecodeGenerator::emitCallDefineProperty): Added. Create a new property descriptor and call
Object.defineProperty with it.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode): Make static and non-static getters and setters for classes
non-enumerable by using emitCallDefineProperty to define them.
(JSC::PropertyListNode::emitPutConstantProperty): Ditto for a non-accessor properties.
(JSC::ClassExprNode::emitBytecode): Make prototype.constructor non-enumerable and make prototype
property on the class non-writable, non-configurable, and non-enumerable by using defineProperty.
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Set m_definePropertyFunction.
(JSC::JSGlobalObject::visitChildren): Visit m_definePropertyFunction.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::definePropertyFunction): Added.
(JSC::JSGlobalObject::actualPointerFor): Added a variant that takes LinkTimeConstant.
(JSC::JSGlobalObject::jsCellForLinkTimeConstant): Like actualPointerFor, takes LinkTimeConstant and
returns a JSCell; e.g. Object.defineProperty.
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::addDefineProperty): Added. Returns Object.defineProperty.
- runtime/ObjectConstructor.h:
LayoutTests:
Added a regression test.
Also fixed a test that previously relied on "prototype" property being writable
since this is no longer the case.
- js/class-syntax-extends-expected.txt:
- js/class-syntax-prototype.html: Added.
- js/script-tests/class-syntax-extends.js:
- js/script-tests/class-syntax-prototype.js: Added.
- 3:00 PM Changeset in webkit [183315] by
-
- 5 edits1 add in trunk
[ES6] Implement String.fromCodePoint
https://bugs.webkit.org/show_bug.cgi?id=144160
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch implements String.fromCodePoint.
It accepts multiple code points and generates a string that consists of given code points.
The range [0x0000 - 0x10FFFF] is valid for code points.
If the given value is out of range, throw a range error.
When a 0xFFFF <= valid code point is given,
String.fromCodePoint generates a string that contains surrogate pairs.
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):
- tests/stress/string-from-code-point.js: Added.
(shouldBe):
(shouldThrow):
(toCodePoints):
(passThrough):
LayoutTests:
Add String.fromCodePoint.
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 2:43 PM Changeset in webkit [183314] by
-
- 32 edits in trunk
Rename ENABLE_3D_RENDERING to ENABLE_3D_TRANSFORMS
https://bugs.webkit.org/show_bug.cgi?id=144182
Reviewed by Simon Fraser.
.:
- Source/cmake/OptionsEfl.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmake/OptionsGTK.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmake/OptionsMac.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmake/WebKitFeatures.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- Source/cmakeconfig.h.cmake: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- WebCore.vcxproj/WebCoreCommon.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- WebCore.vcxproj/WebCoreTestSupportCommon.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- css/CSSComputedStyleDeclaration.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- css/MediaQueryEvaluator.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- platform/graphics/GraphicsContext.h: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- platform/graphics/cairo/GraphicsContextCairo.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- platform/graphics/texmap/TextureMapperImageBuffer.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- rendering/RenderLayer.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- rendering/RenderLayerCompositor.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- rendering/RenderObject.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Source/WTF:
- wtf/FeatureDefines.h: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
WebKitLibraries:
- win/tools/vsprops/FeatureDefines.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- win/tools/vsprops/FeatureDefinesCairo.props: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS.
- 1:50 PM Changeset in webkit [183313] by
-
- 2 edits in trunk/LayoutTests
Mavericks fix - no window.performance there.
- fast/frames/flattening/resources/iframe-to-resize.html:
- 1:20 PM Changeset in webkit [183312] by
-
- 2 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Unreviewed. Add more temporary logging to figure out what's going on with the test on bots.
- fast/frames/flattening/resources/iframe-to-resize.html:
- 9:29 AM Changeset in webkit [183311] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: assertion failure when editing inline styles
https://bugs.webkit.org/show_bug.cgi?id=143939
Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-04-25
Reviewed by Timothy Hatcher.
Prevent "_updateResourceContent" from being called on inline style changes.
Introduce a flag that marks a CSSStyleSheet as a representation of an
"ElementCSSInlineStyle" (DOM Level 2 spec) and return early.
- UserInterface/Controllers/CSSStyleManager.js:
(WebInspector.CSSStyleManager.prototype.styleSheetChanged):
- UserInterface/Models/CSSStyleSheet.js:
(WebInspector.CSSStyleSheet):
(WebInspector.CSSStyleSheet.isInlineStyle):
(WebInspector.CSSStyleSheet.prototype.markAsInlineStyle):
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- 8:43 AM Changeset in webkit [183310] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
mayExit() is wrong about Branch nodes with ObjectOrOtherUse: they can exit.
https://bugs.webkit.org/show_bug.cgi?id=144152
Reviewed by Filip Pizlo.
Changed the EdgeMayExit functor to recognize ObjectUse, ObjectOrOtherUse,
StringObjectUse, and StringOrStringObjectUse kinds as potentially triggering
OSR exits. This was overlooked in the original code.
While only the ObjectOrOtherUse kind is relevant for manifesting this bug with
the Branch node, the other 3 may also trigger the same bug for other nodes.
To prevent this bug from manifesting with other nodes (and future ones that
are yet to be added to mayExits()'s "potential won't exit" set), we fix the
EdgeMayExit functor to handle all 4 use kinds (instead of just ObjectOrOtherUse).
Also added a test to exercise a code path that will trigger this bug with
the Branch node before the fix is applied.
- dfg/DFGMayExit.cpp:
- tests/stress/branch-may-exit-due-to-object-or-other-use-kind.js: Added.
(inlinedFunction):
(foo):
- 1:13 AM Changeset in webkit [183309] by
-
- 1 edit31 adds in trunk/Tools
https://bugs.webkit.org/show_bug.cgi?id=144038
Patch by Dewei Zhu <Dewei Zhu> on 2015-04-25
Reviewed by Ryosuke Niwa
Add a script to run Speedometer and JetStream on a browser.
- Scripts/run-benchmark: Wrapper script to run benchmark.
(main):
- Scripts/webkitpy/benchmark_runner/README.md: Introduction of this script.
- Scripts/webkitpy/benchmark_runner/init.py: Added.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/init.py: Added.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builder_factory.py: Added.
(BenchmarkBuilderFactory):
- Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json: Added.
- Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py: Added.
(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder.prepare):
(GenericBenchmarkBuilder._copyBenchmarkToTempDir):
(GenericBenchmarkBuilder._applyPatch):
(GenericBenchmarkBuilder.clean):
- Scripts/webkitpy/benchmark_runner/benchmark_builder/jetstream_benchmark_builder.py: Added.
(JetStreamBenchmarkBuilder):
(JetStreamBenchmarkBuilder.prepare):
(JetStreamBenchmarkBuilder._runCreateScript):
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Main module that masters all the processes of benchmark running.
(BenchmarkRunner):
(BenchmarkRunner.init):
(BenchmarkRunner.execute):
(BenchmarkRunner.dump):
(BenchmarkRunner.wrap):
(BenchmarkRunner.merge):
- Scripts/webkitpy/benchmark_runner/browser_driver/init.py: Added.
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py: Added.
(BrowserDriver):
(BrowserDriver.prepareEnv):
(BrowserDriver.launchUrl):
(BrowserDriver.closeBrowser):
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py: Added.
(BrowserDriverFactory):
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json: Added.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Added.
(OSXChromeDriver):
(OSXChromeDriver.prepareEnv):
(OSXChromeDriver.launchUrl):
(OSXChromeDriver.closeBrowsers):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Added.
(OSXSafariDriver):
(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):
- Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Patch that makes JetStream compatible with this script.
- Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Patch that makes Speedometer compatible with this scritp.
- Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Added.
- Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: Added.
- Scripts/webkitpy/benchmark_runner/generic_factory.py: Factory for generic purpose.
(GenericFactory):
(GenericFactory.iterateGetItem):
(GenericFactory.create):
- Scripts/webkitpy/benchmark_runner/http_server_driver/init.py: Added.
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Added.
(ServerControl):
(ServerControl.render_GET):
(ServerControl.render_POST):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py: Added.
(HTTPServerDriver):
(HTTPServerDriver.serve):
(HTTPServerDriver.fetchResult):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py: Added.
(HTTPServerDriverFactory):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_drivers.json: Added.
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Added.
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver.depends):
(SimpleHTTPServerDriver.init):
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.baseUrl):
(SimpleHTTPServerDriver.fetchResult):
- Scripts/webkitpy/benchmark_runner/utils.py: Utility module.
(ModuleNotFoundError):
(loadModule):
(getPathFromProjectRoot):
(loadJSONFromFile):
(TimeoutError):
(timeout):
(timeout.init):
(timeout.handle_timeout):
(timeout.enter):
(timeout.exit):
Apr 24, 2015:
- 11:57 PM Changeset in webkit [183308] by
-
- 31 edits1 add in trunk
Unreviewed, rolling out r183288.
https://bugs.webkit.org/show_bug.cgi?id=144189
Made js/sort-with-side-effecting-comparisons.html time out in
debug builds (Requested by ap on #webkit).
Reverted changeset:
"It shouldn't take 1846 lines of code and 5 FIXMEs to sort an
array."
https://bugs.webkit.org/show_bug.cgi?id=144013
http://trac.webkit.org/changeset/183288
- 10:19 PM Changeset in webkit [183307] by
-
- 6 edits2 adds in trunk/Source/JavaScriptCore
CRASH in operationCreateDirectArgumentsDuringExit()
https://bugs.webkit.org/show_bug.cgi?id=143962
Reviewed by Geoffrey Garen.
We shouldn't assume that constant-like OSR exit values are always recoverable. They are only
recoverable so long as they are live. Therefore, OSR exit should track liveness of
constants instead of assuming that they are always live.
- dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::noticeOSRBirth):
(JSC::DFG::GenerationInfo::appendBirth):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
- dfg/DFGVariableEvent.cpp:
(JSC::DFG::VariableEvent::dump):
- dfg/DFGVariableEvent.h:
(JSC::DFG::VariableEvent::birth):
(JSC::DFG::VariableEvent::id):
(JSC::DFG::VariableEvent::dataFormat):
- dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
- tests/stress/phantom-direct-arguments-clobber-argument-count.js: Added.
(foo):
(bar):
- tests/stress/phantom-direct-arguments-clobber-callee.js: Added.
(foo):
(bar):
- 8:40 PM Changeset in webkit [183306] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r183303.
https://bugs.webkit.org/show_bug.cgi?id=144181
Change was incorrect, broke builds (Requested by smfr on
#webkit).
Reverted changeset:
"Fix the build."
http://trac.webkit.org/changeset/183303
- 8:30 PM Changeset in webkit [183305] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] FontPlatformData's equality check should always use reference URLs
https://bugs.webkit.org/show_bug.cgi?id=144168
Reviewed by Tim Horton.
<rdar://problem/18985642> is not fixed, so we need to continue using the older
objectForEqualityCheck().
No new tests because there is no behavior change.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::objectForEqualityCheck):
- 8:29 PM Changeset in webkit [183304] by
-
- 11 edits2 adds in trunk
Implement parsing support for font-synthesis CSS property
https://bugs.webkit.org/show_bug.cgi?id=144180
Source/WebCore:
<rdar://problem/20692791>
<rdar://problem/20625024>
Reviewed by Tim Horton.
See http://www.w3.org/TR/css-fonts-3/#font-synthesis-prop
This property allows web authors to opt out of font synthesis. This patch only
implements parsing support for the property.
Test: fast/css3-text/font-synthesis-parse.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontSynthesisFromStyle): Create a CSSValue for the existing style object.
(WebCore::ComputedStyleExtractor::propertyValue): Call fontSynthesisFromStyle().
- css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Call parseFontSynthesis().
(WebCore::CSSParser::parseFontSynthesis): Accept the grammar
"none | [ weight style ]" - css/CSSParser.h: Function signature.
- css/CSSPropertyNames.in: New CSS property name.
- css/CSSValueKeywords.in: New CSS value names.
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFontSynthesis): Construct an internal
representation of font-synthesis for a given CSSValue.
- rendering/style/RenderStyle.h: Function signature.
- rendering/style/RenderStyleConstants.h: Internal representation of
font-synthesis.
- rendering/style/StyleRareInheritedData.h: Where we actually store the bits
related to this internal representation.
LayoutTests:
Reviewed by Tim Horton.
- fast/css3-text/font-synthesis-parse-expected.txt: Added.
- fast/css3-text/font-synthesis-parse.html: Added.
- 6:31 PM Changeset in webkit [183303] by
-
- 2 edits in trunk/Tools
Fix the build.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController initWithConfiguration:]):
- 6:03 PM Changeset in webkit [183302] by
-
- 5 edits in trunk/Source
Have the web inspector report accurate memory use for layers with detached backing store
https://bugs.webkit.org/show_bug.cgi?id=144179
Reviewed by Dean Jackson.
Source/WebCore:
Only report memory use for layers whose backing store is attached.
- platform/graphics/ca/GraphicsLayerCA.cpp:
- platform/graphics/ca/PlatformCALayer.h: Add backingContributesToMemoryEstimate()
which platforms can override if they allow backing store detaching.
Source/WebKit2:
Remote layers can make their backing store volatile, so the backing only contributes
to reported memory use when attached.
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- 6:02 PM Changeset in webkit [183301] by
-
- 26 edits in trunk/LayoutTests
Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
https://bugs.webkit.org/show_bug.cgi?id=144165
Reviewed by Dean Jackson.
New results for platform/mac-wk2/tiled-drawing tests that dump layer trees.
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
- platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt:
- platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
- platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
- platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt:
- platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt:
- 6:02 PM Changeset in webkit [183300] by
-
- 30 edits6 adds in trunk
Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
https://bugs.webkit.org/show_bug.cgi?id=144165
Reviewed by Dean Jackson.
Source/WebCore:
Push in the clipRect as the secondary rect when doing a GraphicsLayerCA flush,
which maps this rect through all the layers. Each layer tests intersection with
this rect to determine if its backing store should be attached.
This will cause us to drop backing store for layers that don't intersect the
visible part of the view, which is too aggressive. A future patch will add
some padding.
Tests: compositing/visible-rect/coverage-clipped.html
compositing/visible-rect/coverage-scrolling.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Remove initialization of things with
C++11 initializers. Initialize the new m_intersectsCoverageRect bit.
(WebCore::GraphicsLayerCA::flushCompositingState): Push the clipRect in as the
secondary coverage rect. A future patch will inflate this on the way down the tree.
(WebCore::GraphicsLayerCA::computeVisibleRect): If we're clipping, and
we have a secondary coverage rect, that rect can be clipped to us too.
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateBackingStoreAttachment):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
- platform/graphics/ca/GraphicsLayerCA.h: New CoverageRectChanged bit.
Use more C++11 initializers.
(WebCore::GraphicsLayerCA::coverageRect):
LayoutTests:
Updated results that now include coverage rects, and a new test that includes both visible
and hidden layers.
- compositing/contents-scale/animating-expected.txt:
- compositing/contents-scale/rounded-contents-scale-expected.txt:
- compositing/contents-scale/scaled-ancestor-expected.txt:
- compositing/contents-scale/simple-scale-expected.txt:
- compositing/contents-scale/z-translate-expected.txt:
- compositing/visible-rect/coverage-clipped-expected.txt: Added.
- compositing/visible-rect/coverage-clipped.html: Added.
- compositing/visible-rect/coverage-scrolling-expected.txt: Added.
- compositing/visible-rect/coverage-scrolling.html: Added.
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt: Added.
- platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt: Added.
- platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
- platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
- platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
- platform/mac/compositing/visible-rect/animated-expected.txt:
- platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
- platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
- platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
- platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
- platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
- platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
- platform/mac/compositing/visible-rect/nested-transform-expected.txt:
- platform/mac/compositing/visible-rect/scrolled-expected.txt:
- 5:25 PM Changeset in webkit [183299] by
-
- 2 edits in trunk/Source/WebKit2
theverge.com burning 100% CPU on iPad (due to window.screenX/Y)
<https://webkit.org/b/144175>
<rdar://problem/20694585>
Reviewed by Anders Carlsson.
Return an empty window rect on iOS WK2 builds. This avoids sending a synchronous
IPC request to the UI process that would give the same result, but spend way
more time and CPU cycles to do so.
With this change, theverge.com CPU usage goes from 100% to ~20% when idle.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::windowRect):
- 5:19 PM Changeset in webkit [183298] by
-
- 2 edits in trunk/Tools
Disable ActionMenusPDFTest due to timeout on test bot
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):
- 5:16 PM Changeset in webkit [183297] by
-
- 5 edits in trunk/Source/WebKit2
TextIndicator for embedded PDFs is slightly offset
https://bugs.webkit.org/show_bug.cgi?id=144172
<rdar://problem/20691304>
Reviewed by Tim Horton.
When I converted the existing DOM Range logic to work with PDFSelections, I omitted the
step where the font ascent was used to adjust the origin used for the TextIndicator. This
patch determines the correct ascent for the range of characters in the selection, and
adjusts the offset by the difference between the ascent and the height of the selection rect.
Also, since the PDFSelection only supplies the bounding rect for the selection, I calculate
an equivalent text bounding box by insetting the rect by half the size of the ascent.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::scaleFactor): Add accessor for PDF scale factor.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForPDFSelectionInPluginView): Adjusted to take the
font ascent and scale factor into account.
- 5:11 PM Changeset in webkit [183296] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r183293): Fix iOS EWS build by adding SPI declaration for +[UIPeripheralHost visiblePeripheralFrame]
Fixes the following build failures:
WebKit2/UIProcess/ios/WKPDFView.mm:740:45: error: class method '+visiblePeripheralFrame' not found (return type defaults to 'id') [-Werror,-Wobjc-method-access]
CGRect keyboardRect = [UIPeripheralHost visiblePeripheralFrame];
~
WebKit2/UIProcess/ios/WKPDFView.mm:740:12: error: no viable conversion from 'id' to 'CGRect'
CGRect keyboardRect = [UIPeripheralHost visiblePeripheralFrame];
~
- Platform/spi/ios/UIKitSPI.h:
(+[UIPeripheralHost visiblePeripheralFrame]): Add declaration.
- 5:11 PM Changeset in webkit [183295] by
-
- 5 edits in trunk/Source/WebCore
AnimationController::scrollWasUpdated() shows up in scrolling profiles on pages that don't use scroll triggers
https://bugs.webkit.org/show_bug.cgi?id=144173
<rdar://problem/20526168>
Reviewed by Simon Fraser.
Keep a list of Animations that care about scroll updates, and only
run the animation update if the list is not empty.
Covered by existing tests.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine): Tell the AnimationController
if this is an animation that depends on scrolling.
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::animationWillBeRemoved): Call the
new removeFromAnimationsDependentOnScroll as this animation is deleted.
(WebCore::AnimationControllerPrivate::addToAnimationsDependentOnScroll):
(WebCore::AnimationControllerPrivate::removeFromAnimationsDependentOnScroll):
(WebCore::AnimationControllerPrivate::scrollWasUpdated): Only update if
there are animations that care.
(WebCore::AnimationController::wantsScrollUpdates): Helper to expose this
value to FrameView.
- page/animation/AnimationController.h:
- page/animation/AnimationControllerPrivate.h:
(WebCore::AnimationControllerPrivate::wantsScrollUpdates):
- 5:09 PM Changeset in webkit [183294] by
-
- 5 edits1 copy in trunk/Source/WebKit2
Change _WKWebsiteDataStore to hold on to an internal WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=144171
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _websiteDataStore]):
(-[WKWebViewConfiguration _setWebsiteDataStore:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(-[_WKWebsiteDataStore initWithDataStore:]):
(+[_WKWebsiteDataStore defaultDataStore]):
(+[_WKWebsiteDataStore nonPersistentDataStore]):
(-[_WKWebsiteDataStore isNonPersistent]):
(-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h.
- WebKit2.xcodeproj/project.pbxproj:
- 4:54 PM Changeset in webkit [183293] by
-
- 6 edits in trunk/Source
WKPDFView does not support password-protected PDFs
https://bugs.webkit.org/show_bug.cgi?id=144162
<rdar://problem/18411512>
Reviewed by Andy Estes.
- Platform/spi/ios/UIKitSPI.h:
Add some SPI.
- UIProcess/ios/WKPDFView.h:
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _didLoadPDFDocument]):
(-[WKPDFView web_setContentProviderData:suggestedFilename:]):
Move creation of the UIPDFDocument (only possible if the CGPDFDocument is unlocked)
and initial setup of the page views out into _didLoadPDFDocument.
If the CGPDFDocument is locked, we'll show some UI to unlock it; otherwise
we'll continue on to _didLoadPDFDocument as previously.
(-[WKPDFView web_setMinimumSize:]):
Resize the password UI instead of the PDF pages if we have it.
(-[WKPDFView _computePageAndDocumentFrames]):
Don't bother doing any work revalidating PDF pages if the document is locked.
(-[WKPDFView _updatePasswordEntryField]):
Make sure that the UIDocumentPassword view is always the size of the scrollview.
This takes care of rotation.
(-[WKPDFView _keyboardDidShow:]):
Make sure that we scroll the password field around, if necessary, to keep it
on screen when editing begins.
(-[WKPDFView _showPasswordEntryField]):
(-[WKPDFView _hidePasswordEntryField]):
Adjust the background color (to match the UIDocumentPasswordView) and disable zooming
while it's up. The UIDocumentPassword view is installed into the scroll view
to match UIWebView behavior.
(-[WKPDFView userDidEnterPassword:forPasswordView:]):
(-[WKPDFView didBeginEditingPassword:inView:]):
(-[WKPDFView didEndEditingPassword:inView:]):
(-[WKPDFView _didFailToUnlock]):
Pop up a dialog informing the user that they entered the wrong password.
(-[WKPDFView _tryToUnlockWithPassword:]):
Try to unlock the document. If it succeeds, hide the unlock UI and go back to
_didLoadPDFDocument.
- English.lproj/Localizable.strings:
Add some localizable strings.
- 4:51 PM Changeset in webkit [183292] by
-
- 3 edits in trunk/Source/WebCore
Fix iOS EWS builds after updating to iOS 8.3 SDK
- platform/spi/cocoa/CoreTextSPI.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
- Update IPHONE_OS_VERSION_MIN_REQUIRED for these constants.
- 4:29 PM Changeset in webkit [183291] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] When inserting a NaN into a Int32 array, we convert it to DoubleArray then to ContiguousArray
https://bugs.webkit.org/show_bug.cgi?id=144169
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-24
Reviewed by Geoffrey Garen.
- runtime/JSObject.cpp:
(JSC::JSObject::convertInt32ForValue):
DoubleArray do not store NaN, they are used for holes.
What happened was:
1) We fail to insert the NaN in the Int32 array because it is a double.
2) We were converting the array to DoubleArray.
3) We were trying to insert the value again. We would fail again because
DoubleArray does not store NaN.
4) We would convert the DoubleArrayt to Contiguous Array, converting the values
to boxed values.
- tests/stress/int32array-transition-on-nan.js: Added.
The behavior is not really observable. This only test nothing crashes in those
cases.
(insertNaNWhileFilling):
(testInsertNaNWhileFilling):
(insertNaNAfterFilling):
(testInsertNaNAfterFilling):
(pushNaNWhileFilling):
(testPushNaNWhileFilling):
- 4:11 PM Changeset in webkit [183290] by
-
- 2 edits2 adds in trunk/LayoutTests
Handling additional review feedback after http://trac.webkit.org/changeset/183280
https://bugs.webkit.org/show_bug.cgi?id=144157.
Suggested by, implicitly reviewed by, and explicitly rubber-stamped by Alexey Proskuryakov.
- http/tests/security/cors-post-redirect-303-expected.txt: Added.
- http/tests/security/cors-post-redirect-303.html: Added.
- http/tests/security/resources/cors-post-redirect-target.php:
- 4:04 PM Changeset in webkit [183289] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed iOS build fix; add declarations to AVKitSPI.h
- platform/spi/cocoa/AVKitSPI.h:
- 4:02 PM Changeset in webkit [183288] by
-
- 31 edits1 delete in trunk
It shouldn't take 1846 lines of code and 5 FIXMEs to sort an array.
https://bugs.webkit.org/show_bug.cgi?id=144013
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch implements Array.prototype.sort in JavaScript, removing the
C++ implementations. It is simpler and less error-prone to express our
operations in JavaScript, which provides memory safety, exception safety,
and recursion safety.
The performance result is mixed, but net positive in my opinion. It's
difficult to enumerate all the results, since we used to have so many
different sorting modes, and there are lots of different data patterns
across which you might want to measure sorting. Suffice it to say:
(*) The benchmarks we track are faster or unchanged.
(*) Sorting random input using a comparator -- which we think is
common -- is 3X faster.
(*) Sorting random input in a non-array object -- which jQuery does
-- is 4X faster.
(*) Sorting random input in a compact array of integers using a
trivial pattern-matchable comparator is 2X *slower*.
- builtins/Array.prototype.js:
(sort.min):
(sort.stringComparator):
(sort.compactSparse): Special case compaction for sparse arrays because
we don't want to hang when sorting new Array(BIG).
(sort.compact):
(sort.merge):
(sort.mergeSort): Use merge sort because it's a reasonably efficient
stable sort. We have evidence that some sites depend on stable sort,
even though the ES6 spec does not mandate it. (See
<http://trac.webkit.org/changeset/33967>.)
This is a textbook implementation of merge sort with three optimizations:
(1) Use iteration instead of recursion;
(2) Use array subscripting instead of array copying in order to
create logical sub-lists without creating physical sub-lists;
(3) Swap src and dst at each iteration instead of copying src into
dst, and only copy src into the subject array at the end if src is
not the subject array.
(sort.inflate):
(sort.comparatorSort):
(sort): Sort in JavaScript for the win.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createExecutableInternal): Allow non-private
names so we can use helper functions.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::isNumericCompareFunction): Deleted.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::setIsNumericCompareFunction): Deleted.
(JSC::UnlinkedCodeBlock::isNumericCompareFunction): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::setIsNumericCompareFunction): Deleted.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionNode::emitBytecode): We don't do this special casing based
on pattern matching anymore. This was mainly an optimization to avoid
the overhead of calling from C++ to JS, which we now avoid by
sorting in JS.
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::pushTempSortVector): Deleted.
(JSC::Heap::popTempSortVector): Deleted.
(JSC::Heap::visitTempSortVectors): Deleted.
- heap/Heap.h: We don't have temp sort vectors anymore because we sort
in JavaScript using a normal JavaScript array for our temporary storage.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner): Allow capturing so we can use
helper functions.
- runtime/ArrayPrototype.cpp:
(JSC::isNumericCompareFunction): Deleted.
(JSC::attemptFastSort): Deleted.
(JSC::performSlowSort): Deleted.
(JSC::arrayProtoFuncSort): Deleted.
- runtime/CommonIdentifiers.h: New strings used by sort.
- runtime/JSArray.cpp:
(JSC::compareNumbersForQSortWithInt32): Deleted.
(JSC::compareNumbersForQSortWithDouble): Deleted.
(JSC::compareNumbersForQSort): Deleted.
(JSC::compareByStringPairForQSort): Deleted.
(JSC::JSArray::sortNumericVector): Deleted.
(JSC::JSArray::sortNumeric): Deleted.
(JSC::ContiguousTypeAccessor::getAsValue): Deleted.
(JSC::ContiguousTypeAccessor::setWithValue): Deleted.
(JSC::ContiguousTypeAccessor::replaceDataReference): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::getAsValue): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::setWithValue): Deleted.
(JSC::ContiguousTypeAccessor<ArrayWithDouble>::replaceDataReference): Deleted.
(JSC::JSArray::sortCompactedVector): Deleted.
(JSC::JSArray::sort): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_less): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_less): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_greater): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_greater): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::get_balance_factor): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::set_balance_factor): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_key): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_node): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::compare_node_node): Deleted.
(JSC::AVLTreeAbstractorForArrayCompare::null): Deleted.
(JSC::JSArray::sortVector): Deleted.
(JSC::JSArray::compactForSorting): Deleted.
- runtime/JSArray.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation): Provide some builtins used
by sort.
Source/WTF:
Remove this custom tree implementation because it is unused. (It was
previously used to achieve a stable array sort in certain cases.)
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.xcodeproj/project.pbxproj:
- wtf/AVLTree.h: Removed.
- wtf/CMakeLists.txt:
LayoutTests:
- js/script-tests/array-holes.js:
- js/array-holes-expected.txt: This result now matches Firefox. We see
'peekaboo', which is a prototype property, rather than a hole, because
sorting uses Get, which sees prototype properties.
The ES6 spec says that sorting should use Get, so this new result
matches the spec a little better -- although the spec also says that the
result of sorting is undefined in this case because of the presence of
an indexed property in the prototype chain.
- js/dom/array-prototype-properties-expected.txt: Updated error message
to match other array prototype error messages.
- js/comparefn-sort-stability-expected.txt:
- js/script-tests/comparefn-sort-stability.js: Made this test bigger in
order to demonstrate that Firefox and Safari use a stable sort, and
Chrome does not.
- js/script-tests/array-sort-sparse.js:
- js/array-sort-sparse-expected.txt: Added some tests for things I got
wrong in this patch.
- 3:31 PM Changeset in webkit [183287] by
-
- 2 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Unreviewed follow-up. Added a notifyDone, so that the watchdog timer actually works.
- fast/frames/flattening/resources/iframe-to-resize.html:
- 3:22 PM Changeset in webkit [183286] by
-
- 6 edits in trunk/Source/WebCore
Make rangeExpandedAroundPositionByCharacters to all platforms.
https://bugs.webkit.org/show_bug.cgi?id=144161
Reviewed by Tim Horton.
No change in functionality, simply making this available
to all platforms.
- editing/VisibleUnits.cpp:
(WebCore::rangeExpandedAroundPositionByCharacters):
- editing/VisibleUnits.h:
- editing/mac/DataDetection.mm:
- editing/mac/DictionaryLookup.h:
- editing/mac/DictionaryLookup.mm:
(WebCore::rangeExpandedAroundPositionByCharacters): Deleted.
- 3:05 PM Changeset in webkit [183285] by
-
- 3 edits in trunk/Source/WebCore
Purge PassRefPtr from NamedNodeMap.
<https://webkit.org/b/144091>
Reviewed by Antti Koivisto.
Use RefPtr instead of PassRefPtr in NamedNodeMap.
- dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::getNamedItem):
(WebCore::NamedNodeMap::getNamedItemNS):
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::setNamedItem):
(WebCore::NamedNodeMap::setNamedItemNS):
(WebCore::NamedNodeMap::item):
- dom/NamedNodeMap.h:
- 3:01 PM Changeset in webkit [183284] by
-
- 1 copy in tags/Safari-600.7.3
New tag.
- 3:00 PM Changeset in webkit [183283] by
-
- 73 edits11 deletes in trunk
Unreviewed, rolling out r183266.
https://bugs.webkit.org/show_bug.cgi?id=144164
Broke 32-bit build and a test. (Requested by ap on #webkit).
Reverted changeset:
"AX: richer text change notifications (142719)"
https://bugs.webkit.org/show_bug.cgi?id=142719
http://trac.webkit.org/changeset/183266
- 2:53 PM Changeset in webkit [183282] by
-
- 6 edits in trunk
REGRESSION: WebKit2.ActionMenusTest API test fails
https://bugs.webkit.org/show_bug.cgi?id=144149
<rdar://problem/20677770>
Reviewed by Tim Horton.
Source/WebKit2:
Tested by TestWebKitAPI
The 'lookupTextAtLocation' method was not converting the NSEvent coordinates it
was receiving from root view to the plugin view. Consequently, full page PDFs
did hit testing correctly, but an <embed> PDF would not.
Since 'existingSelectionContainsPoint' is exposed as API, I also modified it to
expect 'root view' coordinates and perform the requisite conversions, rather
than expecting 'plugin view' coordinates.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::existingSelectionContainsPoint): Expect 'root view' coordinates
for the input.
(WebKit::PDFPlugin::lookupTextAtLocation): Properly convert the passed 'root view'
coordinates to the PDF's view coordinate space.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation): Pass hit point using view coordinates,
not content coordinates.
Tools:
- TestWebKitAPI/Tests/WebKit2/action-menu-targets.html: Revise to use the same test PDF
as the 'ActionMenusPDFTest'.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST): Unskip the PDF portion of ActionMenusTest, and revise its expected output
to match the hit test on the 'action-menu-target.pdf' test file.
- 2:39 PM Changeset in webkit [183281] by
-
- 2 edits in trunk/Tools
Cleanup: Use @memoized for property IOSSimulator.testing_device
https://bugs.webkit.org/show_bug.cgi?id=141715
Reviewed by Darin Adler.
Simplify the caching of the result of IOSSimulator.testing_device
and make the code more readable by making use of the @memoized declarator
instead of explicitly managing a private instance variable,
IOSSimulator._testing_device, for the cached result.
- Scripts/webkitpy/port/ios.py:
(IOSPort.determine_full_port_name):
(IOSSimulatorPort.init): Delete instance variable IOSSimulatorPort._testing_device.
(IOSSimulatorPort):
(IOSSimulatorPort.testing_device): No need to cache the created device object in
IOSSimulatorPort._testing_device since we are marking this function @memoized.
(IOSSimulatorPort.reset_preferences): Code style fix; inline self.testing_device.path instead
of caching in local variable since we only make use of this value exactly once in this function.
(IOSPort.init): Deleted; The instance variable IOSPort._testing_device has never
been used since being added in r178622. So, we can remove this constructor since
it's the trivial constructor once we remove the instance variable IOSPort._testing_device.
- 2:09 PM Changeset in webkit [183280] by
-
- 4 edits9 adds in trunk
Origin header is preserved on cross-origin redirects.
https://bugs.webkit.org/show_bug.cgi?id=144157.
Reviewed by Sam Weinig.
Source/WebCore:
Tests: http/tests/security/cors-post-redirect-301.html
http/tests/security/cors-post-redirect-302.html
http/tests/security/cors-post-redirect-307.html
http/tests/security/cors-post-redirect-308.html
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willSendRequest): Always clear any origin header for cross-origin redirects.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest): Ditto.
LayoutTests:
- http/tests/security/cors-post-redirect-301-expected.txt: Added.
- http/tests/security/cors-post-redirect-301.html: Added.
- http/tests/security/cors-post-redirect-302-expected.txt: Added.
- http/tests/security/cors-post-redirect-302.html: Added.
- http/tests/security/cors-post-redirect-307-expected.txt: Added.
- http/tests/security/cors-post-redirect-307.html: Added.
- http/tests/security/cors-post-redirect-308-expected.txt: Added.
- http/tests/security/cors-post-redirect-308.html: Added.
- http/tests/security/resources/cors-post-redirect-target.php: Added.
- 1:55 PM Changeset in webkit [183279] by
-
- 2 edits in trunk/Source/WebKit2
Address a review comment from Joe Pecoraro.
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- 1:48 PM Changeset in webkit [183278] by
-
- 10 edits in trunk
Rename -[WKWebsiteDataStore isNonPersistent] to -[WKWebsiteDataStore isPersistent]
https://bugs.webkit.org/show_bug.cgi?id=144158
Reviewed by Beth Dakin.
Source/WebKit2:
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::isPersistent):
(API::WebsiteDataStore::isNonPersistent): Deleted.
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore isPersistent]):
(-[WKWebsiteDataStore isNonPersistent]): Deleted.
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(-[_WKWebsiteDataStore isNonPersistent]):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController initWithConfiguration:]):
- 12:33 PM Changeset in webkit [183277] by
-
- 15 edits in trunk/Source
Immediate action not functional for embedded PDFs
https://bugs.webkit.org/show_bug.cgi?id=143952
<rdar://problem/19842365>
Reviewed by Tim Horton.
Source/WebCore:
Add a dictionary lookup method to allow us to retrieve
relevant information for PDFs.
- editing/mac/DictionaryLookup.mm:
(WebCore::dictionaryLookupForPDFSelection): Updated to properly handle cases
where the Lookup engine selects a smaller range than the initial automatic
selection performed on clicking.
Source/WebKit2:
Add a new method to retrieve appropriate dictionary lookup content and update the
hit test result with relevant dictionary content and the bounding rect of the
selection.
- WebProcess/Plugins/Netscape/NetscapePlugin.h: Add stub.
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Initialize plugin type.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::rectInWindowSpaceForRectInLayoutSpace): New helper function to
convert PDF 'in page' units to the equivalent view units.
(WebKit::PDFPlugin::PDFPlugin): Initialize plugin type.
(WebKit::PDFPlugin::viewRectForSelection): Query a provided PDFSelection for
its bounding rect and return the result in view units.
- WebProcess/Plugins/Plugin.h:
- WebProcess/Plugins/PluginProxy.cpp: Initialize plugin type.
- WebProcess/Plugins/PluginProxy.h: Add stub.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::viewRectForSelection): Added.
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForPDFSelectionInPluginView): Added.
(WebKit::textIndicatorTransitionForActionMenu): Added helper function.
(WebKit::WebPage::performActionMenuHitTestAtLocation): Update the hit test information
with relevant dictionary lookup content, and mark the result as a text node (if
appropriate).
- 12:15 PM Changeset in webkit [183276] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Only issue a isPlayingAudioDidChange() notification if the audio playing state actually changed.
https://bugs.webkit.org/show_bug.cgi?id=144153
Reviewed by Alexey Proskuryakov.
Check the old state vs. the new state and only issue the change notification if the IsPlayingAudio state changed.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isPlayingMediaDidChange):
- 12:08 PM Changeset in webkit [183275] by
-
- 3 edits3 adds in trunk
Source/JavaScriptCore:
Made Object.prototype.proto native getter and setter check that this object not null or undefined
https://bugs.webkit.org/show_bug.cgi?id=141865
rdar://problem/19927273
Reviewed by Filip Pizlo.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
LayoutTests:
Added tests to ensure that Object.prototype.proto native getter and setter do not coerce undefined to this
https://bugs.webkit.org/show_bug.cgi?id=141865
rdar://problem/19927273
Reviewed by Filip Pizlo.
- js/script-tests/sloppy-getter-setter-global-object.js: Added.
- js/sloppy-getter-setter-global-object-expected.txt: Added.
- js/sloppy-getter-setter-global-object.html: Added.
- 12:01 PM Changeset in webkit [183274] by
-
- 5 edits in trunk/Source/WebCore
Make it possible to map a secondary quad through TransformState
https://bugs.webkit.org/show_bug.cgi?id=144156
Reviewed by Dean Jackson.
A future patch will need to map two quads simultaneously through TransformState,
so add the ability to provide an optional secondary quad.
This patch also firms up the setQuad() contract, fixing webkit.org/b/106680,
requiring the state to be flattened when setting the quad (and now, the secondary quad).
Previously, setQuad implicitly flattened but failed to update m_mapPoint when
doing so.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::computeVisibleRect): Now we have to explicitly flatten
before setting the quad.
- platform/graphics/ca/GraphicsLayerCA.h: Drive-up #include removal.
- platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::operator=): Copy the secondary quad if we have one.
(WebCore::TransformState::translateMappedCoordinates): Move the secondary quad
if we have one.
(WebCore::TransformState::mappedQuad): Code factored into mapQuad().
(WebCore::TransformState::mappedSecondaryQuad): Return the secondary quad mapped
into the state's current coordinate space.
(WebCore::TransformState::mapQuad): Factored code.
- platform/graphics/transforms/TransformState.h:
(WebCore::TransformState::setQuad): Make the contract more explicit with assertions.
(WebCore::TransformState::setSecondaryQuad): Ditto when setting the secondary quad.
(WebCore::TransformState::lastPlanarSecondaryQuad):
(WebCore::TransformState::lastPlanarQuad): Deleted.
- 11:57 AM Changeset in webkit [183273] by
-
- 3 edits in trunk/Source/WebKit2
CrashTracer: [USER] com.apple.WebKit.Networking at com.apple.WebKit: WebKit::NetworkResourceLoader::~NetworkResourceLoader + 14
https://bugs.webkit.org/show_bug.cgi?id=144147
Reviewed by Chris Dumez.
Storage::storeBodyAsBlob copies the std::function callback for handling mapped bodies in a thread.
This is thread safe only if the function copy is thread safe. It is currently not as we are capturing
RefPtr<NetworkResourceLoader> and NetworkResourceLoader doesn't use thread safe refcounting.
Fix by avoiding copying of the callback. Use same apporach for WriteOperation as we already use for
ReadOperation: count the active operations in progress and delete WriteOperation when everything is
finished. This way we don't need to copy the function out from WriteOperation.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::ReadOperation::ReadOperation):
(WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
Move definition here from the header.
(WebKit::NetworkCache::Storage::~Storage):
(WebKit::NetworkCache::Storage::storeBodyAsBlob):
Increment the operation count when storing a blob, call finishWriteOperation when done.
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::finishReadOperation):
Count active operations instead of finished operations. This makes the code clearer.
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
(WebKit::NetworkCache::Storage::finishWriteOperation):
Mirror the way ReadOperations work.
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::ReadOperation::ReadOperation): Deleted.
- 11:55 AM Changeset in webkit [183272] by
-
- 3 edits in trunk/LayoutTests
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155
Reviewed by Anders Carlsson.
Cleaned the test up a little, and added logging to collect some information about
why it fails.
- fast/frames/flattening/iframe-flattening-resize-event-count.html:
- fast/frames/flattening/resources/iframe-to-resize.html:
- 11:45 AM Changeset in webkit [183271] by
-
- 5 edits in trunk/Source/WebCore
[iOS] Reimplement r182512 and r183153 in a cleaner way
https://bugs.webkit.org/show_bug.cgi?id=144151
Reviewed by Enrica Casucci.
On iOS, we create FontPlatformData's ctFont() by round tripping it through a CGFontRef.
This causes the resultant ctFont() to lose system-font-ness. Patches r182512 and r183153
react to this fact by making users of a FontPlatformData use the original font passed in
to the FontPlatformData instead of the FontPlatformData's ctFont(), but only if we
detect that the FontPlatformData represents a system font (the underlying APIs have
different behavior for system fonts and non-system-fonts).
However, on OS X, we create a FontPlatformData's ctFont() directly from the original
font passed in to the constructor. This preserves system-font-ness (because it no
longer has the CGFontRef in the middle of the transformation). Therefore, OS X has the
correct behavior regarding system fonts.
The difference between the two ctFont() creation codepaths seems to be historical
rather than intentional. Rather than change all the call sites of ctFont() to use a
different platform font object if a system font is detected, a cleaner solution is to
simply unify the two ctFont() creation codepaths to the version which preserves system-
font-ness. Doing this will make all users of FontPlatformData automatically have the
correct behavior with no updates.
This patch reverts the relevant parts of r182512 and r183153 in favor of this new
solution.
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformWidthForGlyph):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFontSize):
(WebCore::FontPlatformData::ctFont):
- platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::Font::getCFStringAttributes):
- 11:26 AM Changeset in webkit [183270] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
- 11:12 AM Changeset in webkit [183269] by
-
- 11 edits in trunk/Source
[Cocoa] Start cleaning up FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=144133
Reviewed by Enrica Casucci.
Source/WebCore:
This is the start of a crusade to ultimately remove one of the CTFontRefs which we have inside
FontPlatformData. This patch starts this effort out by removing the FontPlatformData
constructor which accepts an NSFont. This constructor simply casts the NSFont to a CTFontRef,
and forwards to another constructor. This patch moves this cast to callers of this constructor,
thereby enumerating the places we have left that use NSFont with FontPlatformData.
This patch also cleans up two of the constructors in FontPlatformData.cpp to forward on to
a common constructor.
This patch also collects places inside FontPlatformDataCocoa.mm where we check if a pointer is
not 0 and not -1, and puts this common code inside a new function,
FontPlatformData::isValidCTFontRef().
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData): Coalesce constructors.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::isValidCTFontRef): Check if a pointer is not 0 and not -1.
(WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformCreateScaledFont): Receive cast which has been hoisted from the deleted
FontPlatformData constructor.
(WebCore::Font::compositeFontReferenceFont): Ditto.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::~FontPlatformData): Use isValidCTFontRef().
(WebCore::FontPlatformData::platformDataInit): Ditto.
(WebCore::FontPlatformData::platformDataAssign): Ditto.
(WebCore::FontPlatformData::platformIsEqual): Simplify preprocessor macros.
(WebCore::FontPlatformData::allowsLigatures): Remove unnecessary NSFont use.
(WebCore::FontPlatformData::FontPlatformData): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Remove unnecessary
NSFont use.
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::systemFallbackForCharacters): Receive cast which has been hoisted from the
deleted FontPlatformData constructor.
(WebCore::FontCache::createFontPlatformData): Ditto.
- platform/mac/DragImageMac.mm:
(WebCore::fontFromNSFont): Ditto.
(WebCore::widthWithFont): Ditto.
(WebCore::drawAtPoint): Ditto.
Source/WebKit/mac:
Receive casts which have been hoisted from the deleted FontPlatformData constructor.
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Receive cast which has
been hoisted from the deleted FontPlatformData constructor.
(-[NSString _web_widthWithFont:]): Ditto.
- Misc/WebStringTruncator.mm:
(fontFromNSFont): Ditto.
- 11:02 AM Changeset in webkit [183268] by
-
- 4 edits in trunk/Source
REGRESSION: Web Inspector: Start Timeline Recording in Develop menu broken
https://bugs.webkit.org/show_bug.cgi?id=144150
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled): Change !== to === when
checking enabled to isCapturing().
Source/WebKit2:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::evaluateCommandOnLoad): Properly treat bools as literals
instead of strings by not using the string version of evaluateCommandOnLoad.
- 10:26 AM Changeset in webkit [183267] by
-
- 4 edits in trunk/Source/WebKit2
Add headerdocs for WKWebsiteDataRecord and WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=144138
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
- 9:49 AM Changeset in webkit [183266] by
-
- 73 edits3 copies8 adds in trunk
AX: richer text change notifications (142719)
https://bugs.webkit.org/show_bug.cgi?id=142719
Patch by Doug Russell <d_russell@apple.com> on 2015-04-24
Reviewed by Darin Adler.
Richer accessibility value change notifications. Introduce AXTextEditType, postTextStateChangeNotification and postTextReplacementNotification to give assistive tech apps more reliable context for responding to changes in web content. Also implement a mechanism to post value changes in password form fields in coalesced ticks to thwart analyzing the cadence of changes.
Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent, and an overload of postTextReplacementNotification to give assistive tech apps more reliable context for responding to changes in web content selection. Also block posting selection changes on password fields.
Source/WebCore:
Tests: platform/mac/accessibility/input-replacevalue-userinfo.html
platform/mac/accessibility/selection-change-userinfo.html
platform/mac/accessibility/value-change-userinfo.html
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::isPasswordFieldOrContainedByPasswordField):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::rootWebArea):
(WebCore::AXObjectCache::selectedChildrenChanged): Deleted.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::computedObjectAttributeCache): Deleted.
(WebCore::AXObjectCache::getOrCreate): Deleted.
(WebCore::AXObjectCache::attachWrapper): Deleted.
- accessibility/AXTextStateChangeIntent.h: Added.
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::passwordFieldOrContainingPasswordField):
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isContainedByPasswordField):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField):
(WebCore::AccessibilityObject::isPasswordField): Deleted.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
- accessibility/AccessibilityScrollView.h:
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::postPlatformNotification): Deleted.
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::setShouldRepostNotificationsForTests):
(WebCore::AXPostNotificationWithUserInfo):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::textReplacementChangeDictionary):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(+[WebAccessibilityObjectWrapperBase accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]):
(arrayRemovingNonJSONTypes):
(dictionaryRemovingNonJSONTypes):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:userInfo:]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand):
(WebCore::sendAXTextChangedIgnoringLineBreaks):
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
- editing/AppendNodeCommand.h:
(WebCore::AppendNodeCommand::create):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::applyBlockStyle): Deleted.
- editing/ApplyStyleCommand.h:
- editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapplyEditType):
(WebCore::CompositeEditCommand::CompositeEditCommand):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::insertParagraphSeparator):
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::appendNode):
(WebCore::CompositeEditCommand::removeNodePreservingChildren):
(WebCore::CompositeEditCommand::insertTextIntoNode):
(WebCore::CompositeEditCommand::deleteTextFromNode):
(WebCore::CompositeEditCommand::replaceTextInNode):
(WebCore::CompositeEditCommand::moveParagraphs):
(WebCore::EditCommandComposition::getNodesInCommand): Deleted.
(WebCore::CompositeEditCommand::applyStyle): Deleted.
(WebCore::CompositeEditCommand::insertLineBreak): Deleted.
(WebCore::CompositeEditCommand::insertNodeAt): Deleted.
(WebCore::CompositeEditCommand::removeChildrenInRange): Deleted.
(WebCore::CompositeEditCommand::inputText): Deleted.
- editing/CompositeEditCommand.h:
- editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
- editing/DeleteFromTextNodeCommand.h:
(WebCore::DeleteFromTextNodeCommand::create):
(WebCore::DeleteFromTextNodeCommand::deletedText):
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::preservesTypingStyle): Deleted.
- editing/DeleteSelectionCommand.h:
(WebCore::DeleteSelectionCommand::create):
- editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
(WebCore::DictationCommand::insertParagraphSeparator):
- editing/EditAction.h:
- editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand):
(WebCore::EditCommand::editingAction):
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
(WebCore::SimpleEditCommand::SimpleEditCommand):
(WebCore::SimpleEditCommand::notifyAccessibilityForTextChange):
(WebCore::EditCommand::setParent): Deleted.
- editing/EditCommand.h:
- editing/EditingAllInOne.cpp:
- editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::deleteSelectionWithSmartDelete):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::replaceSelectionWithText):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::transpose):
(WebCore::Editor::changeSelectionAfterCommand):
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::executeInsertFragment):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::isBoundary):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
(WebCore::FrameSelection::modifyMovingBackward): Deleted.
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): Deleted.
(WebCore::FrameSelection::selectionAtWordStart): Deleted.
- editing/FrameSelection.h:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
(WebCore::FrameSelection::selection): Deleted.
- editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
- editing/InsertIntoTextNodeCommand.h:
(WebCore::InsertIntoTextNodeCommand::create):
(WebCore::InsertIntoTextNodeCommand::insertedText):
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
- editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
- editing/InsertParagraphSeparatorCommand.h:
(WebCore::InsertParagraphSeparatorCommand::create):
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::InsertTextCommand):
- editing/InsertTextCommand.h:
(WebCore::InsertTextCommand::create):
(WebCore::InsertTextCommand::createWithMarkerSupplier):
- editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
- editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
- editing/RemoveNodePreservingChildrenCommand.h:
(WebCore::RemoveNodePreservingChildrenCommand::create):
- editing/ReplaceDeleteFromTextNodeCommand.cpp: Copied from Source/WebCore/editing/AppendNodeCommand.h.
(WebCore::ReplaceDeleteFromTextNodeCommand::ReplaceDeleteFromTextNodeCommand):
(WebCore::ReplaceDeleteFromTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceDeleteFromTextNodeCommand.h: Copied from Source/WebCore/editing/AppendNodeCommand.h.
- editing/ReplaceInsertIntoTextNodeCommand.cpp: Added.
(WebCore::ReplaceInsertIntoTextNodeCommand::ReplaceInsertIntoTextNodeCommand):
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):
- editing/ReplaceInsertIntoTextNodeCommand.h: Copied from Source/WebCore/editing/RemoveNodePreservingChildrenCommand.h.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Deleted.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Deleted.
- editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertParagraphSeparator):
- editing/atk/FrameSelectionAtk.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS):
- editing/ios/DictationCommandIOS.h:
- editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/EventHandler.cpp:
(WebCore::setInitialKeyboardSelection):
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
Source/WebKit2:
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
Tools:
- DumpRenderTree/mac/AccessibilityNotificationHandler.h:
- DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler stopObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeNotificationListener):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::removeNotificationListener):
LayoutTests:
- platform/mac/accessibility/input-replacevalue-userinfo-expected.txt: Added.
- platform/mac/accessibility/input-replacevalue-userinfo.html: Added.
- platform/mac/accessibility/selection-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/selection-change-userinfo.html: Added.
- platform/mac/accessibility/value-change-userinfo-expected.txt: Added.
- platform/mac/accessibility/value-change-userinfo.html: Added.
- 9:38 AM Changeset in webkit [183265] by
-
- 56 edits6 deletes in trunk
Convert OwnPtr and PassOwnPtr uses to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128007
Reviewed by Anders Carlsson.
Source/WebCore:
- PlatformEfl.cmake: Removed OwnPtrCairo source files.
- PlatformGTK.cmake: Ditto.
- PlatformWinCairo.cmake: Ditto.
- WebCore.vcxproj/WebCore.vcxproj: Ditto.
- WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
- platform/CrossThreadCopier.cpp: Removed OwnPtr specialization.
- platform/CrossThreadCopier.h: Ditto.
- platform/ScrollAnimatorNone.cpp: Removed unneeded include.
- platform/ThreadGlobalData.cpp: Ditto.
- platform/ThreadGlobalData.h: Ditto.
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: Ditto.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::processNotification): Use unique_ptr.
(WebCore::AVFWrapper::notificationCallback): Use make_unique.
(WebCore::AVFWrapper::platformLayer): Ditto.
- platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::appendPathToCairoContext): Use cairo_path_destroy directly
instead of a smart pointer; the code path is simple enough that it is
clear this way.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer): Use make_unique.
- platform/graphics/cairo/ImageBufferDataCairo.h: Use unique_ptr.
- platform/graphics/cairo/OwnPtrCairo.cpp: Removed.
- platform/graphics/cairo/OwnPtrCairo.h: Removed.
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::Path): Use cairo_path_destroy directly instead of a
smart pointer; the code path is simple enough that it is clear this way.
(WebCore::Path::operator=): Ditto.
(WebCore::Path::addPath): Ditto.
(WebCore::Path::apply): Ditto.
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::clipForPatternFilling): Ditto.
- platform/graphics/freetype/FontCacheFreeType.cpp: Removed unneeded include.
- platform/graphics/glx/GLContextGLX.cpp: Ditto.
- platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLOffScreenSurface::EGLOffScreenSurface): Use make_unique.
- platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::findMatchingConfig): Use unique_ptr with X11Deleter.
(WebCore::GLXConfigSelector::findMatchingConfigWithVisualId): Ditto.
- platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface): Ditto.
(WebCore::GLXOffScreenSurface::initialize): Ditto.
- platform/graphics/surfaces/glx/OwnPtrX11.h: Removed.
- platform/graphics/surfaces/glx/X11Helper.cpp:
(WebCore::X11Helper::createOffScreenWindow): Use unique_ptr with X11Deleter.
(WebCore::X11Helper::createPixmap): Ditto.
- platform/graphics/surfaces/glx/X11Helper.h: Added X11Deleter,
which can be used with unique_ptr to make it call XFree instead of delete.
- platform/graphics/win/FullScreenController.cpp: Use unique_ptr.
(FullScreenController::FullScreenController): Use make_unique.
(FullScreenController::enterFullScreen): Ditto.
- platform/graphics/win/FullScreenController.h: Use unique_ptr.
- platform/graphics/win/GraphicsContext3DWin.cpp: Removed unneeded includes.
- platform/graphics/win/WKCAImageQueue.cpp:
(WebCore::WKCAImageQueue::WKCAImageQueue): Use make_unique.
- platform/graphics/win/WKCAImageQueue.h: Use unique_ptr.
- platform/network/NetworkStorageSessionStub.cpp: Removed unneeded include.
- platform/network/ResourceHandleInternal.h: Use unique_ptr.
- platform/network/curl/MultipartHandle.cpp:
(WebCore::MultipartHandle::create): Deleted.
- platform/network/curl/MultipartHandle.h: Deleted the create function.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): Use make_unique.
Source/WebKit2:
- NetworkProcess/cache/NetworkCacheEncoder.h: Added an include now
needed that was inherited from OwnPtr.h before.
Source/WTF:
- WTF.vcxproj/WTF.vcxproj: Removed OwnPtr source files.
- WTF.vcxproj/WTF.vcxproj.filters: Ditto.
- WTF.xcodeproj/project.pbxproj: Ditto.
- wtf/CMakeLists.txt: Ditto.
- wtf/Forward.h: Removed OwnPtr and PassOwnPtr.
- wtf/HashTraits.h: Ditto.
- wtf/OwnPtr.h: Removed.
- wtf/OwnPtrCommon.h: Removed.
- wtf/PassOwnPtr.h: Removed.
- wtf/SizeLimits.cpp: Removed OwnPtr.
- wtf/VectorTraits.h: Removed OwnPtr specialization.
Tools:
- DumpRenderTree/win/HistoryDelegate.h: Removed unneeded include.
- DumpRenderTree/win/UIDelegate.h: Ditto.
- TestWebKitAPI/Tests/WTF/HashMap.cpp: Removed OwnPtr-specific test cases.
- TestWebKitAPI/Tests/WTF/HashSet.cpp: Ditto.
- TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Removed unneeded include.
- TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Use unique_ptr.
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::SetUp): Use make_unique.
- TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Ditto.
(TestWebKitAPI::WebKit2WillLoadTest::SetUp): Ditto.
- TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp:
(WebKitDOMDOMWindowTest::create): Ditto.
- TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(documentLoadedCallback): Use a queue of DelayedSignal objects instead
of smart pointers to DelayedSIgnal objects.
(uriChangedCallback): Ditto.
- 8:44 AM Changeset in webkit [183264] by
-
- 2 edits in trunk/Tools
[Mac] Unreviewed test fix.
https://bugs.webkit.org/show_bug.cgi?id=144149
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST): Temporarily skip the PDF <embed>
test.
- 7:39 AM Changeset in webkit [183263] by
-
- 3 edits in trunk/Source/WebKit2
Network Cache: Make path functions members
https://bugs.webkit.org/show_bug.cgi?id=144146
Reviewed by Carlos Garcia Campos.
This simplifies the code.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::partitionPathForKey):
(WebKit::NetworkCache::Storage::recordPathForKey):
(WebKit::NetworkCache::Storage::bodyPathForKey):
(WebKit::NetworkCache::Storage::storeBodyAsBlob):
(WebKit::NetworkCache::Storage::remove):
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::finishReadOperation):
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
(WebKit::NetworkCache::partitionPathForKey): Deleted.
(WebKit::NetworkCache::recordPathForKey): Deleted.
(WebKit::NetworkCache::bodyPathForKey): Deleted.
- NetworkProcess/cache/NetworkCacheStorage.h:
- 4:42 AM Changeset in webkit [183262] by
-
- 4 edits in trunk/Source/WebCore
[Win] Popup menu is not accessible.
https://bugs.webkit.org/show_bug.cgi?id=141704
Reviewed by Brent Fulgham.
Get accessibility information for items in popup menus.
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::onGetObject):
(WebCore::PopupMenuWin::wndProc):
(WebCore::AccessiblePopupMenu::AccessiblePopupMenu):
(WebCore::AccessiblePopupMenu::~AccessiblePopupMenu):
(WebCore::AccessiblePopupMenu::QueryInterface):
(WebCore::AccessiblePopupMenu::AddRef):
(WebCore::AccessiblePopupMenu::Release):
(WebCore::AccessiblePopupMenu::GetTypeInfoCount):
(WebCore::AccessiblePopupMenu::GetTypeInfo):
(WebCore::AccessiblePopupMenu::GetIDsOfNames):
(WebCore::AccessiblePopupMenu::Invoke):
(WebCore::AccessiblePopupMenu::get_accParent):
(WebCore::AccessiblePopupMenu::get_accChildCount):
(WebCore::AccessiblePopupMenu::get_accChild):
(WebCore::AccessiblePopupMenu::get_accName):
(WebCore::AccessiblePopupMenu::get_accValue):
(WebCore::AccessiblePopupMenu::get_accDescription):
(WebCore::AccessiblePopupMenu::get_accRole):
(WebCore::AccessiblePopupMenu::get_accState):
(WebCore::AccessiblePopupMenu::get_accHelp):
(WebCore::AccessiblePopupMenu::get_accKeyboardShortcut):
(WebCore::AccessiblePopupMenu::get_accFocus):
(WebCore::AccessiblePopupMenu::get_accSelection):
(WebCore::AccessiblePopupMenu::get_accDefaultAction):
(WebCore::AccessiblePopupMenu::accSelect):
(WebCore::AccessiblePopupMenu::accLocation):
(WebCore::AccessiblePopupMenu::accNavigate):
(WebCore::AccessiblePopupMenu::accHitTest):
(WebCore::AccessiblePopupMenu::accDoDefaultAction):
(WebCore::AccessiblePopupMenu::put_accName):
(WebCore::AccessiblePopupMenu::put_accValue):
(WebCore::AccessiblePopupMenu::get_accHelpTopic):
- platform/win/PopupMenuWin.h:
- platform/win/ScrollbarThemeWin.h:
(WebCore::ScrollbarThemeWin::hasButtons): Deleted.
- 4:20 AM Changeset in webkit [183261] by
-
- 7 edits in trunk
Memory cache live resources repeatedly purged during painting
https://bugs.webkit.org/show_bug.cgi?id=144104
Source/WebCore:
<rdar://problem/20667695>
Reviewed by Chris Dumez.
On some PLT pages (like nytimes.com) we get into state where painting repeatedly purges live bitmaps.
This slows down page loads significantly.
This might have regressed because improvements in page caching keep more pages and so resources 'live'.
With this path we do all regular cache pruning asynchronously. If memory is really critical
the low memory handling code will still prune synchronously.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::didAccessDecodedData):
prune() -> pruneSoon()
- loader/cache/MemoryCache.cpp:
Decrease the pruning size target from 0.95 to 0.8 so we don't need to prune so often.
(WebCore::MemoryCache::needsPruning):
Factor into a function.
(WebCore::MemoryCache::prune):
(WebCore::MemoryCache::pruneSoon):
Prune asynchronously.
- loader/cache/MemoryCache.h:
LayoutTests:
Reviewed by Chris Dumez.
- http/tests/cache/disk-cache/disk-cache-vary-cookie.html:
These clearMemoryCache calls are now done by cache-test.js.
- http/tests/cache/disk-cache/resources/cache-test.js:
(loadResources):
Make sure to clear the memory cache explicitly in the beginning so we always hit the disk cache.
(runTests):
- 4:16 AM Changeset in webkit [183260] by
-
- 7 edits in trunk
Unreviewed, rolling out r183259.
Wrong ChangeLog.
Reverted changeset:
"Memory cache live resources repeatedly purged during
painting"
https://bugs.webkit.org/show_bug.cgi?id=144104
http://trac.webkit.org/changeset/183259
- 4:05 AM Changeset in webkit [183259] by
-
- 7 edits in trunk
Source/WebCore:
CrashTracer: WebProcess at com.apple.WebCore: WebCore::toScriptElementIfPossible + 4
https://bugs.webkit.org/show_bug.cgi?id=144050
Reviewed by Chris Dumez.
We are seeing null Element pointer crashes with this stack:
47 com.apple.WebCore: WebCore::toScriptElementIfPossible + 4 <==
47 com.apple.WebCore: WebCore::ScriptRunner::timerFired + 452
47 com.apple.WebCore: WebCore::ThreadTimers::sharedTimerFiredInternal + 175
The most likely cause seems to be that this code
ASSERT(m_pendingAsyncScripts.contains(scriptElement));
m_scriptsToExecuteSoon.append(m_pendingAsyncScripts.take(scriptElement));
in ScriptRunner::notifyScriptReady fails to find scriptElement and we are left with null entry in
m_scriptsToExecuteSoon. However I haven't managed to repro this or find the exact path how this
could happen. The related code is fragile with lot of state (especially in ScriptElement class)
and involves many opportunities for re-entry via scripts.
No repro, no test case.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::timerFired):
Paper this over by adding a null check. We could check m_pendingAsyncScripts.take() above
but this also covers possibility this is caused by something else.
LayoutTests:
Memory cache live resources repeatedly purged during painting
https://bugs.webkit.org/show_bug.cgi?id=144104
Reviewed by Chris Dumez.
- http/tests/cache/disk-cache/disk-cache-vary-cookie.html:
These clearMemoryCache calls are now done by cache-test.js.
- http/tests/cache/disk-cache/resources/cache-test.js:
(loadResources):
Make sure to clear the memory cache explicitly in the beginning so we always hit the disk cache.
(runTests):
- 3:21 AM Changeset in webkit [183258] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Remove incorrect assert after r183189.
In this case the assert was already there, but it's incorrect
because we are handling uninitialized attachments below in the
same function, and also when sending messages. So, if it's ok to
send uninitialized attachments, it's ok to receive them. This
didn't fail before r183189, because we were only invaliding the
attachments by setting the file descriptor to -1, and they were
handled as null attachments. After r183189, the move operator
resets the moved attachment leaving it uninitialized again.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage):
- 12:41 AM Changeset in webkit [183257] by
-
- 1 copy in tags/Safari-601.1.29
New tag.
- 12:40 AM Changeset in webkit [183256] by
-
- 5 edits in trunk/Source
Versioning.
- 12:17 AM Changeset in webkit [183255] by
-
- 6 edits in trunk/Source
[SOUP] Use a webkit subdirectory for the disk cache
https://bugs.webkit.org/show_bug.cgi?id=144048
Reviewed by Martin Robinson.
Source/WebCore:
Add a static method to SoupNetworkSession to clear a soup cache
given its directory.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::strIsNumeric):
(WebCore::SoupNetworkSession::clearCache):
- platform/network/soup/SoupNetworkSession.h:
Source/WebKit2:
Recent versions of libsoup remove any file in cache dir not
referenced by the index when the cache is loaded to workaround
leaked resources when load/dump is unbalanced for whatever reason,
like a crash. We currently use $XDG_CACHE_HOME/app-name as default
disk cache directory, but that directory could be used by apps to
cache other things, and the soup cache might end up deleting other
stuff. The soup cache assumes the given directory is only for the
disk cache, so we should ensure that.
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Append
webkit to the given disk cache and clear the previous soup cache if it exists.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
- 12:05 AM Changeset in webkit [183254] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Remove incorrect ASSERT added in r183176.
We allow to encode null attachments.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::releaseAttachment):
Apr 23, 2015:
- 11:45 PM Changeset in webkit [183253] by
-
- 5 edits in branches/safari-600.1.4.16-branch/Source
Versioning.
- 11:42 PM Changeset in webkit [183252] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 11:36 PM Changeset in webkit [183251] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove a useless branch on DFGGraph::addShouldSpeculateMachineInt()
https://bugs.webkit.org/show_bug.cgi?id=144118
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-23
Reviewed by Geoffrey Garen.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateMachineInt):
Both block do the same thing.
- 11:30 PM Changeset in webkit [183250] by
-
- 2 edits in trunk/Source/WTF
Disable HAVE_AVKIT on AppleTV
https://bugs.webkit.org/show_bug.cgi?id=144142
Reviewed by Dan Bernstein.
- wtf/Platform.h:
- 10:56 PM Changeset in webkit [183249] by
-
- 2 edits in tags/Safari-601.1.28.2/Source/WebKit2
Merged r183245. rdar://problem/20680694
- 10:51 PM Changeset in webkit [183248] by
-
- 5 edits in tags/Safari-601.1.28.2/Source
Versioning.
- 10:47 PM Changeset in webkit [183247] by
-
- 1 copy in tags/Safari-601.1.28.2
New tag.
- 10:30 PM Changeset in webkit [183246] by
-
- 1 edit in trunk/Source/WebKit2/ChangeLog
Added Radar information to Change Log entry
- 10:27 PM Changeset in webkit [183245] by
-
- 2 edits in trunk/Source/WebKit2
Fixed a bug where framework header postprocessing wasn’t removing WK_DEPRECATED macros when it should have.
Reviewed by Andy Estes.
- mac/postprocess-framework-headers.sh:
- 9:55 PM Changeset in webkit [183244] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build after r183234.
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::commitScaleChange):
- 9:52 PM Changeset in webkit [183243] by
-
- 3 edits in trunk/Source/WebCore
Fix Windows build.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::setBackingStoreAttached):
(PlatformCALayerWin::backingStoreAttached):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 9:36 PM Changeset in webkit [183242] by
-
- 16 edits in trunk/Source
Make it possible to detach GraphicsLayerCA backing store
https://bugs.webkit.org/show_bug.cgi?id=144140
Reviewed by Tim Horton.
Source/WebCore:
This changes makes it possible to denote a GraphicsLayerCA's backing store
as "attached" or not. When not attached, the backing store is made volatile
and can be purged. This will be used in a future patch.
- platform/graphics/ca/GraphicsLayerCA.h: Add updateBackingStoreAttachment().
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/mac/PlatformCALayerMac.h:
- platform/graphics/ca/mac/PlatformCALayerMac.mm: Stubs. In future, we could
remove backing store on Mac and iOS WK1 too.
(PlatformCALayerMac::setBackingStoreAttached):
(PlatformCALayerMac::backingStoreAttached):
Source/WebKit2:
This changes makes it possible to denote a GraphicsLayerCA's backing store
as "attached" or not. When not attached, the backing store is made volatile
and can be purged. This will be used in a future patch.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore): Whitespace.
(WebKit::RemoteLayerBackingStore::display): If backingStoreWillBeDisplayed()
returns true, this indicates that the backing store was brought out of the
"unreachable" list, so return true even if the backing store doesn't require
painting.
- Shared/mac/RemoteLayerBackingStoreCollection.h: C++11 initializer, and comments.
- Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed): Return true
if the caller will need to submit the backing store in the current transaction.
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable): This
explicit dirtying is no longer necessary given the backingStoreWillBeDisplayed() change.
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer): Only set the layer's backing if we both have backing
store, and it's attached.
- Shared/mac/RemoteLayerTreeTransaction.h: New bit, and data member.
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction): Only call display()
on the backing store if it's attached.
(WebKit::PlatformCALayerRemote::setBackingStoreAttached):
(WebKit::PlatformCALayerRemote::backingStoreAttached):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
- WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
- WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed):
- 9:14 PM WebInspectorDebugging edited by
- (diff)
- 9:05 PM Changeset in webkit [183241] by
-
- 3 edits in trunk/Source/WebCore
Remove "layer" from GraphicsLayerCA member function names
https://bugs.webkit.org/show_bug.cgi?id=144139
Reviewed by Myles Maxfield.
Rename "updateLayer*" to "update*" in GraphicsLayerCA.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateNames):
(WebCore::GraphicsLayerCA::updateDrawsContent):
(WebCore::GraphicsLayerCA::updateLayerNames): Deleted.
(WebCore::GraphicsLayerCA::updateLayerDrawsContent): Deleted.
- platform/graphics/ca/GraphicsLayerCA.h:
- 9:01 PM Changeset in webkit [183240] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: Speculative fix for non-main thread auto-attach failures
https://bugs.webkit.org/show_bug.cgi?id=144134
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-23
Reviewed by Timothy Hatcher.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::singleton):
- 8:49 PM Changeset in webkit [183239] by
-
- 2 edits in trunk/Source/WebKit/win
Try to fix the Windows build after r183234.
- FullscreenVideoController.cpp:
(FullscreenVideoController::FullscreenVideoController): FullscreenVideoController inherits privately from
WebCore::MediaPlayerPrivateFullscreenClient, so make_unique isn't allowed to upcast. Add an explicit upcast.
- 8:08 PM Changeset in webkit [183238] by
-
- 3 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: run a customizable bootstrap function after the UI has fully loaded
https://bugs.webkit.org/show_bug.cgi?id=144124
Reviewed by Joseph Pecoraro.
It can be really annoying to click through the Inspector UI dozens of times to debug one
interaction or iterate on a specific widget.
This patch adds a blank "bootstrap" function that can be used to hard-wire commands to
automate repetitive UI state setup. The function is run immediately after the inspector loads.
Setup commands can be shared as bug report reproduction steps.
- UserInterface/Base/Bootstrap.js: Added.
(WebInspector.runBootstrapOperations): Added.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded): Bootstrap after setting up everything and restoring view state from cookie.
- UserInterface/Main.html:
- 8:06 PM Changeset in webkit [183237] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix after r183232.
- public/include/json-header.php:
- 8:03 PM Changeset in webkit [183236] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/20663758> Fix the build after AVPlayerViewController API change
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Don’t pass a nil completion
handler to -[AVPlayerViewController exitFullScreenAnimated:completionHandler:].
- 7:23 PM Changeset in webkit [183235] by
-
- 19 edits4 adds in trunk
Allow function allocation sinking
https://bugs.webkit.org/show_bug.cgi?id=144016
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This adds the ability to sink function allocations in the
DFGObjectAllocationSinkingPhase.
In order to enable this, we add a new PhantomNewFunction node that is
used similarily to the PhantomNewObject node, i.e. as a placeholder to replace
a sunk NewFunction and keep track of the allocations that have to be performed
in case of OSR exit after the sunk allocation but before the real one.
The FunctionExecutable and JSLexicalEnvironment (activation) of the function
are stored onto the PhantomNewFunction through PutHints in order for them
to be recovered on OSR exit.
Contrary to sunk object allocations, sunk function allocations do not
support any kind of operations (e.g. storing into a field) ; any such operation
will mark the function allocation as escaping and trigger materialization. As
such, function allocations can only be sunk to places where it would have been
correct to syntactically move them, and we don't need a special
MaterializeNewFunction node to recover possible operations on the function. A
sunk NewFunction node will simply create new NewFunction nodes, then replace
itself with a PhantomNewFunction node.
In itself, this change is not expected to have a significant impact on
performances other than in degenerate cases (see e.g.
JSRegress/sink-function), but it is a step towards being able to sink recursive
closures onces we support CreateActivation sinking as well as allocation cycles
sinking.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::isPhantomAllocation):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGPromotedHeapLocation.h:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
- tests/stress/function-sinking-no-double-allocate.js: Added.
(call):
(.f):
(sink):
- tests/stress/function-sinking-osrexit.js: Added.
(.g):
(sink):
- tests/stress/function-sinking-put.js: Added.
(.g):
(sink):
LayoutTests:
Add a new test in JSRegress to check function sinking is being
performed.
- js/regress/script-tests/sink-function.js: Added.
(foo.f1):
(foo.f2):
(foo.f3):
(foo.f4):
(foo.f5):
(foo.f6):
(foo.f7):
(foo.f8):
(foo.f9):
(foo.f10):
(foo.f11):
(foo.f12):
(foo.f13):
(foo.f14):
(foo.f15):
(foo.f16):
(foo.f17):
(foo.f18):
(foo.f19):
(foo):
- 7:13 PM Changeset in webkit [183234] by
-
- 90 edits1 delete in trunk
Another round of removing use of OwnPtr, PassOwnPtr, and deleteOwnedPtr
https://bugs.webkit.org/show_bug.cgi?id=144090
Reviewed by Anders Carlsson.
Source/WebCore:
- Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Removed unneeded include.
- Modules/navigatorcontentutils/NavigatorContentUtils.h: Removed include of
RefCountedSupplement.h.
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
Pass data using rvalue references, and use new/delete to pass it across
threads, rather than using PassOwnPtr.
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: Pass data
in an rvalue reference instead of PassOwnPtr.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData): Take an rvalue reference
instead of a PassOwnPtr.
- Modules/websockets/WebSocket.h: Ditto.
- Modules/websockets/WebSocketChannel.cpp: Ditto.
(WebCore::WebSocketChannel::processFrame): Ditto.
- Modules/websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::didReceiveBinaryData): Ditto.
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
Ditto.
- Modules/websockets/WorkerThreadableWebSocketChannel.h: Ditto.
- WebCore.xcodeproj/project.pbxproj: Removed RefCountedSupplement.h.
- loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation): Fixed comment
to not mention adoptPtr.
- page/make_settings.pl:
(generateInternalSettingsHeaderFile): Removed include of RefCountedSupplement.h.
- platform/ColorChooserClient.h: Removed unneded include.
- platform/ContextMenuItem.h: Ditto.
- platform/RefCountedSupplement.h: Removed.
- platform/ScrollAnimator.cpp: Removed unneeded include.
- platform/ScrollAnimatorNone.h: Ditto.
- platform/ThreadGlobalData.cpp: Added now-needed include of PassOwnPtr.h.
- platform/graphics/GlyphMetricsMap.h: Ditto.
- platform/graphics/MediaPlayer.h: Ditto.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: Ditto.
- platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp: Ditto.
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Ditto.
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: Ditto.
- platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: Ditto.
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Ditto.
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Ditto.
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Use make_unique instead of adoptPtr.
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData): Return a RefPtr instead of a PassRefPtr.
- platform/graphics/cg/ImageBufferDataCG.h: Streamlined the header a bit,
use unique_ptr instead of OwnPtr and RefPtr instead of PassRefPtr.
- platform/graphics/cocoa/IOSurface.h: Use unique_ptr instead of OwnPtr.
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::ensureGraphicsContext): Use make_unique instead of adoptPtr.
- platform/graphics/egl/GLContextEGL.cpp: Removed unneeded includes.
- platform/graphics/filters/FilterOperation.h: Ditto.
- platform/graphics/harfbuzz/HarfBuzzShaper.h: Ditto.
- platform/ios/DeviceMotionClientIOS.h: Ditto.
- platform/ios/DeviceOrientationClientIOS.h: Ditto.
- platform/ios/LegacyTileCache.h: Use unique_ptr instead of OwnPtr.
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::LegacyTileCache): Use make_unique instead of
a create function, and also get rid of unneeded initialization to null.
(WebCore::LegacyTileCache::commitScaleChange): Ditto.
- platform/ios/LegacyTileGrid.h: Made constructor public and got rid of create
function. Made constructor take a reference to the tile cache, and make both
tileCache() and m_tileCache be references too.
- platform/ios/LegacyTileGrid.mm:
(WebCore::LegacyTileGrid::LegacyTileGrid): Updated to use reference.
(WebCore::LegacyTileGrid::visibleRect): Ditto.
(WebCore::LegacyTileGrid::tileByteSize) Ditto.:
(WebCore::LegacyTileGrid::dropDistantTiles): Ditto.
(WebCore::LegacyTileGrid::updateTileOpacity): Ditto.
(WebCore::LegacyTileGrid::updateTileBorderVisibility): Ditto.
(WebCore::LegacyTileGrid::updateHostLayerSize): Ditto.
(WebCore::LegacyTileGrid::invalidateTiles): Ditto.
(WebCore::LegacyTileGrid::shouldUseMinimalTileCoverage): Ditto.
(WebCore::LegacyTileGrid::tileDistance2): Ditto.
(WebCore::LegacyTileGrid::createTiles): Ditto.
- platform/ios/LegacyTileGridTile.mm:
(WebCore::LegacyTileGridTile::LegacyTileGridTile): Ditto.
(WebCore::LegacyTileGridTile::invalidateRect): Ditto.
(WebCore::LegacyTileGridTile::showBorder): Ditto.
- platform/ios/LegacyTileLayer.mm:
(-[LegacyTileHostLayer renderInContext:]): Ditto.
(-[LegacyTileLayer layoutSublayers]): Ditto.
(-[LegacyTileLayer drawInContext:]): Ditto.
- platform/ios/LegacyTileLayerPool.h: Removed unneeded include.
- platform/ios/ScrollAnimatorIOS.mm: Ditto.
- platform/mac/ScrollAnimatorMac.mm: Ditto.
- platform/mac/WebVideoFullscreenController.h: Ditto.
- platform/network/BlobData.cpp: Ditto.
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle): Use make_unique instead of adoptPtr.
- platform/network/ResourceHandle.h: Use unique_ptr instead of OwnPtr.
- platform/network/ResourceHandleInternal.h: Added now-needed include.
- platform/network/ResourceResponseBase.h: Removed unneeded includes and
tweaked formatting a bit.
- platform/network/SynchronousLoaderClient.h: Removed the create function and
the private constructor. Used data member initialize to make the default
empty constructor automatically get generated (and be public now).
- platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::formFinishFinalizationOnMainThread): Use delete instead of adoptPtr
to delete the context argument.
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::defaultNetworkStorageSession): Return a unique_ptr& instead of an OwnPtr&.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Use make_unique
instead of adoptPtr.
(WebCore::NetworkStorageSession::defaultStorageSession): Ditto.
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Use a
SynchronousLoaderClient on the stack instead of putting one on the heap with adoptPtr.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Ditto.
- platform/text/TextCodec.h: Removed unneeded include.
- platform/win/CursorWin.cpp: Ditto.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects): Use move instead of release since
we are using RefPtr&& instead of PassRefPtr.
- rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::setRenderer): Use RefPtr&& instead of PassRefPtr.
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients): Streamlined to use
modern for loops and auto.
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients): Ditto.
- rendering/RenderLayerFilterInfo.h: Streamlined code and removed some stuff that
I think is unneeded on iOS; there is no unused private field and I suspect the problem
that led to the warning is gone. Deleted friending of deleteOwnedPtr.
- rendering/RenderLayerMaskImageInfo.cpp: Removed unneeded includes. Moved private
client classes in here from the header and made them members of MaskImageInfo.
Streamlined them a bit in other ways.
(WebCore::RenderLayer::MaskImageInfo::getIfExists): Use nullptr.
(WebCore::RenderLayer::MaskImageInfo::MaskImageInfo): Use member initialization
and also pass the layer in rather than the MaskImageInfo.
(WebCore::RenderLayer::MaskImageInfo::notifyFinished): Deleted. Moved the code
into the SVGDocumentClient.
(WebCore::RenderLayer::MaskImageInfo::imageChanged): Deleted. Moved the code into
the ImageClient.
(WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Streamlined a bit
to use a for loop.
(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Ditto.
- rendering/RenderLayerMaskImageInfo.h: Reduced unneeded includes. Got rid of
definitions of private member classes here in the header; they can be in the cpp
file instead. Also cut down from three classes to two, and gave the classes less
redundant names since they are already members of MaskImageInfo. Removed some
unneeded functions and friending of deleteOwnedPtr.
- testing/InternalSettings.cpp: Got rid of comment about RefCountedSupplement
since no code anywhere was using it, so not using it here was not remarkable.
Source/WebKit/win:
- FullscreenVideoController.cpp:
(FullscreenVideoController::FullscreenVideoController):
(FullscreenVideoController::exitFullscreen):
- FullscreenVideoController.h:
- Plugins/PluginView.h:
- Plugins/PluginViewWin.cpp:
(WebCore::PluginView::wndProc):
- WebCoreSupport/AcceleratedCompositingContext.h:
- WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::WebChromeClient):
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::WebFrameLoaderClient):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::highlight):
- WebCoreSupport/WebInspectorClient.h:
- WebElementPropertyBag.cpp:
(WebElementPropertyBag::WebElementPropertyBag):
- WebElementPropertyBag.h:
- WebFrame.h:
- WebHistoryItem.cpp:
- WebNodeHighlight.cpp:
- WebNotificationCenter.cpp:
(WebNotificationCenter::WebNotificationCenter):
- WebNotificationCenter.h:
Use make_unique and unique_ptr instead of adoptPtr and OwnPtr.
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm: Removed unneeded include.
- 7:08 PM Changeset in webkit [183233] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Adopt Object.assign and improve its display in Console
https://bugs.webkit.org/show_bug.cgi?id=144135
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-23
Reviewed by Darin Adler.
- UserInterface/Models/NativeFunctionParameters.js:
- 6:16 PM Changeset in webkit [183232] by
-
- 11 edits1 add in trunk/Websites/perf.webkit.org
Perf dashboard should automatically detect regressions
https://bugs.webkit.org/show_bug.cgi?id=141443
Reviewed by Anders Carlsson.
Added a node.js script detect-changes.js to detect potential regressions and progressions
on the graphs tracked on v2 dashboards.
- init-database.sql: Added analysis_strategies table and task_segmentation and task_test_range
columns to analysis_tasks to keep the segmentation and test range selection strategies used
to create an analysis task.
- public/api/analysis-tasks.php:
(format_task): Include task_segmentation and analysis_tasks in the results.
- public/include/json-header.php:
(remote_user_name): Returns null when the privileged API is authenticated as a slave instead
of a CSRF prevention token.
(should_authenticate_as_slave): Added.
(ensure_privileged_api_data_and_token_or_slave): Added. Authenticate as a slave if slaveName
and slavePassword are specified. Since detect-changes.js and other slaves are not susceptible
to a CSRF attack, we don't need to check a CSRF token.
- public/privileged-api/create-analysis-task.php:
(main): Use ensure_privileged_api_data_and_token_or_slave to let detect-changes.js create new
analysis task. Also add or find segmentation and test range selection strategies if specified.
- public/privileged-api/create-test-group.php:
(main): Use ensure_privileged_api_data_and_token_or_slave.
- public/privileged-api/generate-csrf-token.php:
- public/v2/app.js:
(App.Pane._computeMovingAverageAndOutliers): _executeStrategy has been moved to Statistics.
- public/v2/data.js: Export Measurement, RunsData, TimeSeries. Used in detect-changes.js.
(Array.prototype.find): Added a polyfill to be used in node.js.
(RunsData.fetchRuns):
(RunsData.pathForFetchingRuns): Extracted from fetchRuns. Used in detect-changes.js.
(RunsData.createRunsDataInResponse): Extracted from App.Manifest._formatFetchedData to use it
in detect-changes.js.
(RunsData.unitFromMetricName): Ditto.
(RunsData.isSmallerBetter): Ditto.
(RunsData.prototype._timeSeriesByTimeInternal): Added secondaryTime to sort points when commit
times are identical.
(TimeSeries): When commit times are identical, order points based on build time. This is needed
for when we trigger two builds at two different OS versions with the same WebKit revision since
OS versions don't change the commit times.
(TimeSeries.prototype.findPointByIndex): Added.
(TimeSeries.prototype.rawValues): Added.
- public/v2/js/statistics.js:
(Statistics.TestRangeSelectionStrategies.[0]): Use the 99% two-sided probability as claimed in the
description of this strategy instead of the default probability. Also fixed a bug that debugging
code was referring to non-existent variables.
(Statistics.executeStrategy): Moved from App.Pane (app.js).
- public/v2/manifest.js:
(App.Manifest._formatFetchedData): Various code has been extracted into RunsData in data.js to be
used in detect-changes.js.
- tools/detect-changes.js: Added. The script fetches the manifest JSON, analyzes each graph in
the v2 dashboards, and creates an analysis task for the latest regression or progression detected.
It also schedules an A/B testing if possible and notifies another server; e.g. to send an email.
(main): Loads the settings JSON specified in the argument.
(fetchManifestAndAnalyzeData): The main loop that periodically wakes up to do the analysis.
(mapInOrder): Executes callback sequentially (i.e. blocking) on each item in the array.
(configurationsForTesting): Finds every (platform, metric) pair to analyze in the v2 dashbaords,
and computes various values for when statistically significant changes are detected later.
(analyzeConfiguration): Finds potential regressions and progression in the last X days where X
is the specified maximum number of days using the specified strategies. Sort the resultant ranges
in chronological order and create a new analysis task for the very last change we detected. We'll
eventually create an analysis task for all detected changes since we're repeating the analysis in
fetchManifestAndAnalyzeData after some time.
(computeRangesForTesting): Fetch measured values and compute ranges to test using the specified
segmentation and test range selection strategies. Once ranges are found, find overlapping analysis
tasks as they need to be filtered out in analyzeConfiguration to avoid creating multiple analysis
tasks for the same range (e.g. humans may create one before the script gets to do it).
(createAnalysisTaskAndNotify): Create a new analysis task for the specified range, trigger an A/B
testing if available, and notify another server with a HTML message as specified.
(findStrategyByLabel):
(changeTypeForRange): A change is a regression if values are getting larger in a smaller-is-better
test or values are getting smaller in a larger-is-better test and vice versa.
(summarizeRange): Create a human readable string that summarizes the change detected. e.g.
"Potential 3.2% regression detected between 2015-04-20 12:00 and 17:00".
(formatTimeRange):
(getJSON):
(postJSON):
(postNotification): Recursively replaces $title and $massage in the specified JSON template.
(instantiateNotificationTemplate):
(fetchJSON):
- 5:23 PM Changeset in webkit [183231] by
-
- 1 copy in tags/Safari-600.7.2
New tag.
- 5:07 PM Changeset in webkit [183230] by
-
- 1 copy in tags/Safari-600.7.1
New tag.
- 4:43 PM Changeset in webkit [183229] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Add a wrapper around the hosted AVPlayerLayer to intercept -setBounds:
https://bugs.webkit.org/show_bug.cgi?id=144129
Reviewed by Simon Fraser.
When passing the hosted AVPlayerLayer to the fullscreen controller, the new superlayer will
resize the hosted layer with a call to -setBounds:. But because this is a hosted layer, the
bonuds change has no effect. Instead, wrap the CALayerHost in another CALayer whose job it is
to intercept -setBounds: in the same way that WebAVVideoLayer did. In fact, we should just use
that wrapper class inside WebAVVideoLayer as well, to avoid duplicating code.
Drive-by Fix: Null-check m_videoElement in setVideoLayerFrame().
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebCALayerHostWrapper setVideoSublayer:]):
(-[WebCALayerHostWrapper videoSublayer]):
(-[WebCALayerHostWrapper setBounds:]): Moved from WebAVVideoLayer.
(-[WebCALayerHostWrapper resolveBounds]): Ditto.
(-[WebAVVideoLayer setBounds:]): Moved to WebCALayerHostWrapper.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Create the wrapper.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Clear the wrapper.
(-[WebAVVideoLayer resolveBounds]): Deleted. Moved to WebCALayerHostWrapper.
- platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): Null-check m_videoElement.
- 4:18 PM Changeset in webkit [183228] by
-
- 2 edits in trunk/Source/WebKit2
Quick Look preview popover is not dismissed on scroll in Mail
https://bugs.webkit.org/show_bug.cgi?id=144119
<rdar://problem/19752045>
Reviewed by Anders Carlsson.
- UIProcess/API/mac/WKView.mm:
(-[WKView renewGState]):
If we have a TextIndicator, dismiss all content relative child windows
on renewGState, not just the TextIndicator itself.
This will fix cases like Mail, where WebKit isn't driving the scrolling,
and we have no way (except renewGState) to know that scrolling is happening.
- 4:13 PM Changeset in webkit [183227] by
-
- 2 edits in trunk/Source/WebCore
Yellow highlight has gray background color when invoking Lookup on an address in a Google Maps drop down
https://bugs.webkit.org/show_bug.cgi?id=138737
<rdar://problem/18904429>
Reviewed by Simon Fraser.
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
Other RenderObjects don't paint box decorations in the selection painting phase,
so RenderReplaced probably shouldn't either. This fixes the case where, when doing
selection-only painting of a bit of text over top of a RenderReplaced, the RenderReplaced
would paint its background, filling the previously transparent bitmap with an unwanted color.
- 4:04 PM Changeset in webkit [183226] by
-
- 2 edits in trunk/LayoutTests
Test compositing/scrolling/touch-scroll-to-clip.html fails in WK1
https://bugs.webkit.org/show_bug.cgi?id=144127
- platform/mac-wk1/TestExpectations: Marked it as such.
- 4:01 PM Changeset in webkit [183225] by
-
- 2 edits in trunk/Source/WebCore
Update media timeline controls when video is paused..
https://bugs.webkit.org/show_bug.cgi?id=144122.
<rdar://problem/20422927>
Reviewed by Dean Jackson.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawTimelineBackground): Use timelineWidth because offsetWidth is 0 when display: none.
(Controller.prototype.setPlaying): Show controls when pausing.
(Controller.prototype.showControls): Update time and timeline when unhiding controls.
- 3:54 PM Changeset in webkit [183224] by
-
- 5 edits in trunk/Source
Changing TiledBacking velocity should schedule a tile revalidation
https://bugs.webkit.org/show_bug.cgi?id=144123
Reviewed by Tim Horton.
Source/WebCore:
Changing the velocity parameters on the TileController affect the computed
coverage rect, so whenever we make a change to velocity data that could
affect the outcome (basically any non-zero old or new velocities),
schedule a layer flush.
- platform/graphics/TiledBacking.h:
(WebCore::VelocityData::velocityOrScaleIsChanging):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVelocity):
Source/WebKit2:
Drive-by fix: use the FrameView& that we have already.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 3:52 PM Changeset in webkit [183223] by
-
- 2 edits in trunk/Tools
lldb macro btjs sometimes can't get a frame description
https://bugs.webkit.org/show_bug.cgi?id=144130
Reviewed by Filip Pizlo.
We look to execute ExecState::describeFrame(). It appears that in some contexts the
debugger can't find ExecState. In those cases, CallFrame works as it is a typedef of
ExecState. Therefore we can fallback to using CallFrame::describeFrame().
- lldb/lldb_webkit.py:
(btjs):
- 3:45 PM Changeset in webkit [183222] by
-
- 2 edits in trunk
[GTK] Add more public options
https://bugs.webkit.org/show_bug.cgi?id=144116
Reviewed by Martin Robinson.
Add ENABLE_ICONDATABASE, ENABLE_JIT, and USE_SYSTEM_MALLOC as public options.
- Source/cmake/OptionsGTK.cmake:
- 3:43 PM Changeset in webkit [183221] by
-
- 9 edits in trunk
[Mac] Disable QTKit by default on future OS X.
https://bugs.webkit.org/show_bug.cgi?id=144082
Reviewed by Darin Adler.
Source/WebCore:
Settings::gQTKitEnabled defaults to false.
- page/Settings.cpp:
Source/WebKit/mac:
Default WebKitQTKitEnabledPreferenceKey to NO.
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Source/WebKit2:
QTKitEnabled defaults to false.
- Shared/WebPreferencesDefinitions.h:
LayoutTests:
Add a required BANDWIDTH field to the alternate playlist.
- http/tests/media/resources/hls/playlist-with-cookie.m3u8:
- 3:40 PM WebInspectorDebugging created by
- 3:40 PM Changeset in webkit [183220] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][Mac] Tweak the timing curve of the WebKit Fullscreen animation
https://bugs.webkit.org/show_bug.cgi?id=144120
Reviewed by Eric Carlson.
Tweak the curve to ease-in faster when the fullscreen animation duration is short.
- UIProcess/mac/WKFullScreenWindowController.mm:
(timingFunctionForDuration):
(zoomAnimation):
(maskAnimation):
(fadeAnimation):
- 3:34 PM Changeset in webkit [183219] by
-
- 6 edits in trunk/Source/WebCore
Clean up: Use references instead of pointers in more SVG files
https://bugs.webkit.org/show_bug.cgi?id=144045
Reviewed by Darin Adler.
- rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Pass reference instead of pointer.
- rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::recordTextFragment): Changed parameter textBox from pointer to reference.
(WebCore::SVGTextLayoutEngine::layoutInlineTextBox): Ditto.
(WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics): Changed parameter textBox from pointer to
reference and made it const since this function does not modify textBox.
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Changed parameters from pointers to references.
Also, removed comma from comment so that it reads well.
- rendering/svg/SVGTextLayoutEngine.h: Updated declarations for the above functions.
- rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): Changed parameter style from pointer to reference.
Added case BS_LENGTH to switch block and removed default case so that the compiler checks that we handle all cases.
Renamed parameter contextElement to context since the name of its data type conveys that it is an element.
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): Changed parameter textRenderer from
pointer to reference and removed runtime assertion that textRenderer is non-null (since it well-formed reference
cannot point to a non-existent object).
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): Changed parameter style from pointer to reference
removed runtime assertion that style is non-null.
- rendering/svg/SVGTextLayoutEngineBaseline.h: Updated declarations for the above functions.
- 3:30 PM Changeset in webkit [183218] by
-
- 1 copy in tags/Safari-600.1.4.16.1
New tag.
- 3:24 PM Changeset in webkit [183217] by
-
- 2 edits in trunk/LayoutTests
Make the linter stop complaining by fixing the order of fields in TestExpectations
- platform/mac/TestExpectations:
Bug number comes first.
- 3:20 PM Changeset in webkit [183216] by
-
- 2 edits in trunk/Source/WebKit2
iOS build fix after r183208.
Unreviewed.
- UIProcess/ios/WKContentViewInteraction.mm:
- 3:20 PM HackingWebInspector edited by
- (diff)
- 3:02 PM Changeset in webkit [183215] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: DebuggerSidebarPanel's _callStackContentTreeOutline should suppress filtering
https://bugs.webkit.org/show_bug.cgi?id=144114
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
- 3:00 PM Changeset in webkit [183214] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix layering issues with ApplicationCacheFrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=144113
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ApplicationCacheFrameTreeElement.js:
(WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles):
(WebInspector.ApplicationCacheFrameTreeElement):
- 2:58 PM Changeset in webkit [183213] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r183194.
https://bugs.webkit.org/show_bug.cgi?id=144121
Made multiple tests flaky (Requested by ap_ on #webkit).
Reverted changeset:
"Memory cache live resources repeatedly purged during
painting"
https://bugs.webkit.org/show_bug.cgi?id=144104
http://trac.webkit.org/changeset/183194
- 2:56 PM Changeset in webkit [183212] by
-
- 4 edits in trunk/Source/JavaScriptCore
Make FunctionRareData allocation thread-safe
https://bugs.webkit.org/show_bug.cgi?id=144001
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23
Reviewed by Mark Lam.
The two things we want to prevent are:
- A thread seeing a pointer to a not-yet-fully-created rare data from a JSFunction
- A thread seeing a pointer to a not-yet-fully-created Structure from an ObjectAllocationProfile
For 1., only the JS thread can be creating the rare data (in
runtime/CommonSlowPaths.cpp or in dfg/DFGOperations.cpp), so we don't need to
worry about concurrent writes, and we don't need any fences when *reading* the
rare data from the JS thread. Thus we only need a storeStoreFence between the
rare data creation and assignment to m_rareData in
JSFunction::createAndInitializeRareData() to ensure that when the store to
m_rareData is issued, the rare data has been properly created.
For the DFG compilation threads, the only place they can access the
rare data is through JSFunction::rareData(), and so we only need a
loadLoadFence there to ensure that when we see a non-null pointer in
m_rareData, the pointed object will be seen as a fully created
FunctionRareData.
For 2., the structure is created in
ObjectAllocationProfile::initialize() (which appears to be called only by the
JS thread as well, in bytecode/CodeBlock.cpp and on rare data initialization,
which always happen in the JS thread), and read through
ObjectAllocationProfile::structure() and
ObjectAllocationProfile::inlineCapacity(), so following the same reasoning we
put a storeStoreFence in ObjectAllocationProfile::initialize() and a
loadLoadFence in ObjectAllocationProfile::structure() (and change
ObjectAllocationProfile::inlineCapacity() to go through
ObjectAllocationProfile::structure()).
We don't need a fence in ObjectAllocationProfile::clear() because
clearing the structure is already as atomic as it gets.
Finally, notice that we don't care about the ObjectAllocationProfile's
m_allocator as that is only used by ObjectAllocationProfile::initialize() and
ObjectAllocationProfile::clear() that are always run in the JS thread.
ObjectAllocationProfile::isNull() could cause some trouble, but it is
currently only used in the ObjectAllocationProfile::clear()'s ASSERT in the JS
thread. Doing isNull()-style pre-checks would be wrong in any other concurrent
thread anyway.
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::initialize):
(JSC::ObjectAllocationProfile::structure):
(JSC::ObjectAllocationProfile::inlineCapacity):
- runtime/JSFunction.cpp:
(JSC::JSFunction::allocateAndInitializeRareData):
- runtime/JSFunction.h:
(JSC::JSFunction::rareData):
(JSC::JSFunction::allocationStructure): Deleted.
This is no longer used, as all the accesses to the ObjectAllocationProfile go through the rare data.
- 2:41 PM WikiStart edited by
- (diff)
- 2:33 PM Changeset in webkit [183211] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Missed a button in r182900.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-wireless-playback-picker-button:active):
- 2:31 PM Changeset in webkit [183210] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Just shift some CSS around for code cleanup purposes.
- Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel:hover):
- 2:14 PM Changeset in webkit [183209] by
-
- 7 edits1 add in trunk/Source
[iOS] WebKit services should inherit environment variables for home
https://bugs.webkit.org/show_bug.cgi?id=144078
rdar://problem/20571678
Reviewed by Dan Bernstein.
Source/WebCore:
Added an SPI header for a drive-by fix.
- WebCore.xcodeproj/project.pbxproj:
- platform/spi/cf/CFBundleSPI.h: Added.
Source/WebKit2:
Pass current environment variables as XPC bootstrap. Also while at it, made
_CFBundleSetupXPCBootstrap not soft linked.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(main):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
Source/WTF:
- wtf/spi/darwin/XPCSPI.h: Added xpc_copy_bootstrap and xpc_dictionary_apply.
- 2:03 PM Changeset in webkit [183208] by
-
- 2 edits in trunk/Source/WebKit2
Support share button.
https://bugs.webkit.org/show_bug.cgi?id=144077
rdar://problem/19772892
Reviewed by Darin Adler.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _share:]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView _define:]):
(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):
(-[WKContentView moveByOffset:]):
(-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView accessoryTab:]):
(-[WKContentView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]):
(-[WKContentView executeEditCommandWithCallback:]):
- 1:47 PM Changeset in webkit [183207] by
-
- 17 edits3 adds in trunk/Source/JavaScriptCore
DFG should insert Phantoms late using BytecodeKills and block-local OSR availability
https://bugs.webkit.org/show_bug.cgi?id=143735
Reviewed by Geoffrey Garen.
We've always had bugs arising from the fact that we would MovHint something into a local,
and then fail to keep it alive. We would then try to keep things alive by putting Phantoms
on those Nodes that were MovHinted. But this became increasingly tricky. Given the
sophistication of the transformations we are doing today, this approach is just not sound
anymore.
This comprehensively fixes these bugs by having the DFG backend automatically insert
Phantoms just before codegen based on bytecode liveness. To make this practical, this also
makes it much faster to query bytecode liveness.
It's about as perf-neutral as it gets for a change that increases compiler work without
actually optimizing anything. Later changes will remove the old Phantom-preserving logic,
which should then speed us up. I can't really report concrete slow-down numbers because
they are low enough to basically be in the noise. For example, a 20-iteration run of
SunSpider yields "maybe 0.8% slower", whatever that means.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):
- bytecode/FullBytecodeLiveness.h:
(JSC::FullBytecodeLiveness::getLiveness):
- bytecode/VirtualRegister.h:
(JSC::VirtualRegister::operator+):
(JSC::VirtualRegister::operator-):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllLiveNodesAtTail):
(JSC::DFG::forAllKilledOperands):
(JSC::DFG::forAllKilledNodesAtNodeIndex):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::isLiveInBytecode):
(JSC::DFG::Graph::localsLiveInBytecode):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::forAllLocalsLiveInBytecode):
(JSC::DFG::Graph::forAllLiveInBytecode):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGMovHintRemovalPhase.cpp:
- dfg/DFGNodeType.h:
- dfg/DFGPhantomInsertionPhase.cpp: Added.
(JSC::DFG::performPhantomInsertion):
- dfg/DFGPhantomInsertionPhase.h: Added.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::sortFree):
(JSC::DFG::ScoreBoard::assertClear):
- dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
- tests/stress/phantom-inadequacy.js: Added.
(bar):
(baz):
(foo):
- 1:30 PM Changeset in webkit [183206] by
-
- 3 edits in trunk
[CMake] Some internal variables are not marked as advanced
https://bugs.webkit.org/show_bug.cgi?id=143595
Reviewed by Martin Robinson.
- Source/cmake/FindFreetype2.cmake: Mark internal options as advanced.
- Source/cmake/FindHarfBuzz.cmake: Mark HARFBUZZ_ICU_LIBRARIES as advanced.
- 12:59 PM Changeset in webkit [183205] by
-
- 2 edits in trunk
[GTK] Mark as advanced the build options we don't want to expose
https://bugs.webkit.org/show_bug.cgi?id=143558
Reviewed by Martin Robinson.
Mark various options as private instead of public.
- Source/cmake/OptionsGTK.cmake:
- 12:56 PM Changeset in webkit [183204] by
-
- 18 edits in trunk
Use less memory when compiling content extensions.
https://bugs.webkit.org/show_bug.cgi?id=144051
Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-23
Reviewed by Darin Adler and Benjamin Poulain.
Source/WebCore:
No change in functionality, correctness already covered by existing tests.
Before this patch, a DFANode contained a HashSet of transitions.
Large vectors of DFANodes made many small HashSets, which was inefficient use of memory.
We now put all the actions and transitions into one big compact Vector and each node owns ranges in that vector.
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::recursiveMemoryUsed):
(WebCore::ContentExtensions::CombinedURLFilters::memoryUsed):
- contentextensions/CombinedURLFilters.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionsDebugging.h:
- contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::memoryUsed):
(WebCore::ContentExtensions::DFANode::actions):
(WebCore::ContentExtensions::DFANode::transitions):
(WebCore::ContentExtensions::DFANode::fallbackTransitionDestination):
(WebCore::ContentExtensions::DFANode::changeFallbackTransition):
(WebCore::ContentExtensions::DFANode::addFallbackTransition):
(WebCore::ContentExtensions::DFANode::containsTransition):
(WebCore::ContentExtensions::DFANode::kill):
(WebCore::ContentExtensions::DFA::minimize):
(WebCore::ContentExtensions::DFA::DFA): Deleted.
(WebCore::ContentExtensions::DFA::operator=): Deleted.
- contentextensions/DFA.h:
- contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
- contentextensions/DFABytecodeCompiler.h:
- contentextensions/DFAMinimizer.cpp:
(WebCore::ContentExtensions::DFAMinimizer::minimize):
- contentextensions/DFAMinimizer.h:
- contentextensions/DFANode.h:
(WebCore::ContentExtensions::DFANode::isKilled):
(WebCore::ContentExtensions::DFANode::hasFallbackTransition):
(WebCore::ContentExtensions::DFANode::hasActions):
(WebCore::ContentExtensions::DFANode::transitionsLength):
(WebCore::ContentExtensions::DFANode::actionsLength):
(WebCore::ContentExtensions::DFANode::actionsStart):
(WebCore::ContentExtensions::DFANode::setActions):
(WebCore::ContentExtensions::DFANode::setTransitions):
(WebCore::ContentExtensions::DFANode::resetTransitions):
(WebCore::ContentExtensions::DFANode::transitionsStart):
(WebCore::ContentExtensions::DFANode::setHasFallbackTransitionWithoutChangingDFA):
- contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
- contentextensions/NFA.h:
- contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/DFAMinimizer.cpp:
(TestWebKitAPI::countLiveNodes):
- 12:45 PM Changeset in webkit [183203] by
-
- 1 copy in tags/Safari-600.6.3
New tag.
- 12:42 PM Changeset in webkit [183202] by
-
- 2 edits in trunk
[CMake] Should be possible for an option to depend on multiple options
https://bugs.webkit.org/show_bug.cgi?id=143839
Reviewed by Martin Robinson.
Use a list instead of a single variable to track the dependencies of each option. Iterate
over the list as many times as necessary to ensure all options are properly disabled.
- Source/cmake/WebKitFeatures.cmake:
- 12:25 PM Changeset in webkit [183201] by
-
- 22 edits in trunk/Source/JavaScriptCore
Rename HardPhantom to MustGenerate.
Rubber stamped by Geoffrey Garen.
We are steadily moving towards Phantom just being a backend hack in the DFG. HardPhantom
is more than that; it's a utility for forcing the execution of otherwise killable nodes.
NodeMustGenerate is the flag we use to indicate that something isn't killable. So this
node should just be called MustGenerate.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::tryToRelaxRepresentation):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
- dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
- dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- 11:58 AM Changeset in webkit [183200] by
-
- 2 edits2 adds1 delete in trunk/LayoutTests
editing/selection/extend-by-character-007.html should pass on OS X 10.10.3.
Updated the results to match what we get in 10.10.3, and marked as passing.
- editing/selection/extend-by-character-007-expected.txt: Removed.
- platform/mac/TestExpectations:
- platform/mac/editing/selection/extend-by-character-007-expected.png: Added.
- platform/mac/editing/selection/extend-by-character-007-expected.txt: Added.
- 11:44 AM Changeset in webkit [183199] by
-
- 9 edits4 adds in trunk
Implement
Object.assign
https://bugs.webkit.org/show_bug.cgi?id=143980
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-23
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign
- builtins/ObjectConstructor.js: Added.
(assign):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ObjectConstructor.cpp:
- runtime/ObjectConstructor.h:
LayoutTests:
- js/Object-assign-expected.txt: Added.
- js/Object-assign.html: Added.
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-assign.js: Added.
- js/script-tests/Object-getOwnPropertyNames.js:
- 11:41 AM Changeset in webkit [183198] by
-
- 2 edits in trunk/Source/WebCore
Don't fire a bunch of mouse moveds during scrolling.
https://bugs.webkit.org/show_bug.cgi?id=99940
Reviewed by Simon Fraser.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
Even for the short interval timer, make sure to cancel and restart it instead of allowing the original to
complete. This has the effect of preventing fake mouse moves from firing until the scroll stops.
- 11:40 AM Changeset in webkit [183197] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the release build.
- html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Add an UNUSED_PARAM.
- 10:59 AM Changeset in webkit [183196] by
-
- 3 edits in trunk/Source/WebCore
Remove m_isPageTiledBackingLayer data member from GraphicsLayerCA, just use the layer type instead
https://bugs.webkit.org/show_bug.cgi?id=144108
Reviewed by Dean Jackson.
No need for the m_isPageTiledBackingLayer data member. We can just check the layer
type instead.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::initialize):
(WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::getDebugBorderInfo):
(WebCore::GraphicsLayerCA::requiresTiledLayer):
- platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::isPageTiledBackingLayer):
- 10:52 AM Changeset in webkit [183195] by
-
- 10 edits2 copies in trunk/Source/WebCore
Content extension with oft-repeated rules can cause slowdown.
rdar://problem/20618511 and https://bugs.webkit.org/show_bug.cgi?id=144010
Reviewed by Alex Christensen.
No new tests (Behavior covered by existing tests).
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::globalDisplayNoneStyleSheet):
Add the String identifier for the extension and the rule action ID to Actions:
- contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::Action::deserialize):
- contentextensions/ContentExtensionRule.h:
(WebCore::ContentExtensions::Action::Action):
(WebCore::ContentExtensions::Action::operator==):
(WebCore::ContentExtensions::Action::setExtensionIdentifier):
(WebCore::ContentExtensions::Action::extensionIdentifier):
(WebCore::ContentExtensions::Action::actionID):
(WebCore::ContentExtensions::Action::type): Deleted.
Object to manage a CSSStyleSheet and selectors identified by ID:
- contentextensions/ContentExtensionStyleSheet.cpp:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::ContentExtensionStyleSheet):
(WebCore::ContentExtensions::ContentExtensionStyleSheet::addDisplayNoneSelector):
- contentextensions/ContentExtensionStyleSheet.h:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::create):
(WebCore::ContentExtensions::ContentExtensionStyleSheet::styleSheet):
Instead of globbing selectors together into a String and making a new stylesheet,
add new unique selectors to an already existing sheet:
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
- dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::addDisplayNoneSelector):
(WebCore::DocumentStyleSheetCollection::addContentExtensionUserSheet): Deleted.
- dom/DocumentStyleSheetCollection.h:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::addPendingContentExtensionDisplayNoneSelector):
(WebCore::DocumentLoader::addPendingContentExtensionSheet): Deleted.
- loader/DocumentLoader.h:
- 10:48 AM Changeset in webkit [183194] by
-
- 4 edits in trunk/Source/WebCore
Memory cache live resources repeatedly purged during painting
https://bugs.webkit.org/show_bug.cgi?id=144104
<rdar://problem/20667695>
Reviewed by Chris Dumez.
On some PLT pages (like nytimes.com) we get into state where painting repeatedly purges live bitmaps.
This slows down page loads significantly.
This might have regressed because improvements in page caching keep more pages and so resources 'live'.
With this path we do all regular cache pruning asynchronously. If memory is really critical
the low memory handling code will still prune synchronously.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::didAccessDecodedData):
prune() -> pruneSoon()
- loader/cache/MemoryCache.cpp:
Decrease the pruning size target from 0.95 to 0.8 so we don't need to prune so often.
(WebCore::MemoryCache::needsPruning):
Factor into a function.
(WebCore::MemoryCache::prune):
(WebCore::MemoryCache::pruneSoon):
Prune asynchronously.
- loader/cache/MemoryCache.h:
- 10:31 AM Changeset in webkit [183193] by
-
- 2 edits in trunk
[CMake] ENABLE_THREADED_COMPOSITOR should not be at the bottom of the options list
https://bugs.webkit.org/show_bug.cgi?id=144103
Reviewed by Martin Robinson.
Just move ENABLE_THREADED_COMPOSITOR so it's alphabetized properly.
- Source/cmake/WebKitFeatures.cmake:
- 10:29 AM Changeset in webkit [183192] by
-
- 2 edits in trunk
[GTK] Fixups for ENABLE_CREDENTIAL_STORAGE
https://bugs.webkit.org/show_bug.cgi?id=144102
Reviewed by Martin Robinson.
Use WEBKIT_OPTION_DEFAULT_PORT_VALUE to set ENABLE_CREDENTIAL_STORAGE instead of doing so
manually. Fail the build if libsecret is not found but ENABLE_CREDENTIAL_STORAGE is set.
Also, do not set ENABLE_CREDENTIAL_STORAGE redundantly.
- Source/cmake/OptionsGTK.cmake:
- 10:16 AM Changeset in webkit [183191] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, temporarily skip http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html on Windows.
It often crashes on Windows.
- platform/win/TestExpectations:
- 9:56 AM Changeset in webkit [183190] by
-
- 2 edits in trunk/Source/WTF
Undo the WTF part of the previous build fix, we don't use private headers in WTF.
- WTF.xcodeproj/project.pbxproj:
- 9:53 AM Changeset in webkit [183189] by
-
- 11 edits in trunk/Source/WebKit2
[UNIX] Do not allow copies of IPC::Attachment
https://bugs.webkit.org/show_bug.cgi?id=144096
Reviewed by Darin Adler.
It ensures that the file descriptor ownership is always correctly
transferred. This way we can remove the dispose() method to
explicitly close the file descriptor and always close it in the
Attachment destructor (unless explicitly transferred to
IPC::Connection or SharedMemory). It simplifies the code and
ensure we don't leak file descriptors.
- Platform/IPC/ArgumentDecoder.cpp:
(IPC::ArgumentDecoder::~ArgumentDecoder): Remove the code to
explicitly dispose attachments.
(IPC::ArgumentDecoder::removeAttachment): Use WTF::move().
- Platform/IPC/ArgumentEncoder.cpp:
(IPC::ArgumentEncoder::~ArgumentEncoder): Remove the code to
explicitly dispose attachments.
(IPC::ArgumentEncoder::addAttachment): Use WTF::move().
(IPC::ArgumentEncoder::releaseAttachments): Simplify by using WTF::move().
- Platform/IPC/ArgumentEncoder.h:
- Platform/IPC/Attachment.cpp:
(IPC::Attachment::encode): Move a copy of the attachment, and
reset the file descriptor, since the ownership is passed to the encoder.
- Platform/IPC/Attachment.h: Make copy constructor and assignment
private to not allow public copies. The only copy allowed is done
by Attachment::encode(). Make m_fileDescriptor mutable so that we
can reset it in Attachment::encode() after passing the ownership
to the encoder.
- Platform/IPC/unix/AttachmentUnix.cpp:
(IPC::Attachment::~Attachment): Close the file descriptor if it
hasn't been released explicitly.
(IPC::Attachment::dispose): Deleted.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage): Do not use AttachmentResourceGuard.
(IPC::Connection::sendOutgoingMessage): Ditto.
(IPC::AttachmentResourceGuard::AttachmentResourceGuard): Deleted.
(IPC::AttachmentResourceGuard::~AttachmentResourceGuard): Deleted.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::~Handle): Do not call clear().
(WebKit::SharedMemory::Handle::clear): Reset the attachment.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): Use WTF::move().
- WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
Call releaseFileDescriptor() instead of fileDescritpro() since the
ownership is passed to the connection.
- 9:08 AM Changeset in webkit [183188] by
-
- 4 edits in trunk/Source
Build fix.
../WebKit2:
- WebProcess/cocoa/WebProcessCocoa.mm: Correct the case of an include file name.
../WTF:
- WTF.xcodeproj/project.pbxproj: Make RAMSize.h a private header, now that it's used
from outside WTF.
- 8:58 AM Changeset in webkit [183187] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, make a suggested change I overlooked in Darin's review of
https://bugs.webkit.org/show_bug.cgi?id=144098
- dom/Document.cpp:
(WebCore::Document::removePlaybackTargetPickerClient): const auto& -> auto
(WebCore::Document::showPlaybackTargetPicker): Ditto.
(WebCore::Document::playbackTargetPickerClientStateDidChange): Ditto.
(WebCore::Document::playbackTargetAvailabilityDidChange): Ditto.
(WebCore::Document::setPlaybackTarget): Ditto.
(WebCore::Document::setShouldPlayToPlaybackTarget): Ditto.
- 8:52 AM Changeset in webkit [183186] by
-
- 5 edits in trunk/Source/WebCore
Use std::unique_ptr instead of OwnPtr in ThreadGlobalData
https://bugs.webkit.org/show_bug.cgi?id=141950
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-04-23
Reviewed by Darin Adler.
No new tests, no behavior changes.
- dom/EventNames.h:
(WebCore::EventNames::create):
- loader/cache/CachedResourceRequestInitiators.h:
- platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):
- platform/ThreadGlobalData.h:
- 8:49 AM Changeset in webkit [183185] by
-
- 3 edits in trunk/Source/WebCore
Some media tests assert after r183096
https://bugs.webkit.org/show_bug.cgi?id=144098
Reviewed by Darin Adler.
- dom/Document.cpp:
(WebCore::Document::removePlaybackTargetPickerClient): Don't assert if the client has already
been removed from the map. This happens when a media element is removed from the document
before its destructor runs and is not an error.
(WebCore::Document::showPlaybackTargetPicker): It is an error to call this after the client
has been removed from the map so leave the assert in a debug build, but return early
so a release build doesn't crash.
(WebCore::Document::playbackTargetPickerClientStateDidChange): Ditto.
(WebCore::Document::playbackTargetAvailabilityDidChange): Use "auto" for the map iterator variable.
(WebCore::Document::setPlaybackTarget): Ditto.
(WebCore::Document::setShouldPlayToPlaybackTarget): Ditto.
- dom/Document.h: Fix map typedef names.
- 2:43 AM Changeset in webkit [183184] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix debug build after r183176.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::decode):
(WebKit::SharedMemory::createHandle):
- 2:06 AM Changeset in webkit [183183] by
-
- 2 edits in trunk/Source/WebCore
DOM nodes should be allocated with fastMalloc().
Unreviewed. This got lost in the TreeShared merge. :|
- dom/Node.h:
- 1:24 AM Changeset in webkit [183182] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 1:22 AM Changeset in webkit [183181] by
-
- 15 edits in trunk/Source
There should only be one way to get the system memory size.
<https://webkit.org/b/144081>
Reviewed by Antti Koivisto.
Source/WebKit/mac:
- Misc/WebKitSystemBits.h:
- Misc/WebKitSystemBits.m:
(WebMemorySize): Deleted.
- WebView/WebView.mm:
(+[WebView _setCacheModel:]):
(roundUpToPowerOf2): Deleted.
Source/WebKit/win:
- WebView.cpp:
(WebView::setCacheModel):
Source/WebKit2:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::memorySize): Deleted.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::memorySize): Deleted.
Source/WTF:
Merge all the logic from other RAM size fetcher helpers into WTF's.
Darwin ports now use host_info() instead of sysctl(), since that was the more common way
of doing this.
Also bumped the fallback answer from 128 MB to 512 MB to bring it closer to today's hardware.
Finally, the number is rounded up to the next multiple of 128 MB, to avoid misunderstandings
on some systems where the number returned by the kernel is slightly lower than the marketing
number. Removed the "fudging" that was used in some places, since this fixes that cleanly.
- wtf/RAMSize.cpp:
(WTF::computeRAMSize):
- 1:15 AM Changeset in webkit [183180] by
-
- 26 edits4 copies in branches/safari-600.7-branch
Merged r181656 and r182985. rdar://problem/20545362&20645491
- 1:12 AM Changeset in webkit [183179] by
-
- 7 edits in trunk/Source
[WK2] WebDiagnosticLoggingClient is leaking
https://bugs.webkit.org/show_bug.cgi?id=144089
<rdar://problem/19706214>
Reviewed by Darin Adler.
WebDiagnosticLoggingClient is leaking. It is constructed inside WebPage
constructor but there is no code destroying it.
This patch adds a new xxxDestroyed() virtual function to
DiagnosticLoggingClient and that is overriden in
WebDiagnosticLoggingClient to call "delete this". This is the same
pattern as for other WK2 clients (e.g. WebFrameLoaderClient,
WebProgressTrackerClient).
Source/WebCore:
- loader/EmptyClients.h:
- page/DiagnosticLoggingClient.h:
- page/MainFrame.cpp:
(WebCore::MainFrame::~MainFrame):
Source/WebKit2:
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed):
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
- 12:57 AM Changeset in webkit [183178] by
-
- 2 edits in trunk/Source/WebCore
CrashTracer: WebProcess at com.apple.WebCore: WebCore::toScriptElementIfPossible + 4
https://bugs.webkit.org/show_bug.cgi?id=144050
rdar://problem/15534973
Reviewed by Chris Dumez.
We are seeing null Element pointer crashes with this stack:
47 com.apple.WebCore: WebCore::toScriptElementIfPossible + 4 <==
47 com.apple.WebCore: WebCore::ScriptRunner::timerFired + 452
47 com.apple.WebCore: WebCore::ThreadTimers::sharedTimerFiredInternal + 175
The most likely cause seems to be that this code
ASSERT(m_pendingAsyncScripts.contains(scriptElement));
m_scriptsToExecuteSoon.append(m_pendingAsyncScripts.take(scriptElement));
in ScriptRunner::notifyScriptReady fails to find scriptElement and we are left with a null entry in
m_scriptsToExecuteSoon. However I haven't managed to repro this or find the exact path how this
could happen. The related code is fragile with lot of state (in ScriptElement class)
and involves many opportunities for re-entry via scripts.
No repro, no test case.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::timerFired):
Paper this over by adding a null check. We could check m_pendingAsyncScripts.take() above
but this also covers possibility this is caused by something else.
- 12:47 AM Changeset in webkit [183177] by
-
- 17 edits in branches/safari-600.7-branch
Roll out r181656. rdar://problem/20545362
- 12:28 AM Changeset in webkit [183176] by
-
- 7 edits in trunk/Source/WebKit2
[UNIX] Simplify the file descriptor handling in SharedMemory
https://bugs.webkit.org/show_bug.cgi?id=144046
Reviewed by Darin Adler.
Simplify the file descriptor handling and clarify its ownership by
using IPC::Attachment in SharedMemory::Handle instead of fd and
size members. SharedMemory::Handle::adoptFromAttachment() has been
renamed as SharedMemory::Handle::adoptAttachment() and receives an
IPC::Attachment. And SharedMemory::Handle::releaseToAttachment()
has been renamed as SharedMemory::Handle::releaseAttachment().
- Platform/IPC/Attachment.h: Add move constructor and move assigned operator.
- Platform/IPC/Connection.h:
(IPC::Connection::identifierIsNull): A file descriptor is null
when it's -1 no 0.
- Platform/IPC/unix/AttachmentUnix.cpp:
(IPC::Attachment::Attachment):
(IPC::Attachment::operator=):
(IPC::Attachment::dispose): Reset the file descriptor after
closing it.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage): Use
SharedMemory::Handle::adoptAttachment() that receives an
IPC::Attachment now.
(IPC::Connection::sendOutgoingMessage): Use
SharedMemory::Handle::releaseAttachment().
- Platform/SharedMemory.h:
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::Handle): Remove initializers for
file descriptor and size members.
(WebKit::SharedMemory::Handle::clear): Dispose the attachment.
(WebKit::SharedMemory::Handle::isNull): Handle is null if the
attachment file descriptor is -1.
(WebKit::SharedMemory::Handle::encode): Use releaseAttachment().
(WebKit::SharedMemory::Handle::decode): Use adoptAttachment().
(WebKit::SharedMemory::Handle::releaseAttachment): Implement it
using move.
(WebKit::SharedMemory::Handle::adoptAttachment): Ditto.
(WebKit::SharedMemory::map): Use
IPC::Attachment::releaseFileDescriptor() instead of manually
changing the member.
(WebKit::SharedMemory::createHandle): Initialize the handle
attachment with the duplicated file descriptor and size.
- 12:24 AM Changeset in webkit [183175] by
-
- 4 edits in trunk/Source/WebCore
Use a typedef for TileGrid tile validation policy flags
https://bugs.webkit.org/show_bug.cgi?id=144085
Reviewed by Tim Horton.
Replace 'unsigned' with a typedef for the bitmask of TileValidationPolicyFlags.
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::tileRevalidationTimerFired):
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):
- platform/graphics/ca/TileGrid.h:
- 12:21 AM Changeset in webkit [183174] by
-
- 2 edits in trunk/Source/WebCore
Slap Node's reference counting functions with ALWAYS_INLINE stick.
Speculative fix for weird ~3% regression on Speedometer seen after TreeShared
was merged into Node. Since the memory layout didn't change, failure to inline
seems like a possible source of regression.
- dom/Node.h:
(WebCore::Node::ref):
(WebCore::Node::deref):
(WebCore::Node::hasOneRef):
(WebCore::Node::refCount):
Apr 22, 2015:
- 11:03 PM Changeset in webkit [183173] by
-
- 7 edits in trunk/Source/WebCore
[iOS] Move computeCoverageRect code from FrameView into TileController
https://bugs.webkit.org/show_bug.cgi?id=144087
Reviewed by Benjamin Poulain.
There is code in four different places that adjusts tiling coverage rect:
- LegacyTileCache. This will remain unchanged.
- FrameView::computeTileCoverageRect(). This was added to do velocity-based
page tiled coverage expansion for iOS WK2.
- TileController::computeTileCoverageRect(): this is used for the page tiles
on Mac.
- GraphicsLayerCA::adjustTiledLayerVisibleRect(). This is used by non-page
tiled layers on both iOS and Mac.
This patch reduced this list to 3, coalescing FrameView::computeTileCoverageRect()
and TileController::computeTileCoverageRect(). It removes the rect inflation that
affects the visibleRect passed into rootLayer->flushCompositingState() for iOS,
but the page tiles now do an identical coverage inflation. The visible rect
change does affect visible rect computations for non-page tiled backings, but
a future patch will restore that.
- page/FrameView.cpp:
(WebCore::FrameView::setScrollVelocity):
(WebCore::FrameView::computeCoverageRect): Deleted.
- page/FrameView.h:
- platform/graphics/TiledBacking.h:
(WebCore::VelocityData::VelocityData):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVelocity):
(WebCore::TileController::computeTileCoverageRect):
- platform/graphics/ca/TileController.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
- 11:02 PM Changeset in webkit [183172] by
-
- 26 edits in trunk/Source
Remove OwnPtr and PassOwnPtr use from WebKit/cf, WebKit/mac, and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=143943
Reviewed by Anders Carlsson.
Source/WebCore:
- editing/Editor.cpp:
(WebCore::Editor::insertDictationPhrases): Changed this iOS-only
function to take a Vector<Vector<String>>&& and not involve PassOwnPtr.
(WebCore::Editor::setDictationPhrasesAsChildOfElement): Changed this iOS-only
function to take a Vector<Vector<String>> and not involve PassOwnPtr. Also made
it take a reference rather than a pointer to the element and simplify the code
a bit using modern for loops and auto.
- editing/Editor.h: Ditto.
- editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS): Take
a Vector<Vector<String>>&& instead of a PassOwnPtr.
(WebCore::DictationCommandIOS::~DictationCommandIOS): Deleted. No need to
explicitly define this.
(WebCore::DictationCommandIOS::doApply): Updated to use modern for loop and
work with a Vector<Vector<String>> instead of an OwnPtr.
- editing/ios/DictationCommandIOS.h: Updated to not use PassOwnPtr and OwnPtr.
Also modernized a bit by using override.
- platform/network/ios/QuickLook.h: Return an NSURLRequest * instead of a
PassOwnPtr<ResourceRequest> from this iOS-specific function.
- platform/network/ios/QuickLook.mm:
(WebCore::registerQLPreviewConverterIfNeeded): Ditto.
Source/WebKit/cf:
- WebCoreSupport/WebInspectorClientCF.cpp: Removed unneeded include.
Source/WebKit/mac:
- Plugins/Hosted/ProxyInstance.h: Removed unneeded include.
- Plugins/WebBaseNetscapePluginView.h: Ditto.
- Plugins/WebNetscapePluginEventHandler.h: Use unique_ptr instead of
PassOwnPtr for the create function. Also tweaked formatting and removed
unneeded forward declaration of CGRect.
- Plugins/WebNetscapePluginEventHandler.mm:
(WebNetscapePluginEventHandler::create): Changed to use unique_ptr and
make_unique.
- Plugins/WebNetscapePluginView.h: Use unique_ptr instead of OwnPtr for
the _eventHandler field.
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView destroyPlugin]): Changed code to work with unique_ptr.
- WebCoreSupport/WebUserMediaClient.mm: Removed unneeded include.
- WebView/WebDeviceOrientationProviderMock.mm: Changed to use make_unique.
- WebView/WebDeviceOrientationProviderMockInternal.h: Changed to use unique_ptr.
- WebView/WebFrame.mm:
(vectorForDictationPhrasesArray): Changed to return Vector<Vector<String>> and
not a PassOwnPtr. Also rewrote to be much simpler, although there is still a
pre-existing problem here where this could put empty vectors into the result,
and I'm pretty sure the client never expects any of the Vector<String> to be empty.
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
Rewrote logic to involve WebCore types a bit less; old code was round tripping
things through WebCore::URL for no obvious reason.
- WebView/WebFrameInternal.h: Changed vectorForDictationPhrasesArray to return
a Vector<Vector<String>> and not a PassOwnPtr.
- WebView/WebFullScreenController.h: Removed unneeded include.
- WebView/WebViewData.h: Changed m_alternativeTextUIController to be a
m_alternativeTextUIController.
- WebView/WebViewData.mm:
(-[WebViewPrivate init]): Use make_unique to initialize m_alternativeTextUIController.
Source/WebKit2:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
Removed unneeded include.
- 10:56 PM Changeset in webkit [183171] by
-
- 11 edits in branches/safari-600.6-branch/LayoutTests
Unreviewed Mac gardening for safari-600.6-branch.
- platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.png:
- platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
- platform/mac/media/audio-controls-rendering-expected.png:
- platform/mac/media/audio-controls-rendering-expected.txt:
- platform/mac/media/controls-strict-expected.png:
- platform/mac/media/controls-strict-expected.txt:
- platform/mac/media/video-no-audio-expected.png:
- platform/mac/media/video-no-audio-expected.txt:
- platform/mac/platform/mac/fast/text/vertical-no-sideways-expected.png:
- platform/mac/platform/mac/fast/text/vertical-no-sideways-expected.txt:
- 10:26 PM Changeset in webkit [183170] by
-
- 4 edits in trunk/Source/WebCore
Convert OwnPtr to std::unique_ptr in GraphicsContextCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=144033
Reviewed by Darin Adler.
Use unique_ptr for creating a copy of cairo_path_t and use lambda function
for custom deleter, cairo_path_destroy().
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow): Use std::unique_ptr instead of OwnPtr.
(WebCore::GraphicsContext::clip): Call cairo_path_destroy() immediately.
- platform/graphics/cairo/OwnPtrCairo.cpp:
(WTF::deleteOwnedPtr<cairo_path_t>): Deleted. Remove unnecessary deleter anymore.
- platform/graphics/cairo/OwnPtrCairo.h: Ditto.
- 10:20 PM Changeset in webkit [183169] by
-
- 29 edits in trunk/Source
Eliminate remaining uses of OwnPtr and PassOwnPtr in WebCore outside the editing and platform directories
https://bugs.webkit.org/show_bug.cgi?id=143949
Reviewed by Andreas Kling.
Source/WebCore:
- dom/ContainerNode.h: Removed unneeded includes and forward declarations.
- dom/Document.h: Ditto.
- dom/DocumentParser.h: Fixed comment to not mention PassOwnPtr.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::create): Return a Ref instead of a PassRefPtr.
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation): Pass a reference
rather than a pointer to TextTrackRepresentation::create.
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage): Return a
RefPtr instead of a PassRefPtr.
- html/shadow/MediaControlElements.h: Use unique_ptr for m_textTrackRepresentation.
Also fix a couple uses of PassRefPtr.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader): Use make_unique.
(WebCore::DocumentLoader::addAllArchiveResources): Ditto.
(WebCore::DocumentLoader::addArchiveResource): Ditto.
(WebCore::DocumentLoader::clearArchiveResources): Set to nullptr instead of calling clear.
(WebCore::DocumentLoader::startLoadingMainResource): Use make_unique.
- loader/DocumentLoader.h: Made m_archiveResourceCollection and
m_applicationCacheHost use unique_ptr.
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): Use delete here instead
of using OwnPtr to do the deletion. Matches the other code nearby.
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Handle case where the host is
null; this happens during the DocumentLoader destruction process since unique_ptr sets itself
to null before it destroys the object it points to and OwnPtr does not.
- loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation): Use delete instead of adoptPtr
to delete a raw pointer.
(WebCore::DiskCacheMonitor::DiskCacheMonitor): Use unique_ptr instead of OwnPtr.
- page/DragController.h: Removed some unneeded forward declarations and changed the
create function to return unique_ptr.
- platform/LayoutUnit.h: Removed wtf_ceil workaround hack here. Not sure why we ever did it
this way!
- platform/graphics/FontCascade.cpp:
(WTF::deleteOwnedPtr<WebCore::TextLayout>): Deleted.
(WebCore::FontCascade::createLayout): Changed to return a unique_ptr.
(WebCore::FontCascade::deleteLayout): Deleted.
- platform/graphics/FontCascade.h: Made the above changes.
- platform/graphics/ImageBuffer.h: Changed copyImage to return a RefPtr instead of a PassRefPtr.
- platform/graphics/TextTrackRepresentation.cpp:
(WebCore::TextTrackRepresentation::create): Use make_unique and return a unique_ptr.
- platform/graphics/TextTrackRepresentation.h: Removed unneeded includes and forward declarations
and made create return a unique_ptr.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::copyImage): Changed to return a RefPtr.
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::copyImage): Changed to return a RefPtr.
- platform/graphics/ios/TextTrackRepresentationIOS.h: Use reference instead of pointer,
made more things private.
- platform/graphics/ios/TextTrackRepresentationIOS.mm:
(TextTrackRepresentation::create): Use make_unique.
(TextTrackRepresentationIOS::TextTrackRepresentationIOS): Take a reference.
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::FontCascade::createLayout): Return a unique_ptr with a custom destruction function.
The custom destruction function eliminates the need to put TextLayout in a visible header.
(WebCore::FontCascade::deleteLayout): Deleted. Use a lambda instead.
(WebCore::roundCGFloat): Deleted. Old fashioned way to deal with multiple floating point sizes.
Just use std::round instead.
(WebCore::ceilCGFloat): Deleted. Same as above. Just use std::ceil instead.
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Use std::round and std::ceil.
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderTextInfo::RenderTextInfo): Deleted. Can compile constructor and destructor
now thanks to use of unique_ptr with a custom deleter.
(WebCore::RenderTextInfo::~RenderTextInfo): Deleted. Ditto.
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange): Updated for RenderTextInfo data member
name change.
- rendering/RenderView.h: Removed unneeded include.
- rendering/line/BreakingContext.h: Removed unneeded include.
(WebCore::BreakingContext::handleOutOfFlowPositioned): Updated for RenderTextInfo data member
name change.
(WebCore::BreakingContext::handleFloat): Ditto.
(WebCore::BreakingContext::handleReplaced): Ditto.
(WebCore::BreakingContext::handleText): Ditto.
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord): Ditto.
- rendering/line/LineBreaker.h: Made the RenderTextInfo struct more like a struct by taking
off all the m_ prefixes from the data member names. Initialized all the values in the struct
to defaults so we don't need an explicit constructor. We also don't need an explicit destructor
any more due to use of a unique_ptr with a deleter.
Source/WTF:
- wtf/MathExtras.h:
(wtf_ceil): Deleted. This was a workaround for a bug that was introduced in Leopard and
fixed in Snow Leopard <rdar://problem/6286405>, so we don't need the workaround any more.
- 9:38 PM Changeset in webkit [183168] by
-
- 3 edits in trunk/Source/WebCore
Volume slider appears/doesn't appear at the wrong times.
https://bugs.webkit.org/show_bug.cgi?id=144072.
<rdar://problem/20576145>
Reviewed by Dean Jackson.
Set background divs to match volume box dimensions.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-volume-slider-container-background):
(audio::-webkit-media-controls-volume-slider-container-tint):
Draw the volume slider immediately on mousing over the mute box.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handleMuteBoxOver):
- 9:31 PM Changeset in webkit [183167] by
-
- 3 edits in trunk/Source/WebCore
[Mac][MediaSource] Crash when SourceBuffer::provideMediaData() is called re-entrantly.
https://bugs.webkit.org/show_bug.cgi?id=144023
Reviewed by Darin Adler.
Partially revert r183097 (as it was not sufficient to protect against re-entrancy). Instead,
protect against re-entrancy in provideMediaData() directly by removing the first sample
from the TrackBuffer's decodeQueue at a time. If provideMediaData() is called re-entrantly,
or if any other method which modifies the decodeQueue is called from inside
provideMediaData, no iterators will be invalidated.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::provideMediaData):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples):
- 7:55 PM Changeset in webkit [183166] by
-
- 4 edits in tags/Safari-601.1.28.1/Source/WebCore
Merged r183153. rdar://problem/20578301
- 7:53 PM Changeset in webkit [183165] by
-
- 5 edits in tags/Safari-601.1.28.1/Source
Versioning.
- 7:51 PM Changeset in webkit [183164] by
-
- 1 copy in tags/Safari-601.1.28.1
New tag.
- 7:40 PM Changeset in webkit [183163] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix debug build.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::performSubstitutionForEdge):
- 7:36 PM Changeset in webkit [183162] by
-
- 8 edits in trunk/Source/JavaScriptCore
Nodes should have an optional epoch field
https://bugs.webkit.org/show_bug.cgi?id=144084
Reviewed by Ryosuke Niwa and Mark Lam.
This makes it easier to do epoch-based analyses on nodes. I plan to do just that in
https://bugs.webkit.org/show_bug.cgi?id=143735. Currently the epoch field is not yet
used.
- dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
- dfg/DFGCSEPhase.cpp:
- dfg/DFGEpoch.h:
(JSC::DFG::Epoch::fromUnsigned):
(JSC::DFG::Epoch::toUnsigned):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::clearReplacements):
(JSC::DFG::Graph::clearEpochs):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::performSubstitutionForEdge):
- dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::replaceWith):
(JSC::DFG::Node::replacement):
(JSC::DFG::Node::setReplacement):
(JSC::DFG::Node::epoch):
(JSC::DFG::Node::setEpoch):
- dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
- 7:29 PM Changeset in webkit [183161] by
-
- 9 edits2 adds in trunk/Source/JavaScriptCore
Fix assertion failure and race condition in Options::dumpSourceAtDFGTime().
https://bugs.webkit.org/show_bug.cgi?id=143898
Reviewed by Filip Pizlo.
CodeBlock::dumpSource() will access SourceCode strings in a way that requires
ref'ing of the underlying StringImpls. This is unsafe to do from arbitrary
compilation threads because StringImpls are not thread safe. As a result, we get
an assertion failure when we run with JSC_dumpSourceAtDFGTime=true on a debug
build.
This patch fixes the issue by only collecting the CodeBlock (and associated info)
into a DeferredSourceDump record while compiling, and stashing it away in a
deferredSourceDump list in the DeferredCompilationCallback object to be dumped
later.
When compilation is done, the callback object will be notified that
compilationDidComplete(). We will dump the SourceCode strings from there.
Since compilationDidComplete() is guaranteed to only be called on the thread
doing JS execution, it is safe to access the SourceCode strings there and ref
their underlying StringImpls as needed.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/DeferredCompilationCallback.cpp:
(JSC::DeferredCompilationCallback::compilationDidComplete):
(JSC::DeferredCompilationCallback::sourceDumpInfo):
(JSC::DeferredCompilationCallback::dumpCompiledSources):
- bytecode/DeferredCompilationCallback.h:
- bytecode/DeferredSourceDump.cpp: Added.
(JSC::DeferredSourceDump::DeferredSourceDump):
(JSC::DeferredSourceDump::dump):
- bytecode/DeferredSourceDump.h: Added.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- 7:16 PM Changeset in webkit [183160] by
-
- 151 edits4 adds in trunk
Create RenderRubyText for <rt> only when the parent renderer is a RenderRuby.
https://bugs.webkit.org/show_bug.cgi?id=144035
rdar://problem/20604467
Reviewed by Darin Adler.
This patch extends HTMLElement::createElementRenderer()
with the render tree insertion point so that we can create different type
of renderers based on the render tree context.
Source/WebCore:
Test: fast/ruby/ruby-rt-with-region-crash.html
- CMakeLists.txt:
- Modules/plugins/PluginReplacement.h:
- Modules/plugins/QuickTimePluginReplacement.h:
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::createElementRenderer):
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::createElementRenderer):
- Modules/plugins/YouTubePluginReplacement.h:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- dom/Element.cpp:
(WebCore::Element::createElementRenderer):
- dom/Element.h:
- html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createElementRenderer):
- html/HTMLAppletElement.h:
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::createElementRenderer):
- html/HTMLAttachmentElement.h:
- html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::createElementRenderer):
- html/HTMLBRElement.h:
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::createElementRenderer):
- html/HTMLButtonElement.h:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createElementRenderer):
- html/HTMLCanvasElement.h:
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createElementRenderer):
- html/HTMLDetailsElement.h:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::createElementRenderer):
- html/HTMLElement.h:
- html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::createElementRenderer):
- html/HTMLFieldSetElement.h:
- html/HTMLFrameElement.cpp:
(WebCore::HTMLFrameElement::createElementRenderer):
- html/HTMLFrameElement.h:
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::createElementRenderer):
- html/HTMLFrameSetElement.h:
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::createElementRenderer):
- html/HTMLIFrameElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createElementRenderer):
- html/HTMLImageElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createElementRenderer):
- html/HTMLInputElement.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- html/HTMLMediaElement.h:
- html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::createElementRenderer):
- html/HTMLMeterElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createElementRenderer):
- html/HTMLPlugInElement.h:
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::createElementRenderer):
- html/HTMLPlugInImageElement.h:
- html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::createElementRenderer):
- html/HTMLProgressElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::createElementRenderer):
- html/HTMLSelectElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createElementRenderer):
- html/HTMLSummaryElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::createElementRenderer):
- html/HTMLTextAreaElement.h:
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::createElementRenderer):
- html/HTMLVideoElement.h:
- html/HTMLWBRElement.cpp:
(WebCore::HTMLWBRElement::createElementRenderer):
- html/HTMLWBRElement.h:
- html/RubyElement.cpp:
(WebCore::RubyElement::createElementRenderer):
- html/RubyElement.h:
- html/RubyTextElement.cpp:
(WebCore::RubyTextElement::createElementRenderer):
- html/RubyTextElement.h:
- html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::createElementRenderer):
- html/shadow/DetailsMarkerControl.h:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTimelineContainerElement::createElementRenderer):
(WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer):
(WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
- html/shadow/MediaControlElements.h:
- html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::createElementRenderer):
- html/shadow/MeterShadowElement.h:
- html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressInnerElement::createElementRenderer):
- html/shadow/ProgressShadowElement.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::createElementRenderer):
(WebCore::SliderContainerElement::createElementRenderer):
- html/shadow/SliderThumbElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerContainer::createElementRenderer):
(WebCore::TextControlInnerTextElement::createElementRenderer):
- html/shadow/TextControlInnerElements.h:
- html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::createElementRenderer):
- html/shadow/mac/ImageControlsButtonElementMac.h:
- html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::ImageControlsRootElementMac::createElementRenderer):
- html/shadow/mac/ImageControlsRootElementMac.h:
- html/track/VTTCue.cpp:
(WebCore::VTTCueBox::createElementRenderer):
- html/track/VTTCue.h:
- mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createElementRenderer):
- mathml/MathMLInlineContainerElement.h:
- mathml/MathMLMathElement.cpp:
(WebCore::MathMLMathElement::createElementRenderer):
- mathml/MathMLMathElement.h:
- mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::createElementRenderer):
- mathml/MathMLMencloseElement.h:
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::createElementRenderer):
- mathml/MathMLSelectElement.h:
- mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::createElementRenderer):
- mathml/MathMLTextElement.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clone):
- rendering/RenderElement.cpp:
- rendering/RenderRuby.h:
(WebCore::isRuby):
- style/RenderTreePosition.cpp: Added.
(WebCore::RenderTreePosition::computeNextSibling):
(WebCore::RenderTreePosition::invalidateNextSibling):
(WebCore::RenderTreePosition::previousSiblingRenderer):
(WebCore::RenderTreePosition::nextSiblingRenderer):
(WebCore::RenderTreePosition::isRendererReparented):
- style/RenderTreePosition.h: Added.
(WebCore::RenderTreePosition::RenderTreePosition):
(WebCore::RenderTreePosition::parent):
(WebCore::RenderTreePosition::canInsert):
(WebCore::RenderTreePosition::insert):
- style/StyleResolveTree.cpp:
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::RenderTreePosition::parent): Deleted.
(WebCore::Style::isRendererReparented): Deleted.
(WebCore::Style::nextSiblingRenderer): Deleted.
(WebCore::Style::RenderTreePosition::RenderTreePosition): Deleted.
(WebCore::Style::RenderTreePosition::canInsert): Deleted.
(WebCore::Style::RenderTreePosition::insert): Deleted.
(WebCore::Style::RenderTreePosition::computeNextSibling): Deleted.
(WebCore::Style::RenderTreePosition::invalidateNextSibling): Deleted.
(WebCore::Style::previousSiblingRenderer): Deleted.
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::createElementRenderer):
- svg/SVGAElement.h:
- svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::createElementRenderer):
- svg/SVGAltGlyphElement.h:
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::createElementRenderer):
- svg/SVGCircleElement.h:
- svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::createElementRenderer):
- svg/SVGClipPathElement.h:
- svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::createElementRenderer):
- svg/SVGDefsElement.h:
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::createElementRenderer):
- svg/SVGEllipseElement.h:
- svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::createElementRenderer):
- svg/SVGFilterElement.h:
- svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer):
- svg/SVGFilterPrimitiveStandardAttributes.h:
- svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::createElementRenderer):
- svg/SVGForeignObjectElement.h:
- svg/SVGGElement.cpp:
(WebCore::SVGGElement::createElementRenderer):
- svg/SVGGElement.h:
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::createElementRenderer):
- svg/SVGGraphicsElement.h:
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::createElementRenderer):
- svg/SVGImageElement.h:
- svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::createElementRenderer):
- svg/SVGLinearGradientElement.h:
- svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::createElementRenderer):
- svg/SVGMarkerElement.h:
- svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::createElementRenderer):
- svg/SVGMaskElement.h:
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::createElementRenderer):
- svg/SVGPathElement.h:
- svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::createElementRenderer):
- svg/SVGPatternElement.h:
- svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::createElementRenderer):
- svg/SVGRadialGradientElement.h:
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::createElementRenderer):
- svg/SVGRectElement.h:
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::createElementRenderer):
- svg/SVGSVGElement.h:
- svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::createElementRenderer):
- svg/SVGStopElement.h:
- svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::createElementRenderer):
- svg/SVGSwitchElement.h:
- svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::createElementRenderer):
- svg/SVGSymbolElement.h:
- svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::createElementRenderer):
- svg/SVGTRefElement.h:
- svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::createElementRenderer):
- svg/SVGTSpanElement.h:
- svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::createElementRenderer):
- svg/SVGTextElement.h:
- svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::createElementRenderer):
- svg/SVGTextPathElement.h:
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::createElementRenderer):
- svg/SVGUseElement.h:
LayoutTests:
- fast/ruby/ruby-rt-with-region-crash-expected.txt: Added.
- fast/ruby/ruby-rt-with-region-crash.html: Added.
- 7:15 PM Changeset in webkit [183159] by
-
- 8 edits in trunk
[CMake] Clean up JSC JIT options
https://bugs.webkit.org/show_bug.cgi?id=143998
Reviewed by Filip Pizlo.
.:
- Source/cmake/OptionsEfl.cmake: Remove handling of ENABLE_LLINT_C_LOOP and preprocessor define for ENABLE_FTL_NATIVE_CALL_INLINING.
- Source/cmake/OptionsMac.cmake: Remove override of ENABLE_LLINT_C_LOOP
- Source/cmake/WebKitFeatures.cmake: Remove ENABLE_LLINT_C_LOOP. Add ENABLE_DFG_JIT and ENABLE_FTL_NATIVE_CALL_INLINING. Specify proper dependencies for these features.
- Source/cmakeconfig.h.cmake: Remove ENABLE_LLINT_C_LOOP and add ENABLE_DFG_JIT.
Tools:
- Scripts/build-jsc: Do not use -ENABLE_LLINT_C_LOOP on CMake ports.
- Scripts/webkitperl/FeatureList.pm: Remove ENABLE_LLINT_C_LOOP.
- 7:14 PM Changeset in webkit [183158] by
-
- 21 edits in trunk/Source
VisibleSelection should only accept Range by reference
https://bugs.webkit.org/show_bug.cgi?id=144047
Reviewed by Tim Horton.
Source/WebCore:
Update VisibleSelection to expect a Range reference argument, rather than a
Range*. Also update all uses of VisibleSelection to pass a reference instead
of a pointer.
No change in behavior, so new tests.
- editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::transpose):
(WebCore::Editor::findString):
(WebCore::Editor::rangeOfString):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectedRange):
- editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::VisibleSelection):
- editing/VisibleSelection.h:
- editing/mac/EditorMac.mm:
(WebCore::Editor::replaceNodeFromPasteboard):
- page/DragController.cpp:
(WebCore::selectElement):
- page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithRange):
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
- rendering/SelectionSubtreeRoot.cpp:
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
Source/WebKit/mac:
Update all uses of VisibleSelection to pass a Range reference instead
of a Range pointer.
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
- WebView/WebFrame.mm:
(-[WebFrame _selectNSRange:]):
Source/WebKit2:
Update all uses of VisibleSelection to pass a Range reference instead
of a Range pointer.
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::renderedImage):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::getImageForFindMatch):
(WebKit::FindController::selectFindMatch):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::insertTextAsync):
(WebKit::WebPage::setCompositionAsync):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::insertDictatedTextAsync):
- 7:12 PM Changeset in webkit [183157] by
-
- 2 edits in trunk/Source/WebCore
Audio controls should render with a black background.
https://bugs.webkit.org/show_bug.cgi?id=144074.
<rdar://problem/20596939>
Reviewed by Darin Adler.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel-background-container):
(audio::-webkit-media-controls-panel .volume-box):
- 7:11 PM Changeset in webkit [183156] by
-
- 2 edits in trunk/Source/WebCore
Inline media control icons scale down when video is too small.
https://bugs.webkit.org/show_bug.cgi?id=144073.
<rdar://problem/20659451>
Reviewed by Darin Adler.
Just make sure the buttons use min-width.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
- 4:28 PM Changeset in webkit [183155] by
-
- 3 edits in trunk/Source/WebCore
Add new optimized fullscreen delegate methods
https://bugs.webkit.org/show_bug.cgi?id=144071
Reviewed by Eric Carlson.
AVPlayerViewController requires three new delegate methods to be implemented by WebKit which
notify the delegates exactly when the owning view will enter and leave fullscreen mode. One
of the delegate methods (-enterOptimizedFullScreenModeRedirectingVideoToLayer:) gives the
delegate an opportunity to move the video sublayer into a new CALayer. The matching delegate
(-leaveOptimizedFullScreenMode), allows us to return our sublayer back to its original parent.
The third delegate (-isOptimizedFullscreenPossible) is required so the AVPlayerViewController
knows whether to allow a standard -> optimized fullscreen transition.
Drive-by fix: initialize ivars at declaration time.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController isOptimizedFullscreenPossible]):
(-[WebAVVideoLayer enterOptimizedFullScreenModeRedirectingVideoToLayer:]):
(-[WebAVVideoLayer leaveOptimizedFullScreenMode]):
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal):
(+[WebAVPlayerController keyPathsForValuesAffectingPlayingOnExternalScreen]): Deleted.
- 4:23 PM Changeset in webkit [183154] by
-
- 5 edits in trunk/LayoutTests
Context menu doesn't account for selection semantics
- 4:22 PM Changeset in webkit [183153] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Caret does not line up with text when using the system font
https://bugs.webkit.org/show_bug.cgi?id=144076
<rdar://problem/20578301>
Reviewed by Enrica Casucci.
Determining caret locations often uses the complex text codepath, which means
the complex text codepath must know about custom tracking.
This regression is due to r182512.
Note that this patch is a short-term solution until I can solve the bigger issue of
having two CTFontRefs and using each in their proper place.
No new tests because there is no way to robustly test the system font.
- platform/graphics/Font.h:
(WebCore::Font::hasCustomTracking):
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::canUseFastGlyphAdvanceGetter):
(WebCore::Font::platformWidthForGlyph):
(WebCore::hasCustomTracking): Deleted.
- platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::Font::getCFStringAttributes):
- 4:19 PM Changeset in webkit [183152] by
-
- 7 edits in trunk/Source/WebKit2
Add WK_ARRAY and WK_SET annotations
https://bugs.webkit.org/show_bug.cgi?id=144075
rdar://problem/19417770
Reviewed by Dan Bernstein.
- Shared/API/Cocoa/WKFoundation.h:
- UIProcess/API/Cocoa/WKBackForwardList.h:
- UIProcess/API/Cocoa/WKUserContentController.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- mac/postprocess-framework-headers.sh:
- 4:02 PM Changeset in webkit [183151] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test fix after r183138.
- editing/selection/context-menu-text-selection-lookup-expected.txt: The wrong
expectations were committed.
- 3:59 PM Changeset in webkit [183150] by
-
- 6 edits4 copies1 add in trunk/LayoutTests
Update results for two CSS tests affected by new fonts in OS X 10.10.3.
- platform/mac-mavericks/css2.1: Added.
- platform/mac-mavericks/css2.1/t1202-counter-04-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1202-counter-04-b-expected.png.
- platform/mac-mavericks/css2.1/t1202-counter-04-b-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t1202-counter-04-b-expected.txt.
- platform/mac-mavericks/css2.1/t1202-counters-04-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1202-counters-04-b-expected.png.
- platform/mac-mavericks/css2.1/t1202-counters-04-b-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t1202-counters-04-b-expected.txt.
- platform/mac/TestExpectations:
- platform/mac/css2.1/t1202-counter-04-b-expected.png:
- platform/mac/css2.1/t1202-counter-04-b-expected.txt:
- platform/mac/css2.1/t1202-counters-04-b-expected.png:
- platform/mac/css2.1/t1202-counters-04-b-expected.txt:
- 3:57 PM Changeset in webkit [183149] by
-
- 3 edits2 adds in branches/safari-600.7-branch
Merge r182835. rdar://problem/20645249
- 3:46 PM Changeset in webkit [183148] by
-
- 2 edits in trunk/LayoutTests
fast/text/emoji.html passes on OS X 10.10.3 and higher.
- platform/mac/TestExpectations: Mark it as such.
- 3:43 PM Changeset in webkit [183147] by
-
- 2 edits in trunk/Source/WebKit/mac
[Mac] Device picker menu is positioned incorrectly in WK1
https://bugs.webkit.org/show_bug.cgi?id=144049
<rdar://problem/20493101>
Reviewed by Dean Jackson.
- WebView/WebView.mm:
(-[WebView _showPlaybackTargetPicker:location:hasVideo:]): Mouse location is already in
window coordinates so don't call convertRect:toView:nil.
- 3:43 PM Changeset in webkit [183146] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebKit2
Merge r181580 for rdar://problem/20545393.
- 3:41 PM Changeset in webkit [183145] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebKit2
Merge r182746. rdar://problem/20645260
- 3:41 PM Changeset in webkit [183144] by
-
- 5 edits in branches/safari-600.7-branch/Source/WebKit2
Merge r182084. rdar://problem/20557359
- 3:34 PM Changeset in webkit [183143] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebCore
Merge r182076. rdar://problem/20545378
- 3:28 PM Changeset in webkit [183142] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebKit2
Merge r181991. rdar://problem/20545332
- 3:25 PM Changeset in webkit [183141] by
-
- 5 edits3 adds in trunk
Implement String.codePointAt()
https://bugs.webkit.org/show_bug.cgi?id=143934
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch adds String.codePointAt() as defined by ES6.
I opted for a C++ implementation for now.
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::codePointAt):
(JSC::stringProtoFuncCodePointAt):
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/string-code-point-at.js: Added.
(objectWithCustomToString.toString):
(objectThrowingOnToString.toString):
(objectCountingToString.toString):
(testLeadSurrogateOutOfBounds):
(testLeadSurrogateAsLastCharacter):
(testTrailSurrogateOutOfbounds):
(testAccessNullInString):
(testNormalCombinationOfSurrogates):
- js/string-code-point-at-expected.txt: Added.
- js/string-code-point-at.html: Added.
- 3:17 PM Changeset in webkit [183140] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix after r183136.
- WebProcess/WebPage/mac/WebPageMac.mm: Correct capitalization of
'HTMLPluginImageElement.h' -> 'HTMLPlugInImageElement.h'
- 3:17 PM Changeset in webkit [183139] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebKit2
Merge r181812. rdar://problem/20557289
- 3:10 PM Changeset in webkit [183138] by
-
- 7 edits2 adds in trunk
Context menu doesn't account for selection semantics
https://bugs.webkit.org/show_bug.cgi?id=143958
<rdar://problem/19735706>
Reviewed by Tim Horton.
Source/WebCore:
Before using the default word-only selection for context menus, check with the
lookup service to see if we can get a semantically appropriate selection.
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSelectBasedOnDictionaryLookup): Added, so that we can
behavior correctly when using non-Mac editing behavior.
- editing/mac/DictionaryLookup.mm:
(WebCore::rangeForDictionaryLookupAtHitTestResult): Modified to honor standard WebKit
behavior when hit testing at end-of-line/end-of-paragraph, etc.
- page/EventHandler.cpp:
(WebCore::EventHandler::shouldAppendTrailingWhitespace): New helper function to share code.
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup): Added.
(WebCore::EventHandler::selectClosestContextualWordFromMouseEvent): Added.
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): Renamed from selectClosestWordOrLinkFromMouseEvent.
Have this call the new 'selectClosestContextualWordFromMouseEvent' instead of the vanilla 'selectClosestWordFromMouseEvent'.
- page/EventHandler.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup): Added.
LayoutTests:
- editing/selection/context-menu-text-selection-lookup-expected.txt: Added.
- editing/selection/context-menu-text-selection-lookup.html: Added.
- 2:41 PM Changeset in webkit [183137] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Rebaseline cross-frame-access-call-expected.txt on safari-600.6-branch.
- http/tests/security/cross-frame-access-call-expected.txt: Get rid of the line numbers.
- 2:23 PM Changeset in webkit [183136] by
-
- 24 edits2 adds in trunk
Source/WebCore:
[Mac] Extend action menus to support PDF
https://bugs.webkit.org/show_bug.cgi?id=143895
<rdar://problem/19003333>
Reviewed by Tim Horton.
Tested by TestWebKitAPI ActionMenus.mm.
Add a new dictionary lookup method to support PDF Selections. This code replicates the
DOM Range-based logic used for HTML documents, but does so using the PDFKit API and
its support types.
- Configurations/Base.xcconfig: Add PDFKit include path for build.
- editing/mac/DictionaryLookup.h:
- editing/mac/DictionaryLookup.mm:
(WebCore::expandSelectionByCharacters): Helper function for PDF support.
(WebCore::dictionaryLookupForPDFSelection): Added.
Source/WebKit/mac:
Extend action menus to support PDF
https://bugs.webkit.org/show_bug.cgi?id=143895
<rdar://problem/19003333>
Reviewed by Tim Horton.
Prevent a crash when someone attempts to invoke an action menu on a PDF hosted
in a WK1 view.
- WebView/WebActionMenuController.mm:
(-[WebActionMenuController performHitTestAtPoint:]): Handle WebPDFView as well as
the WebHTMLView case.
- WebView/WebDocument.h:
- WebView/WebHTMLView.h:
- WebView/WebHTMLView.mm:
(-[WebHTMLView _frame]):
- WebView/WebHTMLViewInternal.h:
- WebView/WebPDFView.h:
- WebView/WebPDFView.mm:
(-[WebPDFView _frame]): Added.
Source/WebKit2:
Extend action menus to support PDF
https://bugs.webkit.org/show_bug.cgi?id=143895
<rdar://problem/19003333>
Reviewed by Tim Horton.
If the mouse pointer is over a PDF, try to provide a relevant action menu for whatever
content is under the mouse. For now, we only support copying text and handling URLs.
If no text is selected, use the dictionary lookup service to find a semantically appropriate
selection underneath the mouse. This is consistent with how normal text is treated in pure HTML
views. If some text is already selected, and the mouse is over the existing selection, continue
using the selected text. Otherwise, discard the old selection and select the most appropriate
region under the mouse pointer.
- Shared/API/c/WKActionMenuTypes.h: Add PDF menu option.
- Shared/WebMouseEvent.cpp: Recognize mouse force events as valid mouse events.
- UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForPDF]): Add simply copy text option.
(-[WKActionMenuController _defaultMenuItems]): Recognize PDFs and add relevant action
menu entries.
- WebProcess/Plugins/Netscape/NetscapePlugin.h: Provide stub for new method.
- WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Expose 'rectsForSelectionInLayerSpace',
'rectsForAnnotationInLayoutSpace', 'layout', and 'currentPage'.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::getSelectionForWordAtPoint): Added.
(WebKit::PDFPlugin::existingSelectionContainsPoint): Added.
(WebKit::PDFPlugin::lookupTextAtLocation): Added.
- WebProcess/Plugins/Plugin.h: Add declaration for new 'getSelectionForWordAtPoint' method.
- WebProcess/Plugins/PluginProxy.h: Provide stub for new method.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::getSelectionForWordAtPoint): Added.
(WebKit::PluginView::existingSelectionContainsPoint): Added.
(WebKit::PluginView::lookupTextAtLocation): Added.
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation): Update to support PDF documents and retrieve
relevant content to support later action menu handling.
Tools:
[Mac] Extend action menus to support PDF
https://bugs.webkit.org/show_bug.cgi?id=143895
<rdar://problem/19003333>
Reviewed by Tim Horton.
Reactivate the action menu tests, and add a new PDF-based test to make sure that selection
of PDF content works.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new 'test.pdf' resource to bundle.
- TestWebKitAPI/Tests/WebKit2/action-menu-targets.html: Update with a new PDF pane.
- TestWebKitAPI/Tests/WebKit2/test.pdf: Added.
- TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(-[ActionMenusTestWKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]):
Update to support PDF tests.
(TestWebKitAPI::windowPointForTarget): Add new target for PDF test.
(TestWebKitAPI::waitForPDFToLoad): New helper function to avoid starting test before the PDF is available.
- 2:22 PM Changeset in webkit [183135] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Rebaseline video-controls-live-stream-expected.txt on safari-600.6-branch.
- platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:
The -webkit-media-controls-panel-composited-parent line is no longer present on trunk, either.
- 2:12 PM Changeset in webkit [183134] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: clicking Timelines tree view nodes should not change the current content view
https://bugs.webkit.org/show_bug.cgi?id=132202
Patch by Matt Baker <Matt Baker> on 2015-04-22
Reviewed by Brian Burg.
TimelineSidebarPanel now prevents timeline views from switching to another content view while the content
browser is showing the TimelineRecordingContentView. Code responsible for creating and updating the tree
element close button, which was duplicated in multiple derived TimelineView classes, has been moved to the
TimelineView base class.
- UserInterface/Views/LayoutTimelineView.js:
Updated name of location column, which was broken in a recent patch.
(WebInspector.LayoutTimelineView.prototype.treeElementDeselected):
(WebInspector.LayoutTimelineView.prototype.treeElementSelected):
Added overrides of new base class methods to handle view-specific highlight logic.
(WebInspector.LayoutTimelineView.prototype._treeElementDeselected): Deleted.
(WebInspector.LayoutTimelineView.prototype._treeElementSelected): Deleted.
(WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked): Deleted.
Removed tree element close button logic.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.NetworkTimelineView.prototype.treeElementSelected):
Added overrides of new base class methods.
(WebInspector.NetworkTimelineView.prototype._treeElementDeselected): Deleted.
(WebInspector.NetworkTimelineView.prototype._treeElementSelected): Deleted.
Removed tree element close button logic.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.RenderingFrameTimelineView.prototype.treeElementSelected):
Added overrides of new base class methods.
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.get data):
(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
Removed unused Name column and added "go to" button to the Domain column to show the selected resource.
- UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.ScriptTimelineView.prototype.treeElementSelected):
Added overrides of new base class methods.
(WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
(WebInspector.ScriptTimelineView.prototype._treeElementDeselected): Deleted.
(WebInspector.ScriptTimelineView.prototype._treeElementSelected): Deleted.
(WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked): Deleted.
Removed tree element close button logic.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
Prevent navigating to a different content view when showing the TimelineRecordingContentView.
- UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.showContentViewForTreeElement):
(WebInspector.TimelineView.prototype.treeElementDeselected):
(WebInspector.TimelineView.prototype.treeElementSelected):
Tree element selection handlers are now protected methods, which derived classes may override as needed.
(WebInspector.TimelineView.prototype.needsLayout):
(WebInspector.TimelineView.prototype._closeStatusButtonClicked):
(WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton):
Encapsulated logic related to close button creation and behavior.
- 2:01 PM Changeset in webkit [183133] by
-
- 2 edits in trunk/LayoutTests
Expect failure on windows for treeitem-child-exposed test.
https://bugs.webkit.org/show_bug.cgi?id=144070
Unreviewed.
Mark accessibility/treeitem-child-exposed.html as failing on windows.
- platform/win/TestExpectations:
- 1:55 PM Changeset in webkit [183132] by
-
- 17 edits in branches/safari-600.7-branch
Merged r181656. <rdar://problem/20545362>
- 1:55 PM Changeset in webkit [183131] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebCore
Merge r180520. rdar://problem/20545427
- 1:55 PM Changeset in webkit [183130] by
-
- 3 edits in branches/safari-600.7-branch/Source/WebCore
Merge r179850. rdar://problem/20545362
- 1:52 PM Changeset in webkit [183129] by
-
- 7 edits4 adds in trunk/Source/WebCore
Move render ruby initialization logic from RenderElement::createFor() to *::createElementRenderer()
https://bugs.webkit.org/show_bug.cgi?id=144058
Reviewed by Darin Adler.
No change in functionality.
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLTagNames.in:
- html/RubyElement.cpp: Added.
(WebCore::RubyElement::RubyElement):
(WebCore::RubyElement::create):
(WebCore::RubyElement::createElementRenderer):
- html/RubyElement.h: Added.
- html/RubyTextElement.cpp: Added.
(WebCore::RubyTextElement::RubyTextElement):
(WebCore::RubyTextElement::create):
(WebCore::RubyTextElement::createElementRenderer):
- html/RubyTextElement.h: Added.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
- 1:44 PM Changeset in webkit [183128] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
SparseArrayEntry's write barrier owner should be the SparseArrayValueMap.
https://bugs.webkit.org/show_bug.cgi?id=144067
Reviewed by Michael Saboff.
Currently, there are a few places where the JSObject that owns the
SparseArrayValueMap is designated as the owner of the SparseArrayEntry
write barrier. This is a bug and can result in the GC collecting the
SparseArrayEntry even though it is being referenced by the
SparseArrayValueMap. This patch fixes the bug.
- runtime/JSObject.cpp:
(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::putIndexedDescriptor):
- tests/stress/sparse-array-entry-update-144067.js: Added.
(useMemoryToTriggerGCs):
(foo):
- 1:39 PM Changeset in webkit [183127] by
-
- 3 edits in trunk/Source/WebCore
Show correct wireless play placard on iOS.
<rdar://problem/20656596>
Copy wireless player placard code from r182631 to iOS.
- Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-wireless-playback-status):
(audio::-webkit-media-controls-wireless-playback-text):
(audio::-webkit-media-controls-wireless-playback-text-top):
(audio::-webkit-media-controls-wireless-playback-text-bottom):
(audio::-webkit-media-controls-wireless-playback-status.small):
(audio::-webkit-media-controls-wireless-playback-text-top.small):
(audio::-webkit-media-controls-wireless-playback-text-bottom.small):
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls):
(ControllerIOS.prototype.configureInlineControls):
- 1:37 PM Changeset in webkit [183126] by
-
- 2 edits in trunk/Source/WTF
[Mac] In nightlies and local builds, WebKit services can get terminated under memory pressure
https://bugs.webkit.org/show_bug.cgi?id=144052
rdar://problem/19754404
Build fix. Landing a forward declaration that should have been part of the original patch.
- wtf/spi/darwin/XPCSPI.h:
- 1:15 PM WebKitGTK/2.4.x edited by
- Propose r181074 for 2.4.9 (diff)
- 1:13 PM Changeset in webkit [183125] by
-
- 2 edits in branches/safari-600.7-branch/Source/WebKit2
Merge r174288. rdar://problem/20368461
- 1:05 PM Changeset in webkit [183124] by
-
- 16 edits1 add in trunk/Source/JavaScriptCore
Give the heap object iterators the ability to return early.
https://bugs.webkit.org/show_bug.cgi?id=144011
Reviewed by Michael Saboff.
JSDollarVMPrototype::isValidCell() uses a heap object iterator to validate
candidate cell pointers, and, when in use, is called a lot more often than
the normal way those iterators are used. As a result, I see my instrumented
VM killed with a SIGXCPU (CPU time limit exceeded). This patch gives the
callback functor the ability to tell the iterators to return early when the
functor no longer needs to continue iterating. With this, my instrumented
VM is useful again for debugging.
Since heap iteration is not something that we do in a typical fast path,
I don't expect this to have any noticeable impact on performance.
I also renamed ObjectAddressCheckFunctor to CellAddressCheckFunctor since
it checks JSCell addresses, not just JSObjects.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- debugger/Debugger.cpp:
- heap/GCLogging.cpp:
(JSC::LoggingFunctor::operator()):
- heap/Heap.cpp:
(JSC::Zombify::visit):
(JSC::Zombify::operator()):
- heap/HeapStatistics.cpp:
(JSC::StorageStatistics::visit):
(JSC::StorageStatistics::operator()):
- heap/HeapVerifier.cpp:
(JSC::GatherLiveObjFunctor::visit):
(JSC::GatherLiveObjFunctor::operator()):
- heap/MarkedBlock.cpp:
(JSC::SetNewlyAllocatedFunctor::operator()):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::forEachCell):
(JSC::MarkedBlock::forEachLiveCell):
(JSC::MarkedBlock::forEachDeadCell):
- heap/MarkedSpace.h:
(JSC::MarkedSpace::forEachLiveCell):
(JSC::MarkedSpace::forEachDeadCell):
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::TypeRecompiler::visit):
(Inspector::TypeRecompiler::operator()):
- runtime/IterationStatus.h: Added.
- runtime/JSGlobalObject.cpp:
- runtime/VM.cpp:
(JSC::StackPreservingRecompiler::visit):
(JSC::StackPreservingRecompiler::operator()):
- tools/JSDollarVMPrototype.cpp:
(JSC::CellAddressCheckFunctor::CellAddressCheckFunctor):
(JSC::CellAddressCheckFunctor::operator()):
(JSC::JSDollarVMPrototype::isValidCell):
(JSC::ObjectAddressCheckFunctor::ObjectAddressCheckFunctor): Deleted.
(JSC::ObjectAddressCheckFunctor::operator()): Deleted.
- 12:33 PM Changeset in webkit [183123] by
-
- 2 edits in trunk/Source/WebKit2
Update AirPlay sandbox rules
https://bugs.webkit.org/show_bug.cgi?id=144062
<rdar://problem/19869448>
Reviewed by Alexey Proskuryakov.
- WebProcess/com.apple.WebProcess.sb.in: Remove obsolete rules.
- 12:02 PM Changeset in webkit [183122] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove an unused index argument from Sidebar.removeSidebarPanel
https://bugs.webkit.org/show_bug.cgi?id=144054
Reviewed by Darin Adler.
- UserInterface/Views/Sidebar.js:
- 12:02 PM Changeset in webkit [183121] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] In nightlies and local builds, WebKit services can get terminated under memory pressure
https://bugs.webkit.org/show_bug.cgi?id=144052
rdar://problem/19754404
Reviewed by Darin Adler.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(main): Make XPC transaction tracking work again after a re-exec.
- 12:01 PM Changeset in webkit [183120] by
-
- 2 edits in trunk
[CMake] Use lowercase for local variables in macros
https://bugs.webkit.org/show_bug.cgi?id=144059
Reviewed by Martin Robinson.
Convert some variable names to lowercase.
- Source/cmake/WebKitFeatures.cmake:
- 12:00 PM Changeset in webkit [183119] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix an exception preventing switching timelines
https://bugs.webkit.org/show_bug.cgi?id=144053
Reviewed by Darin Adler.
- UserInterface/Views/TreeOutline.js:
(WebInspector.TreeElement.prototype.select): Store treeOutline in a local so
we have a reference to it when we go to reset processingSelectionChange.
The calls to onselect was removing the tree element from the outline, causing
"delete this.treeOutline.processingSelectionChange" to throw an exception.
This patch changes the delete to a set to false for good measure too.
- 12:00 PM Changeset in webkit [183118] by
-
- 2 edits1 add in trunk
Unreviewed, rolling out r183116.
https://bugs.webkit.org/show_bug.cgi?id=144060
Inadvertently deleted a file... (Requested by mcatanzaro on
#webkit).
Reverted changeset:
"[CMake] Use lowercase for local variables in macros"
https://bugs.webkit.org/show_bug.cgi?id=144059
http://trac.webkit.org/changeset/183116
Patch by Commit Queue <commit-queue@webkit.org> on 2015-04-22
- 11:58 AM Changeset in webkit [183117] by
-
- 3 edits6 adds in trunk/Source/JavaScriptCore
Set should be properly executed in JS builtins
https://bugs.webkit.org/show_bug.cgi?id=143996
Reviewed by Geoffrey Garen.
Currently, all assignments in builtins JS code is compiled into put_by_val_direct.
However,
- Some functions (like Array.from) needs Set. (but it is now compiled into put_by_val_direct, DefineOwnProperty).
- It's different from the default JS behavior.
In this patch, we implement the bytecode intrinsic emitting put_by_val_direct and use it explicitly.
And dropping the current hack for builtins.
- builtins/Array.prototype.js:
(filter):
(map):
(find):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPutByVal):
- tests/stress/array-fill-put-by-val.js: Added.
(shouldThrow):
(.set get array):
- tests/stress/array-filter-put-by-val-direct.js: Added.
(shouldBe):
(.set get var):
- tests/stress/array-find-does-not-lookup-twice.js: Added.
(shouldBe):
(shouldThrow):
(.get shouldBe):
- tests/stress/array-from-put-by-val-direct.js: Added.
(shouldBe):
(.set get var):
- tests/stress/array-from-set-length.js: Added.
(shouldBe):
(ArrayLike):
(ArrayLike.prototype.set length):
(ArrayLike.prototype.get length):
- tests/stress/array-map-put-by-val-direct.js: Added.
(shouldBe):
(.set get var):
- 11:52 AM Changeset in webkit [183116] by
-
- 2 edits1 delete in trunk
[CMake] Use lowercase for local variables in macros
https://bugs.webkit.org/show_bug.cgi?id=144059
Reviewed by Martin Robinson.
Convert some variable names to lowercase.
- Source/cmake/WebKitFeatures.cmake:
- 11:33 AM Changeset in webkit [183115] by
-
- 2 edits in trunk/Source/WebCore
Rollout part of r182263 that broke inline media controls on iOS.
<rdar://problem/20654260>
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handlePanelTransitionEnd):
(Controller.prototype.setPlaying):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):
- 10:41 AM Changeset in webkit [183114] by
-
- 5 edits in trunk/Source
Unreviewed post-review clean up after r183096.
Source/WebCore:
- Modules/mediasession/WebMediaSessionManagerClient.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
Source/WebKit/mac:
- WebView/WebMediaPlaybackTargetPicker.h:
- 10:39 AM Changeset in webkit [183113] by
-
- 11 edits in trunk/Source/JavaScriptCore
Don't de-allocate FunctionRareData
https://bugs.webkit.org/show_bug.cgi?id=144000
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-22
Reviewed by Michael Saboff.
A function rare data (containing most notably its allocation profile) is currently
freed and re-allocated each time the function's prototype is cleared.
This is not optimal as it means we are invalidating the watchpoint and recompiling the
scope each time the prototype is cleared.
This makes it so that a single rare data is reused, clearing the underlying
ObjectAllocationProfile instead of throwing away the whole rare data on
.prototype updates.
- runtime/FunctionRareData.cpp:
(JSC::FunctionRareData::create):
(JSC::FunctionRareData::finishCreation):
- runtime/FunctionRareData.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::allocateAndInitializeRareData):
(JSC::JSFunction::initializeRareData):
- 10:39 AM Changeset in webkit [183112] by
-
- 2 edits in trunk/Tools
Unreviewed. Do not run GTK+ user media unit tests when ENABLE_MEDIA_STREAM is disabled.
- TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(beforeAll):
(testWebViewAudioOnlyUserMediaPermissionRequests):
- 10:36 AM Changeset in webkit [183111] by
-
- 5 edits2 adds in trunk
AX: WebKit does not expose text fields inside tree views.
https://bugs.webkit.org/show_bug.cgi?id=142196
Patch by Nan Wang <nanwang1101@yahoo.com> on 2015-04-22
Reviewed by Chris Fleizach.
Source/WebCore:
The problem is that any object in a tree which is not a static text
or treeitem will be ignored. Fixed it by exposing the children of treeitem.
Test: accessibility/treeitem-child-exposed.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
LayoutTests:
Tests for treeitem’s children’s accessibility.
Also fixed the search predicate test for treeitem,
the static text is the second child of treeitem and
list marker is the first child.
- accessibility/treeitem-child-exposed-expected.txt: Added.
- accessibility/treeitem-child-exposed.html: Added.
- platform/mac/accessibility/search-predicate-expected.txt:
- platform/mac/accessibility/search-predicate.html:
- 10:29 AM Changeset in webkit [183110] by
-
- 5 edits in branches/safari-600.7-branch/Source
Versioning.
- 9:40 AM Changeset in webkit [183109] by
-
- 2 edits in trunk
[CMake] Features list should print dots every other row
https://bugs.webkit.org/show_bug.cgi?id=143832
Reviewed by Martin Robinson.
Discount private options when determining whether to print dots on a given row of the
features list. Also, simplify the logic by using only one for loop, and fix a couple errors
(inverted use of SHOULD_PRINT_DOTS, one use of the renamed variable SHOULD_PRINT_POINTS that
wasn't noticed because it only affects the first line, and use of the variable name as a
string in a conditional.)
- Source/cmake/WebKitFeatures.cmake:
- 9:30 AM WebKitGTK/2.4.x edited by
- (diff)
- 9:13 AM Changeset in webkit [183108] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Tests added in r174489 have image and text differences in safari-600.5-branch
https://bugs.webkit.org/show_bug.cgi?id=144044
- TestExpectations: Marked tests as (ImageOnly)Failure.
- 8:55 AM Changeset in webkit [183107] by
-
- 17 edits1 copy2 adds in trunk
[Streams API] Implement ReadableStreamController
https://bugs.webkit.org/show_bug.cgi?id=143608
Reviewed by Benjamin Poulain.
Source/WebCore:
Introducing ReadableStreamController, an abstraction to manage JS source stream queues.
This new interface is not exposed to JS scripts as specified, using NoInterfaceObject.
A controller is created at the time a ReadableJSStream is started and it is owned by it.
The controller may outlive the stream but as its reference will be reset, the calls to
its methods would result in exceptions.
The constructor is not implemented yet.
Change covered by existing tests and rebased expectations.
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make: Added ReadableStreamController.idl related files.
- Modules/streams/ReadableStreamController.h: Added.
- Modules/streams/ReadableStreamController.idl: Added.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp: Added ReadableStreamController.idl related files.
- bindings/js/JSReadableStreamControllerCustom.cpp: Added.
- bindings/js/ReadableStreamJSSource.cpp:
- bindings/js/ReadableStreamJSSource.h: Removed custom controller implementation.
LayoutTests:
Updated expectations as more tests are passed.
ReadableStreamController constructor tests fail due to the custom constructor being not implemented yet.
Added a test to ensure that calling a controller method when its stream is collected is throwing an error.
- streams/readable-stream.html:
- streams/readable-stream-expected.txt:
- streams/reference-implementation/bad-underlying-sources-expected.txt:
- streams/reference-implementation/brand-checks-expected.txt:
- streams/reference-implementation/count-queuing-strategy-expected.txt:
- streams/reference-implementation/readable-stream-expected.txt:
- 8:55 AM Changeset in webkit [183106] by
-
- 2 edits in branches/safari-600.6-branch/LayoutTests
Tests added in r178380 have image differences in safari-600.5-branch
https://bugs.webkit.org/show_bug.cgi?id=144043
- TestExpectations: Marked tests as ImageOnlyFailure.
- 8:28 AM Changeset in webkit [183105] by
-
- 57 edits in trunk/Source/WebKit2
[WK2] Have API::Array creation methods return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=143933
Reviewed by Darin Adler.
API::Array::create() and API::Array::createStringArray() should return Ref<> objects
as the return values are never null. It's up to the caller to implicitly convert the
returned objects to RefPtr<> if so required. All the call-sites have been updated to
reflect that.
- Shared/API/APIArray.cpp:
(API::Array::create):
(API::Array::createStringArray):
(API::Array::copy):
- Shared/API/APIArray.h:
- Shared/API/APIDictionary.cpp:
(API::Dictionary::keys):
- Shared/API/APIDictionary.h:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(ensureObjectStream):
- Shared/API/c/WKArray.cpp:
(WKArrayCreate):
(WKArrayCreateAdoptingValues):
- Shared/API/c/WKContextMenuItem.cpp:
(WKContextMenuCopySubmenuItems):
- Shared/API/c/WKDictionary.cpp:
(WKDictionaryCopyKeys):
- Shared/API/c/WKMutableArray.cpp:
(WKMutableArrayCreate):
- Shared/Cocoa/WKNSDictionary.mm:
(-[WKNSDictionary keyEnumerator]):
- Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
- Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::submenuItemsAsAPIArray):
- Shared/WebContextMenuItem.h:
- Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::acceptMIMETypes):
(WebKit::WebOpenPanelParameters::selectedFileNames):
- Shared/WebOpenPanelParameters.h:
- UIProcess/API/C/WKBackForwardListRef.cpp:
(WKBackForwardListCopyBackListWithLimit):
(WKBackForwardListCopyForwardListWithLimit):
- UIProcess/API/C/WKGrammarDetail.cpp:
(WKGrammarDetailCopyGuesses):
- UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersCopyAcceptedMIMETypes):
(WKOpenPanelParametersCopySelectedFileNames):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageContextMenuClient):
(WKPageCopyRelatedPages):
- UIProcess/API/Cocoa/WKBackForwardList.mm:
(-[WKBackForwardList backList]):
(-[WKBackForwardList forwardList]):
- UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
(createWKArray):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
- UIProcess/API/gtk/WebKitBackForwardList.cpp:
(webkit_back_forward_list_get_back_list_with_limit):
(webkit_back_forward_list_get_forward_list_with_limit):
- UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_select_files):
- UIProcess/API/gtk/WebKitNotificationProvider.cpp:
(WebKitNotificationProvider::notificationCloseCallback):
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
- UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::clearNotifications):
- UIProcess/Plugins/WebPluginSiteDataManager.cpp:
(WebKit::WebPluginSiteDataManager::didGetSitesWithData):
- UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backList):
(WebKit::WebBackForwardList::forwardList):
(WebKit::WebBackForwardList::backListAsAPIArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit):
- UIProcess/WebBackForwardList.h:
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
- UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
- UIProcess/WebGrammarDetail.cpp:
(WebKit::WebGrammarDetail::guesses):
- UIProcess/WebGrammarDetail.h:
- UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
- UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
- UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::didGetOrigins):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFindStringMatches):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::pluginInfoStoreDidLoadPlugins):
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame childFrames]):
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
(WKBundleBackForwardListItemCopyChildren):
- WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopyChildFrames):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCopyTrackedRepaintRects):
- WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
(WebKit::InjectedBundleBackForwardListItem::children):
- WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
- WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::findLargestFrameInFrameSet):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::childFrames):
- WebProcess/WebPage/WebFrame.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):
- WebProcess/WebPage/WebPage.h:
- 8:25 AM Changeset in webkit [183104] by
-
- 6 edits in trunk
[CMake] Require specifying visibility of WebKit options
https://bugs.webkit.org/show_bug.cgi?id=143831
Reviewed by Alex Christensen.
- Source/cmake/OptionsEfl.cmake: Specify all options as PUBLIC
- Source/cmake/OptionsGTK.cmake: Specify all options as PUBLIC
- Source/cmake/OptionsMac.cmake: Specify all options as PRIVATE
- Source/cmake/OptionsWindows.cmake: Specify all options as PUBLIC
- Source/cmake/WebKitFeatures.cmake: Require specifying options as PUBLIC or PRIVATE. Remove WEBKIT_OPTION_DEFINE_PUBLIC and WEBKIT_OPTION_PRIVATE_PORT_VALUE. Specify all cross-platform options as PRIVATE.
- 8:05 AM Changeset in webkit [183103] by
-
- 2 edits in trunk/Tools
Add myself to watchlist
https://bugs.webkit.org/show_bug.cgi?id=144041
Reviewed by Alex Christensen.
Add myself watching CMake, GtkWebKit2PublicAPI, SoupNetwork, and WebKitGTKTranslations.
- Scripts/webkitpy/common/config/watchlist:
- 5:18 AM Changeset in webkit [183102] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening 21st April.
https://bugs.webkit.org/show_bug.cgi?id=143982.
Unreviewed.
Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-04-22
- platform/gtk/TestExpectations:
- 5:13 AM Changeset in webkit [183101] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser should use NetworkProcess by default
https://bugs.webkit.org/show_bug.cgi?id=143948
Reviewed by Sergio Villar Senin.
Use WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES by default
unless MINIBROWSER_SINGLEPROCESS environment variable is present.
- MiniBrowser/gtk/main.c:
(main):
- 3:31 AM Changeset in webkit [183100] by
-
- 9 edits in trunk/Source/WebCore
Rename hasOverride{Height,Width}() to hasOverrideLogicalContent{Height,Width}()
https://bugs.webkit.org/show_bug.cgi?id=143984
Reviewed by Darin Adler.
This patch is renaming these LayoutBox methods, because of their names
don't match with the getters and setters, which is confusing. Specially
now that we also have hasOverrideContainingBlockLogical{Height,Width}().
No new tests (this is just a refactoring).
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateRubyForJustifiedText):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::hasOverrideLogicalContentHeight):
(WebCore::RenderBox::hasOverrideLogicalContentWidth):
(WebCore::RenderBox::overrideLogicalContentWidth):
(WebCore::RenderBox::overrideLogicalContentHeight):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
- rendering/RenderBox.h:
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::contentWidthForChild):
(WebCore::contentHeightForChild):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
- rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::adjustInlineDirectionLineBounds):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
Apr 21, 2015:
- 11:46 PM Changeset in webkit [183099] by
-
- 5 edits in trunk/Source
Versioning.
- 11:44 PM Changeset in webkit [183098] by
-
- 1 copy in tags/Safari-601.1.28
New tag.
- 10:10 PM Changeset in webkit [183097] by
-
- 2 edits in trunk/Source/WebCore
[Mac][MediaSource] Crash when SourceBuffer::provideMediaData() is called re-entrantly.
https://bugs.webkit.org/show_bug.cgi?id=144023
Reviewed by Eric Carlson.
Fixes non-deterministic crash in media/media-source/media-source-stalled-holds-sleep-assertion.html.
Platform changes have introduced a re-entrancy to provideMediaData(). Calling
SourceBufferPrivate::enqueueSample() can result in a re-entrant call back into
SourceBuffer::provideMediaData(). To protect against this, wrap the client call
from SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples() to
SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples() in a dispatch_async() to the
main thread. This gives the original provideMediaData() a chance to finish before the next
one begins.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples):
- 9:06 PM Changeset in webkit [183096] by
-
- 51 edits3 copies2 moves3 adds in trunk/Source
[Mac] Use one playback target for all web processes
https://bugs.webkit.org/show_bug.cgi?id=144009
Reviewed by Tim Horton.
Source/WebCore:
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateWirelessPlaybackStatus): Drive-by fix to show controls when
we show the placeholder image.
Instead of having each Page/Document pair manage access to the playback target for the videos
in a web process, put all of the logic into a new class - WebMediaSessionManager. A singleton
instance talks to the target picker and manages video element access for all web processes.
All playback target logic was removed from Document, Page, and MediaSessionManager.
- Modules/mediasession: Added.
- Modules/mediasession/WebMediaSessionManager.cpp: Added.
(WebCore::ClientState::ClientState):
(WebCore::flagsAreSet):
(WebCore::WebMediaSessionManager::WebMediaSessionManager):
(WebCore::WebMediaSessionManager::~WebMediaSessionManager):
(WebCore::WebMediaSessionManager::addPlaybackTargetPickerClient):
(WebCore::WebMediaSessionManager::removePlaybackTargetPickerClient):
(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::setPlaybackTarget):
(WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange):
(WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring):
(WebCore::WebMediaSessionManager::taskTimerFired):
(WebCore::WebMediaSessionManager::find):
(WebCore::WebMediaSessionManager::forEachClient):
- Modules/mediasession/WebMediaSessionManager.h: Added.
- Modules/mediasession/WebMediaSessionManagerClient.h: Added.
(WebCore::WebMediaSessionManagerClient::~WebMediaSessionManagerClient):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::mediaState): Replaces isPlayingAudio.
(WebCore::AudioContext::isPlayingAudio): Deleted.
- Modules/webaudio/AudioContext.h:
- WebCore.xcodeproj/project.pbxproj: Added new files.
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::addAudioProducer): Take a MediaProducer instead of an AudioProducer.
(WebCore::Document::removeAudioProducer):
(WebCore::Document::updateIsPlayingMedia):
(WebCore::nextPlaybackTargetClientContextId):
(WebCore::Document::addPlaybackTargetPickerClient):
(WebCore::Document::removePlaybackTargetPickerClient):
(WebCore::Document::showPlaybackTargetPicker):
(WebCore::Document::playbackTargetPickerClientStateDidChange):
(WebCore::Document::playbackTargetAvailabilityDidChange):
(WebCore::Document::setPlaybackTarget):
(WebCore::Document::setShouldPlayToPlaybackTarget):
(WebCore::Document::configurePlaybackTargetMonitoring): Deleted.
(WebCore::Document::requiresPlaybackTargetRouteMonitoring): Deleted.
(WebCore::Document::didChoosePlaybackTarget): Deleted.
- dom/Document.h:
(WebCore::Document::mediaState):
(WebCore::Document::isPlayingAudio): Deleted.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::parseAttribute):
- html/HTMLMediaElement.h:
- html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::registerWithDocument):
(WebCore::HTMLMediaSession::unregisterWithDocument):
(WebCore::HTMLMediaSession::showPlaybackTargetPicker):
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
(WebCore::HTMLMediaSession::setPlaybackTarget):
(WebCore::HTMLMediaSession::externalOutputDeviceAvailableDidChange):
(WebCore::HTMLMediaSession::setShouldPlayToPlaybackTarget):
(WebCore::HTMLMediaSession::mediaStateDidChange):
(WebCore::HTMLMediaSession::didChoosePlaybackTarget): Deleted.
(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.
(WebCore::HTMLMediaSession::startPlayingToPlaybackTarget): Deleted.
(WebCore::HTMLMediaSession::stopPlayingToPlaybackTarget): Deleted.
- html/HTMLMediaSession.h:
- page/AudioProducer.h: Removed.
- page/ChromeClient.h:
- page/MediaProducer.h: Copied from Source/WebCore/page/AudioProducer.h.
(WebCore::MediaProducer::~MediaProducer):
(WebCore::AudioProducer::~AudioProducer): Deleted.
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::updateIsPlayingMedia):
(WebCore::Page::addPlaybackTargetPickerClient):
(WebCore::Page::removePlaybackTargetPickerClient):
(WebCore::Page::showPlaybackTargetPicker):
(WebCore::Page::playbackTargetPickerClientStateDidChange):
(WebCore::Page::setPlaybackTarget):
(WebCore::Page::playbackTargetAvailabilityDidChange):
(WebCore::Page::setShouldPlayToPlaybackTarget):
(WebCore::Page::playbackTarget): Deleted.
(WebCore::Page::didChoosePlaybackTarget): Deleted.
(WebCore::Page::configurePlaybackTargetMonitoring): Deleted.
- page/Page.h:
(WebCore::Page::mediaState):
(WebCore::Page::isPlayingAudio): Deleted.
(WebCore::Page::hasWirelessPlaybackTarget): Deleted.
- platform/audio/MediaSession.h:
(WebCore::MediaSession::isPlayingToWirelessPlaybackTarget):
(WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::MediaSessionClient::setShouldPlayToPlaybackTarget):
(WebCore::MediaSession::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaSession::stopPlayingToPlaybackTarget): Deleted.
(WebCore::MediaSessionClient::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaSessionClient::stopPlayingToPlaybackTarget): Deleted.
- platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
(WebCore::MediaSessionManager::sessionCanLoadMedia):
(WebCore::MediaSessionManager::sessionShouldBeginPlayingToWirelessPlaybackTarget): Deleted.
- platform/audio/MediaSessionManager.h:
- platform/graphics/MediaPlaybackTargetClient.h: Copied from Source/WebCore/platform/graphics/MediaPlaybackTargetPickerClient.h.
(WebCore::MediaPlaybackTargetClient::~MediaPlaybackTargetClient):
(WebCore::MediaPlaybackTargetPickerClient::~MediaPlaybackTargetPickerClient): Deleted.
- platform/graphics/MediaPlaybackTargetPicker.cpp:
(WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker):
(WebCore::MediaPlaybackTargetPicker::startingMonitoringPlaybackTargets):
(WebCore::MediaPlaybackTargetPicker::stopMonitoringPlaybackTargets):
- platform/graphics/MediaPlaybackTargetPicker.h:
- platform/graphics/MediaPlaybackTargetPickerClient.h: Removed.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayer::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayer::stopPlayingToPlaybackTarget): Deleted.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateInterface::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayerPrivateInterface::stopPlayingToPlaybackTarget): Deleted.
- platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp: Added.
(WebCore::WebMediaSessionManagerMac::singleton):
(WebCore::WebMediaSessionManagerMac::WebMediaSessionManagerMac):
(WebCore::WebMediaSessionManagerMac::~WebMediaSessionManagerMac):
(WebCore::WebMediaSessionManagerMac::targetPicker):
- platform/graphics/avfoundation/WebMediaSessionManagerMac.h: Added.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::currentDeviceDidChange):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::stopPlayingToPlaybackTarget): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::togglePlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::stopPlayingToPlaybackTarget): Deleted.
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateQTKit::togglePlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayerPrivateQTKit::startPlayingToPlaybackTarget): Deleted.
(WebCore::MediaPlayerPrivateQTKit::stopPlayingToPlaybackTarget): Deleted.
- testing/Internals.cpp:
(WebCore::Internals::isPagePlayingAudio):
Source/WebKit/mac:
Update to use WebMediaSessionManager for playback target management.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addPlaybackTargetPickerClient):
(WebChromeClient::removePlaybackTargetPickerClient):
(WebChromeClient::showPlaybackTargetPicker):
(WebChromeClient::playbackTargetPickerClientStateDidChange):
(WebChromeClient::startingMonitoringPlaybackTargets): Deleted.
(WebChromeClient::stopMonitoringPlaybackTargets): Deleted.
- WebView/WebMediaPlaybackTargetPicker.h:
- WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::addPlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
(WebMediaPlaybackTargetPicker::setPlaybackTarget):
(WebMediaPlaybackTargetPicker::externalOutputDeviceAvailableDidChange):
(WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
(WebMediaPlaybackTargetPicker::invalidate):
(WebMediaPlaybackTargetPicker::startingMonitoringPlaybackTargets): Deleted.
(WebMediaPlaybackTargetPicker::stopMonitoringPlaybackTargets): Deleted.
(WebMediaPlaybackTargetPicker::didChoosePlaybackTarget): Deleted.
(WebMediaPlaybackTargetPicker::targetPicker): Deleted.
- WebView/WebView.mm:
(-[WebView _addPlaybackTargetPickerClient:]):
(-[WebView _removePlaybackTargetPickerClient:]):
(-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):
(-[WebView _showPlaybackTargetPicker:hasVideo:]): Deleted.
(-[WebView _startingMonitoringPlaybackTargets]): Deleted.
(-[WebView _stopMonitoringPlaybackTargets]): Deleted.
- WebView/WebViewInternal.h:
Source/WebKit2:
Every WebPageProxy uses the WebMediaSessionManager singleton to talk to the playback target
picker.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::isPlayingMediaDidChange):
(WebKit::WebPageProxy::addPlaybackTargetPickerClient):
(WebKit::WebPageProxy::removePlaybackTargetPickerClient):
(WebKit::WebPageProxy::showPlaybackTargetPicker):
(WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
(WebKit::WebPageProxy::setPlaybackTarget):
(WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange):
(WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
(WebKit::WebPageProxy::devicePickerProxy): Deleted.
(WebKit::WebPageProxy::startingMonitoringPlaybackTargets): Deleted.
(WebKit::WebPageProxy::stopMonitoringPlaybackTargets): Deleted.
(WebKit::WebPageProxy::didChoosePlaybackTarget): Deleted.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isPlayingAudio):
- UIProcess/WebPageProxy.messages.in:
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::mediaSessionManager):
(WebKit::PageClientImpl::createPlaybackTargetPicker): Deleted.
- UIProcess/mac/WebMediaSessionManagerMac.cpp: Added.
(WebKit::WebMediaSessionManagerMac::singleton):
(WebKit::WebMediaSessionManagerMac::WebMediaSessionManagerMac):
(WebKit::WebMediaSessionManagerMac::~WebMediaSessionManagerMac):
(WebKit::WebMediaSessionManagerMac::targetPicker):
- UIProcess/mac/WebMediaSessionManagerMac.h: Added.
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::isPlayingMediaDidChange):
(WebKit::WebChromeClient::addPlaybackTargetPickerClient):
(WebKit::WebChromeClient::removePlaybackTargetPickerClient):
(WebKit::WebChromeClient::showPlaybackTargetPicker):
(WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
(WebKit::WebChromeClient::startingMonitoringPlaybackTargets): Deleted.
(WebKit::WebChromeClient::stopMonitoringPlaybackTargets): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::playbackTargetSelected):
(WebKit::WebPage::playbackTargetAvailabilityDidChange):
(WebKit::WebPage::setShouldPlayToPlaybackTarget):
- 8:50 PM Changeset in webkit [183095] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix 32-bit. Forgot to make this simple change to 32_64 as well.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- 8:38 PM Changeset in webkit [183094] by
-
- 27 edits1 add in trunk/Source/JavaScriptCore
DFG should allow Phantoms after terminals
https://bugs.webkit.org/show_bug.cgi?id=126778
Reviewed by Mark Lam.
It's important for us to be able to place liveness-marking nodes after nodes that do
things. These liveness-marking nodes are nops. Previously, we disallowed such nodes after
terminals. That made things awkward, especially for Switch and Branch, which may do
things that necessitate liveness markers (for example they might want to use a converted
version of a value rather than the value that was MovHinted). We previously made this
work by disallowing certain optimizations on Switch and Branch, which was probably a bad
thing.
This changes our IR to allow for the terminal to not be the last node in a block. Asking
for the terminal involves a search. DFG::validate() checks that the nodes after the
terminal are liveness markers that have no effects or checks.
This is perf-neutral but will allow more optimizations in the future. It will also make
it cleaner to fix https://bugs.webkit.org/show_bug.cgi?id=143735.
- dfg/DFGBasicBlock.cpp:
(JSC::DFG::BasicBlock::replaceTerminal):
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::findTerminal):
(JSC::DFG::BasicBlock::terminal):
(JSC::DFG::BasicBlock::insertBeforeTerminal):
(JSC::DFG::BasicBlock::numSuccessors):
(JSC::DFG::BasicBlock::successor):
(JSC::DFG::BasicBlock::successorForCondition):
(JSC::DFG::BasicBlock::successors):
(JSC::DFG::BasicBlock::last): Deleted.
(JSC::DFG::BasicBlock::takeLast): Deleted.
(JSC::DFG::BasicBlock::insertBeforeLast): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::begin): Deleted.
(JSC::DFG::BasicBlock::SuccessorsIterable::end): Deleted.
- dfg/DFGBasicBlockInlines.h:
(JSC::DFG::BasicBlock::appendNonTerminal):
(JSC::DFG::BasicBlock::replaceTerminal):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
- dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock):
- dfg/DFGCommon.h:
(JSC::DFG::NodeAndIndex::NodeAndIndex):
(JSC::DFG::NodeAndIndex::operator!):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::injectTypeConversionsInBlock):
(JSC::DFG::FixupPhase::clearPhantomsAtEnd): Deleted.
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllLiveNodesAtTail):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::terminalsAreValid):
(JSC::DFG::Graph::dumpBlockHeader):
- dfg/DFGGraph.h:
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::mergeToSuccessors):
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGMovHintRemovalPhase.cpp:
- dfg/DFGNode.h:
(JSC::DFG::Node::SuccessorsIterable::SuccessorsIterable):
(JSC::DFG::Node::SuccessorsIterable::iterator::iterator):
(JSC::DFG::Node::SuccessorsIterable::iterator::operator*):
(JSC::DFG::Node::SuccessorsIterable::iterator::operator++):
(JSC::DFG::Node::SuccessorsIterable::iterator::operator==):
(JSC::DFG::Node::SuccessorsIterable::iterator::operator!=):
(JSC::DFG::Node::SuccessorsIterable::begin):
(JSC::DFG::Node::SuccessorsIterable::end):
(JSC::DFG::Node::successors):
- dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):
- dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
- dfg/DFGPutStackSinkingPhase.cpp:
- dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStaticExecutionCountEstimationPhase.cpp:
(JSC::DFG::StaticExecutionCountEstimationPhase::run):
- dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
- dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- tests/stress/closure-call-exit.js: Added.
(foo):
- 7:46 PM Changeset in webkit [183093] by
-
- 13 edits in trunk/Source/WebKit2
WKWebsiteDataStore doesn't track and remove IndexedDB databases
https://bugs.webkit.org/show_bug.cgi?id=144032
rdar://problem/20242856
Reviewed by Tim Horton.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::fetchWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
- DatabaseProcess/DatabaseProcess.h:
- DatabaseProcess/DatabaseProcess.messages.in:
- Shared/WebsiteData/WebsiteDataTypes.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):
- UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::generateCallbackID):
(WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
(WebKit::DatabaseProcessProxy::fetchWebsiteData):
(WebKit::DatabaseProcessProxy::deleteWebsiteData):
(WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::DatabaseProcessProxy::didClose):
(WebKit::DatabaseProcessProxy::didFetchWebsiteData):
(WebKit::DatabaseProcessProxy::didDeleteWebsiteData):
(WebKit::DatabaseProcessProxy::didDeleteWebsiteDataForOrigins):
- UIProcess/Databases/DatabaseProcessProxy.h:
- UIProcess/Databases/DatabaseProcessProxy.messages.in:
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
- 7:37 PM Changeset in webkit [183092] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Use String.prototype.startsWith in more places
https://bugs.webkit.org/show_bug.cgi?id=144025
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-21
Reviewed by Timothy Hatcher.
- UserInterface/Models/Gradient.js:
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
- 7:30 PM Changeset in webkit [183091] by
-
- 2 edits77 adds in trunk/PerformanceTests
Add JetStream to PerformanceTests
https://bugs.webkit.org/show_bug.cgi?id=144024
Rubber-stamped by Filip Pizlo.
- JetStream: Added.
- JetStream/JetStream-Logo.png: Added.
- JetStream/JetStream-Logo@2x.png: Added.
- JetStream/JetStream.css: Added.
- JetStream/JetStreamDriver.js: Added.
- JetStream/LICENSE.txt: Added.
- JetStream/LLVM-test-suite-LICENSE.txt: Added.
- JetStream/Octane: Added.
- JetStream/Octane/base.js: Added.
- JetStream/Octane/code-load.js: Added.
- JetStream/Octane2: Added.
- JetStream/Octane2/base.js: Added.
- JetStream/Octane2/box2d.js: Added.
- JetStream/Octane2/code-load.js: Added.
- JetStream/Octane2/crypto.js: Added.
- JetStream/Octane2/deltablue.js: Added.
- JetStream/Octane2/earley-boyer.js: Added.
- JetStream/Octane2/gbemu-part1.js: Added.
- JetStream/Octane2/gbemu-part2.js: Added.
- JetStream/Octane2/mandreel.js: Added.
- JetStream/Octane2/navier-stokes.js: Added.
- JetStream/Octane2/pdfjs.js: Added.
- JetStream/Octane2/raytrace.js: Added.
- JetStream/Octane2/regexp.js: Added.
- JetStream/Octane2/richards.js: Added.
- JetStream/Octane2/run.js: Added.
- JetStream/Octane2/splay.js: Added.
- JetStream/Octane2/typescript-compiler.js: Added.
- JetStream/Octane2/typescript-input.js: Added.
- JetStream/Octane2/typescript.js: Added.
- JetStream/Octane2/zlib-data.js: Added.
- JetStream/Octane2/zlib.js: Added.
- JetStream/Octane2Setup.js: Added.
- JetStream/OctaneSetup.js: Added.
- JetStream/README: Added.
- JetStream/Reference.js: Added.
- JetStream/SimpleSetup.js: Added.
- JetStream/SunSpiderSetup.js: Added.
- JetStream/Swoosh.png: Added.
- JetStream/Swoosh@2x.png: Added.
- JetStream/TestingSetup.js: Added.
- JetStream/create.rb: Added.
- JetStream/docs: Added.
- JetStream/docs/JetStreamBlogPost.html: Added.
- JetStream/in-depth-TEMPLATE.html: Added.
- JetStream/index-TEMPLATE.html: Added.
- JetStream/simple: Added.
- JetStream/simple/bigfib.cpp: Added.
- JetStream/simple/bigfib.cpp.js: Added.
- JetStream/simple/container.cpp: Added.
- JetStream/simple/container.cpp.js: Added.
- JetStream/simple/dry.c: Added.
- JetStream/simple/dry.c.js: Added.
- JetStream/simple/float-mm.c: Added.
- JetStream/simple/float-mm.c.js: Added.
- JetStream/simple/gcc-loops.cpp: Added.
- JetStream/simple/gcc-loops.cpp.js: Added.
- JetStream/simple/hash-map.js: Added.
- JetStream/simple/n-body.c: Added.
- JetStream/simple/n-body.c.js: Added.
- JetStream/simple/quicksort.c: Added.
- JetStream/simple/quicksort.c.js: Added.
- JetStream/simple/towers.c: Added.
- JetStream/simple/towers.c.js: Added.
- JetStream/sunspider: Added.
- JetStream/sunspider/3d-cube.js: Added.
- JetStream/sunspider/3d-raytrace.js: Added.
- JetStream/sunspider/base64.js: Added.
- JetStream/sunspider/cordic.js: Added.
- JetStream/sunspider/crypto-aes.js: Added.
- JetStream/sunspider/crypto-md5.js: Added.
- JetStream/sunspider/crypto-sha1.js: Added.
- JetStream/sunspider/date-format-tofte.js: Added.
- JetStream/sunspider/date-format-xparb.js: Added.
- JetStream/sunspider/n-body.js: Added.
- JetStream/sunspider/regex-dna.js: Added.
- JetStream/sunspider/tagcloud.js: Added.
- 6:17 PM Changeset in webkit [183090] by
-
- 2 edits3 adds in trunk/Source/WebKit2
Add module maps for WebKit
https://bugs.webkit.org/show_bug.cgi?id=144026
rdar://problem/19665428
Reviewed by Dan Bernstein.
- Configurations/WebKit.xcconfig:
- Modules/OSX.modulemap: Added.
- Modules/iOS.modulemap: Added.
- 5:51 PM Changeset in webkit [183089] by
-
- 2 edits in trunk/Source/WebCore
[iOS] When computing visible rects for tiling, stop searching at UIWindows
https://bugs.webkit.org/show_bug.cgi?id=144022
<rdar://problem/18327227>
Reviewed by Simon Fraser.
[WAKWindow _visibleRectRespectingMasksToBounds:] computes a visible rect which we use
to determine which tiles to create. We do this by finding the frame of the _hostLayer,
and then walking up the CALayer hierarchy converting each rect into its parent's
coordinate system (all the while clipping to bounds if necessary). This walk up the
layer hierarchy should stop at a layer associated with a UIWindow.
- platform/ios/wak/WAKWindow.mm:
(-[WAKWindow _visibleRectRespectingMasksToBounds:]):
- 5:38 PM Changeset in webkit [183088] by
-
- 4 edits in trunk
[Cairo] Implement Path::addPath
https://bugs.webkit.org/show_bug.cgi?id=130580
Reviewed by Dirk Schulze.
Source/WebCore:
Add support for addPath method for ports using cairo.
This patch is originally authored by Jae Hyun Park <jaepark@webkit.org>.
Test: fast/canvas/canvas-path-addPath.html
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addPath): Implement addPath for cairo.
LayoutTests:
Enable addPath testcase in EFL port.
- platform/efl/TestExpectations:
- 5:24 PM Changeset in webkit [183087] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build.
- platform/spi/cg/CoreGraphicsSPI.h:
- 5:14 PM Changeset in webkit [183086] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebKit2
Merge r182162
2015-03-30 Enrica Casucci <enrica@apple.com>
[iOS] WebContent crashing at WebCore: WebCore::Range::collectSelectionRects.
https://bugs.webkit.org/show_bug.cgi?id=143234
<rdar://problem/18571345>
Reviewed by Tim Horton.
This is a speculative fix that adds a null check before referencing the range.
In both places where the check has been added the range returned by the call
that should create it could be null.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
- 5:13 PM Changeset in webkit [183085] by
-
- 6 edits4 adds in trunk
SVGAnimateElementBase::calculateAnimatedValue() asserts when reinserting an SVG animating element within the same animation limits
https://bugs.webkit.org/show_bug.cgi?id=143994
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-04-21
Reviewed by Simon Fraser.
Source/WebCore:
Make sure the SVG animation variables are reset cleanly such that if the
animation restarts it can rebuild its limit values reliably and correctly.
Tests: svg/animations/crash-reinsert-animate-length-same-limits.svg
svg/animations/crash-reinsert-animate-transform-same-limits.svg
- svg/SVGAnimateElementBase.h:
- svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::resetAnimatedPropertyType):
Call the base class resetAnimatedPropertyType() from the derived class.
- svg/SVGAnimationElement.h:
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::resetAnimatedPropertyType):
Make resetAnimatedPropertyType() virtual. The implementation of the base
class of this function resets the values of the animation limits. When
updateAnimation() is called, it will be forced to recalculate the animation
limits by calling calculateFromAndToValues() even if the limits have not
changed.
LayoutTests:
- svg/animations/crash-reinsert-animate-length-same-limits-expected.txt: Added.
- svg/animations/crash-reinsert-animate-length-same-limits.svg: Added.
- svg/animations/crash-reinsert-animate-transform-same-limits-expected.txt: Added.
- svg/animations/crash-reinsert-animate-transform-same-limits.svg: Added.
Make sure when removing an SVG animating element and reinserting it back
within the same animation length or transform limits, we do not crash.
- 5:04 PM Changeset in webkit [183084] by
-
- 7 edits2 adds in trunk/LayoutTests
[EFL] Unreviewed gardening
Update test expectations for failing tests.
- platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.png: Rebaseline after r177774.
- platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt: Ditto.
- platform/efl/fast/repaint/selection-ruby-rl-expected.txt: Added. Ditto.
- platform/efl/fast/text/decorations-with-text-combine-expected.png:
- platform/efl/fast/text/decorations-with-text-combine-expected.txt:
- platform/efl/mathml/opentype/horizontal-expected.txt: Rebaseline after r174540.
- platform/efl/svg/text/textPathBoundsBug-expected.png: Rebaselined after r177774.
- platform/efl/svg/text/textPathBoundsBug-expected.txt: Added. Ditto.
- 4:25 PM Changeset in webkit [183083] by
-
- 4 edits in trunk/Source
Long pause under _takeViewSnapshot when screen updates are disabled
https://bugs.webkit.org/show_bug.cgi?id=144017
<rdar://problem/20548397>
Reviewed by Simon Fraser.
- UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Use CGSHWCaptureWindowList, for snapshotting that doesn't block on
the next commit, and can succeed while screen updates are disabled
without blocking.
- platform/spi/cg/CoreGraphicsSPI.h:
Add some SPI.
- 4:23 PM Changeset in webkit [183082] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r183077.
https://bugs.webkit.org/show_bug.cgi?id=144021
broke a bunch of tests, bfulgham is going to try again
(Requested by thorton on #webkit).
Reverted changeset:
"Context menu doesn't account for selection semantics"
https://bugs.webkit.org/show_bug.cgi?id=143958
http://trac.webkit.org/changeset/183077
- 4:20 PM Changeset in webkit [183081] by
-
- 9 edits in trunk/Source
[WK2][NetworkCache] Better account of resource revalidations in efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=144014
Reviewed by Antti Koivisto.
Source/WebCore:
Add additional diagnostic logging key for network cache efficacy
logging.
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::needsRevalidationKey):
- page/DiagnosticLoggingKeys.h:
Source/WebKit2:
Better account of resource revalidations in efficacy logging.
Prevously, resources that were in the cache but needed revalidation
were counted as retrieval successes, which is not entirely accurate.
We now distinguish "is in the cache and is directly usable" from
"is in the cache but needs revalidation". We also log how many of these
revalidations are successful.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::update):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry):
(WebKit::NetworkCache::Statistics::recordRevalidationSuccess):
- NetworkProcess/cache/NetworkCacheStatistics.h:
- 4:07 PM Changeset in webkit [183080] by
-
- 2 edits in trunk/Source/WebKit2
[Cocoa] Framework header postprocessing should respect additional definitions
https://bugs.webkit.org/show_bug.cgi?id=144018
Reviewed by Anders Carlsson.
- mac/postprocess-framework-headers.sh: Read definitons from
/usr/local/include/WebKitAdditions/Scripts/postprocess-framework-headers-definitions, and
have them take precedence over OSX_VERSION and IOS_VERSION and supply additional options to
sed.
- 3:48 PM Changeset in webkit [183079] by
-
- 1 edit in branches/safari-600.1.4.16-branch/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp
Fix debug builds after r183050.
- 3:29 PM Changeset in webkit [183078] by
-
- 2 edits in trunk/Source/JavaScriptCore
PhantomNewObject should be marked NodeMustGenerate
https://bugs.webkit.org/show_bug.cgi?id=143974
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-21
Reviewed by Filip Pizlo.
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewObject):
Was not properly marking NodeMustGenerate when converting.
- 3:01 PM Changeset in webkit [183077] by
-
- 4 edits in trunk/Source/WebCore
Context menu doesn't account for selection semantics
https://bugs.webkit.org/show_bug.cgi?id=143958
<rdar://problem/19735706>
Reviewed by Tim Horton.
Before using the default word-only selection, check with the
lookup service to see if we can get a semantically appropriate
selection.
- page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
(WebCore::EventHandler::selectClosestWordFromHitTestResult):
- page/EventHandler.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
- 1:55 PM Changeset in webkit [183076] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
DFG Call/ConstructForwardVarargs fails to restore the stack pointer
https://bugs.webkit.org/show_bug.cgi?id=144007
Reviewed by Mark Lam.
We were conditioning the stack pointer restoration on isVarargs, but we also need to do it
if isForwardVarargs.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- tests/stress/varargs-then-slow-call.js: Added.
(foo):
(bar):
(fuzz):
(baz):
- 1:37 PM Changeset in webkit [183075] by
-
- 2 edits in trunk/LayoutTests
[EFL] Unreviewed gardening on 22th April
Mark 3 compositing tests to image only failure. Additionally move
wrong categorized 2 tests to a correct place.
- platform/efl/TestExpectations:
- 1:32 PM Changeset in webkit [183074] by
-
- 2 edits in trunk/Source/WebCore
Get rid of an unneeded function from LoaderNSURLExtras.mm
https://bugs.webkit.org/show_bug.cgi?id=144003
Reviewed by Chris Dumez.
Just use Vector::contains instead of vectorContainsString.
- loader/mac/LoaderNSURLExtras.mm:
(suggestedFilenameWithMIMEType):
(vectorContainsString): Deleted.
- 1:23 PM Changeset in webkit [183073] by
-
- 18 edits in trunk/Source/JavaScriptCore
Remove AllocationProfileWatchpoint node
https://bugs.webkit.org/show_bug.cgi?id=143999
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-21
Reviewed by Filip Pizlo.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasCellOperand):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
- runtime/JSFunction.h:
(JSC::JSFunction::rareData):
(JSC::JSFunction::allocationProfileWatchpointSet): Deleted.
- 1:16 PM Changeset in webkit [183072] by
-
- 13 edits4 adds in trunk/Source/JavaScriptCore
MovHint should be a strong use
https://bugs.webkit.org/show_bug.cgi?id=143734
Reviewed by Geoffrey Garen.
This disables any DCE that assumes equivalence between DFG IR uses and bytecode uses. Doing
so is a major step towards allowing more fancy DFG transformations and also probably fixing
some bugs.
Just making MovHint a strong use would also completely disable DCE. So we mitigate this by
introducing a MovHint removal phase that runs in FTL.
This is a slight slowdown on Octane/gbemu, but it's basically neutral on suite averages.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dumpInContext):
- dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::fixupBlock):
- dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::createDumpList):
- dfg/DFGEpoch.cpp: Added.
(JSC::DFG::Epoch::dump):
- dfg/DFGEpoch.h: Added.
(JSC::DFG::Epoch::Epoch):
(JSC::DFG::Epoch::first):
(JSC::DFG::Epoch::operator!):
(JSC::DFG::Epoch::next):
(JSC::DFG::Epoch::bump):
(JSC::DFG::Epoch::operator==):
(JSC::DFG::Epoch::operator!=):
- dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
- dfg/DFGMovHintRemovalPhase.cpp: Added.
(JSC::DFG::performMovHintRemoval):
- dfg/DFGMovHintRemovalPhase.h: Added.
- dfg/DFGNodeType.h:
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- runtime/Options.h:
- 1:06 PM Changeset in webkit [183071] by
-
- 2 edits in trunk/Tools
Use grep instead of any in prepare-ChangeLog, to avoid Windows compatibility issues.
Unreviewed build fix.
- Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_cpp):
Use grep instead of any to determine if a string is an element of an array.
- 12:30 PM Changeset in webkit [183070] by
-
- 10 edits in trunk
Fix block signatures
https://bugs.webkit.org/show_bug.cgi?id=144002
Reviewed by Andreas Kling.
Source/WebKit2:
- UIProcess/API/Cocoa/WKUIDelegate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _highlightLinkAnnotation:forDuration:completionHandler:]):
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _processMediaInfoDictionaries:successBlock:failureBlock:]):
(-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):
Tools:
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
- 11:50 AM Changeset in webkit [183069] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
REGRESSION (r182899): icloud.com crashes
https://bugs.webkit.org/show_bug.cgi?id=143960
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-21
Reviewed by Filip Pizlo.
- runtime/JSFunction.h:
(JSC::JSFunction::allocationStructure):
- tests/stress/dfg-rare-data.js: Added.
(F): Regression test
- 11:01 AM Changeset in webkit [183068] by
-
- 4 edits in trunk/Source/WebKit2
PDFs still don't snapshot properly in iOS Safari
https://bugs.webkit.org/show_bug.cgi?id=143976
<rdar://problem/18283459>
Reviewed by Anders Carlsson.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didLayoutForCustomContentProvider):
- UIProcess/WebPageProxy.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]):
Inform the client that we've passed all reasonable layout milestones
as soon as the custom content provider has been handed its data.
WKPDFView, the only custom content provider, synchronously lays out
its subviews upon initial receipt of data, so this works fine for it.
This ensures that clients that normally depend on layout milestones firing
won't break when a custom content view is installed.
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
Fall back to renderInContext: if the custom content view is not parented
when a snapshot is requested.
- 10:57 AM Changeset in webkit [183067] by
-
- 5 edits3 adds in trunk
Crash in JSC::Interpreter::execute
https://bugs.webkit.org/show_bug.cgi?id=142625
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
We need to keep the FunctionExecutables in the code block for the eval flavor of
Interpreter::execute() in order to create the scope used to eval.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::jettisonFunctionDeclsAndExprs): Deleted.
- bytecode/CodeBlock.h:
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::registerFrozenValues):
LayoutTests:
New regression test.
- js/regress-142625-expected.txt: Added.
- js/regress-142625.html: Added.
- js/script-tests/regress-142625.js: Added.
- 10:11 AM Changeset in webkit [183066] by
-
- 3 edits in trunk/Source/WebKit2
Merged WKBackForwardListItem’s Internal category into the class extension in WKBackForwardListItemInternal.h.
Reviewed by Anders Carlsson.
- UIProcess/API/Cocoa/WKBackForwardListItem.mm:
(-[WKBackForwardListItem _item]):
(-[WKBackForwardListItem _apiObject]):
- UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
- 10:08 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:18 AM Changeset in webkit [183065] by
-
- 23 edits in trunk/Source
Make Vector(const Vector<T, otherCapacity, otherOverflowBehaviour>&) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=143970
Reviewed by Darin Adler.
Make Vector(const Vector<T, otherCapacity, otherOverflowBehaviour>&)
constructor explicit as it copies the vector and it is easy to call it
by mistake.
Source/JavaScriptCore:
- bytecode/UnlinkedInstructionStream.cpp:
(JSC::UnlinkedInstructionStream::UnlinkedInstructionStream):
- bytecode/UnlinkedInstructionStream.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
Source/WebCore:
- Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::setIndexKeys):
(WebCore::IDBDatabaseBackend::setIndexesReady):
- Modules/indexeddb/IDBDatabaseBackend.h:
- Modules/indexeddb/IDBServerConnection.h:
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):
- cssjit/StackAllocator.h:
(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridIterator::nextGridItem):
(WebCore::RenderGrid::GridIterator::isEmptyAreaEnough):
- rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::paintTypesForPaintOrder):
- rendering/style/SVGRenderStyle.h:
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::fillStrokeMarkers):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paint):
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::appendLigatureGlyphs):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
Source/WebKit2:
- WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::setIndexKeys):
- WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
Source/WTF:
- wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
- wtf/Vector.h:
- 9:16 AM Changeset in webkit [183064] by
-
- 10 edits in trunk/Source/WebCore
Use ASSERT_WITH_SECURITY_IMPLICATION() for NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=143971
Reviewed by Darin Adler.
Use ASSERT_WITH_SECURITY_IMPLICATION() for NoEventDispatchAssertion as
firing JS events can cause arbitrary JS execution which often leads to
security bugs when event firing is forbidden. For e.g. firing events
from ActiveDOMObject::suspend() means JS can construct or destroy
ActiveDOMObjects while we are iterating over them.
- dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notify):
- dom/Document.cpp:
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
- dom/Element.cpp:
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
- dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
- dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
- dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
- dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
- 8:58 AM WebKitGTK/Roadmap edited by
- (diff)
- 8:56 AM WebKitGTK/Roadmap edited by
- (diff)
- 8:51 AM Changeset in webkit [183063] by
-
- 9 edits in trunk/Source
Remove some stray uses of OwnPtr and PassOwnPtr in WTF (outside of the template definitions and traits)
https://bugs.webkit.org/show_bug.cgi?id=143944
Reviewed by Andreas Kling.
Source/WebCore:
- editing/ios/DictationCommandIOS.h: Added now-needed include of PassOwnPtr.h.
Source/WTF:
- wtf/FilePrintStream.h: Removed unneeded include.
- wtf/HashTable.h: Fixed class template name in comment.
- wtf/HashTraits.h: Removed unneeded forward declaration.
- wtf/ListHashSet.h: Removed unneeded includes.
- wtf/ThreadingWin.cpp: Removed unneeded includes.
(WTF::wtfThreadEntryPoint): Changed code to use unique_ptr.
(WTF::createThreadInternal): Changed code to use make_unique and release.
- wtf/efl/RunLoopEfl.cpp: Removed unneeded includes.
- 6:01 AM Changeset in webkit [183062] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Make formatted nodes more consistent with formatted objects
https://bugs.webkit.org/show_bug.cgi?id=142159
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline ol):
Keep indentation exactly two spaces of Menlo.
(.dom-tree-outline li):
(.dom-tree-outline li.parent):
(.dom-tree-outline li .html-tag.close):
(.dom-tree-outline li.parent::before):
(.dom-tree-outline:focus li.parent.selected::before):
(.dom-tree-outline li.parent.expanded::before):
(.dom-tree-outline:focus li.parent.expanded.selected::before):
- UserInterface/Views/FormattedValue.css:
(.formatted-node > .dom-tree-outline ol):
Keep indentation exactly two spaces of Menlo.
- UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.object-tree-property > .disclosure-button):
Disclosure triangle is 13 by 13 pixels. Having it in the middle of 16 by 16
pixels block makes it look bloory on non-retina screen, because:
(16 - 13) / 2 = 1.5px. Replacing 16 with 15 fixes the problem.
- UserInterface/Views/ObjectTreeView.css:
(.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
- 3:11 AM Changeset in webkit [183061] by
-
- 12 edits6 copies in branches/safari-600.1.4.16-branch
Merged r180110. rdar://problem/20623662
- 2:57 AM Changeset in webkit [183060] by
-
- 2 edits in trunk/Tools
[GTK] jhbuild should not use a branch for openwebrtc
https://bugs.webkit.org/show_bug.cgi?id=143981
Patch by Philippe Normand <pnormand@igalia.com> on 2015-04-21
Reviewed by Carlos Garcia Campos.
- gtk/jhbuild.modules:
- 2:24 AM Changeset in webkit [183059] by
-
- 3 edits2 copies in branches/safari-600.1.4.16-branch
Merged r182835. rdar://problem/20623652
- 12:30 AM Changeset in webkit [183058] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r181409. rdar://problem/20623647
- 12:27 AM Changeset in webkit [183057] by
-
- 2 edits in branches/safari-600.1.4.16-branch/LayoutTests
Merged r182299. rdar://problem/20623641
- 12:25 AM Changeset in webkit [183056] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebKit2
Merged r182285. rdar://problem/20623641
- 12:23 AM Changeset in webkit [183055] by
-
- 5 edits in branches/safari-600.1.4.16-branch
Merged r182284. rdar://problem/20623641
- 12:21 AM Changeset in webkit [183054] by
-
- 3 edits2 copies in branches/safari-600.1.4.16-branch
Merged r182051. rdar://problem/20623637
Apr 20, 2015:
- 11:47 PM Changeset in webkit [183053] by
-
- 4 edits2 adds in trunk
REGRESSION (r177494): -webkit-mask-image: with data URI fails on non-local files
https://bugs.webkit.org/show_bug.cgi?id=141857
Reviewed by Dirk Schulze.
Source/WebCore:
r177494 regressed loading of data URIs in masks with remote content, triggering
a cross-domain error which occurs because the mask loading happened via a separate
SVGDocument.
Fix by checking for data URIs at parsing time, which is what we used to do.
Test: http/tests/css/data-uri-mask.html
- css/CSSParser.cpp:
(WebCore::CSSParser::parseMaskImage):
- svg/SVGURIReference.h:
(WebCore::SVGURIReference::isExternalURIReference):
LayoutTests:
Ref test with a masked green square. Has to be an http test to trigger the
origin checking.
- http/tests/css/data-uri-mask-expected.html: Added.
- http/tests/css/data-uri-mask.html: Added.
- 11:22 PM Changeset in webkit [183052] by
-
- 3 edits in trunk/Source/WebCore
Crash when showing Web Inspector on page with 'multipart/x-mixed-replace' main resource
https://bugs.webkit.org/show_bug.cgi?id=143979
<rdar://problem/20594948>
Reviewed by Timothy Hatcher.
InspectorDOMAgent::m_document was updated only once per load, from
FrameLoader::dispatchDidCommitLoad(). However, dispatchDidCommitLoad()
is not called for follow-up multipart replacing loads. You can see this
from the following check in DocumentLoader::commitData():
if (!isMultipartReplacingLoad())
frameLoader()->receivedFirstData();
As a result, in the case of a 'multipart/x-mixed-replace' main resource
InspectorDOMAgent::m_document would quickly get outdated as we create
a new Document for each replacing load. This would lead to Web Inspector
code using a Document without frame and causing crashes.
This patch calls InspectorInstrumentation::frameDocumentUpdated() from
Frame::setDocument() so that InspectorDOMAgent::m_document is always up
to date.
No new tests, not easily testable as the main resource needs to be
'multipart/x-mixed-replace'.
- dom/Document.cpp:
(WebCore::Document::applyXSLTransform):
Stop calling InspectorInstrumentation::frameDocumentUpdated() here as
XSLTProcessor::createDocumentFromSource() will call Frame::setDocument()
and frameDocumentUpdated() will be called there.
- page/Frame.cpp:
(WebCore::Frame::setDocument):
Call InspectorInstrumentation::frameDocumentUpdated() to make sure
InspectorDOMAgent::m_document gets updated.
- 10:52 PM Changeset in webkit [183051] by
-
- 1 copy in branches/safari-600.7-branch
Branched from safari-600.6-branch
- 10:49 PM Changeset in webkit [183050] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r182076. rdar://problem/20545985
- 10:30 PM Changeset in webkit [183049] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebKit2
Merged r181991. rdar://problem/20545917
- 10:20 PM Changeset in webkit [183048] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r179958. rdar://problem/20545917
- 10:17 PM Changeset in webkit [183047] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r179895. rdar://problem/20545917
- 10:13 PM Changeset in webkit [183046] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r179880. rdar://problem/20545917
- 10:03 PM Changeset in webkit [183045] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebKit2
Merged r181919. rdar://problem/20546023
- 9:59 PM Changeset in webkit [183044] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebKit2
Merged r181869. rdar://problem/20545937
- 9:35 PM Changeset in webkit [183043] by
-
- 3 edits8 deletes in trunk/Source/WebInspectorUI
Web Inspector: Unify PrettyPrinting Tool and UserInterface resources
https://bugs.webkit.org/show_bug.cgi?id=143969
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-20
Reviewed by Timothy Hatcher.
Have the PrettyPrinting tool just use the CodeMirror and WebInspector
resources from the relative UserInterface directory. This avoids
having duplicate resources in the tree which offered few advantages.
- Scripts/update-pretty-printer.rb: Removed.
- Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed.
- Tools/PrettyPrinting/Formatter.js: Removed.
- Tools/PrettyPrinting/FormatterContentBuilder.js: Removed.
- Tools/PrettyPrinting/codemirror.css: Removed.
- Tools/PrettyPrinting/codemirror.js: Removed.
- Tools/PrettyPrinting/css.js: Removed.
- Tools/PrettyPrinting/index.html:
- Tools/PrettyPrinting/javascript.js: Removed.
- UserInterface/Views/CodeMirrorFormatters.js:
Fix style issues.
- 8:48 PM Changeset in webkit [183042] by
-
- 7 edits3 adds in trunk/LayoutTests
[EFL] Unreviewed, update test expectations and rebaseline failing tests.
Remove some expected failures from tests that are passing.
Also rebaselined failing tests.
- platform/efl/TestExpectations:
- platform/efl/fast/dom/Element/getClientRects-expected.txt: Added. Rebaselined after r177774.
- platform/efl/fast/dom/Range/getClientRects-expected.txt: Ditto.
- platform/efl/fast/line-grid/line-align-right-edges-expected.png: Rebaselined after r177128.
- platform/efl/fast/line-grid/line-align-right-edges-expected.txt: Ditto.
- platform/efl/fast/table/022-expected.png: Rebaselined after r177774.
- platform/efl/fast/table/022-expected.txt: Added. Ditto.
- platform/efl/fast/text/wbr-pre-expected.png: Rebaselined after r177774.
- platform/efl/fast/text/wbr-pre-expected.txt: Added. Ditto.
- 7:48 PM Changeset in webkit [183041] by
-
- 9 edits1 add in trunk/Websites/perf.webkit.org
Perf dashboard should have UI to set status on analysis tasks
https://bugs.webkit.org/show_bug.cgi?id=143977
Reviewed by Chris Dumez.
Added the UI to set the result of an analysis task to 'progression', 'regression', 'unchanged', and 'inconclusive'
as well as a boolean indicating whether creating the analysis task was the right thing to do or not.
The latter will be a useful metric once we start automatically creating analysis tasks.
- init-database.sql: Added two columns to analysis_tasks table.
- public/api/analysis-tasks.php: Include the added columns in the JSON.
- public/include/db.php:
(Database::to_database_boolean): Added.
- public/include/json-header.php:
(require_match_one_of_values): Added.
- public/privileged-api/update-analysis-task.php: Added. Updates 'result' and 'needed' values of an analysis task.
(main):
- public/v2/analysis.js:
(App.AnalysisTask.result): Added.
(App.AnalysisTask.needed): Added. We don't use DS.attr('boolean') here since that would coerce null into false
and we want to differentiate null from false in order to differentiate the null-ness of the value.
(App.AnalysisTask.saveStatus): Added.
(App.AnalysisTask.statusLabel): Use 'result' as the label if it's set and all build requests have been processed.
- public/v2/app.css:
- public/v2/app.js:
(App.AnalysisTaskController.analysisResultOptions): Added.
(App.AnalysisTaskController.shouldNotHaveBeenCreated): Added.
(App.AnalysisTaskController.needsFeedback): Added. Show the checkbox to indicate the analysis task should not have
been created if 'no change' is selected.
(App.AnalysisTaskController._updateChosenAnalysisResult): Added.
(App.AnalysisTaskController.actions.saveStatus): Added.
- public/v2/index.html: Extracted a partial template for updating the bug numbers. Also added the UI to update
'result' and 'needed' values of the analysis task.
- 7:37 PM Changeset in webkit [183040] by
-
- 2 edits in trunk/Source/JavaScriptCore
PhantomNewObject should be marked NodeMustGenerate
https://bugs.webkit.org/show_bug.cgi?id=143974
Patch by Basile Clement <basile_clement@apple.com> on 2015-04-20
Reviewed by Filip Pizlo.
- dfg/DFGNodeType.h: Mark PhantomNewObject as NodeMustGenerate
- 6:48 PM Changeset in webkit [183039] by
-
- 2 edits in trunk/Tools
Fix compilation error for prepare-ChangeLog running with Perl version < v5.18.2.
Unreviewed build fix.
The any function was added to List::Utils between Perl v5.16.2 and Perl v5.18.2.
However, it has been exposed by List::MoreUtils since its inception. This patch uses
the any function exposed by List::MoreUtils for greater compatibility.
- Scripts/prepare-ChangeLog:
Use any from List::MoreUtils instead of List::Utils, as List::MoreUtils exposes
the any function in all of versions of Perl used by our infrastructure.
- 5:43 PM Changeset in webkit [183038] by
-
- 5 edits in trunk/Source/WebKit2
Expose more bundle form client functions as WKWebProcessPlugInFormDelegatePrivate methods
https://bugs.webkit.org/show_bug.cgi?id=143973
Reviewed by Anders Carlsson.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Declared new
delegate methods.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new frame
property.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(-[WKWebProcessPlugInNodeHandle frame]): Added. Returns the node’s document’s frame. This is
useful to delegates getting an array of nodes via the new method.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added overrides of
shouldNotifyOnFormChanges and didAssociateFormControls, which call the new delegate methods.
- 5:17 PM Changeset in webkit [183037] by
-
- 26 edits4 copies in branches/safari-600.1.4.16-branch
- 4:38 PM Changeset in webkit [183036] by
-
- 2 edits in trunk/Tools
Remove unnecessary logs when resetting tests.
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
In r183020 I added some logs when compiling or removing content extensions fails.
We often try to remove a content extension that does not exist, and that is not a problem.
- 4:26 PM Changeset in webkit [183035] by
-
- 2 edits in trunk/Source/WebCore
Overwrite existing files with moveFile.
https://bugs.webkit.org/show_bug.cgi?id=143968
Reviewed by Brady Eidson and Anders Carlsson.
- platform/mac/FileSystemMac.mm:
(-[WebFileManagerDelegate fileManager:shouldProceedAfterError:movingItemAtURL:toURL:]):
(WebCore::moveFile):
r182932 introduced moveFile instead of renameFile. In order to preserve behavior, it should overwrite existing files.
- 4:05 PM Changeset in webkit [183034] by
-
- 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r180520. rdar://problem/20546024
- 4:00 PM Changeset in webkit [183033] by
-
- 3 edits in branches/safari-600.1.4.16-branch/Source/WebCore
Merged r179850. rdar://problem/20545969
- 3:53 PM Changeset in webkit [183032] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed Windows build fix after r183031.
- platform/graphics/OpenGLShims.cpp:
(WebCore::lookupOpenGLFunctionAddress):
Windows needs an explicit cast converting LChar* to const char*.
Also, add a FIXME comment for sketchy behavior.
- 3:07 PM Changeset in webkit [183031] by
-
- 27 edits in trunk/Source
Cleanup some StringBuilder use
https://bugs.webkit.org/show_bug.cgi?id=143550
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-20
Reviewed by Darin Adler.
Source/JavaScriptCore:
- runtime/Symbol.cpp:
(JSC::Symbol::descriptiveString):
- runtime/TypeProfiler.cpp:
(JSC::TypeProfiler::typeInformationForExpressionAtOffset):
- runtime/TypeSet.cpp:
(JSC::TypeSet::toJSONString):
(JSC::StructureShape::propertyHash):
(JSC::StructureShape::stringRepresentation):
(JSC::StructureShape::toJSONString):
Source/WebCore:
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::youTubeURL):
- css/CSSAnimationTriggerScrollValue.cpp:
(WebCore::CSSAnimationTriggerScrollValue::customCSSText):
- css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::customCSSText):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
(WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
(WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
(WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
- page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeCSSStyleSheet):
- platform/graphics/OpenGLShims.cpp:
(WebCore::lookupOpenGLFunctionAddress):
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCueAttributes):
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::generateHashedName):
- platform/text/DateTimeFormat.cpp:
(WebCore::DateTimeFormat::quoteAndAppendLiteral):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
- rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList):
- testing/MicroTaskTest.cpp:
(WebCore::MicroTaskTest::run):
- testing/MockContentFilterSettings.cpp:
(WebCore::MockContentFilterSettings::unblockRequestURL):
Source/WebKit2:
- DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
(WebKit::buildObjectStoreStatement):
- DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::v2RecordsTableSchema):
- Shared/Databases/IndexedDB/IDBUtilities.cpp:
(WebKit::uniqueDatabaseIdentifier):
- UIProcess/API/APIUserScript.cpp:
(API::UserScript::generateUniqueURL):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didReceiveInvalidMessage):
- WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::combinedSecurityOriginIdentifier):
- 3:05 PM Changeset in webkit [183030] by
-
- 2 edits in trunk/Tools
prepare-ChangeLog should ignore the preceeding function when processing the removal of a function.
https://bugs.webkit.org/show_bug.cgi?id=143897
Reviewed by David Kilzer.
This is a speculative fix that addresses two issues:
- An off-by-one error which allowed ending lines to be less than starting lines when a hunk was a pure delete.
We were determining ending lines from combined diffs using the logic: End = Start + Offset - 1.
So for a hunk like "@@ -723,10 +721,0 @@ bool foobar", we were generating the following starting/ending line pairs:
Before: (723, 729)
After: (721, 720)
Before is correct, but After should be (721, 721), since it represents the beginning and ending lines for the hunk.
Whether there are zero lines or one line in the hunk, the starting and ending line are the same.
This error was causing bad behavior on purely additive and purely subtractive hunks, but since we only refer
to After when generating ChangeLog output, the extractLineRangeBeforeChange had no visible effect on program output.
The fix is to set End to the max of Start + Offset - 1 and Start, rather than always using the former.
- Creating git diffs from HEAD and not origin/master by default.
Hard-coding origin/master into the originalFile command has the disadvantage of causing the diff to fail entirely
when origin/master does not exist, and to do the wrong thing when determining deleted functions/methods.
- Scripts/prepare-ChangeLog:
(originalFile):
Use HEAD instead of origin/master in default Git case.
(generateFunctionLists):
Ensure that the end line is not less than the start line.
(extractLineRangeAfterChange):
Set the end line to the start line if the end line is less than the start line.
(extractLineRangeBeforeChange):
Ditto.
- 3:05 PM Changeset in webkit [183029] by
-
- 2 edits in trunk/Tools
Suppress warning in prepare-ChangeLog.
https://bugs.webkit.org/show_bug.cgi?id=143882
Reviewed by David Kilzer.
Prune noisy prepare-ChangeLog output by using the List::Util::any function
instead of the deprecated smartmatch operator.
- Scripts/prepare-ChangeLog:
Import the List::Util::any function.
(get_function_line_ranges_for_cpp):
Use the any function instead of smartmatch.
- 2:48 PM Changeset in webkit [183028] by
-
- 10 edits in trunk
Modify the WKWebsiteDataStore API to take a NSSet of types instead of a bitmask
https://bugs.webkit.org/show_bug.cgi?id=143966
Reviewed by Dan Bernstein.
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
(-[WKWebsiteDataRecord dataTypes]):
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore allWebsiteDataTypes]):
(-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
- UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(toWKWebsiteDataTypes):
(-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
Tools:
- MiniBrowser/mac/WK2BrowserWindowController.m:
(dataTypes):
(-[WK2BrowserWindowController fetchWebsiteData:]):
(-[WK2BrowserWindowController fetchAndClearWebsiteData:]):
(-[WK2BrowserWindowController clearWebsiteData:]):
- 2:31 PM Changeset in webkit [183027] by
-
- 4 edits in trunk/Source/JavaScriptCore
Add debugging tools to test if a given pointer is a valid object and in the heap.
https://bugs.webkit.org/show_bug.cgi?id=143910
Reviewed by Geoffrey Garen.
When doing debugging from lldb, sometimes, it is useful to be able to tell if a
purported JSObject is really a valid object in the heap or not. We can add the
following utility functions to help:
isValidCell(heap, candidate) - returns true if the candidate is a "live" cell in the heap.
isInHeap(heap, candidate) - returns true if the candidate is the heap's Object space or Storage space.
isInObjectSpace(heap, candidate) - returns true if the candidate is the heap's Object space.
isInStorageSpace(heap, candidate) - returns true if the candidate is the heap's Storage space.
Also moved lldb callable debug utility function prototypes from
JSDollarVMPrototype.cpp to JSDollarVMPrototype.h as static members of the
JSDollarVMPrototype class. This is so that we can conveniently #include that
file to get the prototypes when we need to call them programmatically from
instrumentation that we add while debugging an issue.
- heap/Heap.h:
(JSC::Heap::storageSpace):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::currentThreadOwnsJSLock):
(JSC::ensureCurrentThreadOwnsJSLock):
(JSC::JSDollarVMPrototype::gc):
(JSC::functionGC):
(JSC::JSDollarVMPrototype::edenGC):
(JSC::functionEdenGC):
(JSC::JSDollarVMPrototype::isInHeap):
(JSC::JSDollarVMPrototype::isInObjectSpace):
(JSC::JSDollarVMPrototype::isInStorageSpace):
(JSC::ObjectAddressCheckFunctor::ObjectAddressCheckFunctor):
(JSC::ObjectAddressCheckFunctor::operator()):
(JSC::JSDollarVMPrototype::isValidCell):
(JSC::JSDollarVMPrototype::isValidCodeBlock):
(JSC::JSDollarVMPrototype::codeBlockForFrame):
(JSC::functionCodeBlockForFrame):
(JSC::codeBlockFromArg):
(JSC::JSDollarVMPrototype::printCallFrame):
(JSC::JSDollarVMPrototype::printStack):
(JSC::JSDollarVMPrototype::printValue):
(JSC::currentThreadOwnsJSLock): Deleted.
(JSC::gc): Deleted.
(JSC::edenGC): Deleted.
(JSC::isValidCodeBlock): Deleted.
(JSC::codeBlockForFrame): Deleted.
(JSC::printCallFrame): Deleted.
(JSC::printStack): Deleted.
(JSC::printValue): Deleted.
- tools/JSDollarVMPrototype.h:
- 1:43 PM Changeset in webkit [183026] by
-
- 4 edits4 adds in trunk
SVGFitToViewBox::viewBoxToViewTransform() has to count for zero physical width and height before calling SVGPreserveAspectRatio::getCTM()
https://bugs.webkit.org/show_bug.cgi?id=143903
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-04-20
Reviewed by Daniel Bates.
Source/WebCore:
Ensure that the SVG viewBoxToView transformation is always invertible.
CG path drawing functions crash if the context is transformed to non-
invertible matrix.
Tests: svg/css/crash-path-zero-height-viewbox.svg
svg/css/crash-path-zero-width-viewbox.svg
- svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::viewBoxToViewTransform):
Do not call SVGPreserveAspectRatio::getCTM() if the physical width or the
physical height is zero.
- svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::getCTM):
Ensure that we are not dividing by zero in this function.
LayoutTests:
- svg/css/crash-path-zero-height-viewbox-expected.txt: Added.
- svg/css/crash-path-zero-height-viewbox.svg: Added.
- svg/css/crash-path-zero-width-viewbox-expected.txt: Added.
- svg/css/crash-path-zero-width-viewbox.svg: Added.
Make sure if the physical width or the physical height of an SVG is zero
and a viewBox is specified, we do not crash.
- 1:25 PM Changeset in webkit [183025] by
-
- 16 edits in trunk
Web Inspector: Improve Support for WeakSet in Console
https://bugs.webkit.org/show_bug.cgi?id=143951
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-20
Reviewed by Darin Adler.
Source/JavaScriptCore:
- inspector/InjectedScriptSource.js:
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::weakSetSize):
(Inspector::JSInjectedScriptHost::weakSetEntries):
- inspector/JSInjectedScriptHost.h:
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries):
Treat WeakSets like special sets.
- inspector/protocol/Runtime.json:
Add a new object subtype, "weakset".
Source/WebInspectorUI:
- UserInterface/Models/NativeFunctionParameters.js:
WeakSet has the same APIs and parameters as Set for the functions it implements.
- UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.isCollectionType):
(WebInspector.RemoteObject.prototype.isWeakCollection):
(WebInspector.RemoteObject.prototype.getCollectionEntries):
(WebInspector.RemoteObject.prototype._weakCollectionObjectGroup):
WeakSet is a weak collection.
- UserInterface/Models/ObjectPreview.js:
(WebInspector.ObjectPreview.prototype.hasSize):
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatParameter):
- UserInterface/Views/FormattedValue.css:
(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset):
(:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap): Deleted.
(:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap) > .size): Deleted.
- UserInterface/Views/FormattedValue.js:
(WebInspector.FormattedValue.createElementForTypesAndValue):
Treat a WeakSet like a set in more places.
LayoutTests:
- inspector/model/remote-object-expected.txt:
- inspector/model/remote-object.html:
Update the test to include a WeakSet example.
Also rebaseline for iterator changes that landed recently.
- 12:40 PM Changeset in webkit [183024] by
-
- 5 edits in trunk/Source/WebCore
CSSParser::parseValue() copies the m_parsedProperties vector at addParsedProperties()
https://bugs.webkit.org/show_bug.cgi?id=143925
Reviewed by Simon Fraser.
Update MutableStyleProperties::addParsedProperties() to use
CSSParser::ParsedPropertyVector type (i.e. Vector<CSSProperty, 256>)
instead of Vector<CSSProperty> so that the properties vector is no
longer copied unnecessarily to convert one type to the other.
- css/CSSParser.h:
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::addParsedProperties):
- css/StyleProperties.h:
- 12:39 PM Changeset in webkit [183023] by
-
- 3 edits in trunk/Source/WebKit/mac
Disable mixed content blocking for existing WebKit1 clients
https://bugs.webkit.org/show_bug.cgi?id=143955
rdar://problem/20177186
Reviewed by Oliver Hunt.
- Misc/WebKitVersionChecks.h:
- WebView/WebView.mm:
(shouldAllowInsecureContent):
(-[WebView _preferencesChanged:]):
- 12:35 PM Changeset in webkit [183022] by
-
- 2 edits in trunk/Source/JavaScriptCore
HashMap storing PropertyKey StringImpl* need to use IdentifierRepHash to handle Symbols
https://bugs.webkit.org/show_bug.cgi?id=143947
Reviewed by Darin Adler.
Type profiler has map between PropertyKey (StringImpl*) and offset.
StringImpl* is also used for Symbol PropertyKey.
So equality of hash tables is considered by interned StringImpl*'s pointer value.
To do so, use IdentifierRepHash instead of StringHash.
- runtime/SymbolTable.h:
- 12:03 PM Changeset in webkit [183021] by
-
- 15 edits in trunk/Source
Should remove mouseForceClick and mouseForceCancelled from DOM force events
https://bugs.webkit.org/show_bug.cgi?id=143904
-and corresponding-
rdar://problem/20578842
Reviewed by Dan Bernstein.
Source/WebCore:
After more thought and discussion, we decided to remove mouseForceClick and
mouseForceCancelled from DOM force events. mouseForceClick is confusing and
redundant. mouseForceCancelled is confusing as it is currently implemented, and
all of its functionality can be filled by exisiting events such as mouseup,
mouseout, etc.
- dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded):
- dom/Document.h:
- dom/Document.idl:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseForceWillBegin):
(WebCore::Element::dispatchMouseForceClick): Deleted.
(WebCore::Element::dispatchMouseForceCancelled): Deleted.
- dom/Element.h:
- dom/Element.idl:
- dom/EventNames.h:
- html/HTMLAttributeNames.in:
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::createWindowEventHandlerNameMap):
- html/HTMLBodyElement.idl:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::createEventHandlerNameMap):
- page/DOMWindow.idl:
Source/WebKit2:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::immediateActionDidCancel):
- 11:48 AM Changeset in webkit [183020] by
-
- 4 edits in trunk
Fix content extension test flakiness.
https://bugs.webkit.org/show_bug.cgi?id=143950
Reviewed by Brady Eidson.
Tools:
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
Remove the TestContentExtensions if it exists.
(WTR::TestController::platformConfigureViewForTest):
Log errors in case there are any.
LayoutTests:
- platform/mac-wk2/TestExpectations:
Mark contentextensions tests as not flaky any more.
- 11:46 AM Changeset in webkit [183019] by
-
- 6 edits in trunk/Source
Implement immediate action support for tel: and mailto: URLs
https://bugs.webkit.org/show_bug.cgi?id=143916
<rdar://problem/19721711>
Reviewed by Darin Adler.
- Shared/API/c/WKImmediateActionTypes.h:
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _animationControllerForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForDataDetectedLink]):
(-[WKImmediateActionController _menuItemForDataDetectedText]): Deleted.
Add _animationControllerForDataDetectedLink and use it when
building immediate actions for tel: and mailto: links.
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
(-[WebImmediateActionController _menuItemForDataDetectedText]): Deleted.
- WebView/WebUIDelegatePrivate.h:
Add _animationControllerForDataDetectedLink and use it when
building immediate actions for tel: and mailto: links.
- 11:45 AM Changeset in webkit [183018] by
-
- 2 edits in trunk/LayoutTests
Should not list these tests twice.
- platform/mac-wk2/TestExpectations:
- 11:31 AM Changeset in webkit [183017] by
-
- 17 edits2 adds in trunk
Setting inline style to the same value it already has triggers a style recalc
https://bugs.webkit.org/show_bug.cgi?id=143922
Reviewed by Antti Koivisto.
Source/WebCore:
MutableStyleProperties::setProperty() was taking the result of CSSParser::parseValue()
to mean "parsing changed the style", but it actually just means "parsing succeeded".
Add a new out param, piped through various parser functions, to indicate whether
parsing actually changed style, and instead return that from setProperty().
Add internals.startTrackingStyleRecalcs() and internals.styleRecalcCount() so
we can write tests for style recalc.
Test: fast/css/set-inline-style-recalc.html
- WebCore.xcodeproj/project.pbxproj: Let Xcode have it's way.
- css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::parseKeywordValue):
(WebCore::parseTranslateTransformValue):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValue):
- css/CSSParser.h:
- css/CSSProperty.h:
(WebCore::StylePropertyMetadata::operator==):
(WebCore::CSSProperty::operator==):
- css/DOMWindowCSS.cpp:
(WebCore::DOMWindowCSS::supports):
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setProperty):
(WebCore::MutableStyleProperties::appendPrefixingVariantProperty):
(WebCore::MutableStyleProperties::addParsedProperties):
(WebCore::MutableStyleProperties::addParsedProperty):
- css/StyleProperties.h:
- css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
- dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::startTrackingStyleRecalcs):
(WebCore::Document::styleRecalcCount):
- dom/Document.h:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
- testing/Internals.cpp:
(WebCore::Internals::startTrackingStyleRecalcs):
(WebCore::Internals::styleRecalcCount):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Test that changes inline-style (to test this bug fix), and classes (for
proactive testing) and counts style recalcs.
- fast/css/set-inline-style-recalc-expected.txt: Added.
- fast/css/set-inline-style-recalc.html: Added.
- 10:14 AM Changeset in webkit [183016] by
-
- 5 edits7 adds in trunk
Crash in StyleResolver::invalidateMatchedPropertiesCache() when using content extensions.
<rdar://problem/20554405> and https://bugs.webkit.org/show_bug.cgi?id=143892
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/tests/contentextensions/style-resolver-changed-reentrancy.html
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
- dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::addContentExtensionUserSheet): Call styleResolverChanged on a delay.
(WebCore::DocumentStyleSheetCollection::maybeAddContentExtensionSheet): Ditto.
(WebCore::DocumentStyleSheetCollection::styleResolverChangedTimerFired):
- dom/DocumentStyleSheetCollection.h:
LayoutTests:
- http/tests/contentextensions/resources/woff-stylesheet.css: Added.
(@font-face):
- http/tests/contentextensions/style-resolver-changed-reentrancy-expected.txt: Added.
- http/tests/contentextensions/style-resolver-changed-reentrancy.html: Added.
- http/tests/contentextensions/style-resolver-changed-reentrancy.html.json: Added.
- http/tests/resources/Ahem.woff: Added.
- 9:49 AM Changeset in webkit [183015] by
-
- 3 edits2 adds in trunk
Favicons are not always loaded.
https://bugs.webkit.org/show_bug.cgi?id=143880
Reviewed by Darin Adler.
Source/WebCore:
If the favicon link element(s) in the document does not have a mime type,
the favicon is loaded from the domain root (/favicon.ico). If no favicon
exists at this location, the favicon loading will fail. This can be solved
by not demanding that the link element has a mime type.
Test: fast/dom/icon-url-without-mimetype.html
- loader/icon/IconController.cpp:
(WebCore::iconFromLinkElements): Return the chosen icon URL instead of a vector of URLs.
(WebCore::IconController::url):
(WebCore::iconsFromLinkElements): Deleted.
LayoutTests:
Added new test for icon link elements without mime type.
- fast/dom/icon-url-without-mimetype-expected.txt: Added.
- fast/dom/icon-url-without-mimetype.html: Added.
- 9:37 AM Changeset in webkit [183014] by
-
- 2 edits in trunk/LayoutTests
Contentextensions tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=143950
- platform/mac-wk2/TestExpectations: Marking them as such.
- 9:13 AM Changeset in webkit [183013] by
-
- 4 edits in trunk
Properly report errors from _WKUserContentExtensionStore.
https://bugs.webkit.org/show_bug.cgi?id=143808
Reviewed by Darin Adler.
Source/WebKit2:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
(-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]):
(-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm:
(TEST_F):
- 8:23 AM Changeset in webkit [183012] by
-
- 3 edits in trunk/Source/WebCore
[CMake] Include ICU unconditionally on the source lists
https://bugs.webkit.org/show_bug.cgi?id=143900
Reviewed by Darin Adler.
No new tests. This is just a build file change.
- CMakeLists.txt: Integrate ICU source files, includes, and libraries into the main
sections. They are shared by all platforms.
- PlatformGTK.cmake: Eliminate build rules that are duplicated from the main CMakeLists.txt.
- 8:05 AM Changeset in webkit [183011] by
-
- 2 edits in trunk/Source/WebCore
AX: iOS: Text input field ignores value of read-only and aria-readonly attributes
https://bugs.webkit.org/show_bug.cgi?id=143946
Reviewed by Mario Sanchez Prada.
Expose an existing method for determining whether the value can be set to the iOS accessibility platform.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityCanSetValue]):
- 3:48 AM Changeset in webkit [183010] by
-
- 4 edits1 add in trunk/LayoutTests
[EFL] Unreviewed gardening
Update test expectations for failing tests.
- platform/efl/fast/box-sizing/box-sizing-expected.png: Rebaseline after 176978.
- platform/efl/fast/box-sizing/box-sizing-expected.txt: Ditto.
- platform/efl/fast/css/image-rendering-expected.txt: Added. Rebaseline after r177774.
- platform/efl/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
Rebaseline after r173857.
- 2:18 AM Changeset in webkit [183009] by
-
- 6 edits1 delete in trunk/Source/WebCore
Merge TreeShared into Node.
<https://webkit.org/b/143942>
Reviewed by Darin Adler.
Node was the only remaining user of TreeShared, so just fold the class into Node.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- dom/Node.cpp:
(WebCore::Node::Node):
(WebCore::Node::~Node):
- dom/Node.h:
(WebCore::Node::ref):
(WebCore::Node::deref):
(WebCore::Node::hasOneRef):
(WebCore::Node::refCount):
(WebCore::adopted):
(WebCore::Node::hasTreeSharedParent): Deleted.
- platform/TreeShared.h: Removed.
- 1:31 AM Changeset in webkit [183008] by
-
- 1 edit1 add in trunk/LayoutTests
[EFL] Unreviewed gardening
Rebaseline after r177774.
- platform/efl/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- 1:29 AM Changeset in webkit [183007] by
-
- 2 edits in trunk/Tools
Add a rule for NetworkCache to watchlist file
https://bugs.webkit.org/show_bug.cgi?id=143945
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2015-04-20
Reviewed by Sergio Villar Senin.
And add myself to the list of watchers.
- Scripts/webkitpy/common/config/watchlist:
- 12:05 AM Changeset in webkit [183006] by
-
- 6 edits3 adds in trunk
Implement
Object.is
https://bugs.webkit.org/show_bug.cgi?id=143865
Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-20
Reviewed by Darin Adler.
Source/JavaScriptCore:
Expose sameValue to JS, via Object.is
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.is
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorIs):
- runtime/PropertyDescriptor.cpp:
(JSC::sameValue):
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/Object-is-expected.txt: Added.
- js/Object-is.html: Added.
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/Object-is.js: Added.
Apr 19, 2015:
- 11:05 PM Changeset in webkit [183005] by
-
- 10 edits in trunk/Source/JavaScriptCore
Remove all the remaining uses of OwnPtr and PassOwnPtr in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=143941
Reviewed by Gyuyoung Kim.
- API/JSCallbackObject.h: Use unique_ptr for m_callbackObjectData.
- API/JSCallbackObjectFunctions.h: Ditto.
- API/ObjCCallbackFunction.h: Use unique_ptr for the arguments to the
create function and the constructor and for m_impl.
- API/ObjCCallbackFunction.mm:
(CallbackArgumentOfClass::CallbackArgumentOfClass): Streamline this
class by using RetainPtr<Class>.
(ArgumentTypeDelegate::typeInteger): Use make_unique.
(ArgumentTypeDelegate::typeDouble): Ditto.
(ArgumentTypeDelegate::typeBool): Ditto.
(ArgumentTypeDelegate::typeVoid): Ditto.
(ArgumentTypeDelegate::typeId): Ditto.
(ArgumentTypeDelegate::typeOfClass): Ditto.
(ArgumentTypeDelegate::typeBlock): Ditto.
(ArgumentTypeDelegate::typeStruct): Ditto.
(ResultTypeDelegate::typeInteger): Ditto.
(ResultTypeDelegate::typeDouble): Ditto.
(ResultTypeDelegate::typeBool): Ditto.
(ResultTypeDelegate::typeVoid): Ditto.
(ResultTypeDelegate::typeId): Ditto.
(ResultTypeDelegate::typeOfClass): Ditto.
(ResultTypeDelegate::typeBlock): Ditto.
(ResultTypeDelegate::typeStruct): Ditto.
(JSC::ObjCCallbackFunctionImpl::ObjCCallbackFunctionImpl): Use
unique_ptr for the arguments to the constructor, m_arguments, and m_result.
Use RetainPtr<Class> for m_instanceClass.
(JSC::objCCallbackFunctionCallAsConstructor): Use nullptr instead of nil or 0
for non-Objective-C object pointer null.
(JSC::ObjCCallbackFunction::ObjCCallbackFunction): Use unique_ptr for
the arguments to the constructor and for m_impl.
(JSC::ObjCCallbackFunction::create): Use unique_ptr for arguments.
(skipNumber): Mark this static since it's local to this source file.
(objCCallbackFunctionForInvocation): Call parseObjCType without doing any
explicit adoptPtr since the types in the traits are now unique_ptr. Also use
nullptr instead of nil for JSObjectRef values.
(objCCallbackFunctionForMethod): Tweaked comment.
(objCCallbackFunctionForBlock): Use nullptr instead of 0 for JSObjectRef.
- bytecode/CallLinkInfo.h: Removed unneeded include of OwnPtr.h.
- heap/GCThread.cpp:
(JSC::GCThread::GCThread): Use unique_ptr.
- heap/GCThread.h: Use unique_ptr for arguments to the constructor and for
m_slotVisitor and m_copyVisitor.
- heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::GCThreadSharedData): Ditto.
- parser/SourceProvider.h: Removed unneeded include of PassOwnPtr.h.
- 10:32 PM Changeset in webkit [183004] by
-
- 5 edits in branches/safari-600.1.4.16-branch/Source
Versioning.
- 10:30 PM Changeset in webkit [183003] by
-
- 1 copy in branches/safari-600.1.4.16-branch
New Branch.
- 9:47 PM Changeset in webkit [183002] by
-
- 2 edits in trunk/Websites/webkit.org
Fixed a typo.
- coding/RefPtr.html:
- 9:42 PM Changeset in webkit [183001] by
-
- 9 edits in trunk
Update RefPtr documentation and deprecation
https://bugs.webkit.org/show_bug.cgi?id=143936
Reviewed by Andreas Kling.
Source/WTF:
- WTF.vcxproj/WTF.vcxproj: Removed PassRef.h
- WTF.vcxproj/WTF.vcxproj.filters: Ditto.
- WTF.xcodeproj/project.pbxproj: Ditto.
- wtf/CMakeLists.txt: Ditto.
Tools:
- Scripts/do-webcore-rename: Put in some DeprecatedPassRefPtr renames.
Websites/webkit.org:
- coding/RefPtr.html: Updated.
- 9:17 PM Changeset in webkit [183000] by
-
- 5 edits in branches/safari-600.6-branch/Source
Versioning.
- 9:08 PM Changeset in webkit [182999] by
-
- 1 copy in tags/Safari-600.6.2
New tag.
- 8:54 PM Changeset in webkit [182998] by
-
- 4 edits in trunk/Source
Improve the feature.json files
- features.json:
- 6:45 PM Changeset in webkit [182997] by
-
- 14 edits3 adds in trunk
Introduce bytecode intrinsics
https://bugs.webkit.org/show_bug.cgi?id=143926
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch introduces bytecode level intrinsics into builtins/*.js JS code.
When implementing functions in builtins/*.js,
sometimes we require lower level functionality.
For example, in the current Array.from, we use
result[k] = value.
The spec requires[[DefineOwnProperty]]operation here.
However, usualresult[k] = valueis evaluated as[[Set]]. (PutValue=>[[Set]])
So if we implementArray.prototype[k]getter/setter, the difference is observable.
Ideally, reaching here, we would like to use put_by_val_direct bytecode.
However, there's no syntax to generate it directly.
This patch introduces bytecode level intrinsics into JSC BytecodeCompiler.
Like @call, @apply, we introduce a new node, Intrinsic.
These are generated when calling appropriate private symbols in privileged code.
AST parser detects them and generates Intrinsic nodes and
BytecodeCompiler detects them and generate required bytecodes.
Currently, Array.from implementation works fine without this patch.
This is because when the target code is builtin JS,
BytecodeGenerator emits put_by_val_direct instead of put_by_val.
This solves the above issue. However, instead of solving this issue,
it raises another issue; There's no way to emit[[Set]]operation.
[[Set]]operation is actually used in the spec (Array.from's "length" is set by[[Set]]).
So to implement it precisely, introducing bytecode level intrinsics is necessary.
In the subsequent fixes, we'll remove that special path emitting put_by_val_direct
forresult[k] = valueunder builtin JS environment. Instead of that special handling,
use bytecode intrinsics instead. It solves problems and it is more intuitive
because written JS code in builtin works as the same to the usual JS code.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/ArrayConstructor.js:
(from):
- bytecode/BytecodeIntrinsicRegistry.cpp: Added.
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
- bytecode/BytecodeIntrinsicRegistry.h: Added.
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emitBytecode):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByValDirect):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
- parser/NodeConstructors.h:
(JSC::BytecodeIntrinsicNode::BytecodeIntrinsicNode):
- parser/Nodes.h:
(JSC::BytecodeIntrinsicNode::identifier):
- runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
- runtime/CommonIdentifiers.h:
(JSC::CommonIdentifiers::bytecodeIntrinsicRegistry):
- tests/stress/array-from-with-accessors.js: Added.
(shouldBe):
Tools:
Change cpplint to accept emit_intrinsic_XXX.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
- 6:28 PM Changeset in webkit [182996] by
-
- 3 edits in trunk
[CMake] Synchronize variables between WebKitFeatures.cmake and cmakedonfig.h.cmake
https://bugs.webkit.org/show_bug.cgi?id=143935
Reviewed by Darin Adler.
Some variables aren't defined in these files or unused variables aren't removed. This
patch cleans up it as well as fix wrong alphabet order.
- Source/cmake/WebKitFeatures.cmake:
- Source/cmakeconfig.h.cmake:
- 11:59 AM Changeset in webkit [182995] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
Make Builtin functions non constructible
https://bugs.webkit.org/show_bug.cgi?id=143923
Reviewed by Darin Adler.
Builtin functions defined by builtins/*.js accidentally have Construct.
According to the spec, these functions except for explicitly defined as a constructor do not have Construct.
This patch fixes it. When the JS function used for a construction is builtin function, throw not a constructor error.
Ideally, returning ConstructTypeNone in JSFunction::getConstructData is enough.
However, to avoid calling getConstructData (it involves indirect call of function pointer of getConstructData), some places do not check ConstructType.
In these places, they only check the target function is JSFunction because previously JSFunction always has Construct.
So in this patch, we checkisBuiltinFunction()in those places.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inliningCost):
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
- runtime/JSFunction.cpp:
(JSC::JSFunction::getConstructData):
- tests/stress/builtin-function-is-construct-type-none.js: Added.
(shouldThrow):
- 11:08 AM Changeset in webkit [182994] by
-
- 12 edits11 adds in trunk
[ES6] Implement WeakSet
https://bugs.webkit.org/show_bug.cgi?id=142408
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch implements ES6 WeakSet.
Current implementation simply leverages WeakMapData with undefined value.
This WeakMapData should be optimized in the same manner as MapData/SetData in the subsequent patch[1].
And in this patch, we also fix WeakMap/WeakSet behavior to conform the ES6 spec.
Except for adders (WeakMap.prototype.set/WeakSet.prototype.add),
methods return false (or undefined for WeakMap.prototype.get)
when a key is not Object instead of throwing a type error.
[1]: https://bugs.webkit.org/show_bug.cgi?id=143919
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- runtime/JSWeakSet.cpp: Added.
(JSC::JSWeakSet::finishCreation):
(JSC::JSWeakSet::visitChildren):
- runtime/JSWeakSet.h: Added.
(JSC::JSWeakSet::createStructure):
(JSC::JSWeakSet::create):
(JSC::JSWeakSet::weakMapData):
(JSC::JSWeakSet::JSWeakSet):
- runtime/WeakMapPrototype.cpp:
(JSC::getWeakMapData):
(JSC::protoFuncWeakMapDelete):
(JSC::protoFuncWeakMapGet):
(JSC::protoFuncWeakMapHas):
- runtime/WeakSetConstructor.cpp: Added.
(JSC::WeakSetConstructor::finishCreation):
(JSC::callWeakSet):
(JSC::constructWeakSet):
(JSC::WeakSetConstructor::getConstructData):
(JSC::WeakSetConstructor::getCallData):
- runtime/WeakSetConstructor.h: Added.
(JSC::WeakSetConstructor::create):
(JSC::WeakSetConstructor::createStructure):
(JSC::WeakSetConstructor::WeakSetConstructor):
- runtime/WeakSetPrototype.cpp: Added.
(JSC::WeakSetPrototype::finishCreation):
(JSC::getWeakMapData):
(JSC::protoFuncWeakSetDelete):
(JSC::protoFuncWeakSetHas):
(JSC::protoFuncWeakSetAdd):
- runtime/WeakSetPrototype.h: Added.
(JSC::WeakSetPrototype::create):
(JSC::WeakSetPrototype::createStructure):
(JSC::WeakSetPrototype::WeakSetPrototype):
- tests/stress/weak-set-constructor-adder.js: Added.
(WeakSet.prototype.add):
- tests/stress/weak-set-constructor.js: Added.
LayoutTests:
Add basic-weakset test and fix WeakMap behavior to conform the latest spec.
- js/dom/basic-weakmap-expected.txt:
- js/dom/basic-weakset-expected.txt: Added.
- js/dom/basic-weakset.html: Added.
- js/dom/script-tests/basic-weakmap.js:
- js/dom/script-tests/basic-weakset.js: Added.
- 9:17 AM Changeset in webkit [182993] by
-
- 2 edits in trunk
Restore the WebKit.xcworkspace to the way it was before r182899,
which inadvertently added the Source directory and a couple of source
files.
- WebKit.xcworkspace/contents.xcworkspacedata:
- 12:10 AM Changeset in webkit [182992] by
-
- 5 edits in branches/safari-600.6-branch/Source
Versioning.