Timeline
May 26, 2014:
- 11:14 PM Changeset in webkit [169370] by
-
- 15 edits in trunk/Source
[wk2] RemoteLayerBackingStore front buffers should be purgeable when unparented
https://bugs.webkit.org/show_bug.cgi?id=133020
<rdar://problem/16521736>
Reviewed by Simon Fraser.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
Let the context know whenever a RemoteLayerBackingStore is displayed, so that
RemoteLayerBackingStoreCollection can (if needed) note that the backing store
is active once again (because we only display parented backing store).
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
Ensure that we never have live contexts attached to any buffers when
marking them volatile, because checking isInUse() with live contexts is futile.
- Shared/mac/RemoteLayerBackingStoreCollection.h:
- Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::willFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::willCommitLayerTree):
(WebKit::RemoteLayerBackingStoreCollection::didFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDestroyed):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
(WebKit::RemoteLayerBackingStoreCollection::scheduleVolatilityTimer):
(WebKit::RemoteLayerBackingStoreCollection::purgeabilityTimerFired): Deleted.
(WebKit::RemoteLayerBackingStoreCollection::schedulePurgeabilityTimer): Deleted.
Rename purgeable->volatile for accuracy.
Keep track of two sets of backing store: those which are active/parented, and
those which are not. Backing store is moved to the inactive set after building
the transaction in which its owning layer is unparented.
When backing store is unparented, try to mark it volatile immediately. Also,
mark the backing store property as dirty on the owning layer so that when
said layer is reparented, we encode the backing store in the commit that reparents it,
as the UI process will throw away its reference to the backing store when
the layer is unparented. Mark the front buffers of unparented layers as volatile,
in addition to the others.
- Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::layerIDsWithNewlyUnreachableBackingStore):
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
Include the list of layers (by ID) with backing store which just became unreachable in the transaction.
- UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
Clear the contents of layers which now have unreachable backing store.
Otherwise, the UI process would hold a 'use' on the IOSurface, and prevent
the Web process from marking it volatile.
- WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
- WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Give RemoteLayerBackingStoreCollection a shot at the RemoteLayerTreeTransaction,
so that it can fill in layerIDsWithNewlyUnreachableBackingStore.
Also, let it know when the flush begins and ends, so that it can keep track
of which layers were reached in the flush.
- WebCore.exp.in:
- platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::willAddSurface):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::releaseGraphicsContext):
Rename clearGraphicsContext to releaseGraphicsContext for clarity.
- 10:38 PM Changeset in webkit [169369] by
-
- 2 edits in trunk/Tools
Fix test failures on python test
https://bugs.webkit.org/show_bug.cgi?id=133297
Reviewed by Dirk Schulze.
2 tests are failing because of unbounded local variable reference in test_importer.py.
- Scripts/webkitpy/w3c/test_importer.py: Move local variable declaration to top.
(TestImporter.import_tests):
- 10:23 PM Changeset in webkit [169368] by
-
- 4 edits in trunk/Source/WebCore
Remove special case for transparent SVG root layers
https://bugs.webkit.org/show_bug.cgi?id=116856
Reviewed by Dirk Schulze.
This patch removes a special case from RenderLayer for root SVG layers
with opacity. Instead of checking whether a composited layer exists in
SVGRenderingContext::prepareToRenderSVGContent we now exclude the root
SVG renderobject from the opacity checks in prepareToRenderSVGContent.
This is a merge of https://src.chromium.org/viewvc/blink?view=rev&revision=174102
by Philip Rogers <pdr@chromium.org>.
No new tests as this is covered by svg/custom/composited-svg-with-opacity.html.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isTransparent): Deleted.
- rendering/RenderLayer.h:
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
The opacity case for root svg renderers is now handled by
RenderLayer.
- 9:52 PM Changeset in webkit [169367] by
-
- 2 edits in trunk/Source/WebKit2
[EFL][WK2] Fix EWK2BackForwardListTest test fails.
https://bugs.webkit.org/show_bug.cgi?id=133171
Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.
Use local test html pages instead of EWK2UnitTestServer, call ewk_view_url_set() to load test html pages.
Since even after setting no_proxy="localhost,127.0.0.1", still test server was unable to load the test
html pages for ewk2_back_forward_list tests, so changed to use local html pages.
- UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(TEST_F):
- 9:32 PM Changeset in webkit [169366] by
-
- 3 edits in trunk/Source/WebKit2
[EFL][WK2] Fix code style check errors in EFL API tests.
https://bugs.webkit.org/show_bug.cgi?id=133170
Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.
Omit int when using unsigned modifier, as per coding style rules.
- UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
- UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultWidth):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultHeight):
- 7:23 PM Changeset in webkit [169365] by
-
- 2 edits in trunk/LayoutTests
Fix wrong inclusion depth of js-test-pre.js in is-protocol-handler-registered.html
https://bugs.webkit.org/show_bug.cgi?id=133273
Reviewed by Darin Adler.
Can't use debug() due to wrong inclusion path.
- fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html:
- 7:22 PM Changeset in webkit [169364] by
-
- 1 edit2 moves1 add in trunk/LayoutTests
[EFL] Move navigator content utils's to own directory
https://bugs.webkit.org/show_bug.cgi?id=133275
Reviewed by Darin Adler.
Expected results need to be maintained by own directory because navigator content utils have been maintained by
own directory as well.
- platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/register-protocol-handler-expected.txt.
- platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/unregister-protocol-handler-expected.txt.
- 5:19 PM Changeset in webkit [169363] by
-
- 2 edits in trunk/Source/WebCore
CSS JIT: Fix build error raised when CSS_SELECTOR_JIT_DEBUGGING is 1
https://bugs.webkit.org/show_bug.cgi?id=133266
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-05-26
Reviewed by Benjamin Poulain.
When CSS_SELECTOR_JIT_DEBUGGING is 1, build erros occur on x86_64.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateEpilogue):
- 5:02 PM Changeset in webkit [169362] by
-
- 4 edits in trunk/Source/WebKit2
Add UI process watchdog on iOS to ensure WebProcess connections close
https://bugs.webkit.org/show_bug.cgi?id=133200
<rdar://problem/16997983>
Reviewed by Darin Adler.
When the WebProcessProxy wants to disconnect from a WebContent process it just drops the connection,
and hopes the connection closes. There is a watchdog thread in the ChildProcess to try to ensure this
happens.
On iOS the process may not be runnable at the time, preventing termination. Instead add a watchdog in
the UI process to make the process runnable, and to terminate if it doesn't quit in a timely fashion.
- Platform/IPC/Connection.h:
- added terminateSoon.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
- take an assertion to make the process runnable, and start a watchdog timer.
(IPC::ConnectionTerminationWatchdog::watchdogTimerFired):
- if the process hasn't quit by the timer the watchdog fires, kill it.
(IPC::Connection::terminateSoon):
- create a ConnectionTerminationWatchdog.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):
- when disconnecting from a process, first tell it to terminateSoon.
- 4:42 PM Changeset in webkit [169361] by
-
- 2 edits in trunk/Tools
[GTK] GObject DOM bindings API break test fails in the tests bots
https://bugs.webkit.org/show_bug.cgi?id=133211
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-26
Reviewed by Martin Robinson.
When generating the built product archive on platform GTK, we need
to copy also the file gtkdoc-webkitdom.cfg and the directory
DerivedSources/webkitdom.
- BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
- 2:45 PM Changeset in webkit [169360] by
-
- 4 edits15 adds in trunk
Fix the quirks mode selector matching of the pseudo classes :hover and :active
https://bugs.webkit.org/show_bug.cgi?id=133063
Reviewed by Antti Koivisto.
Source/WebCore:
Our implementation of the quirks mode of :active and :hover was very wrong. The only
thing it was doing is verify the pseudo class is not the first selector of a fragment
(which was conveniently the only thing that was tested :)).
Since those pseudo class were only checking for the order of the filters, something like
#target:hover
would succeed because :hover is not the first simple selector, while
:hover#target
would fail.
That behavior is also a problem for the CSS JIT as it is an implementation detail of SelectorChecker
and compiling something like that with our out-of-order matching would be nonsense.
This patch update the implementation to follow http://quirks.spec.whatwg.org/#the-:active-and-:hover-quirk
Basically, the only cases that do not work in quirks mode are selectors composed only of "*, :hover and :active".
To implement this behavior, I needed to be able to inspect a complete selector fragment, including
what is before and after :hover/:active.
To do that, I replaced the boolean isSubSelector by a pointer to the first selector of the fragment.
When we need to match :active/:hover in quirks mode, we just go over all the selectors in the fragment
to find one of the qualifying match type.
Tests: fast/selectors/active-hover-quirks.html
fast/selectors/active-quirks.html
fast/selectors/hover-quirks.html
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
(WebCore::canMatchHoverOrActiveInQuirksMode):
(WebCore::SelectorChecker::checkOne):
- css/SelectorChecker.h:
(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
LayoutTests:
The test coverage of :hover and :active was extremly poor.
Those new tests add coverage for the cases fixed by this patch.
- fast/selectors/active-hover-quirks-expected.txt: Added.
- fast/selectors/active-hover-quirks.html: Added.
- fast/selectors/active-hover-strict-expected.txt: Added.
- fast/selectors/active-hover-strict.html: Added.
- fast/selectors/active-quirks-expected.txt: Added.
- fast/selectors/active-quirks.html: Added.
- fast/selectors/active-strict-expected.txt: Added.
- fast/selectors/active-strict.html: Added.
- fast/selectors/hover-quirks-expected.txt: Added.
- fast/selectors/hover-quirks.html: Added.
- fast/selectors/hover-strict-expected.txt: Added.
- fast/selectors/hover-strict.html: Added.
- fast/selectors/resources/hover-active-quirks-utility.js: Added.
- selectors/resources/hover-active-strict-utility.js: Added.
- 1:18 PM Changeset in webkit [169359] by
-
- 2 edits in trunk/Source/WebCore
Split the call to adjustForLocalZoom out into a separate expression.
https://bugs.webkit.org/show_bug.cgi?id=133286
Reviewed by Darin Adler.
This patch ensures that adjustForLocalZoom() always gets called before we look at
zoomFactor's value. (and not rely on the undefined behavior of the order of function argument evaluation)
- dom/Element.cpp:
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
- 12:58 PM Changeset in webkit [169358] by
-
- 11 edits4 adds in trunk
Class name matching should use ASCII case-insensitive matching, not Unicode case folding
https://bugs.webkit.org/show_bug.cgi?id=133292
Reviewed by Anders Carlsson.
Source/WebCore:
Tests: fast/dom/getElementsByClassName/ASCII-case-insensitive.html
fast/dom/getElementsByClassName/case-sensitive.html
- dom/SpaceSplitString.cpp:
(WebCore::hasNonASCIIOrUpper): Deleted.
(WebCore::tokenizeSpaceSplitString): Use a for loop instead of while.
(WebCore::spaceSplitStringTable): Renamed from sharedDataMap; the new name is supposed
to help us see the analogy with the atomic string table.
(WebCore::SpaceSplitString::set): Removed unneeded special case for null and preflight
since AtomicString::convertToASCIILowercase now handles both of those. Changed to call
convertToASCIILowercase instead of foldCase, since we don't want to fold non-ASCII.
(WebCore::SpaceSplitString::spaceSplitStringContainsValue): Ditto.
(WebCore::SpaceSplitStringData::create): Marked this inline since it's only called in
one place and that place is in this file. Also used auto a bit and used get instead of
find since the value type is a simple pointer.
(WebCore::SpaceSplitStringData::destroy): Removed unneeded check for null. We never
create any SpaceSplitStringData with empty strings, and a null is a kind of empty string.
- dom/SpaceSplitString.h: Removed some unneeded includes and some unneeded uses of the
inline keyword. Changed types from size_t to unsigned in a couple places; we had a mix
of the types and there was no reason to use size_t there.
Source/WTF:
- wtf/text/AtomicString.cpp:
(WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these
arguments can never be null.
(WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but
slightly uglier way.
(WTF::AtomicString::convertToASCIILowercase): Added.
- wtf/text/AtomicString.h: Updated for above changes.
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::convertToASCIILowercase): Added.
- wtf/text/StringImpl.h: Updated for above.
- wtf/text/WTFString.cpp:
(WTF::String::convertToASCIILowercase): Added.
- wtf/text/WTFString.h: Updated for above.
LayoutTests:
- fast/dom/getElementsByClassName/ASCII-case-insensitive-expected.txt: Added.
- fast/dom/getElementsByClassName/ASCII-case-insensitive.html: Added.
- fast/dom/getElementsByClassName/case-sensitive-expected.txt: Added.
- fast/dom/getElementsByClassName/case-sensitive.html: Added.
- 11:01 AM Changeset in webkit [169357] by
-
- 9 edits in trunk/Source/WebKit2
[WebKit2] Add better default preferences while keeping backward compatibility for the C-SPI
https://bugs.webkit.org/show_bug.cgi?id=133289
Reviewed by Anders Carlsson.
- Shared/WebPreferencesStore.h:
Change a few defaults:
- PluginsEnabled -> false
- JavaEnabled -> false
- JavaEnabledForLocalFiles -> false
- StorageBlockingPolicy -> BlockThirdPartyStorage
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesCreate):
(WKPreferencesCreateWithIdentifier):
- UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::WebPageGroup):
Switch to using WebPreferences::createWithLegacyDefaults().
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::create):
(WebKit::WebPreferences::createWithLegacyDefaults):
- UIProcess/WebPreferences.h:
Move create functions to the cpp file and add createWithLegacyDefaults() which keeps
the old defaults;
- UIProcess/API/C/WKPreferencesRef.h:
Fix the comment.
- UIProcess/API/Cocoa/WKPreferences.h:
Update the comment to reflect the new defaults.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Unconditionally set setShouldDispatchJavaScriptWindowOnErrorEvents() to true. This setting only
exists for legacy WebKit.
- 11:00 AM Changeset in webkit [169356] by
-
- 6 edits in trunk/Source/WebKit2
[Cocoa] Rewrite WK_DESIGNATED_INITIALIZER in installed headers
https://bugs.webkit.org/show_bug.cgi?id=133290
Reviewed by Anders Carlsson.
- Shared/API/Cocoa/WKFoundation.h: When WK_API_AVAILABILITY_ENABLED is defined, don’t
provide definitions of WK_DESIGNATED_INITIALIZER and WK_UNAVAILABLE, since those macros will
be rewritten out of the headers. When WK_API_AVAILABILITY_ENABLED isn’t defined, provide
definitions of the other two macros as appropriate for the target OS.
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Removed WK_DESIGNATED_INITIALIZER from a
category method declaration.
- UIProcess/API/Cocoa/WKWebView.h: Mark the superclass designated initializer
-initWithCoder: as unavailable.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithCoder:]): Override this designated initializer of the superclass by
returning nil.
- mac/rewrite-availability-macros.sh: Rewrite WK_DESIGNATED_INITIALIZER to
NS_DESIGNATED_INITIALIZER and WK_UNAVAILABLE to NS_UNAVAILABLE. Also make sure to process
all headers if the script has changed since the last time it was run.
- 10:45 AM Changeset in webkit [169355] by
-
- 6 edits in trunk
Unreviewed, rolling out r169122.
https://bugs.webkit.org/show_bug.cgi?id=133288
Broke CJK font fallback (Requested by ap on #webkit).
Reverted changeset:
"[Mac] WebProcess doesn't follow localization of UI process
when run as a service"
https://bugs.webkit.org/show_bug.cgi?id=133126
http://trac.webkit.org/changeset/169122
- 10:43 AM Changeset in webkit [169354] by
-
- 25 edits53 adds in trunk
Latest emscripten life benchmark is 4x slower because the DFG doesn't realize that arithmetic on booleans is a thing
https://bugs.webkit.org/show_bug.cgi?id=133136
Reviewed by Oliver Hunt.
Source/JavaScriptCore:
Some key concepts:
- Except for the prediction propagation and type fixup phases, which are super early in the pipeline, nobody has to know about the fact that booleans may flow into numerical operations because there will just be a BooleanToNumber node that will take a value and, if that value is a boolean, will convert it to the equivalent numerical value. It will have a BooleanUse mode where it will also speculate that the input is a boolean but it can also do UntypedUse in which case it will pass through any non-booleans. This operation is very easy to model in all of the compiler tiers.
- No changes to the baseline JIT. The Baseline JIT will still believe that boolean inputs require taking the slow path and it will still report that it took slow path for any such operations. The DFG will now be smart enough to ignore baseline JIT slow path profiling on operations that were known to have had boolean inputs. That's a little quirky, but it's probably easier than modifying the baseline JIT to track booleans correctly.
4.1x speed-up on the emscripten "life" benchmark. Up to 10x speed-up on microbenchmarks.
- bytecode/SpeculatedType.h:
(JSC::isInt32OrBooleanSpeculation):
(JSC::isInt32SpeculationForArithmetic):
(JSC::isInt32OrBooleanSpeculationForArithmetic):
(JSC::isInt32OrBooleanSpeculationExpectingDefined):
(JSC::isInt52Speculation):
(JSC::isMachineIntSpeculation):
(JSC::isFullNumberOrBooleanSpeculation):
(JSC::isFullNumberOrBooleanSpeculationExpectingDefined):
(JSC::isInt32SpeculationExpectingDefined): Deleted.
(JSC::isMachineIntSpeculationExpectingDefined): Deleted.
(JSC::isMachineIntSpeculationForArithmetic): Deleted.
(JSC::isBytecodeNumberSpeculationExpectingDefined): Deleted.
(JSC::isFullNumberSpeculationExpectingDefined): Deleted.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAllocator.h:
(JSC::DFG::Allocator<T>::indexOf):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGCommon.h:
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixIntConvertingEdge):
(JSC::DFG::FixupPhase::fixIntOrBooleanEdge):
(JSC::DFG::FixupPhase::fixDoubleOrBooleanEdge):
(JSC::DFG::FixupPhase::attemptToMakeIntegerAdd):
(JSC::DFG::FixupPhase::fixIntEdge): Deleted.
- dfg/DFGGraph.h:
(JSC::DFG::Graph::addSpeculationMode):
(JSC::DFG::Graph::valueAddSpeculationMode):
(JSC::DFG::Graph::arithAddSpeculationMode):
(JSC::DFG::Graph::addShouldSpeculateInt32):
(JSC::DFG::Graph::mulShouldSpeculateInt32):
(JSC::DFG::Graph::mulShouldSpeculateMachineInt):
(JSC::DFG::Graph::negateShouldSpeculateInt32):
(JSC::DFG::Graph::negateShouldSpeculateMachineInt):
(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInt32): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::sawBooleans):
(JSC::DFG::Node::shouldSpeculateInt32OrBoolean):
(JSC::DFG::Node::shouldSpeculateInt32ForArithmetic):
(JSC::DFG::Node::shouldSpeculateInt32OrBooleanForArithmetic):
(JSC::DFG::Node::shouldSpeculateInt32OrBooleanExpectingDefined):
(JSC::DFG::Node::shouldSpeculateMachineInt):
(JSC::DFG::Node::shouldSpeculateDouble):
(JSC::DFG::Node::shouldSpeculateNumberOrBoolean):
(JSC::DFG::Node::shouldSpeculateNumberOrBooleanExpectingDefined):
(JSC::DFG::Node::shouldSpeculateNumber):
(JSC::DFG::Node::canSpeculateInt32):
(JSC::DFG::Node::canSpeculateInt52):
(JSC::DFG::Node::sourceFor):
(JSC::DFG::Node::shouldSpeculateInt32ExpectingDefined): Deleted.
(JSC::DFG::Node::shouldSpeculateMachineIntForArithmetic): Deleted.
(JSC::DFG::Node::shouldSpeculateMachineIntExpectingDefined): Deleted.
(JSC::DFG::Node::shouldSpeculateDoubleForArithmetic): Deleted.
(JSC::DFG::Node::shouldSpeculateNumberExpectingDefined): Deleted.
- dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
- dfg/DFGNodeFlags.h:
(JSC::DFG::nodeMayOverflow):
(JSC::DFG::nodeMayNegZero):
(JSC::DFG::nodeCanSpeculateInt32):
(JSC::DFG::nodeCanSpeculateInt52):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::run):
(JSC::DFG::PredictionPropagationPhase::propagateToFixpoint):
(JSC::DFG::PredictionPropagationPhase::speculatedDoubleTypeForPrediction):
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::asInt32ForArithmetic):
- tests/stress/max-boolean-exit.js: Added.
(foo):
(test):
- tests/stress/mul-boolean-exit.js: Added.
(foo):
(test):
- tests/stress/plus-boolean-exit.js: Added.
(foo):
(test):
- tests/stress/plus-boolean-or-double.js: Added.
(foo):
(test):
- tests/stress/plus-boolean-or-int.js: Added.
(foo):
(test):
LayoutTests:
- js/regress/abs-boolean-expected.txt: Added.
- js/regress/abs-boolean.html: Added.
- js/regress/div-boolean-double-expected.txt: Added.
- js/regress/div-boolean-double.html: Added.
- js/regress/div-boolean-expected.txt: Added.
- js/regress/div-boolean.html: Added.
- js/regress/max-boolean-expected.txt: Added.
- js/regress/max-boolean.html: Added.
- js/regress/min-boolean-expected.txt: Added.
- js/regress/min-boolean.html: Added.
- js/regress/minus-boolean-double-expected.txt: Added.
- js/regress/minus-boolean-double.html: Added.
- js/regress/minus-boolean-expected.txt: Added.
- js/regress/minus-boolean.html: Added.
- js/regress/mod-boolean-double-expected.txt: Added.
- js/regress/mod-boolean-double.html: Added.
- js/regress/mod-boolean-expected.txt: Added.
- js/regress/mod-boolean.html: Added.
- js/regress/mul-boolean-double-expected.txt: Added.
- js/regress/mul-boolean-double.html: Added.
- js/regress/mul-boolean-expected.txt: Added.
- js/regress/mul-boolean.html: Added.
- js/regress/neg-boolean-expected.txt: Added.
- js/regress/neg-boolean.html: Added.
- js/regress/plus-boolean-arith-expected.txt: Added.
- js/regress/plus-boolean-arith.html: Added.
- js/regress/plus-boolean-double-expected.txt: Added.
- js/regress/plus-boolean-double.html: Added.
- js/regress/plus-boolean-expected.txt: Added.
- js/regress/plus-boolean.html: Added.
- js/regress/script-tests/abs-boolean.js: Added.
- js/regress/script-tests/div-boolean-double.js: Added.
- js/regress/script-tests/div-boolean.js: Added.
- js/regress/script-tests/max-boolean.js: Added.
- js/regress/script-tests/min-boolean.js: Added.
- js/regress/script-tests/minus-boolean-double.js: Added.
- js/regress/script-tests/minus-boolean.js: Added.
- js/regress/script-tests/mod-boolean-double.js: Added.
- js/regress/script-tests/mod-boolean.js: Added.
- js/regress/script-tests/mul-boolean-double.js: Added.
- js/regress/script-tests/mul-boolean.js: Added.
- js/regress/script-tests/neg-boolean.js: Added.
- js/regress/script-tests/plus-boolean-arith.js: Added.
- js/regress/script-tests/plus-boolean-double.js: Added.
- js/regress/script-tests/plus-boolean.js: Added.
- js/regress/script-tests/sin-boolean.js: Added.
- js/regress/sin-boolean-expected.txt: Added.
- js/regress/sin-boolean.html: Added.
- 10:30 AM Changeset in webkit [169353] by
-
- 3 edits in trunk/Source/WebKit2
Convert a couple of loops over to range-based for
https://bugs.webkit.org/show_bug.cgi?id=133287
Reviewed by Simon Fraser.
- UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::findPluginForMIMEType):
(WebKit::PluginInfoStore::findPluginForExtension):
(WebKit::PluginInfoStore::infoForPluginWithPath):
- UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
(WebKit::PluginProcessManager::setProcessSuppressionEnabled):
- 9:55 AM Changeset in webkit [169352] by
-
- 6 edits in trunk
[GTK] WebProcess leaked when closing pages with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=129684
Reviewed by Anders Carlsson.
Source/WebKit2:
The problem is that the web process is not notified when the UI
process closes the connection, because when close() is called on
the socket by the UI process, the socket is shared by another web
process launched later, preventing the connection from being
shut down. We need to set the CLOEXEC flag on the sockets file
descriptor to make sure they are not exposed to other processes.
- Platform/IPC/Connection.h: Add ConnectionOptions parameter to
createPlatformConnection() with a default value compatible with
existing callers.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::createPlatformConnection): Set the CLOEXEC flag
on the client and server socket file descriptors depending on the
options passed.
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess): Use
IPC::Connection::createPlatformConnection() instead of
socketpair() directly, setting the CLOEXEC flag on the server
before spawning the new process and on the client right after
spawning the new process.
Tools:
Enable the test to check that web processes finish when the web
view is destroyed.
- TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
- 9:40 AM Changeset in webkit [169351] by
-
- 2 edits in trunk/Source/WebKit2
Initialize WKWebViewConfiguration ivars lazily
https://bugs.webkit.org/show_bug.cgi?id=133270
<rdar://problem/17027606>
Reviewed by Sam Weinig.
Create a LazyInitialized class template and use it to lazily initialize WKWebViewConfiguration properties.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(LazyInitialized::get):
Initialize m_value with the given function if it hasn't been initialized already.
(LazyInitialized::set):
Update m_value and set m_isInitialized to true.
(LazyInitialized::peek):
Return m_value without initializing it.
(-[WKWebViewConfiguration description]):
Use getters so we'll initialize variables if needed.
(-[WKWebViewConfiguration copyWithZone:]):
Ditto.
(-[WKWebViewConfiguration processPool]):
(-[WKWebViewConfiguration setProcessPool:]):
(-[WKWebViewConfiguration preferences]):
(-[WKWebViewConfiguration setPreferences:]):
(-[WKWebViewConfiguration userContentController]):
(-[WKWebViewConfiguration setUserContentController:]):
(-[WKWebViewConfiguration _visitedLinkProvider]):
(-[WKWebViewConfiguration _setVisitedLinkProvider:]):
(-[WKWebViewConfiguration _websiteDataStore]):
(-[WKWebViewConfiguration _setWebsiteDataStore:]):
(-[WKWebViewConfiguration _contentProviderRegistry]):
(-[WKWebViewConfiguration _setContentProviderRegistry:]):
Pass initialization code to all getters.
(-[WKWebViewConfiguration _validate]):
Use getters.
(-[WKWebViewConfiguration init]): Deleted.
- 9:37 AM Changeset in webkit [169350] by
-
- 2 edits in trunk/Tools
REGRESSION(r164632): [GTK] Crash in generate-gtkdoc when rebasing docs
https://bugs.webkit.org/show_bug.cgi?id=133279
Reviewed by Philippe Normand.
generator.saw_warnings is only set by GTKDoc::generate(), so it
should only be used after generate.
- gtk/generate-gtkdoc:
(generate_documentation_for_config): Do not check
generator.saw_warnings again, simply return the value returned by
generate_doc() which is generator.saw_warnings. When rebasing,
returns always False since there aren't warnings.
- 9:25 AM Changeset in webkit [169349] by
-
- 9 edits3 adds in trunk
[CSS Grid Layout] Implementation of the "grid" shorthand.
https://bugs.webkit.org/show_bug.cgi?id=132122
Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-05-26
Reviewed by Darin Adler.
Source/WebCore:
The grid property is a shorthand that sets all of the explicit
grid properties (grid-template-rows, grid-template-columns, and
grid-template-areas) as well as all the implicit grid properties
(grid-auto-rows, grid-auto-columns, and grid-auto-flow) in a
single declaration
Notice that either explicit or implicit grid can be specified,
assigning the initial values to the omitted properties.
Test: fast/css-grid-layout/grid-shorthand-get-set.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridShorthand):
- css/CSSParser.h:
- css/CSSPropertyNames.in:
- css/StylePropertyShorthand.cpp:
(WebCore::webkitGridShorthand):
- css/StylePropertyShorthand.h:
LayoutTests:
Layout Test for the basic functionality of the 'grid' shorthand. It was
also added a new javascript file with some utility functions.
- fast/css-grid-layout/grid-shorthand-get-set-expected.txt: Added.
- fast/css-grid-layout/grid-shorthand-get-set.html: Added.
- fast/css-grid-layout/resources/grid-shorthand-parsing-utils.js: Added.
(testGridDefinitionsValues):
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):
- 9:11 AM Changeset in webkit [169348] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove dead code from VM.cpp
https://bugs.webkit.org/show_bug.cgi?id=133284
Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-26
Reviewed by Darin Adler.
This workaround was added in r127505. Since the clang is the
only used compiler in this case, this workaround is obsolete.
- runtime/VM.cpp:
(JSC::enableAssembler):
- 9:11 AM Changeset in webkit [169347] by
-
- 2 edits in trunk/Tools
W3C test importer should catch exceptions coming from HTML/CSS conversion
https://bugs.webkit.org/show_bug.cgi?id=133176
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-05-26
Reviewed by Darin Adler.
Exceptions raised when converting HTML/CSS are caught.
Files for which conversion failed are still copied to the target directory.
Each individual conversion failure is logged.
Total conversion failure number is logged at the end of the import process.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.import_tests):
- 9:08 AM Changeset in webkit [169346] by
-
- 2 edits in trunk/Source/WebCore
Subpixel layout: Legacy Element.offset* client* return values are invalid in certain cases.
https://bugs.webkit.org/show_bug.cgi?id=133272
Reviewed by Simon Fraser.
Element.offset* client* functions applied various rounding strategies on the return values before r168868.
(for example, offsetLeft/Top either floored through implicit integer arithmetics or rounded explicitly depending
whether the zoom scale was 1. see http://trac.webkit.org/changeset/168868/trunk/Source/WebCore/dom/Element.cpp for details)
This patch mimics the legacy behavior by either rounding or flooring the return value.
Not testable (legacy switch is not exposed)
- dom/Element.cpp:
(WebCore::adjustForLocalZoom):
(WebCore::convertToNonSubpixelValueIfNeeded):
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
- 8:04 AM Changeset in webkit [169345] by
-
- 3 edits in trunk/LayoutTests
Unreviewed EFL gardening
Remove expectations for now passing tests.
- platform/efl-wk2/TestExpectations:
- platform/efl/TestExpectations:
- 7:19 AM Changeset in webkit [169344] by
-
- 4 edits1 add in trunk/Tools
[GTK] Allow to run the tests on the native X display.
https://bugs.webkit.org/show_bug.cgi?id=133157
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-26
Reviewed by Benjamin Poulain.
This adds a new driver (xorgdriver) that runs the tests on the
X display referenced by the environment variable DISPLAY.
This new driver will be activated only if the environment variable
USE_NATIVE_XDISPLAY is defined. This can be used both for layout
tests and performance tests.
This patch also makes the script run-perf-tests to check the
system dependencies before starting the tests. Previously this
was not checked, and if the system dependencies were not met,
the script tried to execute the tests anyway, causing massive
failures. For example, if you had Xvfb not installed and you
wanted to use the Xvfb driver (the default on GTK and EFL),
run-perf-tests would not abort.
- Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args): Check the system dependencies of
the driver before starting the tests.
- Scripts/webkitpy/port/driver.py:
(Driver): Implement generic check_driver method.
(Driver.check_driver):
(Driver.check_driver.implementation):
- Scripts/webkitpy/port/gtk.py:
(GtkPort._driver_class): Check for environment variable
USE_NATIVE_XDISPLAY to decide if the Xorg driver should be used.
- Scripts/webkitpy/port/xorgdriver.py: Added.
(XorgDriver): Implement Xorg driver.
(XorgDriver.check_driver):
(XorgDriver._start):
- 7:16 AM Changeset in webkit [169343] by
-
- 2 edits in trunk/Tools
REGRESSION(r166798): [GTK] [EFL] kill-old-processes should not kill dbus-daemon
https://bugs.webkit.org/show_bug.cgi?id=133215
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-26
Reviewed by Csaba Osztrogonác.
This reverts r166798.
- BuildSlaveSupport/kill-old-processes:
(main):
- 7:04 AM Changeset in webkit [169342] by
-
- 2 edits in trunk/Tools
[EFL] Turn on ENABLE_CSS_FILTERS in build script
https://bugs.webkit.org/show_bug.cgi?id=133278
Reviewed by Gyuyoung Kim.
- Scripts/webkitperl/FeatureList.pm: Add a build script condition missing in r169172.
- 6:57 AM Changeset in webkit [169341] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSC CLoop warning fix
https://bugs.webkit.org/show_bug.cgi?id=133259
Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-26
Reviewed by Darin Adler.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- 6:55 AM Changeset in webkit [169340] by
-
- 2 edits in trunk/Tools
run-javascriptcore-tests warning fix on non Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=133260
Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-26
Reviewed by Darin Adler.
- Scripts/webkitdirs.pm:
(argumentsForConfiguration):
- 5:06 AM Changeset in webkit [169339] by
-
- 2 edits in trunk/Source/WebKit2
Remove WebKit2 framework from generate-forwarding-headers.pl
https://bugs.webkit.org/show_bug.cgi?id=133214
Since renaming WebKit2.framework to WebKit.framework is done and all WebKit2/*.h includes
were renamed to WebKit/*.h, generating forwarding headers for WebKit2/*.h framework style
headers is not necessary anymore.
Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-26
Reviewed by Darin Adler.
- Scripts/generate-forwarding-headers.pl:
- 3:09 AM Changeset in webkit [169338] by
-
- 1 copy in releases/WebKitGTK/webkit-2.4.3
Tagging the WebKitGTK+ 2.4.3 release
- 3:01 AM Changeset in webkit [169337] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
Unreviewed. Update NEWS and Versions.m4 for 2.4.3 release.
.:
- Source/autotools/Versions.m4: Bump version numbers.
Source/WebKit/gtk:
- NEWS: Added release notes for 2.4.3.
- 3:00 AM Changeset in webkit [169336] by
-
- 3 edits in releases/WebKitGTK/webkit-2.4/Tools
Unreviewed. Fix make distcheck.
- gtk/GNUmakefile.am: Remove generate-webkitdom-doc-files from
EXTRA_DIST and add webkitdom.py.
- gtk/generate-gtkdoc:
(generate_documentation_for_config): Do not try to use
generator.saw_warnings when rebasing, it's only set when
generating the docs.
- 2:50 AM Changeset in webkit [169335] by
-
- 5 edits in trunk
[EFL] Input fields and text areas are not rendered correctly after r167771
https://bugs.webkit.org/show_bug.cgi?id=133181
Reviewed by Gyuyoung Kim.
Source/WebCore:
r167771 changed arguments of RenderTheme two virtual method arguments which were not reflected
in changes in derived classes, which caused parent method to be called. Arguments in derived class
were updated, also 'override' specifiers were added to all virtual methods to prevent similar errors.
Already covered by fast/forms/textarea-placeholder-wrapping.html
- platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintTextField):
(WebCore::RenderThemeEfl::paintTextArea):
- platform/efl/RenderThemeEfl.h:
(WebCore::RenderThemeEfl::supportsHover):
(WebCore::RenderThemeEfl::supportsControlTints):
LayoutTests:
- platform/efl-wk2/TestExpectations: Remove now passing test from test expectations.
- 2:48 AM Changeset in webkit [169334] by
-
- 9 edits2 adds in trunk
[CSS Grid Layout] Children of grid containers must be turned into grid items
https://bugs.webkit.org/show_bug.cgi?id=132991
Reviewed by Darin Adler.
From Blink r150472 by <jchaffraix@chromium.org>
Source/WebCore:
According to specs each child of a grid container must become a
grid item meaning that grid items are grid level boxes and thus,
do not participate in the block formatting context but in the grid
formatting one.
This change updates the grid items' 'display' property after style
resolution so that we match the specification (see section 4. Grid
Items). The spec basically instructs us to compute the value of
'display' by applying the table in CSS2.1 Chapter 9.7
http://www.w3.org/TR/CSS2/visuren.html#dis-pos-flo
Test: fast/css-grid-layout/grid-item-display.html
- css/StyleResolver.cpp:
(WebCore::isDisplayGridBox):
(WebCore::StyleResolver::adjustRenderStyle):
LayoutTests:
Added a new test case to verify the computed value for 'display'
in grid items. The test also checks that items are correctly
positioned inside the grid, i.e., they properly became grid
items.
Also removed ietestcenter's grid-items-002.html and
grid-items-003.html from the list of failing tests as they should
be working now.
- fast/css-grid-layout/grid-item-display-expected.txt: Added.
- fast/css-grid-layout/grid-item-display.html: Added.
- ietestcenter/css3/grid/grid-items-002.htm: Fixed a typo and
replaced -webkit-grid-definition-* by -webkit-grid-template-*
- ietestcenter/css3/grid/grid-items-003.htm: Ditto.
- platform/efl/TestExpectations: Removed the two tests above.
- platform/gtk/TestExpectations: Ditto.
- platform/mac/TestExpectations: Ditto.
- platform/win/TestExpectations: Ditto.
- 2:26 AM Changeset in webkit [169333] by
-
- 2 edits in trunk/Source/WebCore
Remove Vector copies in ShorthandPropertyWrapper implementation and use
https://bugs.webkit.org/show_bug.cgi?id=133265
Reviewed by Simon Fraser.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Move the passed-in Vector
into the member variable instead of using Vector<>::swap().
(WebCore::ShorthandPropertyWrapper::propertyWrappers): Return a const reference of the member
variable instead of a const value.
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Move the Vector
object into the ShorthandProperthyWrapper constructor.
(WebCore::gatherEnclosingShorthandProperties): Deploy a range-based for-loop.
- 2:22 AM Changeset in webkit [169332] by
-
- 5 edits in trunk/Source/WebKit2
WebPage::setComposition(), WebPageProxy::didFindStringMatches() should take Vector parameters by const reference
https://bugs.webkit.org/show_bug.cgi?id=133264
Reviewed by Darin Adler.
Taking the Vector parameters in the two methods (invoked through the IPC message handling)
by value causes unnecessary copies. The methods don't modify the objects and don't want
or need fresh copies, hence they should take in const references to Vector objects.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFindStringMatches):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setComposition):
- WebProcess/WebPage/WebPage.h:
- 12:45 AM WebKitGTK/2.4.x edited by
- (diff)
- 12:44 AM Changeset in webkit [169331] by
-
- 5 edits in releases/WebKitGTK/webkit-2.4/Source
[Stable] [GTK] GdiObject.h missing in WebKitGTK 2.4.1 tarball
https://bugs.webkit.org/show_bug.cgi?id=132814
Patch by Milan Crha <mcrha@redhat.com> on 2014-05-25
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Add missing files and includes to fix the mingw32 build.
- GNUmakefile.list.am:
- platform/graphics/win/GraphicsContextCairoWin.cpp:
Source/WTF:
Add missing files to fix the mingw32 build.
- GNUmakefile.list.am:
- 12:31 AM WebKitGTK/2.4.x edited by
- (diff)
- 12:30 AM Changeset in webkit [169330] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r169200 - Video is resumed with old playback rate.
https://bugs.webkit.org/show_bug.cgi?id=132905
Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-22
Reviewed by Philippe Normand.
Source/WebCore:
Setting '0' playback rate is causing pipeline to pause.
GStreamer player impl. exposed this information to upper layers but it should not.
Solution is to hidden such situation behind m_playbackRatePause flag.
Test: media/video-paused-0-rate.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::doSeek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::paused):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
LayoutTests:
- media/video-paused-0-rate-expected.txt: Added.
- media/video-paused-0-rate.html: Added.
- 12:15 AM Changeset in webkit [169329] by
-
- 2 edits in trunk/Source/WebCore
[EFL] Fix build error in blob.cpp after r168435
https://bugs.webkit.org/show_bug.cgi?id=132678
Patch by Tanay C <tanay.c@samsung.com> on 2014-05-26
Reviewed by Alexey Proskuryakov.
- fileapi/Blob.cpp:
(WebCore::Blob::size): Using isInBound to check range of local var
actualsize to resolve build error
May 25, 2014:
- 11:17 PM Changeset in webkit [169328] by
-
- 8 edits2 deletes in trunk/Source/WebCore
[EFL] Remove TileCairo and TiledBackingStoreBackendCairo
https://bugs.webkit.org/show_bug.cgi?id=133274
Reviewed by Gyuyoung Kim.
Now, TiledBackingStore is only used for CoordinatedGraphics and the EFL port.
CoordinatedGraphics does not use TileCairo and TiledBackingStoreBackendCairo.
This patch removed them and refactored related files.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::TiledBackingStore): Deleted.
- platform/graphics/TiledBackingStore.h:
- platform/graphics/TiledBackingStoreBackend.h:
- platform/graphics/cairo/TileCairo.cpp: Removed.
- platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Removed.
- 7:53 PM Changeset in webkit [169327] by
-
- 11 edits2 adds in trunk
setData() of DataTransfer has a void return type
https://bugs.webkit.org/show_bug.cgi?id=133108
Reviewed by Alexey Proskuryakov.
Source/WebCore:
According to HTML5 spec, setData() of DataTranfer interface does not return value.
http://www.w3.org/TR/html/editing.html#the-datatransfer-interface
Test: editing/pasteboard/set_data_typeof_return.html
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::setData):
- dom/DataTransfer.h:
- dom/DataTransfer.idl:
- platform/Pasteboard.h:
- platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::writeString):
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeString):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::writeString):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeString):
- platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeString):
LayoutTests:
- editing/pasteboard/set_data_typeof_return-expected.txt: Added.
- editing/pasteboard/set_data_typeof_return.html: Added.
- 5:04 PM Changeset in webkit [169326] by
-
- 4 edits in trunk/Source/WebKit2
[iOS][WK2] Fix some state reset on crash on the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=133039
Reviewed by Sam Weinig.
This is in no way complete, but this should reduce the undefined states on crash.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processDidExit]):
If the view is animating, nuke the resize animation. That should be invisible to the user
because the background color is reset to white below.
Reset the contentView frame and scrollview state.
Reset the runtime states. We do not strictly need to reset _needsResetViewStateAfterCommitLoadForMainFrame,
_delayUpdateVisibleContentRects and _hadDelayedUpdateVisibleContentRects but it seems better to have
a clean slate.
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
We could have crashes during rotation. To simplify the reset code, the animated resize code
no longer change any state when WKWebView is using a custom content view.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::processDidExit):
Send a _processDidExit on the WKWebView too.
- 3:30 PM Changeset in webkit [169325] by
-
- 4 edits in trunk/Source/WebKit2
Use the right paths for website data
https://bugs.webkit.org/show_bug.cgi?id=133267
<rdar://problem/17027698>
Reviewed by Sam Weinig.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
Get the path of the absolute URL.
- UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasePath):
Fix spelling error.
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didCacheResource):
Ditto.
- 3:17 PM Changeset in webkit [169324] by
-
- 6 edits in trunk/Source
[iOS][WK2] Use ScrollView's scrollOffset as the unobscuredContentRect
https://bugs.webkit.org/show_bug.cgi?id=133262
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-25
Reviewed by Simon Fraser.
Source/WebCore:
Since VisibleContentRect was fixed, we were no longer sending scroll events when updating the scrollOffset
when updating the visible content rects. The reason is that the scrollOffset was defined as the top left of the
VisibleContentRect, and as such was already at the end position after updating the unobscured rect.
This patch split the unobscuredContentRect in unobscuredContentSize (updated live on zoom) and the position defined
by the ScrollView's scrollOffset (updated when scrolling).
- WebCore.exp.in:
- platform/ScrollView.h:
- platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::setUnobscuredContentSize):
(WebCore::ScrollView::setUnobscuredContentRect): Deleted.
Source/WebKit2:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::updateVisibleContentRects):
- 12:54 PM Changeset in webkit [169323] by
-
- 2 edits in trunk/Source/WebKit2
Build fix 2.
- UIProcess/API/Cocoa/WKPreferences.h:
- 12:34 PM Changeset in webkit [169322] by
-
- 2 edits in trunk/Source/WebKit2
Fix build.
- UIProcess/API/Cocoa/WKPreferences.h:
- 11:59 AM Changeset in webkit [169321] by
-
- 4 edits in trunk/Source/WebKit2
[WebKit2] Rework WebPreferencesStore to allow easier overriding of defaults
https://bugs.webkit.org/show_bug.cgi?id=133258
Reviewed by Anders Carlsson.
To support changing default values of preferences based on which API you are using (either
the legacy C-SPI or the Objective-C API), overhaul the WebPreferencesStore to use a single
HashMap of String -> Value (where Value is new type that can be a String, bool, uint32_t or double)
instead of four HashMaps. This allows us to use two of these new HashMaps, one for the actual
set values, and one for overridden defaults. This new Value class will also allow easier incremental
updating of preferences in the future.
Other notable changes:
- Removed Float kind of preferences. There were none.
- Move StorageBlockingPolicy preference to the correct group, it's a uint32_t, not bool.
- Shared/WebPreferencesStore.cpp:
- Shared/WebPreferencesStore.h:
- 11:09 AM Changeset in webkit [169320] by
-
- 21 edits in trunk/Source
Add type-checked casts for TransformOperations
<http://webkit.org/b/133217>
Reviewed by Simon Fraser.
Source/WebCore:
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::validateTransformOperations):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::getTransformFunctionValue):
- Switch to type-checked casts.
- platform/graphics/transforms/IdentityTransformOperation.h:
- platform/graphics/transforms/Matrix3DTransformOperation.h:
- platform/graphics/transforms/MatrixTransformOperation.h:
- platform/graphics/transforms/PerspectiveTransformOperation.h:
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/SkewTransformOperation.h:
- platform/graphics/transforms/TranslateTransformOperation.h:
- Add 'final' to class declaration.
- Add 'override' to overridden methods.
- Add type-checked cast via TRANSFORMOPERATION_TYPE_CASTS macro.
- Move implementation of operator==(const TransformOperation&) from header to source file so it is able to use a type-checked cast, and switch back to using a reference instead of a pointer.
- Add or update ASSERT in private constructor to check for correct OperationType in classes that represent multiple types.
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
(WebCore::MatrixTransformOperation::blend):
- Switch to type-checked casts and use a reference.
- platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
(WebCore::PerspectiveTransformOperation::blend):
- platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
(WebCore::RotateTransformOperation::blend):
- platform/graphics/transforms/ScaleTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
(WebCore::ScaleTransformOperation::blend):
- platform/graphics/transforms/SkewTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
(WebCore::SkewTransformOperation::blend):
- platform/graphics/transforms/TranslateTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::operator==): Added.
(WebCore::TranslateTransformOperation::blend):
- Switch to type-checked casts.
- platform/graphics/transforms/TransformOperation.h:
(WebCore::TransformOperation::isRotateTransformOperationType):
(WebCore::TransformOperation::isScaleTransformOperationType):
(WebCore::TransformOperation::isSkewTransformOperationType):
(WebCore::TransformOperation::isTranslateTransformOperationType):
- Add type-checking methods used in constructors and type-checked casts.
- Define TRANSFORMOPERATION_TYPE_CASTS macro used by subclasses.
Source/WebKit2:
- Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<TransformOperations>::encode):
- Switch to type-checked casts.
- 11:00 AM Changeset in webkit [169319] by
-
- 2 edits in trunk/Source/WebKit2
Use type-checking FilterOperation casts in CoordinatedGraphicsArgumentCoders.cpp
<http://webkit.org/b/133203>
Reviewed by Simon Fraser.
- Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
- Replace static_cast<>() operators with type-checking FilterOperation casts.
- Replace 'default' statement with 'case' statements so new filters added later require an explicit decision to be made.
(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
- Replace 'default' statement with 'case' statements so new filters added later require an explicit decision to be made.
- 9:37 AM Changeset in webkit [169318] by
-
- 3 edits2 adds in trunk
Crash in WebCore::TextResourceDecoder::checkForCSSCharset
<http://webkit.org/b/133257>
<rdar://problem/17027109>
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: fast/encoding/css-charset-missing-semi-colon-and-newline.html
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForCSSCharset): Add early
return.
LayoutTests:
- fast/encoding/css-charset-missing-semi-colon-and-newline-expected.txt: Added.
- fast/encoding/css-charset-missing-semi-colon-and-newline.html: Added.
- 12:00 AM Changeset in webkit [169317] by
-
- 2 edits in trunk/Source/WebCore
[Mac] preload AVAssetTrack properties before asking for them
https://bugs.webkit.org/show_bug.cgi?id=133240
Reviewed by Jer Noble.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::assetTrackMetadataKeyNames): Add preferredTransform and naturalSize to the list
of properties we preload.