Timeline
Apr 13, 2014:
- 11:58 PM Changeset in webkit [167211] by
-
- 6 edits1 add in trunk
userVisibleString should not try to "encode" host names
https://bugs.webkit.org/show_bug.cgi?id=131587
rdar://problem/14686849
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- WebCore.exp.in: Updated for WebCoreNSURLExtras argument type changes.
- platform/mac/WebCoreNSURLExtras.h: Removed unneeded code to make this
Objective-C++ header compile in plain C++ files, which we never need to do.
Added missing argument name, baseURL, and changed mysterious CFIndex arguments
to the correct type, CFURLComponentType.
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isLookalikeCharacter): Removed the inline keyword from this, and added
more lookalike characters from the Mozilla list referenced here.
(WebCore::URLByTruncatingOneCharacterBeforeComponent): Updated argument type.
(WebCore::dataForURLComponentType): Ditto.
(WebCore::userVisibleString): Only call mapHostNames if host name decoding is
needed; no encoding here.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added URLExtras.mm.
- TestWebKitAPI/Tests/mac/URLExtras.mm: Added. A few tests for WebCoreNSURLExtras.
Coverage is tiny at this point; we could add a lot more cases!
- 11:55 PM Changeset in webkit [167210] by
-
- 14 edits2 adds in trunk
REGRESSION (r158617): Find on Page can get stuck in a loop when the search string occurs in an <input> in a <fieldset>
https://bugs.webkit.org/show_bug.cgi?id=126322
Reviewed by Ryosuke Niwa.
Source/WebCore:
- dom/Element.cpp:
(WebCore::Element::canContainRangeEndPoint): Now returns false when the role of the element
is "img". This is the same rule that's hard-coded in isRenderReplacedElement for the same
reason. Need more test coverage to make sure this role feature works consistently.
- dom/Element.h: Made canContainRangeEndPoint no longer inline since it's not just a
return statement any more.
- dom/Position.cpp:
(WebCore::Position::isCandidate): Took out code that calls isRendererReplacedElement
that was added in r158617; not needed now that we updated canContainRangeEndPoint.
- dom/Range.cpp:
(WebCore::Range::firstNode): Removed code here that called isRendererReplacedElement.
This was the wrong level to be adding editing logic, and there's a FIXME here to that
effect, which we are now deleting. This was the change that broke Find.
- editing/TextIterator.cpp: Added a comment about the redundancy between the
isRendererReplacedElement and editingIgnoresContent functions.
- html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::canContainRangeEndPoint): Call through to base class instead
of just returning true when we have child nodes. Lets Element::canContainRangeEndPoint
do its thing.
- html/HTMLHRElement.h: Ditto.
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::canContainRangeEndPoint): Call through to base class instead
of just returning true when we have fallback content. Lets Element::canContainRangeEndPoint
do its thing.
- html/HTMLObjectElement.h: Ditto.
- testing/Internals.cpp:
(WebCore::Internals::countMatchesForText): Set the limit to 1000 instead of infinite.
LayoutTests:
- editing/text-iterator/count-matches-in-form-expected.txt: Added.
- editing/text-iterator/count-matches-in-form.html: Added.
- fast/text/window-find.html: Tweaked the test a bit, making it a little easier to
see if the test hasn't even run.
- 11:55 PM WebKitGTK/2.4.x edited by
- (diff)
- 10:35 PM April 2014 Meeting edited by
- Add my intentions to attend talks/hackathons (diff)
- 10:29 PM Changeset in webkit [167209] by
-
- 2 edits in trunk/Tools
Use #include instead of #import
https://bugs.webkit.org/show_bug.cgi?id=131604
Reviewed by Darin Adler.
Fix "warning: #import is a deprecated GCC extension [-Wdeprecated]".
- TestWebKitAPI/Tests/WTF/StringView.cpp:
- 9:28 PM Changeset in webkit [167208] by
-
- 6 edits in trunk/Source/WebCore
Use unique_ptr for FillLayer::m_next
https://bugs.webkit.org/show_bug.cgi?id=75222
Reviewed by Dan Bernstein.
- css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFillLayer::applyInheritValue):
Renamed currChild to just child and prevChild to previousChild.
Changed code to pass ownership of the new FillLayer immediately.
Changed some loops to be for loops.
(WebCore::ApplyPropertyFillLayer::applyInitialValue): Ditto.
(WebCore::ApplyPropertyFillLayer::applyValue): Ditto.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::backgroundHasOpaqueTopLayer): Use reference
instead of pointer.
(WebCore::RenderBox::paintFillLayers): Ditto.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended): Ditto.
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::FillLayer): Removed m_next initializer since it is now an
OwnPtr and initializes automatically. In a couple other places, changed m_next
initializer to use make_unique.
(WebCore::FillLayer::~FillLayer): Wrote loop for deletion of m_next.
(WebCore::FillLayer::operator=): Removed unneeded explicit deletion of m_next.
(WebCore::FillLayer::cullEmptyLayers): Ditto.
(WebCore::clipMax): Marked inline.
(WebCore::FillLayer::computeClipMax): Rewrote to use a loop instead of recursion.
(WebCore::FillLayer::containsImage): Ditto.
(WebCore::FillLayer::imagesAreLoaded): Ditto.
(WebCore::FillLayer::hasOpaqueImage): Rewrote to use && instead of multiple if.
(WebCore::FillLayer::hasImage): Rewrote to use a loop instead of recursion.
(WebCore::FillLayer::hasFixedImage): Ditto.
- rendering/style/FillLayer.h: Changed m_next to be a unique_ptr.
- 7:57 PM Changeset in webkit [167207] by
-
- 15 edits1 add in trunk/Source
[QuickLook] Move file system-related code into WebKit
https://bugs.webkit.org/show_bug.cgi?id=131597
Reviewed by Dan Bernstein.
Source/WebCore:
QuickLookHandle should not be responsible for saving a copy of the
original document to disk as it might be running in a process that
either can't write to disk or can only write into a sandboxed
container. To account for this, we need to separate the concern of
quick look conversion from that of original document saving so that
each activity can run in the appropriate process.
Created a new interface between WebCore and WebKit by adding a client
(QuickLookHandleClient) to QuickLookHandle which is notified of incoming
bytes. A new function on FrameLoaderClient tells WebKit when a new
QuickLookHandle is created, giving WebKit the opportunity to register a
handle client. Moved the existing file system-related code as well as
code only needed by WebKit1 in QuickLookHandle into a new WebKit1
QuickLookHandleClient subclass.
- WebCore.exp.in:
- WebCore.xcodeproj/project.pbxproj: Made QuickLookHandleClient.h Private.
- loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::didCreateQuickLookHandle): Added.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didCreateQuickLookHandle): Called FrameLoaderClient::didCreateQuickLookHandle().
- loader/ResourceLoader.h:
- platform/network/ResourceHandle.h: Made m_quickLook a unique_ptr.
(WebCore::ResourceHandle::setQuickLookHandle): Changed to take a unique_ptr.
- platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didCreateQuickLookHandle): Added.
- platform/network/ios/QuickLook.h: Added m_client, gave m_converter a stronger type, and made m_nsResponse a RetainPtr.
(WebCore::QuickLookHandle::setClient): Added.
(WebCore::QuickLookHandle::firstRequestURL): Added.
(WebCore::QuickLookHandle::converter): Added.
- platform/network/ios/QuickLook.mm:
(WebCore::registerQLPreviewConverterIfNeeded):
(WebCore::createTemporaryFileForQuickLook): Made non-static.
(WebCore::emptyClient): Returned a shared empty QuickLookHandleClient.
(WebCore::QuickLookHandle::QuickLookHandle): Removed file system and WebKit1-only code.
(WebCore::QuickLookHandle::create): Changed to return a unique_ptr.
(WebCore::QuickLookHandle::nsResponse):
(WebCore::QuickLookHandle::didReceiveDataArray): Removed file system code and called QuickLookHandleClient::didReceiveDataArray() instead.
(WebCore::QuickLookHandle::didReceiveData): Removed file system code and called QuickLookHandleClient::didReceiveData() instead.
(WebCore::QuickLookHandle::didFinishLoading): Removed file system code and called QuickLookHandleClient::didFinishLoading() instead.
(WebCore::QuickLookHandle::didFail): Removed file system and WebKit1-only code, calling QuickLookHandleClient::didFail() instead.
(WebCore::QuickLookHandle::~QuickLookHandle): Removed file system and WebKit1-only code. Cleared our reference to m_client.
(WebCore::QuickLookHandle::previewFileName): Retrieved from m_converter.
(WebCore::QuickLookHandle::previewRequestURL): Ditto.
- platform/network/ios/QuickLookHandleClient.h: Added.
(WebCore::QuickLookHandleClient::~QuickLookHandleClient):
(WebCore::QuickLookHandleClient::didReceiveDataArray):
(WebCore::QuickLookHandleClient::didReceiveData):
(WebCore::QuickLookHandleClient::didFinishLoading):
(WebCore::QuickLookHandleClient::didFail):
Source/WebKit/mac:
Moved file system and WebKit1-only code from QuickLookHandle into a new
QuickLookHandleClient subclass.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
Source/WebKit2:
- WebProcess/Network/WebResourceLoader.h: Made m_quickLookHandle a unique_ptr.
- WebProcess/ios/WebResourceLoaderIOS.mm:
(WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):
- 6:35 PM Changeset in webkit [167206] by
-
- 2 edits in trunk/Source/WTF
Relax adoption requirements of RefCounted objects that are NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=131593
Reviewed by Dan Bernstein.
RefCounted objects that are created by NeverDestroyed<> won't have a
RefPtr adopting them, so call relaxAdoptionRequirements().
- wtf/NeverDestroyed.h:
(WTF::NeverDestroyed::NeverDestroyed):
(WTF::NeverDestroyed::MaybeRelax::MaybeRelax):
- 5:02 PM Changeset in webkit [167205] by
-
- 3 edits12 adds in trunk/PerformanceTests
Added some website recordings to MallocBench -- taken from Membuster
https://bugs.webkit.org/show_bug.cgi?id=131601
Reviewed by Ryosuke Niwa.
Added flickr, reddit, and theverge -- each recorded from Membuster's
cache, with and without sending Safari a low memory warning.
- MallocBench/MallocBench.xcodeproj/project.pbxproj:
- MallocBench/MallocBench/Benchmark.cpp:
- MallocBench/MallocBench/flickr.cpp: Added.
(benchmark_flickr):
(benchmark_flickr_memory_warning):
- MallocBench/MallocBench/flickr.h: Added.
- MallocBench/MallocBench/flickr.ops: Added.
- MallocBench/MallocBench/flickr_memory_warning.ops: Added.
- MallocBench/MallocBench/reddit.cpp: Added.
(benchmark_reddit):
(benchmark_reddit_memory_warning):
- MallocBench/MallocBench/reddit.h: Added.
- MallocBench/MallocBench/reddit.ops: Added.
- MallocBench/MallocBench/reddit_memory_warning.ops: Added.
- MallocBench/MallocBench/theverge.cpp: Added.
(benchmark_theverge):
(benchmark_theverge_memory_warning):
- MallocBench/MallocBench/theverge.h: Added.
- MallocBench/MallocBench/theverge.ops: Added.
- MallocBench/MallocBench/theverge_memory_warning.ops: Added.
- 4:28 PM Changeset in webkit [167204] by
-
- 3 edits in trunk/Source/bmalloc
Fixed some mbmalloc exports
https://bugs.webkit.org/show_bug.cgi?id=131599
Reviewed by Ryosuke Niwa.
- bmalloc.xcodeproj/project.pbxproj: Made some headers a private part
of the project, so we can call them from API.
- bmalloc/mbmalloc.cpp: Marked the mbmalloc functions with default
visibility, so they show up as exported in the .dylib.
- 4:21 PM Changeset in webkit [167203] by
-
- 4 edits in trunk/PerformanceTests
MallocBench record/replay should support realloc
https://bugs.webkit.org/show_bug.cgi?id=131598
Reviewed by Ryosuke Niwa.
- MallocBench/MallocBench.xcodeproj/project.pbxproj: Fixed some linkage
issues that caused us not to fully link to system malloc in the default
case. Also marked mbmalloc.dylib as required so the error message will
be clearer if we mess up.
- MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::run):
- MallocBench/MallocBench/Interpreter.h: Added the realloc case, and
upgraded one-letter names to full words.
- 4:03 PM April 2014 Meeting edited by
- Add a hackathon to import more w3c tests (diff)
- 1:02 PM Changeset in webkit [167202] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r167164): -[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:] _block_invoke can access a deallocated completionHandler
https://bugs.webkit.org/show_bug.cgi?id=131595
Reviewed by Dan Bernstein.
Make a copy of completionHandler and release it after we're done with it.
- Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
- 12:23 PM Changeset in webkit [167201] by
-
- 5 edits in trunk/Source/WebKit2
Don't use ImportanceAssertion on iOS
https://bugs.webkit.org/show_bug.cgi?id=131481
<rdar://problem/16575830>
Reviewed by Darin Adler.
We have other API to mark processes as being in use on iOS. No need to use ImportanceAssertion.
- Platform/IPC/MessageDecoder.cpp:
- Platform/IPC/MessageDecoder.h:
- Platform/IPC/mac/ConnectionMac.cpp:
(IPC::Connection::receiveSourceEventHandler):
- Platform/IPC/mac/ImportanceAssertion.h:
- 12:20 PM Changeset in webkit [167200] by
-
- 3 edits in trunk/Source/WebCore
Move early return out of dispatch_async() block so we can return from willSendRequest quickly
https://bugs.webkit.org/show_bug.cgi?id=131478
<rdar://problem/16575535>
Reviewed by Alexey Proskuryakov.
Do a quick check to see if we need to synthesize the redirect response on the dispatch queue
and return from willSendRequest callback quickly instead of always doing an effectively synchronous
call to the main thread. We can't call synthesizeRedirectResponseIfNecessary on the dispatch
queue since that accesses the ResourceRequest.
No new tests because no change in functionality.
- platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest): Save the
request scheme to use later for early return from willSendRequest.
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
- 11:01 AM Changeset in webkit [167199] by
-
- 70 edits3 adds2 deletes in trunk
Rewrite Function.bind as a builtin
https://bugs.webkit.org/show_bug.cgi?id=131083
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This change removes the existing function.bind implementation
entirely so JSBoundFunction is no more.
Instead we just return a regular JS closure with a few
private properties hanging off it that allow us to perform
the necessary bound function fakery. While most of this is
simple, a couple of key changes:
- The parser and lexer now directly track whether they're parsing code for call or construct and convert the private name @IsConstructor into TRUETOK or FALSETOK as appropriate. This automatically gives us the ability to vary behaviour from within the builtin. It also leaves a lot of headroom for trivial future improvements.
- The instanceof operator now uses the prototypeForHasInstance private name, and we have a helper function to ensure that all objects that need to can update their magical 'prototype' property pair correctly.
- API/JSScriptRef.cpp:
(parseScript):
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createBuiltinExecutable):
- builtins/Function.prototype.js:
(bind.bindingFunction):
(bind.else.bindingFunction):
(bind):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
- bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
- interpreter/Interpreter.cpp:
- parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
- parser/Lexer.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
- parser/Parser.h:
(JSC::parse):
- parser/ParserModes.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CommonIdentifiers.h:
- runtime/Completion.cpp:
(JSC::checkSyntax):
- runtime/Executable.cpp:
(JSC::ProgramExecutable::checkSyntax):
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::functionProtoFuncBind): Deleted.
- runtime/JSBoundFunction.cpp: Removed.
- runtime/JSBoundFunction.h: Removed.
- runtime/JSFunction.cpp:
(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncSetTypeErrorAccessor):
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.h:
(JSC::JSObject::inlineGetOwnPropertySlot):
Source/WebCore:
Switch WebCore to use the helper functions when defining the
prototype properties on DOM constructors, and update bindings
tests accordingly.
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::finishCreation):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::finishCreation):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattributeConstructor::finishCreation):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonlyConstructor::finishCreation):
LayoutTests:
Testing.
- js/dom/function-bind-expected.txt:
- js/regress/function-bind-expected.txt: Added.
- js/regress/function-bind.html: Added.
- js/regress/script-tests/function-bind.js: Added.
(foo):
- 9:41 AM Changeset in webkit [167198] by
-
- 2 edits in trunk/Source/WebCore
[iOS WK2] Hook up scrolling tree nodes when coming out of the page cache
https://bugs.webkit.org/show_bug.cgi?id=131577
Reviewed by Tim Horton.
The call to scrollingCoordinator->frameViewRootLayerDidChange() was inside
a #if !PLATFORM(IOS) block, but now that we use the ScrollingCoordinator
for WK2 we want to call this.
- loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):
- 7:59 AM Changeset in webkit [167197] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r167196.
- platform/RemoteCommandListener.cpp:
(WebCore::RemoteCommandListener::create): Fall back to using the new operator
for allocating RemoteCommandListener object. Using std::make_unique() requires
for the operator to be public, which doesn't work well with the static create()
method.
- 7:18 AM Changeset in webkit [167196] by
-
- 10 edits in trunk/Source/WebCore
Remove unnecessary uses of std::move() in return statements
https://bugs.webkit.org/show_bug.cgi?id=131457
Reviewed by Darin Adler.
Don't use std::move() in return statements unless necessary as it inhibits
named return value optimizations as performed by compilers.
- Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create):
- html/FormController.cpp:
(WebCore::FormController::createSavedFormStateMap):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
- platform/RemoteCommandListener.cpp:
(WebCore::RemoteCommandListener::create):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayer::create):
- platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListener::create):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFilters):
- rendering/style/CounterDirectives.cpp:
(WebCore::clone):
- 4:23 AM Changeset in webkit [167195] by
-
- 11 edits in trunk/Source
Unreviewed, rolling out r167168 and r167194.
https://bugs.webkit.org/show_bug.cgi?id=131589
Caused massive ASSERTION failures on the GTK Debug bot
(Requested by philn on #webkit).
Reverted changesets:
"[GTK] Add HighDPI support for non-accelerated compositing
contents"
https://bugs.webkit.org/show_bug.cgi?id=131562
http://trac.webkit.org/changeset/167168
Source/WebCore:
"Unreviewed. Fix GTK+ build with recent cairo and GTK+ after
r167168."
http://trac.webkit.org/changeset/167194
Source/WebKit2:
"Unreviewed. Fix GTK+ build with recent cairo and GTK+ after
r167168."
http://trac.webkit.org/changeset/167194
- 2:46 AM Changeset in webkit [167194] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build with recent cairo and GTK+ after r167168.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreateWebPage):
- 2:33 AM Changeset in webkit [167193] by
-
- 9 edits4 adds in trunk
[GStreamer] No CORS support for media elements
https://bugs.webkit.org/show_bug.cgi?id=99037
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-13
Reviewed by Philippe Normand.
Source/WebCore:
Added CORS access control check to media sources when crossorigin attribute is set.
Added getter to CORS access control check status (used to compute whether the stream is tainted or not).
Related test is http/tests/security/video-cross-origin-readback.html.
Disabled access to cross-origin streams that fail CORS check when crossorigin attribute is set.
Related test is http/tests/security/video-cross-origin-accessfailure.html.
Tests: http/tests/security/video-cross-origin-accessfailure.html
http/tests/security/video-cross-origin-accesssameorigin.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::didPassCORSAccessCheck): Return whether media is cross-origin (tainted) or not by querying the gstreamer source layer.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Added MediaPlayerPrivateGStreamer::didPassCORSAccessCheck declaration.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Passed CORS mode parameter to the streaming client. In case of CORS check failure, stop the resource loading.
(webKitSrcPassedCORSAccessCheck): Return whether CORS access control check was done and successful.
(StreamingClient::handleResponseReceived): Take a parameter to assign the CORS access control check result.
(CachedResourceStreamingClient::CachedResourceStreamingClient): Updated setting of the ResourceLoaderOptions according CORS mode.
(CachedResourceStreamingClient::responseReceived): Check CORS and pass result to handleResponseReceived.
(ResourceHandleStreamingClient::didReceiveResponse): No CORS check.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Added webKitSrcPassedCORSAccessCheck declaration.
LayoutTests:
http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
are not played when crossorigin attribute is set.
http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
are played when crossorigin attribute is set.
- http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
- http/tests/security/video-cross-origin-accessfailure.html: Added.
- http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
- http/tests/security/video-cross-origin-accesssameorigin.html: Added.
- platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
- platform/gtk/TestExpectations: Ditto.
- platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.
- 1:05 AM Changeset in webkit [167192] by
-
- 5 edits in trunk
REGRESSION (r166860): ASSERTION FAILED: !isCalculated() on fast/css/image-set-value-not-removed-crash.html
https://bugs.webkit.org/show_bug.cgi?id=131480
Reviewed by Andreas Kling.
Source/WebCore:
Fixes intermittent assertion failure in fast/css/image-set-value-not-removed-crash.html.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForImageSliceSide): Added. Helper used below in valueForNinePieceImageSlice.
Handles calculated values by returning 0; incorrect but predictable.
(WebCore::valueForNinePieceImageSlice): Updated to call valueForImageSliceSide.
(WebCore::positionOffsetValue): Use nullptr.
(WebCore::ComputedStyleExtractor::propertyValue): Updated to call positionOffsetValue
by its new name. Removed "get" from the name.
(WebCore::positionOffsetValue): Renamed from getPositionOffsetValue.
- platform/Length.h: Made isCalculated public.
LayoutTests:
- platform/mac/TestExpectations: Unskip the test now that the assertion is fixed.
Apr 12, 2014:
- 6:50 PM Changeset in webkit [167191] by
-
- 5 edits in trunk
Make slow-stress tests run faster by running fewer VM variants.
Rubber stamped by Geoffrey Garen.
Tools:
- Scripts/run-javascriptcore-tests:
- Scripts/run-jsc-stress-tests:
LayoutTests:
- jsc-layout-tests.yaml:
- 4:59 PM Changeset in webkit [167190] by
-
- 3 edits in trunk/Source/WebCore
Fix the iOS build after r167183.
- platform/network/ResourceHandle.h:
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::schedule):
(WebCore::ResourceHandle::unschedule):
- 4:01 PM Changeset in webkit [167189] by
-
- 16 edits3 adds in trunk
Math.fround() should be an intrinsic
https://bugs.webkit.org/show_bug.cgi?id=131583
Source/JavaScriptCore:
Reviewed by Geoffrey Garen.
Makes programs that use Math.fround() run up to 6x faster.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- 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):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithFRound):
- runtime/Intrinsic.h:
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
LayoutTests:
Reviewed by Geoffrey Garen.
This test runs 4.4635x faster with the intrinsic.
- js/regress/fround-expected.txt: Added.
- js/regress/fround.html: Added.
- js/regress/script-tests/fround.js: Added.
- 2:06 PM Changeset in webkit [167188] by
-
- 6 edits in trunk/Source
[iOS] Move QuickLookHandle from ResourceLoader to WebResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=131580
Reviewed by Darin Adler.
There's no need to bloat WebKit1's ResourceLoader with a pointer that
only WebKit2's WebResourceLoader cares about.
Source/WebCore:
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::quickLookHandle): Deleted.
(WebCore::ResourceLoader::setQuickLookHandle): Deleted.
Source/WebKit2:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/ios/WebResourceLoaderIOS.mm:
(WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):
- 1:41 PM Changeset in webkit [167187] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
FTL should use stackmap register liveness
https://bugs.webkit.org/show_bug.cgi?id=130791
Reviewed by Goeffrey Garen.
Enable the stackmap register liveness support by fixing the two last bugs:
- If everything is dead after the patchpoint - a good possibility for a put_by_id - then we shouldn't crash due to a null scratch buffer.
- Always consider callee-saves as if they were live. More precisely, we should consider those callee-saves that are not saved by the enclosing function to be live. For now we do the much simpler thing and consider callee-saves to be always live since it has minimal impact on the scratch register allocator. It will know not to preserve those for calls, anyway.
I tried writing a test for the null scratch buffer thing, but failed. I will land the
test anyway since it seems useful.
- ftl/FTLCompile.cpp:
(JSC::FTL::usedRegistersFor):
- jit/ScratchRegisterAllocator.cpp:
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall):
- runtime/Options.h:
- tests/stress/repeated-put-by-id-reallocating-transition.js: Added.
(foo):
- 1:06 PM Changeset in webkit [167186] by
-
- 2 edits in trunk/Source/WebCore
AX: Cleanup AccessibilityObject::getAttribute
https://bugs.webkit.org/show_bug.cgi?id=131555
Reviewed by Darin Adler.
No new functionality.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::getAttribute):
- 1:01 PM Changeset in webkit [167185] by
-
- 8 edits in trunk
[SOUP] Libsoup internal credential setting should be controlled by loader decision
https://bugs.webkit.org/show_bug.cgi?id=130963
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-12
Reviewed by Darin Adler.
Source/WebCore:
Disabled libsoup internal authentication manager for messages for which no credential is available and no stored credentials should be used.
Updated synchronous loader to return whether using credentials or not according StoredCredential loader option parameter.
Unskipped test http/tests/xmlhttprequest/cross-origin-no-authorization.html covers the patch.
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Added m_useAuthenticationManager boolean to control whether disable authentication manager or not.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Added m_storedCredentials member.
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage): Return true if stored credentials are allowed.
(WebCore::applyAuthenticationToRequest): Set m_useAuthenticationManager value to disable authentication manager if cannot use stored credentials and ResourceHandleInternal has no username and password.
(WebCore::createSoupMessageForHandleAndRequest): Disable authentication mananger according m_useAuthenticationManager value.
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Added StoredCredentials loader option to the sync loader constructor.
Source/WebKit/efl:
- WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::shouldUseCredentialStorage): Similarly to GTK, let soup/loader layer handle when to use credential storage. Return always true
LayoutTests:
- platform/efl/TestExpectations: Unskipped http/tests/xmlhttprequest/cross-origin-no-authorization.html.
- platform/gtk/TestExpectations: Ditto.
- 12:34 PM Changeset in webkit [167184] by
-
- 3 edits in trunk/LayoutTests
(before-mar-1-1000) In correct date creation prior to 1 Mar 1000
https://bugs.webkit.org/show_bug.cgi?id=129308
Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-04-12
Reviewed by Darin Adler.
- js/date-constructor-expected.txt:
- js/script-tests/date-constructor.js:
- 12:10 PM Changeset in webkit [167183] by
-
- 9 edits in trunk/Source/WebCore
Some small loader refinements and refactoring
https://bugs.webkit.org/show_bug.cgi?id=131541
Reviewed by Alexey Proskuryakov.
Cut down on use of ResourceLoader::handle, which always returns null when
using a network process. Also streamlined conditionals and did some other
small refactoring.
- loader/DocumentLoader.h: Use references rather than pointers for SchedulePair.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didChangePriority): Use m_handle instead of handle(),
since we'd like to delete handle() entirely soon.
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceLoader::schedule): Added.
(WebCore::ResourceLoader::unschedule): Ditto.
- loader/ResourceLoader.h: Rearranged header to eliminate nested conditionals.
Added schedule and unschedule functions for Mac.
- loader/mac/DocumentLoaderMac.cpp:
(WebCore::scheduleAll): Changed to take a reference and call ResourceLoader::schedule.
(WebCore::unscheduleAll): Ditto.
(WebCore::DocumentLoader::schedule): Ditto.
(WebCore::DocumentLoader::unschedule): Ditto.
- page/mac/PageMac.cpp:
(WebCore::Page::addSchedulePair): Pass a reference rather than a pointer to schedule.
(WebCore::Page::removeSchedulePair): Ditto.
- platform/network/ResourceHandle.h: Did a bit of reformatting and reorganizing of
conditionals.
- platform/network/ResourceHandleInternal.h: Removed a tiny bit of unneeded declaration.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::schedule): Updated to take a reference rather than a pointer.
(WebCore::ResourceHandle::unschedule): Ditto.
- 11:22 AM Changeset in webkit [167182] by
-
- 3 edits in trunk/Source/JavaScriptCore
DFG::FixupPhase should insert conversion nodes after the rest of fixup so that we know how the types settled
https://bugs.webkit.org/show_bug.cgi?id=131424
Reviewed by Geoffrey Garen.
This defers type conversion injection until we've decided on types. This makes the
process of deciding types a bit more flexible - for example we can naturally fixpoint
and change our minds. Only when things are settled do we actually insert conversions.
This is a necessary prerequisite for keeping double, int52, and JSValue data flow
separate. A SetLocal/GetLocal will appear to be JSValue until we fixpoint and realize
that there are typed uses. If we were eagerly inserting type conversions then we would
first insert a to/from-JSValue conversion in some cases only to then replace it by
the other conversions. It's probably trivial to remove those redundant conversions later
but I think it's better if we don't insert them to begin with.
- bytecode/CodeOrigin.h:
(JSC::CodeOrigin::operator!):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::run):
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupSetLocalsInBlock):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::injectTypeConversionsInBlock):
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):
(JSC::DFG::FixupPhase::addRequiredPhantom):
(JSC::DFG::FixupPhase::addPhantomsIfNecessary):
(JSC::DFG::FixupPhase::clearPhantomsAtEnd):
(JSC::DFG::FixupPhase::observeUntypedEdge): Deleted.
(JSC::DFG::FixupPhase::fixupUntypedSetLocalsInBlock): Deleted.
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode): Deleted.