Timeline
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)