Timeline
Jun 22, 2012:
- 10:55 PM Changeset in webkit [121087] by
-
- 2 edits in trunk/Source/WebKit/chromium
Unreviewed. Rolled DEPS.
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-22
- DEPS:
- 7:32 PM Changeset in webkit [121086] by
-
- 4 edits2 adds in trunk/Tools
[Chromium] DumpRenderTree on Android needs to configure fonts for testing
https://bugs.webkit.org/show_bug.cgi?id=89721
Reviewed by Nate Chapin.
This patch teaches DumpRenderTree to configure Skia to use the fallback
fonts that the LayoutTests assume. This patch reduces the number result
differences between chromium-android and chromium-linux.
- DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- DumpRenderTree/chromium/TestShellAndroid.cpp:
(platformInit):
- DumpRenderTree/chromium/android_fallback_fonts.xml: Added.
- DumpRenderTree/chromium/android_main_fonts.xml: Added.
- Scripts/webkitpy/layout_tests/port/chromium_android.py:
- 7:02 PM Changeset in webkit [121085] by
-
- 13 edits16 adds in trunk
Text with text-overflow:ellipsis and text-align:right is left aligned
https://bugs.webkit.org/show_bug.cgi?id=88705
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-06-22
Reviewed by Dan Bernstein.
Source/WebCore:
When building the line of a text with overflow, we do not know if we can place
an ellipsis and where it should be. Because of that, text is laid out as if it does
not have text-overflow: ellipsis.
This causes problems with text-alignement right in LTR and left in RTL. The shortened text
did not follow the allignment.
This patch changes the position of lines with ellipsis after layout to follow the allignment.
In RenderBlock::checkLinesForTextOverflow(), the call to RootInlineBox::placeEllipsis() now
also gives the width of the truncated text. We use this width to re-compute the alignement and
shift the box if necessary.
In RenderBlock::deleteEllipsisLineBoxes() we revert the text to the position computed with the
total width. This way all layout computation is done as usual.
Tests: fast/css/text-overflow-ellipsis-text-align-left.html
fast/css/text-overflow-ellipsis-text-align-right.html
- rendering/InlineBox.cpp:
(WebCore::InlineBox::canAccommodateEllipsis): Make the method const for readability, truncating is
done later in placeEllipsisBox().
(WebCore::InlineBox::placeEllipsisBox): Add an output argument, truncatedWidth, giving the width
of the text + ellipsis after truncation (if any truncation can be done).
- rendering/InlineBox.h:
(InlineBox):
- rendering/InlineFlowBox.cpp:
(WebCore::InlineBox::adjustLogicalPosition): adjustPosition() logical coordinates.
(WebCore::InlineFlowBox::canAccommodateEllipsis):
(WebCore::InlineFlowBox::placeEllipsisBox):
- rendering/InlineFlowBox.h:
(InlineFlowBox):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::placeEllipsisBox):
- rendering/InlineTextBox.h:
(InlineTextBox):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::deleteEllipsisLineBoxes): In addition to removing the truncation, we
need to revert the shift introduced by checkLinesForTextOverflow(). This restore the lines
to its original, untruncated position in order to layout the block correctly in RenderBlock::layoutInlineChildren().
(WebCore::RenderBlock::checkLinesForTextOverflow): After we truncate the text, we now recompute the shift we need
for alignment, and move the line accordingly.
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::placeEllipsis): Return the width of the truncated text + the width of the ellipsis.
(WebCore::RootInlineBox::placeEllipsisBox):
(WebCore::RootInlineBox::adjustPosition):
- rendering/RootInlineBox.h:
(RootInlineBox):
LayoutTests:
- fast/css/text-overflow-ellipsis-text-align-center.html: Added.
- fast/css/text-overflow-ellipsis-text-align-justify.html: Added.
- fast/css/text-overflow-ellipsis-text-align-left.html: Added.
- fast/css/text-overflow-ellipsis-text-align-right.html: Added.
- fast/css/vertical-text-overflow-ellipsis-text-align-center.html: Added.
- fast/css/vertical-text-overflow-ellipsis-text-align-justify.html: Added.
- fast/css/vertical-text-overflow-ellipsis-text-align-left.html: Added.
- fast/css/vertical-text-overflow-ellipsis-text-align-right.html: Added.
The vertical-text tests are incorrect due to other bugs. Add they to track regressions/progressions
going forward.
- platform/chromium/TestExpectations: The tests need platform specific results.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
- platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
- 6:35 PM Changeset in webkit [121084] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Fix negative time interval on zoom-in
https://bugs.webkit.org/show_bug.cgi?id=89798
Patch by Eugene Klyuchnikov <eustas.big@gmail.com> on 2012-06-22
Reviewed by Pavel Feldman.
Steps to reproduce:
1) Record timeline
2) Select small range with left tick close to zero
3) Move pointer to the right end of the ruler
4) Zoom-in with mouse-wheel
Result: right tick goes below the zero.
- inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewWindow.prototype._zoom):
- 6:23 PM Changeset in webkit [121083] by
-
- 13 edits in trunk
[CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
https://bugs.webkit.org/show_bug.cgi?id=89781
Reviewed by Dean Jackson.
Source/JavaScriptCore:
Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
No new tests, just re-enabled existing tests.
- css/CSSValueKeywords.in: Added empty line to force a rebuild of the file on the EWS.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
- Configurations/FeatureDefines.xcconfig:
Tools:
Added CSS Shaders as enabled by default on Safari for Mac.
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
Renabled CSS Shaders tests on Safari for Mac.
- platform/mac/Skipped:
- 6:16 PM Changeset in webkit [121082] by
-
- 5 edits in trunk/Source
IndexedDB: Avoid infinite loop if we try to encode -1 for leveldb
https://bugs.webkit.org/show_bug.cgi?id=89625
Source/WebCore:
It gets worse, memory is allocated inside the loop so the process is
eventually killed by the OS.
Reviewed by Tony Chang.
Added tests to Source/WebKit/chromium/tests/IDBLevelDBCodingTest.cpp
- Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeInt):
(WebCore::IDBLevelDBCoding::encodeVarInt):
Source/WebKit/chromium:
Reviewed by Tony Chang.
- tests/IDBLevelDBCodingTest.cpp:
(IDBLevelDBCoding::TEST):
- 5:56 PM Changeset in webkit [121081] by
-
- 1 edit2 copies in branches/chromium/1180
Merge 121072 - REGRESSION(r116446): Crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent
https://bugs.webkit.org/show_bug.cgi?id=89785
Reviewed by Abhishek Arya.
Source/WebCore:
Test: fullscreen/full-screen-crash-offsetLeft.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Added a NULL-check for parent() as it can be NULL in fullscreen mode. Also updated a stale
comment while touching the code.
LayoutTests:
- fullscreen/full-screen-crash-offsetLeft-expected.html: Added.
- fullscreen/full-screen-crash-offsetLeft.html: Added.
TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10659009
- 5:36 PM Changeset in webkit [121080] by
-
- 2 edits in trunk/LayoutTests
Unreviewed Chromium gardening. Marked test as needing rebaseline
after http://trac.webkit.org/changeset/121076 per jamesr.
- platform/chromium/TestExpectations:
- 5:31 PM Changeset in webkit [121079] by
-
- 7 edits in trunk
[Shadow] ShadowRoot.activeElement should use the result of re-targeting algorithm.
https://bugs.webkit.org/show_bug.cgi?id=89763
Reviewed by Dimitri Glazkov.
Source/WebCore:
Use the result of the re-targeting algorithm in calculating
shadow root's activeElement so that ShadowRoot.activeElement returns
a focused distributed node correctly as the algorithm says.
The spec is:
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#active-element
Tests: fast/dom/shadow/shadow-root-activeElement.html
- dom/EventDispatcher.cpp:
(WebCore):
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):
- dom/TreeScope.cpp:
(WebCore::TreeScope::focusedNode):
- html/shadow/InsertionPoint.h:
(WebCore::InsertionPoint::contains):
LayoutTests:
- fast/dom/shadow/shadow-root-activeElement-expected.txt:
- fast/dom/shadow/shadow-root-activeElement.html:
- 5:23 PM Changeset in webkit [121078] by
-
- 3 edits in trunk/Source/WebKit/chromium
[chromium] WebKit API plumbing for applicationCache.abort()
https://bugs.webkit.org/show_bug.cgi?id=89792
Reviewed by Darin Fisher.
- public/WebApplicationCacheHost.h:
(WebKit::WebApplicationCacheHost::abort):
- src/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::abort):
- 5:03 PM Changeset in webkit [121077] by
-
- 2 edits in trunk/LayoutTests
Unreviewed Chromium gardening. Suppressed additional test failures
tracked in bugs 73692 and 89789.
- platform/chromium/TestExpectations:
- 4:57 PM Changeset in webkit [121076] by
-
- 31 edits in trunk/Source
[chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=89045
Reviewed by Adrienne Walker.
Based on patch by Michal Mocny <mmocny@google.com>.
Source/WebCore:
Invariants:
1.) We never commit (paint, animate, any of it) when not visible on the main thread -except- for
compositeAndReadback, regardless of threaded vs non-threaded mode
2.) CCLayerTreeHost::m_contentsTextureManager's memory budget is only set by updateLayers() when we are going to
make a frame and is always set to a non-zero value
3.) Zero-sized allocations from the GPU process are always serviced immediately on the impl thread. Non-zero
allocations are met in the next frame, whenever we would produce that frame according to our usual frame
scheduling logic.
4.) The impl thread always knows the set of currently-allocated managed texture IDs and can delete them all
whenever it likes without needing the main thread to be responsive.
Details:
There are two main changes - tweaking how the contents texture manager's budget is handled and tweaking frame
scheduling for the !visible case.
The scheduling change is a bit more subtle but it unifies the single and multi threaded paths and is really
important. Except for compositeAndReadback (which I'll talk about below), we simply won't produce frames when
not visible. This already happens in the single threaded path thanks to render_widget so the only change is to
the threaded path. The difficulty here is we might post a beginFrame task from the impl thread and then get a
setVisible(false) call on the main thread before the beginFrame task runs. Since I'm making the setVisible()
call a blocking call from main thread -> impl thread, when the beginFrame task eventually does run on the main
thread we can know that the impl thread's notion of visibility is in sync with the main threads. Thus I'm
planning to simply abort the frame before doing any processing on the main thread. The scheduler will know if
it gets a beginFrameAborted and COMMIT_STATE_IDLE.
compositeAndReadback is special - this call currently does come in when we aren't visible (in single and
threaded mode) and we need to service it. In particular, we need to send a beginFrame over and have it
not be ignored on the main thread. For this I'm thinking of having the proxy keep track of whether it's
servicing a compositeAndReadback() and use that bit on the main thread to know to process the beginFrame
normally. On the impl side, we need a few changes. First, we have to allocate a default framebuffer
(ensureFramebufferCHROMIUM) even if we've dropped it previously and remember to discard it after the
readPixels(). Second, we have to provide a non-zero contents texture allocation on the beginFrame message, and
again remember to delete the textures after the readPixels(). Third, we have to know that the beginFrame is a
forced frame so when we get the beginFrameComplete we go ahead with the rest of the frame. For this, I think
I'll have to add ACTION_BEGIN_FORCED_FRAME and a corresponding COMMIT_STATE_FORCED_FRAME_IN_PROGRESS so the
scheduler can keep track of the magicness of this frame, and then add some logic after the readpixels call to
drop resources after the readback. It's probably a good time to stop swapping on readbacks too....
The contents texture manager's budget is only relevant when we want to make a frame, so it's now passed in on
the updateLayers(). Since we only make frames when we are visible and we never have a zero allocation when
visible (thanks to the frame scheduling changes above), this value is always non-zero. The other thing the
texture manager needs to know about is if we've killed all of the underlying textures from the impl thread -
this bit is passed in by the proxy before the updateLayers() call. This means if we're running while visible
and the manager wants to decrease our budget to something other than zero, we'll get a new (non-zero) allocation
on the impl thread, schedule a frame, then when it's time to make the frame pass the new lower limit in to
updateLayers(), then have the contents texture manager evict down to our new limit and make a frame with the new
budget. When the commit completes we'll get notified on the impl thread of which textures the contents texture
manager decided to evict and issue the deleteTexture() calls on them.
The texture budget we pass in will be based on the most recent non-zero memory allocation we received from the
GPU memory manager, or some default value I'll pull out my ass if we haven't heard anything yet. On compositor
initialization, we can't afford to wait for a round-trip through the GPU process to get a budget for the first
frame. I don't think handling a decrease to a non-zero budget on a visible tab needs to be terribly urgent - we
can get to it when we get to making the next frame. If we wanted to satisfy reduced texture budgets directly
from the impl thread, we could keep a priority-list ordered set of textures once we have priorities and delete
based on that. Let's worry about that later.
- platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChangedOnImpl):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::setGpuMemoryAllocation):
(WebCore):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::getFramebufferPixels):
- platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
- platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::evictAndRemoveAllDeletedTextures):
(WebCore):
- platform/graphics/chromium/TextureManager.h:
(TextureAllocator):
(TextureManager):
- platform/graphics/chromium/TrackingTextureAllocator.cpp:
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
(WebCore):
(WebCore::TrackingTextureAllocator::deleteAllTextures):
- platform/graphics/chromium/TrackingTextureAllocator.h:
(TrackingTextureAllocator):
- platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::evictAllContentTextures):
(WebCore::CCLayerTreeHost::updateLayers):
- platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::context):
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
(WebCore):
(WebCore::CCLayerTreeHostImpl::setMemoryAllocationLimitBytes):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImplClient):
(WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastCommit):
(WebCore::CCLayerTreeHostImpl::memoryAllocationLimitBytes):
(CCLayerTreeHostImpl):
- platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
- platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
- platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::beginFrameAborted):
(WebCore):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didLoseContext):
(WebCore::CCScheduler::didRecreateContext):
(WebCore::CCScheduler::vsyncTick):
- platform/graphics/chromium/cc/CCScheduler.h:
(CCScheduler):
- platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::beginFrameAborted):
(WebCore):
- platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
- platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setVisible):
(WebCore):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::commitAndComposite):
- platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
- platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::setVisible):
(WebCore):
(WebCore::CCThreadProxy::setVisibleOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameAbortedOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
- platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
(BeginFrameAndCommitState):
- platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::allocatePlaneData):
(WebCore::CCVideoLayerImpl::freePlaneData):
(WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
(WebCore::CCVideoLayerImpl::didLoseContext):
- platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(FramePlane):
Source/WebKit/chromium:
Update various test fixtures and tests to cover scheduling, visibility, and resource allocation changes.
- tests/CCLayerTreeHostImplTest.cpp:
- tests/CCLayerTreeHostTest.cpp:
(CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::beginTest):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::afterTest):
(WTF):
(WTF::TEST_F):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):
- tests/CCSchedulerStateMachineTest.cpp:
(WebCore::TEST):
- tests/CCTiledLayerTestCommon.h:
- tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::FakeWebGraphicsContext3D):
(FakeWebGraphicsContext3D):
(WebKit::FakeWebGraphicsContext3D::createTexture):
- tests/LayerRendererChromiumTest.cpp:
(TEST_F):
- tests/TiledLayerChromiumTest.cpp:
- 4:41 PM Changeset in webkit [121075] by
-
- 2 edits in trunk/LayoutTests
Layout test fast/regions/get-regions-by-content-node2.html crashing intermittently
https://bugs.webkit.org/show_bug.cgi?id=89794
Unreviewed; suppressed test failure.
- platform/chromium/TestExpectations:
- 4:40 PM Changeset in webkit [121074] by
-
- 2 edits1 add in trunk
Add support for test_expectations_android.txt for overriding test expecations on the chromium-android branch
https://bugs.webkit.org/show_bug.cgi?id=89791
Reviewed by Dirk Pranke.
Downstream, the chromium-android port maintains a test expectations
file to keep track of which tests pass or fail. That causes them to
keep a patch in chromium_android.py in their branch.
This patch teaches chromium_android.py to use test_expectations_android.txt.
We don't intend to use this file upstream, but having this code patch
upstream lets us unfork webkitpy.
- Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.expectations_files):
- 4:32 PM Changeset in webkit [121073] by
-
- 16 edits in trunk/Source/JavaScriptCore
DFG tier-up should happen in prologues, not epilogues
https://bugs.webkit.org/show_bug.cgi?id=89752
Reviewed by Geoffrey Garen.
This change has two outcomes:
1) Slightly reduces the likelihood that a function will be optimized both
standalone and via inlining. Previously, if you had a call sequence like foo()
calls bar() exactly once, and nobody else calls bar(), then bar() would get
optimized first (because it returns first) and then foo() gets optimized. If foo()
can inline bar() then that means that bar() gets optimized twice. But now, if we
optimize in prologues, then foo() will be optimized first. If it inlines bar(),
that means that there will no longer be any calls to bar().
2) It lets us kill some code in JITStubs. Epilogue tier-up was very different from
loop tier-up, since epilogue tier-up should not attempt OSR. But prologue tier-up
requires OSR (albeit really easy OSR since it's the top of the compilation unit),
so it becomes just like loop tier-up. As a result, we now have one optimization
hook (cti_optimize) instead of two (cti_optimize_from_loop and
cti_optimize_from_ret).
As a consequence of not having an optimization check in epilogues, the OSR exit
code must now trigger reoptimization itself instead of just signaling the epilogue
check to fire.
This also adds the ability to count the number of DFG compilations, which was
useful for debugging this patch and might be useful for other things in the future.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::reoptimize):
(JSC):
- bytecode/CodeBlock.h:
(CodeBlock):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):
- dfg/DFGDriver.cpp:
(DFG):
(JSC::DFG::getNumCompilations):
(JSC::DFG::compile):
- dfg/DFGDriver.h:
(DFG):
- dfg/DFGOSRExitCompiler.cpp:
(JSC::DFG::OSRExitCompiler::handleExitCounts):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- jit/JIT.cpp:
(JSC::JIT::emitOptimizationCheck):
- jit/JIT.h:
- jit/JITCall32_64.cpp:
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):
(JSC::JIT::emit_op_enter):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_enter):
- jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
- jit/JITStubs.h:
- 4:29 PM Changeset in webkit [121072] by
-
- 3 edits2 adds in trunk
REGRESSION(r116446): Crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent
https://bugs.webkit.org/show_bug.cgi?id=89785
Reviewed by Abhishek Arya.
Source/WebCore:
Test: fullscreen/full-screen-crash-offsetLeft.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Added a NULL-check for parent() as it can be NULL in fullscreen mode. Also updated a stale
comment while touching the code.
LayoutTests:
- fullscreen/full-screen-crash-offsetLeft-expected.html: Added.
- fullscreen/full-screen-crash-offsetLeft.html: Added.
- 4:26 PM Changeset in webkit [121071] by
-
- 2 edits in trunk/PerformanceTests
Make SvgCubics performance test more consistent
https://bugs.webkit.org/show_bug.cgi?id=89778
Reviewed by Ryosuke Niwa.
Previously this test ran twice for each iteration, but this led to inconsistent repaints.
This change updates the test to only run once per iteration, and adds even more cubics
so that the test runs consistently in the 80ms range on my Linux desktop.
Performance results on my desktop:
RESULT SVG: SvgCubics= 80.5 ms
median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
RESULT SVG: SvgCubics= 80.1 ms
median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
RESULT SVG: SvgCubics= 81.45 ms
median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
RESULT SVG: SvgCubics= 78.9 ms
median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
- SVG/SvgCubics.html:
- 4:24 PM Changeset in webkit [121070] by
-
- 4 edits in trunk/Source/WebKit/chromium
[chromium] Notify the document if a plugin accepts touch input events
https://bugs.webkit.org/show_bug.cgi?id=89769
Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-06-22
Reviewed by Adam Barth.
The browser sends touch events to webkit only if webkit has any touch-event handlers. So it is
necessary to notify the document when a plugin starts accepting touch-events so that it can in
turn tell the browser to send it touch events.
- public/WebPluginContainer.h:
(WebPluginContainer):
- src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):
- src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
- 4:16 PM Changeset in webkit [121069] by
-
- 20 edits2 deletes in trunk/Source
Unreviewed, rolling out r121064.
http://trac.webkit.org/changeset/121064
https://bugs.webkit.org/show_bug.cgi?id=88268
Broke Chromium Mac build.
Source/Platform:
- Platform.gypi:
- chromium/public/WebLayerTreeView.h:
(WebKit):
(WebLayerTreeView):
- chromium/public/WebRenderingStats.h: Removed.
Source/WebCore:
- WebCore.gypi:
- platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::updateAnimations):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
- platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore):
(WebCore::CCLayerTreeHost::frameNumber):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::frameNumber):
(CCLayerTreeHostImpl):
- platform/graphics/chromium/cc/CCProxy.h:
(WebCore):
(CCProxy):
- platform/graphics/chromium/cc/CCRenderingStats.h: Removed.
- platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
- platform/graphics/chromium/cc/CCSingleThreadProxy.h:
- platform/graphics/chromium/cc/CCThreadProxy.cpp:
- platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
Source/WebKit/chromium:
- public/WebView.h:
(WebKit):
(WebView):
- src/WebLayerTreeView.cpp:
- src/WebViewImpl.cpp:
- src/WebViewImpl.h:
(WebViewImpl):
- tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestScrollSimple::layout):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommit):
- 4:13 PM Changeset in webkit [121068] by
-
- 8 edits in trunk/Source
[EFL][WK2] Support keyboard event
https://bugs.webkit.org/show_bug.cgi?id=89268
Reviewed by Chang Shu.
Source/WebCore:
Extract keyDownCommandsMap and keyPressCommandsMap to share WebKit1/Efl and WebKit2/Efl.
- platform/efl/EflKeyboardUtilities.cpp:
(WebCore):
(WebCore::keyDownCommandsMap):
(WebCore::keyPressCommandsMap):
(KeyDownEntry):
(KeyPressEntry):
(WebCore::createKeyDownCommandMap):
(WebCore::createKeyPressCommandMap):
(WebCore::getKeyDownCommandName):
(WebCore::getKeyPressCommandName):
- platform/efl/EflKeyboardUtilities.h:
(WebCore):
Source/WebKit/efl:
Extract keyDownCommandsMap and keyPressCommandsMap to share WebKit1/Efl and WebKit2/Efl.
- WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::interpretKeyEvent):
Source/WebKit2:
- WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.
- WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.
- 4:09 PM Changeset in webkit [121067] by
-
- 2 edits in trunk/LayoutTests
Skipping this test because it's failing most of the time since
recent modifications.
https://bugs.webkit.org/show_bug.cgi?id=89790 will be used to
track fixing the real issue.
- platform/mac/Skipped:
- 4:06 PM Changeset in webkit [121066] by
-
- 2 edits in trunk/Source/WebCore
IndexedDB: refactor index-writing to be more self-contained
https://bugs.webkit.org/show_bug.cgi?id=89607
Patch by Alec Flett <alecflett@chromium.org> on 2012-06-22
Reviewed by Tony Chang.
Refactor index-writing into the IndexWriter class. Does not change
existing behavior but begins migrating index-writing logic into a
self-contained class that can eventually be used in the
frontend (renderer) side of IndexedDB.
No new tests, behavior is unchanged.
- Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::populateIndex):
- 3:58 PM Changeset in webkit [121065] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Layout test plugins/embed-attributes-style.html failing on Mac
https://bugs.webkit.org/show_bug.cgi?id=89789
Unreviewed; disabled now-failing test.
- platform/chromium/TestExpectations:
- 3:44 PM Changeset in webkit [121064] by
-
- 20 edits2 adds in trunk/Source
[chromium] Expose rendering statistics to WebWidget.
https://bugs.webkit.org/show_bug.cgi?id=88268
Patch by Dave Tu <dtu@chromium.org> on 2012-06-22
Reviewed by James Robinson.
The WebKit side of a basic framework for exposing rendering statistics
to Chromium's --enable-benchmarking extension.
Source/Platform:
- chromium/public/WebLayerTreeView.h:
(WebRenderingStatistics):
(WebKit):
(WebLayerTreeView):
Source/WebCore:
- platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::implFrameNumber):
- platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
- platform/graphics/chromium/cc/CCSingleThreadProxy.h:
- platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::implFrameNumber):
(WebCore):
(WebCore::CCThreadProxy::implFrameNumberOnImplThread):
- platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
Source/WebKit/chromium:
- src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::renderingStatistics):
(WebKit):
- 3:37 PM Changeset in webkit [121063] by
-
- 5 edits in trunk/LayoutTests
Fix the CSS grid layout tests added in r120984
https://bugs.webkit.org/show_bug.cgi?id=89782
Reviewed by Julien Chaffraix.
We need to call testRunner.overridePreference("WebKitCSSGridLayoutEnabled", true)
to enable grid layout in tests. These tests were passing due to other bugs in the tests.
- fast/css-grid-layout/containing-block-grids-expected.html: Simplify expected results.
- fast/css-grid-layout/containing-block-grids.html: Set the display to none and override it with grid/inline-grid to make sure it's applying.
The default display of block would also produce the correct results.
- fast/css-grid-layout/floating-empty-grids-expected.html: Fix a missing close } which was causing the
other styles to be ignored. Also, one of the boxes wasn't showing up because it was a div instead of a span.
- fast/css-grid-layout/floating-empty-grids.html: Same fixes as for expected.
- 3:30 PM Changeset in webkit [121062] by
-
- 2 edits in trunk/LayoutTests
ApplicationCache - verify that an open network whitelist doesn't break online vs fallback layering.
https://bugs.webkit.org/show_bug.cgi?id=89714
An explicit online network namespace should trump a fallback namespace, the fallback should not be used.
Chrome had a bug where if a '*' was in the NETWORK section, explicit entries got ignored, and that
expected behavior was botched. See http://code.google.com/p/chromium/issues/detail?id=133816 for more
details about the chrome bug and code change this LayoutTest aims to verify.
Reviewed by Tony Chang.
- http/tests/appcache/resources/online-fallback-layering.manifest:
- 3:25 PM Changeset in webkit [121061] by
-
- 3 edits in trunk/Tools
run_webkit_tests.py failed with AttributeError(NoneType' object has no attribute 'pid)
https://bugs.webkit.org/show_bug.cgi?id=89734
Reviewed by Ryosuke Niwa.
Fix a crash in ServerProcess if you called .pid() after it
crashed during a write(). We had a test for this case but the
test wasn't calling pid(), just has_crashed(). Fixed the problem
and the test.
- Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess.init):
(ServerProcess.pid):
(ServerProcess._start):
(ServerProcess.stop):
- Scripts/webkitpy/layout_tests/port/server_process_unittest.py:
(FakeServerProcess._start):
(TestServerProcess.test_broken_pipe):
- 3:24 PM Changeset in webkit [121060] by
-
- 4 edits in trunk/Source
[chromium] Do not accumulate occlusion from 3d layers on the main thread
https://bugs.webkit.org/show_bug.cgi?id=89704
Reviewed by James Robinson.
Source/WebCore:
Layer iterators on the main thread may not iterate over 3d layers
in correct front-to-back or back-to-front order, because layer
sorting is not performed on the main thread. As a result,
occlusion tracking can accidentally think something is occluded if
a 3d layer is processed out of order. This patch choses to solve
this by avoiding accumulating occlusion for 3d layers. It may be
appropriate later to consider adding layer sorting on the main
thread, but for now that seemed like an unnecessary heavy-handed
approach.
In addition to a new unit test that covers this, other unit tests
were changed to work on the impl thread, so that the 3d layers
still accumulate occlusion as required.
Unit test added to CCOcclusionTrackerTest:
CCOcclusionTrackerTestUnsorted3dLayers
- platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::layerIsInUnsorted3dRenderingContext):
(WebCore):
(WebCore::::markOccludedBehindLayer):
Source/WebKit/chromium:
- tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::CCOcclusionTrackerTest::calcDrawEtc):
(WebKitTests):
(CCOcclusionTrackerTestUnsorted3dLayers):
(WebKitTests::CCOcclusionTrackerTestUnsorted3dLayers::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
- 3:09 PM Changeset in webkit [121059] by
-
- 26 edits5 adds in trunk
IndexedDB: Snapshot metadata in front end to avoid IPC round-trips
https://bugs.webkit.org/show_bug.cgi?id=88467
Reviewed by Tony Chang.
Source/WebCore:
Define a new type (IDBDatabaseMetadata) that captures the "schema" of an
IDB database (name, version, properties of stores, properties of indexes).
Add a method for the front end to request this from the back end once up
front to avoid later calls (which may be slow IPC calls in ports). Implement
IDB spec logic that the metadata should be frozen for a particular IDBDatabase
connection, and only change within a version change transaction, and the spec's
funky requirement for aborted version change transactions.
Test: storage/indexeddb/metadata.html
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase): Fetch metadata from back end when connection is created.
(WebCore::IDBDatabase::transactionCreated):
(WebCore::IDBDatabase::transactionFinished): Update metadata at the end of a transaction in
case it was rolled back.
(WebCore::IDBDatabase::objectStoreNames): Move implementation to front-end.
(WebCore):
(WebCore::IDBDatabase::createObjectStore): Update local copy of metadata.
(WebCore::IDBDatabase::deleteObjectStore): Update local copy of metadata.
- Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::name): Move implementation to front-end.
(WebCore::IDBDatabase::version): Move implementation to front-end.
(IDBDatabase):
(WebCore::IDBDatabase::metadata):
- Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):
- Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
- Modules/indexeddb/IDBDatabaseBackendInterface.h:
(WebCore):
(IDBDatabaseBackendInterface):
- Modules/indexeddb/IDBIndex.cpp: Store a copy of the metadata, which will never
change during the lifetime of the index.
(WebCore::IDBIndex::IDBIndex):
- Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::create):
(WebCore::IDBIndex::name): Move implementation to front-end.
(WebCore::IDBIndex::objectStore): Return RefPtr (unrelated tidying).
(WebCore::IDBIndex::keyPath): Move implementation to front-end.
(WebCore::IDBIndex::unique): Move implementation to front-end.
(WebCore::IDBIndex::multiEntry): Move implementation to front-end.
(IDBIndex):
- Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):
- Modules/indexeddb/IDBIndexBackendImpl.h:
(IDBIndexBackendImpl):
- Modules/indexeddb/IDBMetadata.h: Added new structs.
(WebCore):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
(IDBDatabaseMetadata):
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
(IDBObjectStoreMetadata):
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(IDBIndexMetadata):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore): Store a "live" copy of the metadata, and
and copy in case of an aborted version change transaction.
(WebCore::IDBObjectStore::indexNames): Move implementation to front-end.
(WebCore::IDBObjectStore::createIndex): Update metadata to include new index.
(WebCore::IDBObjectStore::index): Pass along metadata to instance constructor.
(WebCore::IDBObjectStore::deleteIndex): Delete index from metadata.
- Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::create):
(WebCore::IDBObjectStore::name): Move implementation to front-end.
(WebCore::IDBObjectStore::keyPath): Move implementation to front-end.
(WebCore::IDBObjectStore::transaction): Return RefPtr (unrelated tidying).
(WebCore::IDBObjectStore::autoIncrement): Move implementation to front-end.
(WebCore::IDBObjectStore::metadata): Allow copying the metadata, in case of abort.
(WebCore::IDBObjectStore::resetMetadata): Allow setting the metadata, in case of abort.
(IDBObjectStore):
- Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):
- Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore):
(IDBObjectStoreBackendImpl):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore): Pass along metadata to instance constructor.
(WebCore::IDBTransaction::objectStoreCreated): Track stores changed during transaction.
(WebCore::IDBTransaction::objectStoreDeleted):Track stores changed during transaction.
(WebCore::IDBTransaction::onAbort): Revert stores metadata potentially changed during transaction.
- Modules/indexeddb/IDBTransaction.h:
(IDBTransaction):
- WebCore.gypi:
Source/WebKit/chromium:
Add conversions to/from WebCore IDB metadata type and plumbing for routing the
IDBDatabaseBackendInterface::metadata() call through the public API..
- WebKit.gyp: New file added.
- public/WebIDBMetadata.h: Conversion functions.
(WebCore):
(WebIDBMetadata):
- src/IDBDatabaseBackendProxy.cpp: Plumbing.
(WebKit::IDBDatabaseBackendProxy::metadata):
(WebKit):
- src/IDBDatabaseBackendProxy.h: Plumbing.
(IDBDatabaseBackendProxy):
- src/WebIDBDatabaseImpl.cpp: Plumbing.
(WebKit::WebIDBDatabaseImpl::metadata):
(WebKit):
- src/WebIDBDatabaseImpl.h: Plumbing.
(WebKit):
(WebIDBDatabaseImpl):
- src/WebIDBMetadata.cpp: Added - conversion functions.
(WebKit):
(WebKit::WebIDBMetadata::WebIDBMetadata):
(WebKit::WebIDBMetadata::operator IDBDatabaseMetadata):
LayoutTests:
- storage/indexeddb/metadata-expected.txt: Added.
- storage/indexeddb/metadata.html: Added.
- storage/indexeddb/resources/metadata.js: Added.
(test):
(firstOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(firstOpen.request.onsuccess.request.onsuccess):
(firstOpen.request.onsuccess):
(firstOpen):
(secondOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(secondOpen.request.onsuccess.request.onsuccess):
(secondOpen.request.onsuccess):
(secondOpen):
(thirdOpen.request.onsuccess.request.onsuccess.trans.onabort):
(thirdOpen.request.onsuccess.request.onsuccess):
(thirdOpen.request.onsuccess):
(thirdOpen):
(fourthOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(fourthOpen.request.onsuccess.request.onsuccess):
(fourthOpen.request.onsuccess):
(fourthOpen):
(checkState):
- 2:42 PM Changeset in webkit [121058] by
-
- 121 edits in trunk/Source
JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- API/APIShims.h:
(APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Added an extra parameter to the constructor to
determine whether we should ref the JSGlobalData or not. We want to ref all the time except for in the
HeapTimer class because timerDidFire could run after somebody has started to tear down that particular
JSGlobalData, so we wouldn't want to resurrect the ref count of that JSGlobalData from 0 back to 1 after
its destruction has begun.
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): Now derefs if it also refed.
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APIEntryShim::~APIEntryShim):
(JSC::APIEntryShim::init): Factored out common initialization code for the various APIEntryShim constructors.
Also moved the timeoutChecker stop and start here because we need to start after we've grabbed the API lock
and before we've released it, which can only done in APIEntryShim.
(JSC::APICallbackShim::~APICallbackShim): We no longer need to synchronize here.
- API/JSContextRef.cpp:
(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):
- heap/CopiedSpace.cpp:
(JSC::CopiedSpace::tryAllocateSlowCase):
- heap/Heap.cpp:
(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):
- heap/Heap.h: Changed m_activityCallback and m_sweeper to be raw pointers rather than OwnPtrs because they
are now responsible for their own lifetime. Also changed the order of declaration of the GCActivityCallback
and the IncrementalSweeper to make sure they're the last things that get initialized during construction to
prevent any issues with uninitialized memory in the JSGlobalData/Heap they might care about.
(Heap):
- heap/HeapTimer.cpp: Refactored to allow for thread-safe operation and shutdown.
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC):
(JSC::HeapTimer::didStartVMShutdown): Called at the beginning of ~JSGlobalData. If we're on the same thread
that the HeapTimer is running on, we kill the HeapTimer ourselves. If not, then we set some state in the
HeapTimer and schedule it to fire immediately so that it can notice and kill itself.
(JSC::HeapTimer::timerDidFire): We grab our mutex and check our JSGlobalData pointer. If it has been zero-ed
out, then we know the VM has started to shutdown and we should kill ourselves. Otherwise, grab the APIEntryShim,
but without ref-ing the JSGlobalData (we don't want to bring the JSGlobalData's ref-count from 0 to 1) in case
we were interrupted between releasing our mutex and trying to grab the APILock.
- heap/HeapTimer.h:
(HeapTimer):
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::doWork): We no longer need the API shim here since HeapTimer::timerDidFire handles
all of that for us.
(JSC::IncrementalSweeper::create):
- heap/IncrementalSweeper.h:
(IncrementalSweeper):
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::allocateSlowCase):
- heap/WeakBlock.cpp:
(JSC::WeakBlock::reap):
- jsc.cpp:
(functionGC):
(functionReleaseExecutableMemory):
(jscmain):
- runtime/Completion.cpp:
(JSC::checkSyntax):
(JSC::evaluate):
- runtime/GCActivityCallback.h:
(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):
- runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData): Signals to the two HeapTimers (GCActivityCallback and IncrementalSweeper)
that the VM has started shutting down. It then waits until the HeapTimer is done with whatever activity
it needs to do before continuing with any further destruction. Also asserts that we do not currently hold the
APILock because this could potentially cause deadlock when we try to signal to the HeapTimers using their mutexes.
(JSC::JSGlobalData::sharedInstance): Protect the initialization for the shared instance with the GlobalJSLock.
(JSC::JSGlobalData::sharedInstanceInternal):
- runtime/JSGlobalData.h: Change to be ThreadSafeRefCounted so that we don't have to worry about refing and
de-refing JSGlobalDatas on separate threads since we don't do it that often anyways.
(JSGlobalData):
(JSC::JSGlobalData::apiLock):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):
- runtime/JSLock.cpp:
(JSC):
(JSC::GlobalJSLock::GlobalJSLock): For accessing the shared instance.
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder): MutexLocker for JSLock. Also refs the JSGlobalData to keep it alive so that
it can successfully unlock it later without it disappearing from underneath it.
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(JSC::JSLock::lock): Uses the spin lock for guarding the lock count and owner thread fields. Uses the mutex for
actually waiting for long periods.
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):
- runtime/JSLock.h:
(JSC):
(GlobalJSLock):
(JSLockHolder):
(JSLock):
(DropAllLocks):
- runtime/WeakGCMap.h:
(JSC::WeakGCMap::set):
- testRegExp.cpp:
(realMain):
Source/WebCore:
No new tests. Current regression tests are sufficient.
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.
- bindings/js/GCController.cpp:
(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):
- bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSSQLStatementErrorCallback::handleEvent):
- bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::handleEvent):
- bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
- bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):
- bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
- bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::evaluate):
- bindings/js/JSMutationCallbackCustom.cpp:
(WebCore::JSMutationCallback::handleEvent):
- bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
- bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
(WebCore::JSRequestAnimationFrameCallback::handleEvent):
- bindings/js/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::evaluate):
- bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
- bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):
- bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::windowScriptObject):
- bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidPause):
- bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):
- bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):
- bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):
- bindings/js/ScriptValue.cpp:
(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):
- bindings/objc/WebScriptObject.mm:
(_didExecute):
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
(-[WebScriptObject dealloc]):
(-[WebScriptObject finalize]):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackImplementation):
- bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):
- bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):
- bridge/c/c_class.cpp:
(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):
- bridge/c/c_runtime.cpp:
(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):
- bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):
- bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):
- bridge/jni/jni_objc.mm:
(JSC::Bindings::dispatchJNICall):
- bridge/jni/jsc/JNIUtilityPrivate.cpp:
(JSC::Bindings::convertValueToJValue):
- bridge/jni/jsc/JavaClassJSC.cpp:
(JavaClass::JavaClass):
(JavaClass::~JavaClass):
- bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::stringValue):
- bridge/jni/jsc/JavaMethodJSC.cpp:
(appendClassName):
(JavaMethod::signature):
- bridge/jni/jsc/JavaStringJSC.h:
(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):
- bridge/jsc/BridgeJSC.cpp:
(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):
- bridge/objc/objc_instance.mm:
(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
- bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):
- bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):
- bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
- bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
- bridge/qt/qt_runtime_qt4.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
- html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
- plugins/PluginView.cpp:
(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):
- plugins/blackberry/PluginViewBlackBerry.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):
- plugins/efl/PluginViewEfl.cpp:
(WebCore::PluginView::dispatchNPEvent):
- plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
- plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):
- plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
- plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::dropProtection):
Source/WebKit/blackberry:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::clearMemoryCaches):
- WebCoreSupport/ClientExtension.cpp:
- WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::installDomFunction):
- WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):
Source/WebKit/efl:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- ewk/ewk_frame.cpp:
(ewk_frame_script_execute):
- ewk/ewk_view.cpp:
(ewk_view_js_object_add):
Source/WebKit/gtk:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):
Source/WebKit/mac:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- DOM/WebDOMOperations.mm:
(JSC):
- Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::wantsAllStreams):
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):
- Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):
- WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):
- WebView/WebView.mm:
(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
Source/WebKit/qt:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- Api/qwebframe.cpp:
(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):
- WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):
Source/WebKit/win:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- WebCoreStatistics.cpp:
(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
- WebFrame.cpp:
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
- WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::objectCount):
- WebView.cpp:
(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):
Source/WebKit2:
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
- Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit):
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):
- WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):
- 2:28 PM Changeset in webkit [121057] by
-
- 4 edits in trunk/Source/WebKit/chromium
[Chromium] Browser Plugin: Expose advanceFocus to WebKit API so that guests can advance focus of theirs embedders
https://bugs.webkit.org/show_bug.cgi?id=88827
Reviewed by Darin Fisher.
A browser plugin needs to be able to tells its embedder when the guest
is done tabbing through controls and wants its embedder to advance its
tab position.
- public/WebView.h:
(WebView):
(WebKit::WebView::advanceFocus):
- src/WebViewImpl.cpp:
(WebKit::WebViewImpl::advanceFocus):
(WebKit):
- src/WebViewImpl.h:
(WebViewImpl):
- 1:59 PM Changeset in webkit [121056] by
-
- 2 edits in trunk/LayoutTests
editing/spelling/grammar-edit-word.html fails on WK2 bots
https://bugs.webkit.org/show_bug.cgi?id=89199
- platform/mac-wk2/Skipped:
- 1:45 PM Changeset in webkit [121055] by
-
- 20 edits in trunk
[Chromium] Change implementing a fast-path for copying GPU-accelerated Canvas2D instances to WebGL textures.
https://bugs.webkit.org/show_bug.cgi?id=86275
This change adds the necessary plumbing to the various rendering contexts to copy the backing store texture of
a Canvas2D instance to be copied to a WebGL texture. The GL_CHROMIUM_copy_texture extension is necessary
because the backing-store for a GPU-accelerated skia Canvas2D is normally in BGRA format, which is not supported
by glCopyTexImage.
Patch by Jeff Timanus <twiz@chromium.org> on 2012-06-22
Reviewed by Kenneth Russell.
Source/Platform:
- chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::copyTextureCHROMIUM):
Source/WebCore:
Test: fast/canvas/webgl/*
- html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::texImage2D):
- platform/chromium/support/Extensions3DChromium.cpp:
(WebCore::Extensions3DChromium::copyTextureCHROMIUM):
(WebCore):
- platform/graphics/Extensions3D.h:
(Extensions3D):
- platform/graphics/ImageBuffer.cpp:
(WebCore):
(WebCore::ImageBuffer::copyToPlatformTexture):
- platform/graphics/ImageBuffer.h:
(WebCore):
(ImageBuffer):
- platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::backBufferTexture):
(WebCore):
- platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
- platform/graphics/chromium/Extensions3DChromium.h:
(Extensions3DChromium):
- platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::copyTextureCHROMIUM):
(WebCore):
- platform/graphics/opengl/Extensions3DOpenGL.h:
(Extensions3DOpenGL):
- platform/graphics/qt/Extensions3DQt.cpp:
(WebCore::Extensions3DQt::copyTextureCHROMIUM):
(WebCore):
- platform/graphics/qt/Extensions3DQt.h:
(Extensions3DQt):
- platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::copyToPlatformTexture):
(WebCore):
Source/WebKit/chromium:
- DEPS: Rolled chromium to 143630 to fix chromium-linux ews failures.
LayoutTests:
- platform/chromium/TestExpectations: Temporarily suppressed layout test, fast/canvas/webgl/gl-teximage.html until a rebaseline can be submitted.
- 1:37 PM Changeset in webkit [121054] by
-
- 2 edits in trunk/LayoutTests
Layout Test media/event-attributes.html is failing
https://bugs.webkit.org/show_bug.cgi?id=73692
Unreviewed test expectations update; mark test as occasionally
crashing as well.
- platform/chromium/TestExpectations:
- 1:28 PM Changeset in webkit [121053] by
-
- 23 edits in trunk/Source
Add url to supportsType
https://bugs.webkit.org/show_bug.cgi?id=89514
Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2012-06-22
Reviewed by Eric Carlson.
No new tests since there's no change on code behavior.
When a blob is created as the address for a Media Stream, the MediaEngine
will ask it's players if they support that media. However, a player built
for MediaStream needs to know to URL to decide if it's supported or not.
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType):
(WebCore::HTMLMediaElement::selectNextSourceChild):
- html/HTMLMediaElement.h:
- platform/graphics/MediaPlayer.cpp:
(MediaPlayerFactory):
(WebCore::MediaPlayerFactory::MediaPlayerFactory):
(WebCore):
(WebCore::textPlain):
(WebCore::bestMediaEngineForTypeAndCodecs):
(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::supportsType):
- platform/graphics/MediaPlayer.h:
(WebCore):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
(MediaPlayerPrivateAVFoundationCF):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
(MediaPlayerPrivateAVFoundationObjC):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
- platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::supportsType):
- platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(MediaPlayerPrivateGStreamer):
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
(MediaPlayerPrivateQTKit):
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::supportsType):
- platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::supportsType):
- platform/graphics/qt/MediaPlayerPrivateQt.h:
(MediaPlayerPrivateQt):
- platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType):
- platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
(MediaPlayerPrivateQuickTimeVisualContext):
- platform/graphics/wince/MediaPlayerPrivateWinCE.h:
(MediaPlayerPrivate):
- 1:26 PM Changeset in webkit [121052] by
-
- 2 edits in trunk/LayoutTests
fast/canvas/canvas-createImageData.html crashes on Lion WK2 Debug bot
https://bugs.webkit.org/show_bug.cgi?id=89780
- platform/mac-wk2/Skipped: Add to skipped list for wk2.
- 1:10 PM Changeset in webkit [121051] by
-
- 10 edits in trunk
[BlackBerry] Sanitize GLSL code using ANGLE.
BlackBerry port does not sanitize GLSL code with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=89583
Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-06-22
Reviewed by Rob Buis.
.:
- Source/cmake/OptionsBlackBerry.cmake: Include ANGLE openGL headers as system headers in BlackBerry port.
Source/ThirdParty/ANGLE:
- src/compiler/osinclude.h: Recognises QNX as POSIX
Source/WebCore:
No new tests are required.
- CMakeLists.txt: Added ANGLE requirment for CMake builds with WEBGL
- platform/graphics/ANGLEWebKitBridge.h: Added include for ANGLE/ShaderLang.h in BlackBerry platform.
- platform/graphics/GraphicsContext3D.h: Added include for ANGLEWebKitBridge.h in BlackBerry platform.
Source/WebKit:
- PlatformBlackBerry.cmake: Add ANGLE sources to BlackBerry builds.
- 1:06 PM Changeset in webkit [121050] by
-
- 3 edits2 adds in trunk
RenderText’s minimum preferred width is incorrect when soft hyphens are used
https://bugs.webkit.org/show_bug.cgi?id=89775
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/text/soft-hyphen-min-preferred-width.html
- rendering/RenderText.cpp:
(WebCore::hyphenWidth): Added this helper function.
(WebCore::RenderText::computePreferredLogicalWidths): In places where this function tests
for the soft hyphen character, added a check that the 'hyphens' style property is not set
to 'none', because in that case soft hyphens are not break opportunities. Also added an
explicit check to suppress break opportunities from isBreakable() if the occur after a
soft hyphen and 'hyphens' is set to 'none'. Finally, when measuring text up to a potential
line break, added the width of the hyphen string when needed.
LayoutTests:
- fast/text/soft-hyphen-min-preferred-width-expected.html: Added.
- fast/text/soft-hyphen-min-preferred-width.html: Added.
- 12:16 PM Changeset in webkit [121049] by
-
- 3 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Tap highlight fade animations are added to overlay continuously during pinch zoom.
https://bugs.webkit.org/show_bug.cgi?id=89772
Patch by Andrew Lo <anlo@rim.com> on 2012-06-22
Reviewed by Antonio Gomes.
When pinch zooming, DefaultTapHighlight::hide is continuously
called from the UI thread. This resulted in fade animations being
created and added to the override overlay continuously.
This patch moves the m_visible check so that it applies for both
threads.
Internal PR164183
- WebKitSupport/DefaultTapHighlight.cpp:
(BlackBerry::WebKit::DefaultTapHighlight::draw):
(BlackBerry::WebKit::DefaultTapHighlight::hide):
- WebKitSupport/DefaultTapHighlight.h:
(DefaultTapHighlight):
- 12:10 PM Changeset in webkit [121048] by
-
- 3 edits in trunk/Source/WebCore
BitmapImage duplicates code to calculate size
https://bugs.webkit.org/show_bug.cgi?id=89728
<rdar://problem/11724321>
Reviewed by Darin Adler.
Add a new updateSize method to BitmapImage that
avoids duplication in the size and
sizeRespectingOrientation methods.
No new tests needed.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::updateSize): new method that will set
m_size and m_sizeRespectingOrientation if necessary.
(WebCore):
(WebCore::BitmapImage::size):
(WebCore::BitmapImage::sizeRespectingOrientation): these each
now call updateSize rather than duplicate the update code.
- platform/graphics/BitmapImage.h:
(BitmapImage):
- 11:55 AM Changeset in webkit [121047] by
-
- 3 edits in trunk/Source/WebCore
[V8] Clean up visitDOMWrapper code
https://bugs.webkit.org/show_bug.cgi?id=89774
Reviewed by Tony Chang.
This moves the check if domWrapperVisitorFunction is null into a function of the WrapperTypeInfo struct.
This is so that users of WrapperTypeInfo does not need to know about the inner details of the struct.
It also makes things more consistent since the other fields in the struct have these kind of functions.
This is a follow up change to http://trac.webkit.org/changeset/120854.
No new tests. Covered by existing tests.
- bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper): Call WrapperTypeInfo::visitDOMWrapper instead.
- bindings/v8/WrapperTypeInfo.h:
(WrapperTypeInfo):
(WebCore::WrapperTypeInfo::visitDOMWrapper): If domWrapperVisitorFunction is non null call it.
- 11:47 AM Changeset in webkit [121046] by
-
- 5 edits in trunk
Web Inspector: ExtensionPanel.onSearch listener doesn't work
https://bugs.webkit.org/show_bug.cgi?id=89517
Patch by Jan Keromnes <janx@linux.com> on 2012-06-22
Reviewed by Yury Semikhatsky.
Source/WebCore:
Added a test to see if listener fires on search:
LayoutTests/inspector/extensions/extensions-panel.html
- inspector/front-end/ExtensionPanel.js:
(WebInspector.ExtensionPanel.prototype.searchCanceled):
(WebInspector.ExtensionPanel.prototype.performSearch):
(WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
(WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
LayoutTests:
- inspector/extensions/extensions-panel-expected.txt:
- inspector/extensions/extensions-panel.html:
- 11:40 AM Changeset in webkit [121045] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Set WebSecurityEnabled flag accordingly.
https://bugs.webkit.org/show_bug.cgi?id=89602
Patch by Yong Li <yoli@rim.com> on 2012-06-22
Reviewed by Rob Buis.
Disable web security checks if needed.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- 11:32 AM Changeset in webkit [121044] by
-
- 2 edits in trunk/Source/WebCore
Increase the GrContext texture cache count cap to 2K
https://bugs.webkit.org/show_bug.cgi?id=89761
Patch by Brian Salomon <bsalomon@google.com> on 2012-06-22
Reviewed by Stephen White.
Tests: The change is for performance. The code is exercised by all the canvas 2d layout tests.
- platform/chromium/support/GraphicsContext3DPrivate.cpp:
- 11:25 AM Changeset in webkit [121043] by
-
- 18 edits in trunk
[Chromium] Adjust the displayed elements of the new Chrome media controls.
https://bugs.webkit.org/show_bug.cgi?id=89416
Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-22
Reviewed by Eric Carlson.
Source/WebCore:
No new tests - existing media tests cover these cases.
Remove the volume slider for videos without audio or media resource.
Display the transport bar for videos without a media resource.
Don't show the fullscreen button for
- html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::reset):
Don't display volume slider if media controller has no audio.
Don't display fullscreen button if media controller supportsFullscreen().
(WebCore::MediaControlRootElementChromium::reportedError):
Don't hide the timeline for failed videos, e.g. where the resource doesn't load.
LayoutTests:
- platform/chromium/TestExpectations:
Skipping a test temporarily for win and mac until rebaseline.
- 11:22 AM Changeset in webkit [121042] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: [Elements] Right-clicking on whitespace should show the same context menu as right-clicking on the tag text
https://bugs.webkit.org/show_bug.cgi?id=89766
Reviewed by Vsevolod Vlasov.
Explicitly check for the TreeElement.representedObject's nodeType()
rather than for the event target's enclosing element class.
Drive-by: do not consider the "collapsed node has children" ellipsis as a text node.
- inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
- 11:19 AM Changeset in webkit [121041] by
-
- 3 edits2 adds in trunk
REGRESSION (Safari 5.1.5 - ToT): Crash in RenderSVGRoot::computeReplacedLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=85797
Reviewed by Darin Adler.
Source/WebCore:
Test: svg/custom/svg-width-intrinsic-crash.html
RenderSVGRoot::computeReplacedLogicalWidth assumes that if
SVGSVGElement::widthAttributeEstablishesViewport returns false, the
SVG must be embedded via <object>. This is not always the case, though:
widthAttributeEstablishesViewport can also return false for inline
SVG if it doesn't have a replaced logical width.
Updated computeReplacedLogical{Width,Height} to handle the
!widthAttributeEstablishesViewport && !isEmbeddedThroughFrameContainingSVGDocument
case gracefully.
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
LayoutTests:
- svg/custom/svg-width-intrinsic-crash-expected.txt: Added.
- svg/custom/svg-width-intrinsic-crash.html: Added.
- 11:10 AM Changeset in webkit [121040] by
-
- 4 edits in trunk
Modify event re-targeting algorithm so that we can tell which distributed node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=89073
Reviewed by Dimitri Glazkov.
Source/WebCore:
Re-landing r120945 since bug 89172 was resolved.
Adopt a new event re-targeting algorithm in the latest Shadow DOM spec.
The corresponding bug in the shadow DOM spec is:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17090
This change is introduced to handle the following use case:
- There is an insertion point, with zero or more nodes distributed into it.
- User clicks on one of the items.
- The event handler in shadow DOM subtree wants to know which item was clicked on.
The new re-targeting algorithm sets an event's target to a
distributed node where an event was originally fired, instead of
an insertion point to where the node is distributed.
The similar re-targeting algorithm also applies to an event's
relatedTarget.
Test: fast/dom/shadow/shadow-dom-event-dispatching.html
- dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):
LayoutTests:
- fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
- 11:07 AM Changeset in webkit [121039] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed follow-up to r121030, fix display of "Duration" in timeline event details popup.
- inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
- 10:50 AM Changeset in webkit [121038] by
-
- 4 edits in branches/safari-536-branch/Source
Versioning.
- 10:47 AM Changeset in webkit [121037] by
-
- 1 copy in tags/Safari-536.23
New Tag.
- 10:42 AM Changeset in webkit [121036] by
-
- 7 edits1 delete in trunk/Source
Unreviewed, rolling out r121025.
http://trac.webkit.org/changeset/121025
https://bugs.webkit.org/show_bug.cgi?id=89580
Caused crash in
EventHandler.shouldTurnVerticalTicksIntoHorizontal webkit unit
test on 10.7
Source/WebCore:
- page/EventHandler.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):
- page/EventHandler.h:
(EventHandler):
- page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
- page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
Source/WebKit/chromium:
- WebKit.gypi:
- tests/EventHandlerTest.cpp: Removed.
- 10:40 AM Changeset in webkit [121035] by
-
- 2 edits in branches/chromium/1180/Source/WebCore/platform
Merge 120850 - Regression(r116408): Ctrl-A (select all) on large text file hangs the tab with high CPU usage
https://bugs.webkit.org/show_bug.cgi?id=89562
Reviewed by Ryosuke Niwa.
Rather than replace the newlines in-place (in O(n2)), build a new string using StringBuilder, which takes O(n).
No new tests, this is a perf improvement.
- platform/chromium/ClipboardUtilitiesChromium.cpp:
(WebCore::replaceNewlinesWithWindowsStyleNewlines):
- platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::replaceNewlinesWithWindowsStyleNewlines):
TBR=tony@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10626020
- 10:11 AM Changeset in webkit [121034] by
-
- 2 edits in branches/safari-536-branch/Source/WebCore
Merged r120954 <rdar://problem/11718988>
- 9:55 AM Changeset in webkit [121033] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: only increase length for timeline bars below minimal width
https://bugs.webkit.org/show_bug.cgi?id=89727
Reviewed by Pavel Feldman.
- inspector/front-end/TimelinePanel.js:
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineCalculator.prototype.setDisplayWindow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
- 9:49 AM Changeset in webkit [121032] by
-
- 2 edits in trunk/Source/WebCore
BUILD FIX: FormController.cpp fails to build on 32-bit architectures
This fixes the following build failure introduced in r121004 for
Bug 89628:
FormController.cpp:62:36: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned long') [-Werror,-Wshorten-64-to-32]
state.m_values.reserveCapacity(valueSize);
~
- html/FormController.cpp:
(WebCore::FormControlState::deserialize): Change type of
valueSize from uint64_t to size_t.
- 9:48 AM Changeset in webkit [121031] by
-
- 3 edits2 adds in trunk
Crash in DragController::concludeEditDrag.
https://bugs.webkit.org/show_bug.cgi?id=89762
Reviewed by Ryosuke Niwa.
Source/WebCore:
RefPtr the innerFrame since it can get destroyed due to mutation
event fired in DragController::dispatchTextInputEventFor().
Test: editing/pasteboard/drop-text-events-sideeffect-crash.html
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
LayoutTests:
- editing/pasteboard/drop-text-events-sideeffect-crash-expected.txt: Added.
- editing/pasteboard/drop-text-events-sideeffect-crash.html: Added.
- 9:46 AM Changeset in webkit [121030] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: timeline event details popup misses CPU time
https://bugs.webkit.org/show_bug.cgi?id=89765
Reviewed by Pavel Feldman.
- inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
- 9:23 AM Changeset in webkit [121029] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
https://bugs.webkit.org/show_bug.cgi?id=89684
Patch by Parth Patel <parpatel@rim.com> on 2012-06-22
Reviewed by Yong Li.
Build Fix-Typo Update setting instance access to use instance() instead of get().
- WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::isInputModeEnabled):
- 9:20 AM Changeset in webkit [121028] by
-
- 11 edits in trunk
[Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
https://bugs.webkit.org/show_bug.cgi?id=88853
Reviewed by Steve Block.
The Android exclusions were necessary to fix a gyp generation error, as
the gcc_version variable wasn't being defined for Android. Remove these
exceptions when Chromium is able to define the gcc_version variable.
Source/JavaScriptCore:
- JavaScriptCore.gyp/JavaScriptCore.gyp:
Source/WebCore:
- WebCore.gyp/WebCore.gyp:
Source/WebKit/chromium:
- WebKit.gyp:
- WebKitUnitTests.gyp:
Source/WTF:
- WTF.gyp/WTF.gyp:
Tools:
- DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- 9:00 AM Changeset in webkit [121027] by
-
- 6 edits2 adds in trunk
[Shadow] parentTreeScope() of nested shadow DOM subtree returns document().
https://bugs.webkit.org/show_bug.cgi?id=89172
Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-22
Reviewed by Hajime Morita.
Source/WebCore:
Added setParentTreeScope to set parent treescope of shadow root to be
host's treescope in ElementShadow::addShadowRoot.
Test: fast/dom/shadow/parent-tree-scope-in-shadow.html
- dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot):
Added setParentTreeScope.
- testing/Internals.cpp:
(WebCore::Internals::parentTreeScope):
Newly added. This method returns a parent tree scope's root node of
a given node, because a tree scope's root node is either document node
or shadow root node and both nodes derive from TreeScope. So root nodes
are treated as TreeScope.
- testing/Internals.h:
(Internals):
- testing/Internals.idl:
Added parentTreeScope.
LayoutTests:
- fast/dom/shadow/parent-tree-scope-in-shadow-expected.txt: Added.
- fast/dom/shadow/parent-tree-scope-in-shadow.html: Added.
- 8:20 AM Changeset in webkit [121026] by
-
- 9 edits in trunk
-webkit-flex-flow shouldn't be an enumerable property of the computed style
https://bugs.webkit.org/show_bug.cgi?id=89698
Reviewed by Ojan Vafai.
Source/WebCore:
flex-flow is a shorthand for flex-direction and flex-wrap:
http://dev.w3.org/csswg/css3-flexbox/#flex-flow-property
Shorthand properties should not be enumerable in the computed style, although you can still
get the value from the computed style.
Tests: css3/flexbox/css-properties.html: New test case added.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore):
LayoutTests:
- css3/flexbox/css-properties-expected.txt:
- css3/flexbox/css-properties.html:
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/css/getComputedStyle/resources/property-names.js:
- svg/css/getComputedStyle-basic-expected.txt:
- 8:18 AM Changeset in webkit [121025] by
-
- 7 edits1 add in trunk/Source
Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true
https://bugs.webkit.org/show_bug.cgi?id=89580
Source/WebCore:
WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars. This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified shouldTurnVerticalTicksIntoHorizontal
to not perform this conversion for PlatformWheelEvents with preciseScrollingDeltas.
Reviewed by Adam Barth.
Unit tests in EventHandlerTest.cpp
- page/EventHandler.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):
- page/EventHandler.h:
(EventHandler):
- page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
- page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
Source/WebKit/chromium:
WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars. This is
undesirable for touchpad scrolling with hasPreciseScrollingDeltas() == true.
Added unit tests to show that
EventHandler::shouldTurnVerticalTicksIntoHorizontal() is true
only for PlatformWheelEvents when !hasPreciseScrollingDeltas().
Reviewed by Adam Barth.
- WebKit.gypi:
- tests/EventHandlerTest.cpp: Added.
(MockScrollbar):
(MockScrollbar::MockScrollbar):
(MockScrollbar::~MockScrollbar):
(MockHitTestResult):
(MockHitTestResult::MockHitTestResult):
(MockHitTestResult::scrollbar):
(MockPlatformWheelEvent):
(MockPlatformWheelEvent::MockPlatformWheelEvent):
(EventHandlerTest):
(EventHandlerTest::EventHandlerTest):
(EventHandlerTest::externalShouldTurnVerticalTicksIntoHorizontal):
(TEST):
- 7:47 AM Changeset in webkit [121024] by
-
- 2 edits in trunk/LayoutTests
[Qt] Unreviewed gardening. Skip failing test after r121019.
https://bugs.webkit.org/show_bug.cgi?id=89760
Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-06-22
- platform/qt/Skipped:
- 7:21 AM Changeset in webkit [121023] by
-
- 1 edit6 adds in trunk/LayoutTests
[Qt] Unreviewed gardening after r120924.
- platform/qt-5.0-wk1/editing/inserting/4960120-1-expected.png: Added.
- platform/qt-5.0-wk1/editing/inserting/4960120-1-expected.txt: Added.
- platform/qt-5.0-wk1/editing/inserting/before-after-input-element-expected.png: Added.
- platform/qt-5.0-wk1/editing/inserting/before-after-input-element-expected.txt: Added.
- 7:08 AM Changeset in webkit [121022] by
-
- 19 edits1 add in trunk
Web Inspector: partially instrument DOM Tree native memory.
https://bugs.webkit.org/show_bug.cgi?id=89568
PerformanceTests:
This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage.
Reviewed by Yury Semikhatsky.
- inspector/native-memory-snapshot.html:
Source/WebCore:
This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage for the instrumented classes.
Reviewed by Yury Semikhatsky.
- GNUmakefile.list.am:
- Target.pri:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):
- bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):
- css/StylePropertySet.h:
(WebCore::StylePropertySet::reportMemoryUsage):
(StylePropertySet):
- dom/ContainerNode.h:
(WebCore::ContainerNode::reportMemoryUsage):
(ContainerNode):
- dom/Element.h:
(WebCore::Element::reportMemoryUsage):
(Element):
- dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::reportMemoryUsage):
(ElementAttributeData):
- dom/MemoryInstrumentation.h: Added.
(WebCore):
(MemoryInstrumentation):
(WebCore::MemoryInstrumentation::~MemoryInstrumentation):
(WebCore::MemoryInstrumentation::reportObject):
(WebCore::MemoryInstrumentation::reportPointer):
(MemoryObjectInfo):
(WebCore::MemoryObjectInfo::MemoryObjectInfo):
(WebCore::MemoryObjectInfo::reportInstrumentedPointer):
(WebCore::MemoryObjectInfo::reportPointer):
(WebCore::MemoryObjectInfo::reportInstrumentedObject):
(WebCore::MemoryObjectInfo::reportObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryObjectInfo::objectType):
(WebCore::MemoryObjectInfo::objectSize):
(WebCore::MemoryInstrumentation::reportInstrumentedPointer):
(WebCore::MemoryInstrumentation::reportInstrumentedObject):
- dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
(WebCore):
- dom/Node.h:
(Node):
- dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
(WebCore::QualifiedName::reportMemoryUsage):
- inspector/InspectorMemoryAgent.cpp:
(MemoryBlockName):
(WebCore):
(WebCore::addMemoryBlockFor):
(WebCore::domTreeInfo):
(WebCore::memoryCacheInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
- platform/TreeShared.h:
(WebCore::TreeShared::reportMemoryUsage):
(TreeShared):
- 6:56 AM Changeset in webkit [121021] by
-
- 5 edits in trunk/Source/WebCore
Web Inspector: Support 'Restart frame' in inspector frontend
https://bugs.webkit.org/show_bug.cgi?id=89678
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-06-22
Reviewed by Pavel Feldman.
Action is added to call frame placard's context menu. Context menu is now built
on a call frame level rather than on callback sidebar level.
- English.lproj/localizedStrings.js:
- inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.update):
(WebInspector.CallStackSidebarPane.Placard):
(WebInspector.CallStackSidebarPane.Placard.prototype._update):
(WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
(_restartFrame):
- inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
(WebInspector.DebuggerModel.prototype.callStackModified):
(WebInspector.DebuggerModel.CallFrame.prototype.restart):
- inspector/front-end/Script.js:
(WebInspector.Script.prototype.editSource):
- 6:24 AM Changeset in webkit [121020] by
-
- 8 edits in trunk/Source
[Qt] Fix the remote inspector loading problems on Mac
https://bugs.webkit.org/show_bug.cgi?id=89747
Patch by Jocelyn Turcotte <turcotte.j@gmail.com> on 2012-06-22
Reviewed by Simon Hausmann.
Source/WebCore:
Make sure that the state of a SocketStreamHandle is set properly
when created from an existing QTcpSocket.
This fixes the inspectorserver Qt api auto test on Mac.
- platform/network/qt/SocketStreamHandleQt.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
Source/WebKit2:
Reverse the creation order of the inter-dependent WebSocketServerConnection
and SocketStreamHandle to make sure that the later has a client properly
set on construction.
This is to work around the assert on m_state in SocketStreamHandle::setClient.
- UIProcess/InspectorServer/WebSocketServer.cpp:
(WebKit::WebSocketServer::didAcceptConnection):
- UIProcess/InspectorServer/WebSocketServer.h:
(WebKit::WebSocketServer::client):
(WebSocketServer):
- UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::setSocketHandle):
(WebKit):
- UIProcess/InspectorServer/WebSocketServerConnection.h:
(WebSocketServerConnection):
- UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:
(WebKit::QtTcpServerHandler::handleNewConnection):
- 5:54 AM Changeset in webkit [121019] by
-
- 3 edits6 adds in trunk
REGRESSION(r117738):[Forms] validationMessage IDL attribute should not have range overflow message if value isn't range overflow
https://bugs.webkit.org/show_bug.cgi?id=89736
Reviewed by Kent Tamura.
Source/WebCore:
Tests: fast/forms/date/input-date-validation-message.html
fast/forms/number/input-number-validation-message.html
fast/forms/range/input-range-validation-message.html
This patch changes comparison operator for range overflow message in
InputType::validationMessage().
- html/InputType.cpp:
(WebCore::InputType::validationMessage):
LayoutTests:
Tests for HTMLInputElement.validationMessage attribute.
- fast/forms/date/input-date-validation-message-expected.txt: Added.
- fast/forms/date/input-date-validation-message.html: Added.
- fast/forms/number/input-number-validation-message-expected.txt: Added.
- fast/forms/number/input-number-validation-message.html: Added.
- fast/forms/range/input-range-validation-message-expected.txt: Added.
- fast/forms/range/input-range-validation-message.html: Added.
- 5:46 AM WebKitGTK/1.8.x edited by
- (diff)
- 5:41 AM Changeset in webkit [121018] by
-
- 2 edits in trunk/Source/WTF
Causes crashes in LLVMPipe
https://bugs.webkit.org/show_bug.cgi?id=89358
Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-06-18
Reviewed by Martin Robinson.
Change suggested by Dave Airlie and Xan Lopez.
- wtf/Platform.h: disable global fastMalloc for GTK+
- 5:35 AM Changeset in webkit [121017] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Add frontend-side Entry object to FileSystemModel
https://bugs.webkit.org/show_bug.cgi?id=89739
Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-22
Reviewed by Vsevolod Vlasov.
- inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemModel.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.prototype._directoryContentReceived):
(WebInspector.FileSystemModel.FileSystem):
(WebInspector.FileSystemModel.Entry):
(WebInspector.FileSystemModel.Entry.prototype.get fileSystemModel):
(WebInspector.FileSystemModel.Entry.prototype.get fileSystem):
(WebInspector.FileSystemModel.Entry.prototype.get url):
(WebInspector.FileSystemModel.Entry.prototype.get name):
(WebInspector.FileSystemModel.Entry.prototype.get isDirectory):
(WebInspector.FileSystemModel.Directory):
(WebInspector.FileSystemModel.Directory.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.File):
(WebInspector.FileSystemModel.File.prototype.get mimeType):
(WebInspector.FileSystemModel.File.prototype.get resourceType):
- 4:32 AM Changeset in webkit [121016] by
-
- 42 edits2 moves in trunk/Source
Renamed DeviceOrientation to DeviceOrientationData
https://bugs.webkit.org/show_bug.cgi?id=88663
Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-22
Reviewed by Steve Block.
Source/WebCore:
No new tests because this is simply a name change.
Renamed DeviceOrientation to DeviceOrientationData in order to be consistent with DeviceMotionData.
Updated all files that use DeviceOrientation.
- CMakeLists.txt:
- GNUmakefile.list.am:
- Target.pri:
- WebCore.exp.in:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
- bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
- dom/DOMAllInOne.cpp:
- dom/DeviceOrientationClient.h:
(WebCore):
(DeviceOrientationClient):
- dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::timerFired):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
- dom/DeviceOrientationController.h:
(WebCore):
(DeviceOrientationController):
- dom/DeviceOrientationData.cpp: Renamed from Source/WebCore/dom/DeviceOrientation.cpp.
(WebCore):
(WebCore::DeviceOrientationData::create):
(WebCore::DeviceOrientationData::DeviceOrientationData):
(WebCore::DeviceOrientationData::alpha):
(WebCore::DeviceOrientationData::beta):
(WebCore::DeviceOrientationData::gamma):
(WebCore::DeviceOrientationData::absolute):
(WebCore::DeviceOrientationData::canProvideAlpha):
(WebCore::DeviceOrientationData::canProvideBeta):
(WebCore::DeviceOrientationData::canProvideGamma):
(WebCore::DeviceOrientationData::canProvideAbsolute):
- dom/DeviceOrientationData.h: Renamed from Source/WebCore/dom/DeviceOrientation.h.
(WebCore):
(DeviceOrientationData):
- dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
- dom/DeviceOrientationEvent.h:
(WebCore):
(WebCore::DeviceOrientationEvent::create):
(DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::orientation):
- loader/EmptyClients.h:
(WebCore::EmptyDeviceOrientationClient::lastOrientation):
- platform/mock/DeviceOrientationClientMock.cpp:
(WebCore::DeviceOrientationClientMock::setOrientation):
- platform/mock/DeviceOrientationClientMock.h:
(WebCore::DeviceOrientationClientMock::lastOrientation):
(DeviceOrientationClientMock):
- platform/qt/DeviceOrientationClientQt.cpp:
(DeviceOrientationClientQt):
- platform/qt/DeviceOrientationClientQt.h:
(DeviceOrientationClientQt):
- platform/qt/DeviceOrientationProviderQt.h:
(DeviceOrientationProviderQt):
Source/WebKit/blackberry:
Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.
- WebCoreSupport/DeviceOrientationClientBlackBerry.h:
(DeviceOrientationClientBlackBerry):
Source/WebKit/chromium:
Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.
- public/WebDeviceOrientation.h:
(WebDeviceOrientation):
- src/DeviceOrientationClientProxy.cpp:
(WebKit::DeviceOrientationClientProxy::lastOrientation):
- src/DeviceOrientationClientProxy.h:
(DeviceOrientationClientProxy):
- src/WebDeviceOrientation.cpp:
(WebKit::WebDeviceOrientation::WebDeviceOrientation):
(WebKit::WebDeviceOrientation::operator=):
(WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientationData>):
- src/WebDeviceOrientationController.cpp:
(WebKit::WebDeviceOrientationController::didChangeDeviceOrientation):
Source/WebKit/efl:
Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.
- WebCoreSupport/DeviceOrientationClientEfl.h:
(DeviceOrientationClientEfl):
Source/WebKit/gtk:
Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.
- WebCoreSupport/DeviceOrientationClientGtk.h:
(DeviceOrientationClientGtk):
Source/WebKit/mac:
Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.
- WebCoreSupport/WebDeviceOrientationClient.h:
(WebDeviceOrientationClient):
- WebCoreSupport/WebDeviceOrientationClient.mm:
(WebDeviceOrientationClient::lastOrientation):
- WebView/WebDeviceOrientation.mm:
- WebView/WebDeviceOrientationInternal.h:
Source/WebKit/qt:
Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.
- WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setMockDeviceOrientation):
- 2:54 AM Changeset in webkit [121015] by
-
- 3 edits in trunk/Source/WebKit2
[WK2] FindController::hideFindUI should unmark highlighted text matches
https://bugs.webkit.org/show_bug.cgi?id=77747
Reviewed by Carlos Garcia Campos.
Unmark all text matches whenever FindController::hideFindUI is
called to allow callers using the ShowHighlight find option to
remove highlighting.
This patch enables a unit test for the WebKitFindController
previously guarded by a #if(0) after r109222.
- UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
(testFindControllerHide):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::hideFindUI):
- 2:39 AM Changeset in webkit [121014] by
-
- 22 edits2 adds in trunk
Web Inspector: Support separate script compilation and execution.
https://bugs.webkit.org/show_bug.cgi?id=89646
Reviewed by Pavel Feldman.
Source/WebCore:
Separate script compilation and run commands added to protocol and DebuggerAgent.
Separate script compilation and run implemented in v8 ScriptDebugServer, stubs added for js implementation.
Test: inspector/debugger/debugger-compile-and-run.html
- bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::compileScript):
(WebCore):
(WebCore::ScriptDebugServer::clearCompiledScripts):
(WebCore::ScriptDebugServer::runScript):
- bindings/js/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::supportsSeparateScriptCompilationAndExecution):
(ScriptDebugServer):
- bindings/v8/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::compileScript):
(WebCore):
(WebCore::PageScriptDebugServer::clearCompiledScripts):
(WebCore::PageScriptDebugServer::runScript):
- bindings/v8/PageScriptDebugServer.h:
(PageScriptDebugServer):
- bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::compileScript):
(WebCore):
(WebCore::ScriptDebugServer::clearCompiledScripts):
(WebCore::ScriptDebugServer::runScript):
- bindings/v8/ScriptDebugServer.h:
(WebCore):
(WebCore::ScriptDebugServer::supportsSeparateScriptCompilationAndExecution):
(ScriptDebugServer):
- inspector/Inspector.json:
- inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::supportsSeparateScriptCompilationAndExecution):
(WebCore):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):
- inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::injectedScriptManager):
- inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore):
- inspector/PageDebuggerAgent.h:
(PageDebuggerAgent):
- inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::injectedScriptForEval):
(WebCore):
- inspector/WorkerDebuggerAgent.h:
(WorkerDebuggerAgent):
- inspector/front-end/Settings.js:
- inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):
LayoutTests:
- inspector/debugger/debugger-compile-and-run-expected.txt: Added.
- inspector/debugger/debugger-compile-and-run.html: Added.
- platform/gtk/TestExpectations:
- platform/mac/Skipped:
- platform/qt/Skipped:
- platform/win/Skipped:
- platform/wincairo/Skipped:
- 2:14 AM Changeset in webkit [121013] by
-
- 9 edits in trunk/Source
Web Inspector: InspectorState::updateCookie should not do JSON serialization if unsupported
https://bugs.webkit.org/show_bug.cgi?id=89743
Source/WebCore:
Since all InspectorClient's are InspectorStateClient's provide a
virtual accessor that determines whether or not InspectorClient updates
are supported or not.
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-06-22
Reviewed by Yury Semikhatsky.
- inspector/InspectorState.cpp:
(WebCore::InspectorState::updateCookie):
Don't serialize and message the client if the client doesn't do anything with it.
- inspector/InspectorStateClient.h:
- inspector/WorkerInspectorController.cpp:
(WebCore::InspectorStateClient::supportsInspectorStateUpdates):
Let the client say whether or not supports updates or not.
Source/WebKit/blackberry:
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-06-22
Reviewed by Yury Semikhatsky.
- WebCoreSupport/InspectorClientBlackBerry.cpp:
(WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):
Source/WebKit/chromium:
The Chromium port does want InspectorState updates.
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-06-22
Reviewed by Yury Semikhatsky.
- src/InspectorClientImpl.h:
(WebKit::InspectorClientImpl::supportsInspectorStateUpdates):
- src/WebDevToolsAgentImpl.h:
(WebKit::WebDevToolsAgentImpl::supportsInspectorStateUpdates):
- 1:52 AM Changeset in webkit [121012] by
-
- 182 edits in trunk/LayoutTests
Use testRunner instead of layoutTestController in fast/hidpi, history, html, images, inline, inline-block, innerHTML, inspector-support, invalid tests
https://bugs.webkit.org/show_bug.cgi?id=89744
Reviewed by Kent Tamura.
- fast/hidpi/broken-image-icon-hidpi.html:
- fast/hidpi/broken-image-with-size-hidpi.html:
- fast/hidpi/clip-text-in-hidpi.html:
- fast/hidpi/device-scale-factor-paint.html:
- fast/hidpi/focus-rings.html:
- fast/hidpi/image-set-as-background.html:
- fast/hidpi/image-set-background-dynamic.html:
- fast/hidpi/image-set-background-repeat-without-size.html:
- fast/hidpi/image-set-background-repeat.html:
- fast/hidpi/image-set-border-image-comparison.html:
- fast/hidpi/image-set-border-image-dynamic.html:
- fast/hidpi/image-set-border-image-simple.html:
- fast/hidpi/image-set-in-content-dynamic.html:
- fast/hidpi/image-set-out-of-order.html:
- fast/hidpi/image-set-simple.html:
- fast/hidpi/image-set-without-specified-width.html:
- fast/hidpi/resize-corner-hidpi.html:
- fast/hidpi/video-controls-in-hidpi.html:
- fast/history/back-forward-reset-after-error-handling.html:
- fast/history/form-submit-in-frame-via-onclick.html:
- fast/history/form-submit-in-frame.html:
- fast/history/forward-during-load.html:
- fast/history/gesture-before-onload-form-submit.html:
- fast/history/gesture-before-onload-location-href.html:
- fast/history/go-back-to-changed-name.html:
- fast/history/history-back-initial-vs-final-url.html:
- fast/history/history-back-twice-with-subframes-assert.html:
- fast/history/history-back-within-subframe-hash.html:
- fast/history/history-back-within-subframe-url.html:
- fast/history/history-length.html:
- fast/history/history-replace-updates-current-item.html:
- fast/history/history-subframe-with-name.html:
- fast/history/history_reload.html:
- fast/history/location-replace-hash.html:
- fast/history/multiple-classes-visited.html:
- fast/history/nested-visited-test.html:
- fast/history/redirect-via-iframe.html:
- fast/history/resources/clicked-link-is-visited-2.html:
- fast/history/resources/history-back-within-subframe-hash-2.html:
- fast/history/resources/history-replace-updates-current-item-done.html:
- fast/history/resources/history_reload_window.html:
- fast/history/resources/redirect-target.html:
- fast/history/same-document-iframes-changing-fragment.html:
- fast/history/same-document-iframes-changing-pushstate.html:
- fast/history/saves-state-after-fragment-nav.html:
- fast/history/saves-state-after-frame-nav.html:
- fast/history/self-is-visited.html:
- fast/history/sibling-visited-test.html:
- fast/history/timed-refresh-in-cached-frame.html:
- fast/history/visited-generated-content-test.html:
- fast/history/visited-link-background-color.html:
- fast/history/window-open.html:
- fast/html/adopt-parent-frame.html:
- fast/html/body-offset-properties.html:
- fast/html/crash-style-first-letter.html:
- fast/html/details-add-summary-1-and-click.html:
- fast/html/details-add-summary-10-and-click.html:
- fast/html/details-add-summary-2-and-click.html:
- fast/html/details-add-summary-3-and-click.html:
- fast/html/details-add-summary-4-and-click.html:
- fast/html/details-add-summary-5-and-click.html:
- fast/html/details-add-summary-6-and-click.html:
- fast/html/details-add-summary-7-and-click.html:
- fast/html/details-add-summary-8-and-click.html:
- fast/html/details-add-summary-9-and-click.html:
- fast/html/details-children-merge-crash.html:
- fast/html/details-element-render-inline-crash.html:
- fast/html/details-mouse-click.html:
- fast/html/details-remove-summary-1-and-click.html:
- fast/html/details-remove-summary-2-and-click.html:
- fast/html/details-remove-summary-3-and-click.html:
- fast/html/details-remove-summary-4-and-click.html:
- fast/html/details-remove-summary-5-and-click.html:
- fast/html/details-remove-summary-6-and-click.html:
- fast/html/details-replace-summary-child.html:
- fast/html/details-replace-text.html:
- fast/html/details-summary-document-child.html:
- fast/html/draggable.html:
- fast/html/empty-fragment-id-goto-top.html:
- fast/html/font-face-empty-should-not-crash.html:
- fast/html/marquee-scrollamount.html:
- fast/html/nav-element.html:
- fast/html/object-image-nested-fallback.html:
- fast/html/pending-stylesheet-crash.html:
- fast/html/process-end-tag-for-inbody-crash.html:
- fast/html/script-allowed-types-languages.html:
- fast/html/select-dropdown-consistent-background-color.html:
- fast/html/set-text-direction.html:
- fast/html/tab-order.html:
- fast/html/tabindex-removal.html:
- fast/html/text-field-input-types.html:
- fast/html/xhtml-serialize.html:
- fast/images/animated-background-image-crash.html:
- fast/images/animated-gif-restored-from-bfcache.html:
- fast/images/bad-png.html:
- fast/images/busted-oval-does-not-render.html:
- fast/images/destroyed-image-load-event.html:
- fast/images/dont-crash-with-null-gif-frames.html:
- fast/images/drag-pdf-as-image.html:
- fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html:
- fast/images/embed-image.html:
- fast/images/exif-orientation-css.html:
- fast/images/exif-orientation.html:
- fast/images/extra-image-in-image-document.html:
- fast/images/gif-loop-count.html:
- fast/images/image-empty-data.html:
- fast/images/image-invalid-data.html:
- fast/images/image-load-event-in-fragment.html:
- fast/images/image-map-multiple-xhtml.xhtml:
- fast/images/image-map-multiple.html:
- fast/images/image-map-zoom.html:
- fast/images/imagemap-scroll.html:
- fast/images/jpeg-with-color-profile.html:
- fast/images/large-size-image-crash.html:
- fast/images/link-body-content-imageDimensionChanged-crash.html:
- fast/images/load-img-with-empty-src.html:
- fast/images/paletted-png-with-color-profile.html:
- fast/images/percent-height-image.html:
- fast/images/png-extra-row-crash.html:
- fast/images/png-suite/test.html:
- fast/images/png-with-color-profile.html:
- fast/images/read-past-end-of-buffer.html:
- fast/images/rgb-jpeg-endian-pixels.html:
- fast/images/rgb-jpeg-with-adobe-marker-only.html:
- fast/images/rgb-png-with-cmyk-color-profile.html:
- fast/images/script-counter-imageDimensionChanged-crash.html:
- fast/images/script-tests/move-image-to-new-document.js:
- fast/images/size-failure.html:
- fast/images/style-access-during-imageChanged-crash.html:
- fast/images/style-access-during-imageChanged-style-freeze.html:
- fast/images/support-broken-image-delegate.html:
- fast/images/text-content-crash-2.html:
- fast/images/text-content-crash.html:
- fast/images/webp-image-decoding.html:
- fast/images/ycbcr-with-cmyk-color-profile.html:
- fast/images/zoomed-img-size.html:
- fast/inline-block/anonymous-block-crash.html:
- fast/inline-block/inline-block-vertical-align-2.html:
- fast/inline-block/relative-positioned-rtl-crash.html:
- fast/inline/boundingBox-with-continuation.html:
- fast/inline/clean-after-removing-temp-boxes.html:
- fast/inline/continuation-positioned-reparenting.html:
- fast/inline/crash-new-continuation-with-outline.html:
- fast/inline/dirtyLinesForInline.html:
- fast/inline/inline-body-crash.html:
- fast/inline/inline-body-with-scrollbar-crash.html:
- fast/inline/inline-box-adjust-position-crash.html:
- fast/inline/inline-box-adjust-position-crash2.html:
- fast/inline/inline-child-height-width-calc-crash.html:
- fast/inline/inline-destroy-dirty-lines-crash.html:
- fast/inline/inline-marquee-crash.html:
- fast/inline/relative-positioned-overflow.html:
- fast/inline/skipped-whitespace-boundingBox.html:
- fast/inline/skipped-whitespace-client-rect.html:
- fast/inline/update-always-create-line-boxes-full-layout-crash.html:
- fast/innerHTML/004-expected.txt:
- fast/innerHTML/004.xhtml:
- fast/innerHTML/005-expected.txt:
- fast/innerHTML/005.html:
- fast/innerHTML/additional-inline-style.html:
- fast/innerHTML/innerHTML-case.html:
- fast/innerHTML/innerHTML-changing-document-properties.xhtml:
- fast/innerHTML/innerHTML-custom-tag.html:
- fast/innerHTML/innerHTML-iframe.html:
- fast/innerHTML/innerHTML-nbsp.xhtml:
- fast/innerHTML/innerHTML-script-tag-crash.xhtml:
- fast/innerHTML/javascript-url.html:
- fast/inspector-support/cssURLQuotes.html:
- fast/inspector-support/style.html:
- fast/inspector-support/uncaught-dom1-exception.html:
- fast/inspector-support/uncaught-dom3-exception.html:
- fast/inspector-support/uncaught-dom8-exception.html:
- fast/invalid/invalidSVGFont.html:
- fast/invalid/nestedh3s-rapidweaver.html:
- fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html:
- platform/gtk/fast/images/exif-orientation-css-expected.txt:
- platform/gtk/fast/images/exif-orientation-expected.txt:
- platform/mac/fast/images/exif-orientation-css-expected.txt:
- platform/mac/fast/images/exif-orientation-expected.txt:
- platform/qt/fast/history/back-to-unreachable-url-then-forward.html:
- platform/qt/fast/history/resources/check-scroll-position.html:
- 1:09 AM Changeset in webkit [121011] by
-
- 2 edits in trunk/Tools
Unreviewed gardening. Unskipping test passing after fixing bug 88419.
- gtk/run-api-tests:
(TestRunner): Unskip WTF.HashMap.
- 1:06 AM Changeset in webkit [121010] by
-
- 2 edits in trunk/Source/WTF
Memory corruption on HashTable.h
https://bugs.webkit.org/show_bug.cgi?id=88419
Reviewed by Martin Robinson.
Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).
- wtf/Platform.h:
- 12:16 AM Changeset in webkit [121009] by
-
- 2 edits in trunk/Tools
[Qt] Allow DumpRenderTree to dump about:blank
https://bugs.webkit.org/show_bug.cgi?id=89685
Reviewed by Ryosuke Niwa.
We need to allow DumpRenderTree to dump about:blank page, then it will be consistent with other ports,
additionaly this behavior is required for running WTR performance tests.
- DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::processLine):
Jun 21, 2012:
- 11:52 PM Changeset in webkit [121008] by
-
- 554 edits in trunk/LayoutTests
Use testRunner instead of layoutTestController in fast/fast-mobile-scrolling, flexbox, forms, frames, gradients tests
https://bugs.webkit.org/show_bug.cgi?id=89741
Reviewed by Kent Tamura.
- fast/flexbox/box-ordinal-group.html:
- fast/flexbox/box-size-integer-overflow.html:
- fast/flexbox/crash-button-input-autofocus.html:
- fast/flexbox/crash-button-keygen.html:
- fast/flexbox/crash-button-relayout.html:
- fast/flexbox/crash-flexbox-no-layout-child.html:
- fast/flexbox/horizontal-box-float-crash.html:
- fast/flexbox/inline-children-crash.html:
- fast/flexbox/layoutHorizontalBox-crash.html:
- fast/flexbox/line-clamp-crash.html:
- fast/flexbox/overhanging-floats-not-removed-crash.html:
- fast/flexbox/resources/box-orient-button.js:
- fast/forms/:
- fast/frames/:
- fast/gradients/crash-on-1px-border.html:
- fast/gradients/crash-on-degenerate-gradient.html:
- fast/gradients/crash-on-remove.html:
- fast/gradients/crash-on-tr.html:
- fast/gradients/css3-color-stop-units.html:
- fast/gradients/css3-color-stops.html:
- fast/gradients/css3-linear-angle-gradients.html:
- fast/gradients/css3-linear-right-angle-gradients.html:
- fast/gradients/css3-radial-gradient-crash.html:
- fast/gradients/css3-radial-gradients.html:
- fast/gradients/css3-radial-gradients2.html:
- fast/gradients/css3-radial-gradients3.html:
- fast/gradients/css3-repeating-end-fill.html:
- fast/gradients/css3-repeating-linear-gradients.html:
- fast/gradients/css3-repeating-linear-gradients2.html:
- fast/gradients/css3-repeating-radial-gradients.html:
- fast/gradients/gradient-after-transparent-border.html:
- fast/gradients/gradient-on-pseudoelement-crash.html:
- platform/chromium/fast/forms/search-popup-crasher.html:
- platform/gtk/fast/forms/menulist-typeahead-find.html:
- platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html:
- platform/mac/fast/forms/attributed-strings.html:
- platform/mac/fast/forms/listbox-scrollbar-hit-test.html:
- platform/mac/fast/forms/script-tests/focus-option-control-on-page.js:
(startTest):
(runKeyPresses):
(notifyDone):
- 11:44 PM Changeset in webkit [121007] by
-
- 2 edits7 adds in trunk/LayoutTests
[EFL] Unreviewed gardening, unskip now passing tests.
- platform/efl/Skipped:
- platform/efl/fast/viewport/viewport-126-expected.txt: Added.
- platform/efl/fast/viewport/viewport-127-expected.txt: Added.
- platform/efl/fast/viewport/viewport-65-expected.txt: Added.
- platform/efl/fast/viewport/viewport-82-expected.txt: Added.
- platform/efl/fast/viewport/viewport-84-expected.txt: Added.
- platform/efl/fast/viewport/viewport-87-expected.txt: Added.
- 11:31 PM Changeset in webkit [121006] by
-
- 14 edits in trunk/LayoutTests
s/layoutTestController/testRunner/ in speech tests
https://bugs.webkit.org/show_bug.cgi?id=89654
Reviewed by Ryosuke Niwa.
- fast/speech/bubble-position.html:
- fast/speech/change-focus.html:
- fast/speech/input-onspeechchange-event.html:
- fast/speech/input-ontextinput-event.html:
- fast/speech/input-readonly-and-disabled.html:
- fast/speech/input-text-language-tag.html:
- fast/speech/input-text-speechbutton.html:
- fast/speech/input-text-speechstart.html:
- fast/speech/scripted/speechrecognition-basics.html:
- fast/speech/scripted/speechrecognition-errors.html:
- fast/speech/speech-button-ignore-generated-events.html:
- fast/speech/speech-input-result-list-not-enough-arguments.html:
- fast/speech/speech-input-scripting.html:
- 11:11 PM Changeset in webkit [121005] by
-
- 33 edits in trunk
Unreviewed, rolling out r120982.
http://trac.webkit.org/changeset/120982
https://bugs.webkit.org/show_bug.cgi?id=89740
[chromium] ASSERTION FAILED:
m_allocatedTextureIds.contains(textureId) (Requested by ukai
on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-21
Source/WebCore:
- platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChangedOnImpl):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::getFramebufferPixels):
- platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
- platform/graphics/chromium/TextureManager.cpp:
- platform/graphics/chromium/TextureManager.h:
(TextureAllocator):
(TextureManager):
- platform/graphics/chromium/TrackingTextureAllocator.cpp:
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
- platform/graphics/chromium/TrackingTextureAllocator.h:
(TrackingTextureAllocator):
- platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setNeedsForcedCommit):
(WebCore):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
(WebCore::CCLayerTreeHost::updateLayers):
- platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::context):
(WebCore::CCLayerTreeHostImpl::setContentsMemoryAllocationLimitBytes):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImplClient):
(WebCore::CCLayerTreeHostImpl::sourceFrameCanBeDrawn):
(WebCore::CCLayerTreeHostImpl::setSourceFrameCanBeDrawn):
(CCLayerTreeHostImpl):
- platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
- platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
- platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didLoseContext):
(WebCore::CCScheduler::didRecreateContext):
(WebCore::CCScheduler::vsyncTick):
- platform/graphics/chromium/cc/CCScheduler.h:
(CCScheduler):
- platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
- platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
- platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsForcedCommit):
(WebCore):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
(WebCore::CCSingleThreadProxy::commitAndComposite):
- platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
- platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::setNeedsForcedCommit):
(WebCore):
(WebCore::CCThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::setContentsMemoryAllocationLimitBytes):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
- platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
(BeginFrameAndCommitState):
- platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::allocatePlaneData):
(WebCore::CCVideoLayerImpl::freePlaneData):
(WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
(WebCore::CCVideoLayerImpl::didLoseContext):
- platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(FramePlane):
Source/WebKit/chromium:
- tests/CCLayerTreeHostImplTest.cpp:
- tests/CCLayerTreeHostTest.cpp:
(CCLayerTreeHostTestVisibilityAndAllocationControlDrawing):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::beginTest):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommit):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::afterTest):
(WTF):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):
- tests/CCSchedulerStateMachineTest.cpp:
(WebCore::TEST):
- tests/CCTiledLayerTestCommon.h:
(WebKitTests::FakeTextureAllocator::createTexture):
(WebKitTests::FakeTextureAllocator::deleteTexture):
- tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::createTexture):
(FakeWebGraphicsContext3D):
- tests/LayerRendererChromiumTest.cpp:
(TEST_F):
- tests/TiledLayerChromiumTest.cpp:
LayoutTests:
- platform/chromium/TestExpectations:
- 10:36 PM Changeset in webkit [121004] by
-
- 11 edits in trunk/Source/WebCore
Make FormControlState capable to store multiple values
https://bugs.webkit.org/show_bug.cgi?id=89628
Reviewed by Hajime Morita.
Make FormControlState capable to store multiple values in order to
clean FileInputType.cpp up and prepare to fix Bug 89623.
No new tests. This doesn't change web-exposed behavior, and
fast/forms/file/recover-file-input-in-unposted-form.html covers
major part of this change.
- html/FormController.cpp:
(WebCore::FormControlState::serializeTo): Support for two or more values.
(WebCore::FormControlState::deserialize): ditto.
(WebCore::formStateSignature):
Bump up the version because the state format for <input type=file> is changed.
- html/FormController.h:
- String m_value -> Vector<String> m_values
- Add some functions.
- Remove hasValue() and value().
(WebCore::FormControlState::FormControlState): m_value -> m_values.
(WebCore::FormControlState::valueSize): Added.
(WebCore::FormControlState::operator[]): Added.
(FormControlState): Add append() declaration, etc.
(WebCore::FormControlState::operator=): m_value -> m_values
(WebCore::FormControlState::append): Added.
- html/HTMLFormControlElementWithState.cpp:
(WebCore::HTMLFormControlElementWithState::finishParsingChildren):
Use valueSize() instead of hasValue().
- html/HTMLFormControlElementWithState.h:
(HTMLFormControlElementWithState): Update the comment.
- html/FileInputType.cpp:
(WebCore::FileInputType::saveFormControlState):
Use multiple value capability of FormControlState
(WebCore::FileInputType::restoreFormControlState): ditto.
- html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::restoreFormControlState): Use [0] instead of value().
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::restoreFormControlState): ditto.
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::restoreFormControlState): ditto.
- html/HiddenInputType.cpp:
(WebCore::HiddenInputType::restoreFormControlState): ditto.
- html/InputType.cpp:
(WebCore::InputType::restoreFormControlState): ditto.
- 10:33 PM Changeset in webkit [121003] by
-
- 13 edits2 adds in trunk
Source/WebCore: LabelsNodeList isn't updated properly after its owner node is adopted into a new document
https://bugs.webkit.org/show_bug.cgi?id=89730
Reviewed by Darin Adler.
When a node is adopted, node lists that are invalidated at document level need to be unregistered
from old document and registered to new document so that DOM mutations in new document will invalidate
caches in the node lists. Done that in NodeListsNodeData::adoptTreeScope, which was extracted from
TreeScopeAdopter::moveTreeToNewScope.
Also renamed DynamicNodeList::node() and m_node to rootNode() and m_ownerNode to better express
their semantics and added ownerNode() to make m_ownerNode private to DynamicNodeList.
Test: fast/forms/label/labels-owner-node-adopted.html
- bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
- dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::~ChildNodeList):
(WebCore::ChildNodeList::length):
(WebCore::ChildNodeList::item):
(WebCore::ChildNodeList::nodeMatches):
- dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
(WebCore::ClassNodeList::~ClassNodeList):
- dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):
(WebCore::DynamicNodeList::itemWithName):
- dom/DynamicNodeList.h:
(WebCore::DynamicNodeList::DynamicNodeList):
(WebCore::DynamicNodeList::ownerNode):
(WebCore::DynamicNodeList::rootedAtDocument):
(WebCore::DynamicNodeList::shouldInvalidateOnAttributeChange):
(WebCore::DynamicNodeList::rootNode):
(WebCore::DynamicNodeList::document):
(DynamicNodeList):
- dom/NameNodeList.cpp:
(WebCore::NameNodeList::~NameNodeList):
- dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptTreeScope):
(NodeListsNodeData):
- dom/TagNodeList.cpp:
(WebCore::TagNodeList::~TagNodeList):
- dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
- html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::~LabelsNodeList):
(WebCore::LabelsNodeList::nodeMatches):
- html/RadioNodeList.cpp:
(WebCore::RadioNodeList::~RadioNodeList):
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
LayoutTests: LabelsNostList isn't updated properly after its owner node is adopted into a new document
https://bugs.webkit.org/show_bug.cgi?id=89730
Reviewed by Darin Adler.
- fast/forms/label/labels-owner-node-adopted-expected.txt: Added.
- fast/forms/label/labels-owner-node-adopted.html: Added.
- 9:07 PM Changeset in webkit [121002] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: Properly display native memory sizes bigger than 2GB
https://bugs.webkit.org/show_bug.cgi?id=89661
Patch by Alexei Filippov <alexeif@chromium.org> on 2012-06-21
Reviewed by Pavel Feldman.
- inspector/Inspector.json:
- inspector/InspectorMemoryAgent.cpp:
(WebCore::jsHeapInfo):
(WebCore::inspectorData):
(WebCore::renderTreeInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
- 9:01 PM Changeset in webkit [121001] by
-
- 6 edits2 adds in trunk
Crash in RenderBlock::layoutPositionedObjects.
https://bugs.webkit.org/show_bug.cgi?id=89599
Reviewed by Julien Chaffraix.
Source/WebCore:
Test: fast/table/table-split-positioned-object-crash.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitBlocks): no longer need to explicitly call
removePositionedObjects, since it is part of moveChildrenTo.
- rendering/RenderBlock.h:
(WebCore::RenderBlock::hasPositionedObjects): helper to tell if we have
positioned objects in our list.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::splitAnonymousBoxesAroundChild): Like r102263, this
condition was wrong and while moving children across completely different
trees, we need fullRemoveInsert as true.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::moveChildTo): see code comment.
(WebCore::RenderBoxModelObject::moveChildrenTo): see code comment.
LayoutTests:
- fast/table/table-split-positioned-object-crash-expected.txt: Added.
- fast/table/table-split-positioned-object-crash.html: Added.
- 8:51 PM Changeset in webkit [121000] by
-
- 4 edits in branches/chromium/1132/Source/WebCore
[chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.
This is an emergency fix for the 1132 chromium branch. A more correct fix is in bug 89045.
https://bugs.webkit.org/show_bug.cgi?id=89731
Reviewed by James Robinson.
- platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::setVisible):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::commitComplete):
- platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsForcedCommit):
- 7:55 PM Changeset in webkit [120999] by
-
- 4 edits in trunk/LayoutTests
[Chromium][Win] Missing trailing newlines in one text test expectation, debug only
https://bugs.webkit.org/show_bug.cgi?id=89534
Reviewed by Tony Gentilcore.
- fast/canvas/resize-while-save-active-expected.txt:
- fast/canvas/resize-while-save-active.html: Make test deterministic by running script after load and fix line endings.
- 7:50 PM Changeset in webkit [120998] by
-
- 1 edit1 add in trunk/PerformanceTests
Add a perf-test for innerHTML setter for a large DOM tree
https://bugs.webkit.org/show_bug.cgi?id=89723
Reviewed by Ryosuke Niwa.
We want a benchmark for innerHTML setter for the following reason:
- innerHTML setter is widely used in the real world.
- I am planning to optimize innerHTML setter in the near future.
- I want to use the innerHTML setter benchmark for the patch of bug 88834.
Performance results in my Linux desktop:
RESULT Parser: innerHTML-setter= 289.782649995 runs/s
median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
RESULT Parser: innerHTML-setter= 289.020706132 runs/s
median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
RESULT Parser: innerHTML-setter= 288.912051701 runs/s
median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
RESULT Parser: innerHTML-setter= 288.644186666 runs/s
median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
RESULT Parser: innerHTML-setter= 288.698714577 runs/s
median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
- Parser/innerHTML-setter.html: Added.
- 7:47 PM Changeset in webkit [120997] by
-
- 2 edits in trunk/Source/WebCore
Make HTMLDocumentParser::create(DocumentFragment*,Element*, FragmentScriptingPermission) private.
https://bugs.webkit.org/show_bug.cgi?id=89724
Reviewed by Darin Adler.
It is used only by HTMLDocumentParser::parseDocumentFragment. No behavioral changes.
- html/parser/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::create):
(HTMLDocumentParser):
- 7:40 PM Changeset in webkit [120996] by
-
- 6 edits in branches/chromium/1180
Merge 120629 - [chromium/mac] Unbreak smooth scrolling.
https://bugs.webkit.org/show_bug.cgi?id=89327
Reviewed by Dimitri Glazkov.
Broken by Sam in r115589 / r115591.
Source/WebCore:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::scrollAnimationEnabledForSystem):
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
- TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
(TestWebKitAPI::InjectedBundleController::platformInitialize):
- WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
TBR=thakis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10633026
- 7:39 PM Changeset in webkit [120995] by
-
- 2 edits in trunk/Source/WebKit/chromium
[chromium] Initialize compositor's visibility state upon initialization
https://bugs.webkit.org/show_bug.cgi?id=89712
Patch by James Robinson <jamesr@chromium.org> on 2012-06-21
Reviewed by Adrienne Walker.
A given WebViewImpl's visibility state might change any number of times before compositing is enabled. If the
visibility state is not the default (visible) when the compositor is initialized, we need to let it know the
correct visibility state or it will start ticking uselessly in threaded mode.
Tested manually, there's no way to create a new WebViewImpl in a non-visible state in a WebKit test that I know
of.
- src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
- 7:37 PM Changeset in webkit [120994] by
-
- 3 edits in trunk/Tools
[Chromium] Reset mediaPlaybackRequiresUserGesture WebSettings after each test
https://bugs.webkit.org/show_bug.cgi?id=89718
Reviewed by Kent Tamura.
We should reset this WebSetting to its default value so that it behaves
consistently across tests.
- DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
- DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
- 7:05 PM Changeset in webkit [120993] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Use the empty plugin support on non-X11 and non-Windows platforms
https://bugs.webkit.org/show_bug.cgi?id=89501
Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
Reviewed by Martin Robinson.
The GTK+ port doesn't currently support NPAPI plugins on platforms other
than X11 or Windows. Using PluginPackageNone and PluginViewNone makes it
easier to build it on other platforms and also allows us to drop some
ifdefs from PluginPackageGtk and PluginViewGtk.
- GNUmakefile.list.am:
- 7:05 PM Changeset in webkit [120992] by
-
- 3 edits in trunk/Source/WebKit/chromium
[chromium] Add touch-event support for WebPluginContainerImpl
https://bugs.webkit.org/show_bug.cgi?id=89089
Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-06-21
Reviewed by Adam Barth.
- src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleEvent):
- src/WebPluginContainerImpl.h:
(WebCore):
(WebPluginContainerImpl):
- 7:02 PM Changeset in webkit [120991] by
-
- 3 edits2 adds in trunk
[Shadow][Editing] Assertion in VisibleSelection::adjuseSelectionToAvoidCrossingBoundaries() is triggered.
https://bugs.webkit.org/show_bug.cgi?id=89081
Reviewed by Ryosuke Niwa.
Source/WebCore:
firstEditablePositionAfterPositionInRoot and lastEditablePositionBeforePositionInRoot did not
consider a case that an argument hiehestRoot can be in Shadow DOM. So when adjusting selection to
avoid crossing editing boundaries, VisiblePosition can break shadow boundaries, and it causes
an assertion trigger.
By this patch, firstEditablePositionAfterPositionInRoot and lastEditablePositionBeforePositionInRoot will
adjust position to the tree scope of highestRoot instead of its parent tree scope.
Test: editing/shadow/adjusting-editing-boundary-with-table-in-shadow.html
- editing/htmlediting.cpp:
(WebCore::firstEditablePositionAfterPositionInRoot):
(WebCore::lastEditablePositionBeforePositionInRoot):
LayoutTests:
- editing/shadow/adjusting-editing-boundary-with-table-in-shadow-expected.txt: Added.
- editing/shadow/adjusting-editing-boundary-with-table-in-shadow.html: Added.
- 6:46 PM Changeset in webkit [120990] by
-
- 3 edits in trunk/LayoutTests
Make GL error messages consistent in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=89689
Patch by Gregg Tavares <gman@google.com> on 2012-06-21
Reviewed by Kenneth Russell.
- fast/canvas/webgl/resources/webgl-test.js:
(shouldGenerateGLError):
(glErrorShouldBe):
- fast/canvas/webgl/webgl-depth-texture-expected.txt:
- 6:33 PM Changeset in webkit [120989] by
-
- 10 edits in trunk/Source/JavaScriptCore
op_resolve_global should not prevent DFG inlining
https://bugs.webkit.org/show_bug.cgi?id=89726
Reviewed by Gavin Barraclough.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::shrinkToFit):
- bytecode/GlobalResolveInfo.h:
(JSC::GlobalResolveInfo::GlobalResolveInfo):
(GlobalResolveInfo):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
- dfg/DFGCapabilities.h:
(JSC::DFG::canInlineOpcode):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- 6:30 PM Changeset in webkit [120988] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: exception in TimelinePresentationModel when recording timeline
https://bugs.webkit.org/show_bug.cgi?id=89716
Reviewed by Pavel Feldman.
- inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.processRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.filteredRecords):
(WebInspector.TimelinePresentationModel.prototype.isVisible):
- 6:18 PM Changeset in webkit [120987] by
-
- 10 edits in trunk/Source
[Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
https://bugs.webkit.org/show_bug.cgi?id=89684
Source/WebKit/blackberry:
Patch by Parth Patel <parpatel@rim.com> on 2012-06-21
Reviewed by Yong Li.
Update setting instance access to use instance() instead of get().
- Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::globalInitialize):
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::shouldSendResizeEvent):
- WebCoreSupport/AboutData.cpp:
(WebCore::configPage):
- WebCoreSupport/CacheClientBlackBerry.cpp:
(WebCore::CacheClientBlackBerry::updateCacheCapacity):
- WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::getPaddings):
- WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::isInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::initialize):
Source/WTF:
Patch by Parth Patel <parpatel@rim.com> on 2012-06-21
Reviewed by Yong Li.
Update setting instance access to use instance() instead of get().
- wtf/ThreadingPthreads.cpp:
(WTF::createThreadInternal):
- 5:53 PM Changeset in webkit [120986] by
-
- 2 edits in trunk/LayoutTests
[chromium] Layout Test fast/speech/scripted/speechgrammar-basics.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=89717
Unreviewed. Added suppression for flaky crash.
- platform/chromium/TestExpectations:
- 5:49 PM Changeset in webkit [120985] by
-
- 8 edits2 adds in trunk/Source
Add methods to select between offsets in an editable field.
https://bugs.webkit.org/show_bug.cgi?id=89098
Patch by Oli Lan <olilan@chromium.org> on 2012-06-21
Reviewed by Ryosuke Niwa.
Reviewed by Ryosuke Niwa.
Source/WebCore:
Adds a new method setSelectionOffsets to Editor. This selects between
the two integer offsets provided in the node currently being edited,
assuming the offsets are given relative to the rootEditableElement.
If no node or field is currently being edited, the method returns false.
Test: a new test has been added to the chromium port's WebViewTest that
calls this via WebViewImpl::setSelectionEditableOffsets.
- editing/Editor.cpp:
(WebCore::Editor::setSelectionOffsets):
(WebCore):
- editing/Editor.h:
(Editor):
Source/WebKit/chromium:
This adds a new method WebViewImpl::setEditableSelectionOffsets, which
can be used to select between two character positions in the node
currently beign edited.
The offsets are assumed to be relative to the rootEditableElement.
This can be used for IME features that require the ability to manipulate
the selection, for example on Android where the method InputConnection#setSelection
is used.
This method calls a new method Editor::setSelectionOffsets.
The method works for inputs/textareas (i.e. text form controls) and
contenteditable nodes, and the new test in WebViewTest tests both these cases.
- public/WebView.h:
(WebView):
- src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setEditableSelectionOffsets):
(WebKit):
- src/WebViewImpl.h:
(WebViewImpl):
- tests/WebViewTest.cpp:
(WebKit::TEST_F):
(WebKit):
- tests/data/content_editable_populated.html: Added.
- tests/data/input_field_populated.html: Added.
- 5:36 PM Changeset in webkit [120984] by
-
- 10 edits6 adds in trunk
Add support for the grid and inline-grid display types.
https://bugs.webkit.org/show_bug.cgi?id=60732
Reviewed by Tony Chang.
Source/WebCore:
Tests: fast/css-grid-layout/containing-block-grids-expected.html
fast/css-grid-layout/containing-block-grids.html
fast/css-grid-layout/floating-empty-grids-expected.html
fast/css-grid-layout/floating-empty-grids.html
Based on an earlier patch by David Hyatt <hyatt@apple.com>.
Added the first renderer for grid elements.
- CMakeLists.txt:
- GNUmakefile.list.am:
- Target.pri:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
Added RenderGrid files to the build systems.
- rendering/RenderGrid.cpp: Added.
(WebCore::RenderGrid::RenderGrid):
(WebCore::RenderGrid::~RenderGrid):
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::renderName):
- rendering/RenderGrid.h: Added.
(RenderGrid):
Skeleton renderer for now.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
Return our new RenderGrid for our 2 new |display| values.
- rendering/style/RenderStyle.h:
Added INLINE_GRID to the inline and replaced types.
LayoutTests:
Based on an earlier patch by David Hyatt <hyatt@apple.com>.
- fast/css-grid-layout/containing-block-grids-expected.html: Added.
- fast/css-grid-layout/containing-block-grids.html: Added.
- fast/css-grid-layout/floating-empty-grids-expected.html: Added.
- fast/css-grid-layout/floating-empty-grids.html: Added.
- 4:55 PM Changeset in webkit [120983] by
-
- 2 edits in trunk/Source/WebCore
Clang build fix.
- dom/NodeRareData.h:
- 4:52 PM Changeset in webkit [120982] by
-
- 32 edits in trunk
[chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=89045
Reviewed by Adrienne Walker.
Based on patch by Michal Mocny <mmocny@google.com>.
Source/WebCore:
Invariants:
1.) We never commit (paint, animate, any of it) when not visible on the main thread -except- for
compositeAndReadback, regardless of threaded vs non-threaded mode
2.) CCLayerTreeHost::m_contentsTextureManager's memory budget is only set by updateLayers() when we are going to
make a frame and is always set to a non-zero value
3.) Zero-sized allocations from the GPU process are always serviced immediately on the impl thread. Non-zero
allocations are met in the next frame, whenever we would produce that frame according to our usual frame
scheduling logic.
4.) The impl thread always knows the set of currently-allocated managed texture IDs and can delete them all
whenever it likes without needing the main thread to be responsive.
Details:
There are two main changes - tweaking how the contents texture manager's budget is handled and tweaking frame
scheduling for the !visible case.
The scheduling change is a bit more subtle but it unifies the single and multi threaded paths and is really
important. Except for compositeAndReadback (which I'll talk about below), we simply won't produce frames when
not visible. This already happens in the single threaded path thanks to render_widget so the only change is to
the threaded path. The difficulty here is we might post a beginFrame task from the impl thread and then get a
setVisible(false) call on the main thread before the beginFrame task runs. Since I'm making the setVisible()
call a blocking call from main thread -> impl thread, when the beginFrame task eventually does run on the main
thread we can know that the impl thread's notion of visibility is in sync with the main threads. Thus I'm
planning to simply abort the frame before doing any processing on the main thread. The scheduler will know if
it gets a beginFrameAborted and COMMIT_STATE_IDLE.
compositeAndReadback is special - this call currently does come in when we aren't visible (in single and
threaded mode) and we need to service it. In particular, we need to send a beginFrame over and have it
not be ignored on the main thread. For this I'm thinking of having the proxy keep track of whether it's
servicing a compositeAndReadback() and use that bit on the main thread to know to process the beginFrame
normally. On the impl side, we need a few changes. First, we have to allocate a default framebuffer
(ensureFramebufferCHROMIUM) even if we've dropped it previously and remember to discard it after the
readPixels(). Second, we have to provide a non-zero contents texture allocation on the beginFrame message, and
again remember to delete the textures after the readPixels(). Third, we have to know that the beginFrame is a
forced frame so when we get the beginFrameComplete we go ahead with the rest of the frame. For this, I think
I'll have to add ACTION_BEGIN_FORCED_FRAME and a corresponding COMMIT_STATE_FORCED_FRAME_IN_PROGRESS so the
scheduler can keep track of the magicness of this frame, and then add some logic after the readpixels call to
drop resources after the readback. It's probably a good time to stop swapping on readbacks too....
The contents texture manager's budget is only relevant when we want to make a frame, so it's now passed in on
the updateLayers(). Since we only make frames when we are visible and we never have a zero allocation when
visible (thanks to the frame scheduling changes above), this value is always non-zero. The other thing the
texture manager needs to know about is if we've killed all of the underlying textures from the impl thread -
this bit is passed in by the proxy before the updateLayers() call. This means if we're running while visible
and the manager wants to decrease our budget to something other than zero, we'll get a new (non-zero) allocation
on the impl thread, schedule a frame, then when it's time to make the frame pass the new lower limit in to
updateLayers(), then have the contents texture manager evict down to our new limit and make a frame with the new
budget. When the commit completes we'll get notified on the impl thread of which textures the contents texture
manager decided to evict and issue the deleteTexture() calls on them.
The texture budget we pass in will be based on the most recent non-zero memory allocation we received from the
GPU memory manager, or some default value I'll pull out my ass if we haven't heard anything yet. On compositor
initialization, we can't afford to wait for a round-trip through the GPU process to get a budget for the first
frame. I don't think handling a decrease to a non-zero budget on a visible tab needs to be terribly urgent - we
can get to it when we get to making the next frame. If we wanted to satisfy reduced texture budgets directly
from the impl thread, we could keep a priority-list ordered set of textures once we have priorities and delete
based on that. Let's worry about that later.
- platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChangedOnImpl):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::setGpuMemoryAllocation):
(WebCore):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::getFramebufferPixels):
- platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
- platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::evictAndRemoveAllDeletedTextures):
(WebCore):
- platform/graphics/chromium/TextureManager.h:
(TextureAllocator):
(TextureManager):
- platform/graphics/chromium/TrackingTextureAllocator.cpp:
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
(WebCore):
(WebCore::TrackingTextureAllocator::deleteAllTextures):
- platform/graphics/chromium/TrackingTextureAllocator.h:
(TrackingTextureAllocator):
- platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::evictAllContentTextures):
(WebCore::CCLayerTreeHost::updateLayers):
- platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::context):
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
(WebCore):
(WebCore::CCLayerTreeHostImpl::setMemoryAllocationLimitBytes):
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImplClient):
(WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastCommit):
(WebCore::CCLayerTreeHostImpl::memoryAllocationLimitBytes):
(CCLayerTreeHostImpl):
- platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
- platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
- platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::beginFrameAborted):
(WebCore):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didLoseContext):
(WebCore::CCScheduler::didRecreateContext):
(WebCore::CCScheduler::vsyncTick):
- platform/graphics/chromium/cc/CCScheduler.h:
(CCScheduler):
- platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::beginFrameAborted):
(WebCore):
- platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
- platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setVisible):
(WebCore):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::commitAndComposite):
- platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
- platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::setVisible):
(WebCore):
(WebCore::CCThreadProxy::setVisibleOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameAbortedOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
- platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
(BeginFrameAndCommitState):
- platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::allocatePlaneData):
(WebCore::CCVideoLayerImpl::freePlaneData):
(WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
(WebCore::CCVideoLayerImpl::didLoseContext):
- platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(FramePlane):
Source/WebKit/chromium:
Update various test fixtures and tests to cover scheduling, visibility, and resource allocation changes.
- tests/CCLayerTreeHostImplTest.cpp:
- tests/CCLayerTreeHostTest.cpp:
(CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::beginTest):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::afterTest):
(WTF):
(WTF::TEST_F):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):
- tests/CCSchedulerStateMachineTest.cpp:
(WebCore::TEST):
- tests/CCTiledLayerTestCommon.h:
- tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::FakeWebGraphicsContext3D):
(FakeWebGraphicsContext3D):
(WebKit::FakeWebGraphicsContext3D::createTexture):
- tests/LayerRendererChromiumTest.cpp:
(TEST_F):
- tests/TiledLayerChromiumTest.cpp:
- 4:40 PM Changeset in webkit [120981] by
-
- 2 edits in trunk/LayoutTests
[chromium] Layout test failures after fixing GraphicsLayerChromium scale factors
https://bugs.webkit.org/show_bug.cgi?id=89702
Unreviewed TestExpectations update to suppress failures.
- platform/chromium/TestExpectations:
- 4:39 PM Changeset in webkit [120980] by
-
- 1 edit in branches/chromium/1180/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
Merge 120833 - Unreviewed build fix.
- tests/IDBDatabaseBackendTest.cpp:
(WebCore::MockIDBCallbacks::~MockIDBCallbacks):
(WebCore::FakeIDBDatabaseCallbacks::~FakeIDBDatabaseCallbacks):
TBR=jsbell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10645009
- 4:37 PM Changeset in webkit [120979] by
-
- 20 edits in trunk/Source/WebCore
Shrink NodeListsNodeData
https://bugs.webkit.org/show_bug.cgi?id=89036
Reviewed by Andreas Kling.
Replaced 6 hash maps of AtomicString, String, and RefPtr<QualifiedName::QualifiedNameImpl> and a raw pointer
by 3 hash maps of std::pair<unsigned short, AtomicString>, std::pair<unsigned short, String>, and QualifiedName,
to halve the NodeListsNodeData's size (Reduced from 7 pointers to 3 pointers). Made those hash maps private and
added addCacheWith* and removeCacheWith* member functions to reduce the code duplication.
Also got rid of removeCached*NodeList member functions from Node and Document now that DynamicSubtreeNodeList can
simply call nodeLists()->removeCacheWith* on m_node.
- dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
- dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::~ClassNodeList):
- dom/Document.cpp:
(WebCore::Document::getItems): Use addCacheWithName.
- dom/Document.h: Got rid of removeCachedMicroDataItemList.
(Document):
- dom/DynamicNodeList.cpp:
(WebCore): Moved the constructor to the header file.
- dom/DynamicNodeList.h: Added NodeListType and InvalidationType to be used in NodeListsNodeData.
(WebCore::DynamicNodeList::DynamicNodeList): Takes the invalidation type.
(WebCore::DynamicNodeList::document): Added.
(WebCore::DynamicNodeList::shouldInvalidateOnAttributeChange): Added.
(WebCore::DynamicNodeList::Caches::Caches): Added shouldInvalidateOnAttributeChange to retain the invalidation type.
(Caches):
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
- dom/MicroDataItemList.cpp:
(WebCore::MicroDataItemList::~MicroDataItemList):
- dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::~NameNodeList):
(WebCore::NameNodeList::nodeMatches):
- dom/NameNodeList.h:
(WebCore):
(NameNodeList):
(WebCore::NameNodeList::create):
- dom/Node.cpp:
(WebCore::Node::nodeLists): Added so that node lists can directly call removeCacheWith*.
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::radioNodeList):
(WebCore::NodeListsNodeData::invalidateCaches): Merged invalidateCachesThatDependOnAttributes. The function takes
the attribute name to avoid invalidating tag node lists when only attributes are modified. Also, now we have exactly
three hash maps to invalidate: m_atomicNameCaches, m_nameCaches, and m_tagNodeListCacheNS.
(WebCore): NodeListsNodeData::isEmpty is moved to NodeRareData.h.
- dom/Node.h:
(WebCore):
(Node):
- dom/NodeRareData.h:
(NodeListsNodeData):
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
(WebCore::NodeListsNodeData::isEmpty): Moved from Node.cpp now that this function is much shorter.
(WebCore::NodeListsNodeData::NodeListsNodeData):
(WebCore::NodeListsNodeData::namedNodeListKey): Helper member functions to obtain the key for AtomicString and
String hash maps.
- dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
(WebCore::TagNodeList::~TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList): Hard code namespaceURI = starAtom since other values are never used.
(WebCore::HTMLTagNodeList::nodeMatches): Given that, assert m_namespace == starAtom.
- dom/TagNodeList.h:
(WebCore::TagNodeList::create): Add a new version of create that doesn't take namespace (assume starAtom) so that
addCacheWithAtomicName works with this class.
(WebCore::HTMLTagNodeList::create): Removed namespaceURI from the argument list since it's always starAtom.
(HTMLTagNodeList):
- html/LabelableElement.cpp:
(WebCore::LabelableElement::labels):
- html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList): Removed redundant m_forNode (identical to m_node in DynamicNodeList).
(WebCore::LabelsNodeList::~LabelsNodeList):
(WebCore::LabelsNodeList::nodeMatches):
- html/LabelsNodeList.h:
(WebCore::LabelsNodeList::create):
(LabelsNodeList):
- html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList): Removed redundant m_baseElement (identical to m_node in DynamicNodeList).
Also changed the first argument's type from Element* to Node* so that it works better with new template member
functions of NodeListsNodeData.
(WebCore::RadioNodeList::~RadioNodeList):
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
- html/RadioNodeList.h:
(WebCore::RadioNodeList::create):
(RadioNodeList):
- 4:32 PM Changeset in webkit [120978] by
-
- 4 edits in trunk
Unreviewed, rolling out r120945.
http://trac.webkit.org/changeset/120945
https://bugs.webkit.org/show_bug.cgi?id=89703
editing/shadow/breaking-editing-boundaries.html started to
crash (Requested by hayato on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-21
Source/WebCore:
- dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):
LayoutTests:
- fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
- 4:32 PM Changeset in webkit [120977] by
-
- 2 edits in trunk/Tools
DRT/WTR python interface handles about:blank incorrectly
https://bugs.webkit.org/show_bug.cgi?id=89563
Reviewed by Dirk Pranke.
Currently DRT/WTR python interface's _command_from_driver_input function
puts the test directory path before about:blank. Remove this incorrect behavior.
- Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitDriver._command_from_driver_input):
- 4:28 PM Changeset in webkit [120976] by
-
- 11 edits in trunk/LayoutTests
IndexedDB: Fix layout tests to clear previous database structures
https://bugs.webkit.org/show_bug.cgi?id=89609
Reviewed by Tony Chang.
A handful of tests weren't deleting previously created stores (or the whole
database), which made them fail if trivially re-run in Chromium or under
NRWT with --iterations=2.
- storage/indexeddb/cursor-key-order-expected.txt:
- storage/indexeddb/cursor-primary-key-order-expected.txt:
- storage/indexeddb/open-during-transaction-expected.txt:
- storage/indexeddb/resources/cursor-key-order.js:
(prepareDatabase.deleteRequest.onsuccess.openreq.onsuccess.verreq.onsuccess):
(prepareDatabase.deleteRequest.onsuccess.openreq.onsuccess):
(prepareDatabase.deleteRequest.onsuccess):
(prepareDatabase):
- storage/indexeddb/resources/cursor-primary-key-order.js:
(prepareDatabase.deleteRequest.onsuccess.openRequest.onsuccess.versionChangeRequest.onsuccess):
(prepareDatabase.deleteRequest.onsuccess.openRequest.onsuccess):
(prepareDatabase.deleteRequest.onsuccess):
(prepareDatabase):
- storage/indexeddb/resources/factory-deletedatabase-interactions.js:
- storage/indexeddb/resources/open-close-version.js:
(test6):
(test6.halfDone):
- storage/indexeddb/resources/open-during-transaction.js:
(prepareDatabase.deleteRequest.onsuccess.openreq1.onsuccess.setverreq.onsuccess.setverreq.result.oncomplete):
(prepareDatabase.deleteRequest.onsuccess.openreq1.onsuccess.setverreq.onsuccess):
(prepareDatabase.deleteRequest.onsuccess.openreq1.onsuccess):
(prepareDatabase.deleteRequest.onsuccess):
(prepareDatabase):
- storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt:
- storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
- 3:56 PM Changeset in webkit [120975] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Use setGstElementClassMetadata.
Rubber/stamped by Martin Robinson.
This function was introduced in r120790 but I forgot to actually
use it in that patch.
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkit_video_sink_class_init):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
- 3:55 PM Changeset in webkit [120974] by
-
- 3 edits in trunk/Source/JavaScriptCore
DFG should inline 'new Array()'
https://bugs.webkit.org/show_bug.cgi?id=89632
Reviewed by Geoffrey Garen.
This adds support for treating InternalFunction like intrinsics. The code
to do so is actually quite clean, so I don't feel bad about perpetuating
the InternalFunction vs. JSFunction-with-NativeExecutable dichotomy.
Currently this newfound power is only used to inline 'new Array()'.
- dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(DFG):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::isInternalFunctionConstant):
(JSC::DFG::Graph::valueOfInternalFunctionConstant):
- 3:47 PM Changeset in webkit [120973] by
-
- 13 edits in branches/chromium/1180/Source
Revert 120539 - [Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged
https://bugs.webkit.org/show_bug.cgi?id=88482
Reviewed by Adrienne Walker.
Reverted by hand due to merge conflicts.
Added tests to verify quad removal algorithm. Added infrastructure
code to generate custom render passes out of a script
encoded as C string.
- tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
- tests/CCLayerImplTest.cpp:
(WebCore):
(WebCore::TEST):
- tests/CCLayerTreeHostImplTest.cpp:
- 3:40 PM Changeset in webkit [120972] by
-
- 2 edits in trunk/Source/WebKit/chromium
[Chromium] Enable CSP_NEXT on the Chromium port.
https://bugs.webkit.org/show_bug.cgi?id=89683
Patch by Mike West <mkwst@chromium.org> on 2012-06-21
Reviewed by Adam Barth.
Enable CSP 1.1 on the Chromium port. This has zero practical effect,
as no CSP 1.1 patches have landed yet. But it will. Oh it will.
- features.gypi: ENABLE_CSP_NEXT=1
- 3:39 PM Changeset in webkit [120971] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Rebaseline video tests after r120939
https://bugs.webkit.org/show_bug.cgi?id=89696
Unreviewed test expectations update to adjust bug number and
silence failures on Windows platform. Rebaselines are still needed.
- platform/chromium/TestExpectations:
- 3:38 PM Changeset in webkit [120970] by
-
- 5 edits in trunk/Source/JavaScriptCore
Adding copyrights to new files.
- heap/HeapTimer.cpp:
- heap/HeapTimer.h:
- heap/IncrementalSweeper.cpp:
- heap/IncrementalSweeper.h:
- 3:38 PM Changeset in webkit [120969] by
-
- 4 edits2 deletes in branches/chromium/1132/Source/WebCore
Merge r120507 to chromium 1132 branch.
[chromium] Use SkBitmap in ImageLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=89134
Reviewed by Adrienne Walker.
GraphicsLayer::setContentsToImage(Image*) is called whenever an image layer's image is or might have changed.
In Chromium, this used to hang on to a RefPtr<WebCore::Image> until the compositor was ready to upload texture contents.
This is potentially a bit fishy since the Image itself might not be in exactly the same state when we get around
to uploading textures and it also creates a bad dependency from ImageLayerChromium on WebCore::Image.
This patch grabs the underlying SkBitmap in the setContentsTo call and passes that into ImageLayerChromium
instead. I've also removed the venerable but redundant PlatformImage concept since all of chromium's images are
skia bitmaps these days.
Covered by existing tests, particularly compositing/images/ and compositing/color-matching/.
- WebCore.gypi:
- platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToImage):
- platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::updateTextureRect):
(WebCore::ImageLayerTextureUpdater::setBitmap):
(ImageLayerTextureUpdater):
(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::setBitmap):
(WebCore::ImageLayerChromium::update):
(WebCore::ImageLayerChromium::contentBounds):
(WebCore::ImageLayerChromium::drawsContent):
- platform/graphics/chromium/ImageLayerChromium.h:
(ImageLayerChromium):
- platform/graphics/chromium/PlatformImage.cpp: Removed.
- platform/graphics/chromium/PlatformImage.h: Removed.
TBR=jamesr@chromium.org
BUG=124321
- 3:34 PM Changeset in webkit [120968] by
-
- 44 edits3 deletes in trunk/Source/WebCore
[V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
https://bugs.webkit.org/show_bug.cgi?id=80880
Reviewed by Adam Barth.
We used to add a hidden property in the getter to the returned wrapper.
With this patch we instead handle the liveness of the wrapper in the GC phase by
calling v8::V8::AddHiddenReference.
To reduce the amount of custom code we need, the V8 code generator now supports
GenerateIsReachable (as well as CustomIsReachable) which, even though different
from the JSC attribute, is used in the same cases and takes the same values (even though
at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
also have a dependent life time (just like if V8DependentLifetime was present).
No new tests. Covered by existing tests.
- Target.pri:
- UseV8.cmake:
- WebCore.gypi:
- bindings/scripts/CodeGeneratorJS.pm:
(GetGenerateIsReachable): Abstracted GenerateIsReachable and JSGenerateIsReachable.
(GetCustomIsReachable): Ditto.
(GenerateHeader):
(GenerateImplementation):
- bindings/scripts/CodeGeneratorV8.pm:
(NeedsToVisitDOMWrapper):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateVisitDOMWrapper):
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
- bindings/scripts/IDLAttributes.txt:
- bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
- bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
- bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
- bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
- bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
- bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
- bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestException.h:
(V8TestException):
- bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
- bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
- bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
- bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
- bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
- bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
- bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
- bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
- bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):
- bindings/v8/WrapperTypeInfo.h:
(WebCore):
(WrapperTypeInfo):
- bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
- bindings/v8/custom/V8DOMStringMapCustom.cpp:
- bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
- bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
- bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
- bindings/v8/custom/V8TextTrackListCustom.cpp: Removed.
- css/CSSStyleSheet.idl:
- css/StyleSheet.idl:
- dom/DOMStringMap.idl:
- dom/NamedNodeMap.idl:
- html/DOMTokenList.idl:
- html/track/TextTrackList.idl:
- 3:28 PM Changeset in webkit [120967] by
-
- 17 edits in trunk
IndexedDB: Implement spec behavior for multiEntry indexes with invalid/duplicate subkeys
https://bugs.webkit.org/show_bug.cgi?id=86123
Patch by Alec Flett <alecflett@chromium.org> on 2012-06-21
Reviewed by Darin Fisher.
Source/WebCore:
Distinguish between an actual invalid IDBKey, and an array of
possibly-invalid subkeys by making IDBKey::isValid() check subkeys
if the type is an array.
Introduce a new way to transform an IDBKey into a
multiEntry-specific IDBKey, (IDBKey::createMultiEntryArray)
throwing out duplicates and invalid keys. Use it when storing
index entries for multiEntry indexes.
No new tests: existing tests have been altered to include new behavior.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction):
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
- Modules/indexeddb/IDBKey.cpp:
(WebCore::IDBKey::isValid):
(WebCore):
- Modules/indexeddb/IDBKey.h:
(WebCore::IDBKey::createMultiEntryArray):
(IDBKey):
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
- Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
- Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeIDBKey):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
- Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore):
- bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
Source/WebKit/chromium:
Add matching isValid() to WebIDBKey to match the one in IDBKey.
- public/WebIDBKey.h:
- src/WebIDBKey.cpp:
(WebKit::WebIDBKey::isValid):
(WebKit):
- src/WebIDBKeyRange.cpp:
(WebKit::WebIDBKeyRange::assign):
LayoutTests:
- storage/indexeddb/index-multientry-expected.txt:
- storage/indexeddb/resources/index-multientry.js:
(addData):
(verifyIndexes.request.onsuccess):
(verifyIndexes):
(verifyUniqueConstraint.request.onsuccess.request.onsuccess.request.onerror):
(verifyUniqueConstraint.request.onsuccess.request.onsuccess):
(verifyUniqueConstraint.request.onsuccess):
(verifyUniqueConstraint):
- 3:02 PM Changeset in webkit [120966] by
-
- 4 edits in trunk/Source
[chromium] Overlays when using the web inspector are blurry with device scale factor > 1
https://bugs.webkit.org/show_bug.cgi?id=89676
Patch by Ian Vollick <vollick@chromium.org> on 2012-06-21
Reviewed by James Robinson.
Whenever we construct a GraphicsLayerChromium, make initialize the
device and page scale factors, if possible.
Source/WebCore:
Unit test: GraphicsLayerChromiumTest.shouldStartWithCorrectContentsScale
- platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
Source/WebKit/chromium:
- tests/GraphicsLayerChromiumTest.cpp:
(WebKitTests::TEST_F):
(WebKitTests):
- 2:48 PM Changeset in webkit [120965] by
-
- 2 edits in trunk/Tools
reenable perf tests on win
https://bugs.webkit.org/show_bug.cgi?id=89690
Reviewed by Ryosuke Niwa.
Only the replay tests don't work, and those are disabled by
default. This change also fixes the undefined _log reference
that was causing a crash.
- Scripts/run-perf-tests:
- 2:24 PM WebKit Team edited by
- (diff)
- 2:23 PM Changeset in webkit [120964] by
-
- 2 edits in trunk/Source/WebCore
[Qt] REGRESSION(r120790): broke video rendering
https://bugs.webkit.org/show_bug.cgi?id=89619
Reviewed by Alexis Menard.
Invert the pixel components of the Image on little endian architectures.
- platform/graphics/gstreamer/ImageGStreamerQt.cpp:
(ImageGStreamer::ImageGStreamer):
- 2:23 PM Changeset in webkit [120963] by
-
- 6 edits2 copies in trunk/Source/WebKit2
[WK2] Add C API to inspect a Web Intent
https://bugs.webkit.org/show_bug.cgi?id=89275
Patch by Christophe Dumez <Christophe Dumez> on 2012-06-21
Reviewed by Anders Carlsson.
Add C API for Web Intent so that it can be queried
on client side.
- CMakeLists.txt:
- GNUmakefile.list.am:
- Target.pri:
- UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
(WKIntentDataGetTypeID):
(WKIntentDataCopyAction):
(WKIntentDataCopyType):
(WKIntentDataCopyService):
(WKIntentDataCopySuggestions):
(WKIntentDataCopyExtra):
(WKIntentDataCopyExtras):
- UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
- UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::suggestions):
(WebKit):
(WebKit::WebIntentData::extra):
(WebKit::WebIntentData::extras):
- UIProcess/WebIntentData.h:
(WebIntentData):
- 2:15 PM Changeset in webkit [120962] by
-
- 19 edits3 copies1 add in trunk/Source/WebCore
[Resource Timing] Implement Resource Timing interface
https://bugs.webkit.org/show_bug.cgi?id=61152
This patch implements the Resource Timing interface. It doesn't do anything
useful, because nothing populates the timeline yet. There are also some gaps
in the implementation, which have been filed as bugs.
http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html
Reviewed by Tony Gentilcore.
No new tests. Feature is disabled on all platforms.
- CMakeLists.txt:
- DerivedSources.pri:
- GNUmakefile.list.am:
- Target.pri:
- UseV8.cmake:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- bindings/v8/custom/V8PerformanceEntryCustom.cpp:
(WebCore):
(WebCore::toV8): Support PerformanceEntry polymorphism.
- dom/EventNames.h:
(WebCore):
- dom/EventTargetFactory.in:
- page/Performance.cpp:
(WebCore::Performance::~Performance):
(WebCore):
(WebCore::Performance::interfaceName): Reqired for EventTarget.
(WebCore::Performance::scriptExecutionContext): Ditto.
(WebCore::Performance::webkitGetEntries): Return "resource" entries.
(WebCore::Performance::webkitGetEntriesByType): Ditto.
(WebCore::Performance::webkitGetEntriesByName): Ditto.
(WebCore::Performance::webkitClearResourceTimings): New.
(WebCore::Performance::webkitSetResourceTimingBufferSize): New. Unimplemented.
(WebCore::Performance::addResourceTiming): This is how resources in WebCore will report to the timeline.
(WebCore::Performance::eventTargetData): Required for EventTarget.
(WebCore::Performance::ensureEventTargetData): Ditto.
- page/Performance.h:
(Performance):
(WebCore::Performance::refEventTarget):
(WebCore::Performance::derefEventTarget):
- page/Performance.idl:
- page/PerformanceEntry.cpp:
(WebCore::PerformanceEntry::~PerformanceEntry):
(WebCore):
- page/PerformanceEntry.h:
(PerformanceEntry):
(WebCore::PerformanceEntry::isResource):
- page/PerformanceEntry.idl:
- page/PerformanceResourceTiming.cpp: Added.
(WebCore):
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::initiatorType):
(WebCore::PerformanceResourceTiming::redirectStart):
(WebCore::PerformanceResourceTiming::redirectEnd):
(WebCore::PerformanceResourceTiming::fetchStart):
(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::requestStart):
(WebCore::PerformanceResourceTiming::responseStart):
(WebCore::PerformanceResourceTiming::responseEnd):
(WebCore::PerformanceResourceTiming::monotonicTimeToDocumentMilliseconds):
(WebCore::PerformanceResourceTiming::resourceTimeToMilliseconds):
- page/PerformanceResourceTiming.h: Added.
(WebCore):
(PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::create):
(WebCore::PerformanceResourceTiming::isResource):
- page/PerformanceResourceTiming.idl: Added.
- 1:32 PM Changeset in webkit [120961] by
-
- 1 edit4 copies in branches/chromium/1132
Merge 120934 - Non-fixed length margins don't work with align=center
https://bugs.webkit.org/show_bug.cgi?id=89626
Reviewed by Levi Weintraub.
Source/WebCore:
Tests: fast/block/negative-start-margin-align-center-percent.html
fast/block/positive-margin-block-child-align-center-calc.html
Calling Length::value() is a bad idea as it returns the *raw* value of
the length. For percent and calculated length this is a bad idea as they
bear not relation to the actual computed length.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeInlineDirectionMargins):
Fixed the code to use minimumValueForLength as this nicely takes care of the 'auto' case.
LayoutTests:
- fast/block/negative-start-margin-align-center-percent-expected.html: Added.
- fast/block/negative-start-margin-align-center-percent.html: Added.
- fast/block/positive-margin-block-child-align-center-calc-expected.html: Added.
- fast/block/positive-margin-block-child-align-center-calc.html: Added.
- 1:20 PM Changeset in webkit [120960] by
-
- 3 edits in trunk/Source/WebCore
Speech JavaScript API: Remove FIXMEs about whether events bubble and are cancelable
https://bugs.webkit.org/show_bug.cgi?id=89657
Reviewed by Adam Barth.
The spec has been updated to clarify that the events do not bubble and
are not cancelable.
No new tests, just removing comments.
- Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didStartAudio):
- Modules/speech/SpeechRecognitionError.cpp:
(WebCore::SpeechRecognitionError::SpeechRecognitionError):
- 1:13 PM Changeset in webkit [120959] by
-
- 5 edits in trunk/Source/WebKit/blackberry
Add a parameter to handletTouchPoint to bypass FatFingers
on touch up. There are some cases where the user may drag
their finger off the element and we want to use the actual
touch point instead of the FatFingers adjusted point.
https://bugs.webkit.org/show_bug.cgi?id=89677
Patch by Genevieve Mak <gmak@rim.com> on 2012-06-21
Reviewed by Antonio Gomes.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- Api/WebPage.h:
- WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- WebKitSupport/TouchEventHandler.h:
(TouchEventHandler):
- 12:29 PM Changeset in webkit [120958] by
-
- 5 edits in branches/chromium/1180/Source
Merge 120828 - [Chromium] IndexedDB: Don't close database if pending connections are in flight
https://bugs.webkit.org/show_bug.cgi?id=89512
Source/WebCore:
Add a counter tracking connections between the two phases, which is used along with
the completed connection count to determine the total number of connections.
Reviewed by Tony Chang.
Test: webkit_unit_tests --gtest_filter='IDBDatabaseBackendTest.ConnectionLifecycle'
- Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::connectionCount):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::close):
- Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
- Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::openInternal):
- inspector/InspectorIndexedDBAgent.cpp:
(WebCore):
Source/WebKit/chromium:
Reviewed by Tony Chang.
- tests/IDBDatabaseBackendTest.cpp:
(MockIDBCallbacks):
(WebCore::MockIDBCallbacks::create):
(WebCore::MockIDBCallbacks::MockIDBCallbacks):
(WebCore):
(FakeIDBDatabaseCallbacks):
(WebCore::FakeIDBDatabaseCallbacks::create):
(WebCore::FakeIDBDatabaseCallbacks::FakeIDBDatabaseCallbacks):
(WebCore::TEST):
TBR=jsbell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10630009
- 12:26 PM Changeset in webkit [120957] by
-
- 11 edits1 move in trunk/Source/WebCore
Web Inspector: [WebGL] Rename InjectedWebGLScriptSource.js -> InjectedScriptWebGLModuleSource.js
https://bugs.webkit.org/show_bug.cgi?id=89675
Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-21
Reviewed by Pavel Feldman.
- CMakeLists.txt:
- DerivedSources.make:
- DerivedSources.pri:
- GNUmakefile.am:
- GNUmakefile.list.am:
- WebCore.gyp/WebCore.gyp:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InjectedScriptWebGLModule.cpp:
(WebCore::InjectedScriptWebGLModule::source):
- inspector/InjectedScriptWebGLModuleSource.js: Renamed from Source/WebCore/inspector/InjectedWebGLScriptSource.js.
(.):
- 12:20 PM Changeset in webkit [120956] by
-
- 18 edits in trunk
[GTK] Fix NPAPI plugins on Windows
https://bugs.webkit.org/show_bug.cgi?id=54531
Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
Reviewed by Martin Robinson.
.:
Define XP_WIN on Windows for plugin support.
- GNUmakefile.am:
Source/WebCore:
Switch to using PluginPackageWin.cpp and PluginViewWin.cpp on Windows
platform, and leave plugins/gtk/ only for XP_UNIX platforms. With this
we can share a lot of code with other ports and don't have to
reimplement all the Windows-specific code in plugins/gtk/.
- GNUmakefile.am:
- GNUmakefile.list.am:
- platform/FileSystem.h:
(WebCore):
- platform/graphics/GraphicsContext.h:
(GraphicsContext):
- platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(GraphicsContextPlatformPrivate):
- platform/graphics/transforms/TransformationMatrix.h:
(TransformationMatrix):
- platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore):
- platform/graphics/win/GraphicsContextWin.cpp:
(WebCore):
- platform/gtk/FileSystemGtk.cpp:
(WebCore::unloadModule):
- plugins/PluginView.h:
(PluginView):
- plugins/win/PluginViewWin.cpp:
(windowHandleForPageClient):
(WebCore::registerPluginView):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::snapshot):
Source/WTF:
Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
include OwnPtrWin.cpp in the list of files built on Windows.
- GNUmakefile.am:
- GNUmakefile.list.am:
- wtf/Platform.h:
- 11:57 AM Changeset in webkit [120955] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r120937.
http://trac.webkit.org/changeset/120937
https://bugs.webkit.org/show_bug.cgi?id=89679
This patch brought buildbot master down (Requested by svillar
on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-21
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 11:54 AM Changeset in webkit [120954] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/11718988> and https://bugs.webkit.org/show_bug.cgi?id=89673
showModalDialog fix creates risk of never returning from RunLoop::performWork, potentially blocking other event sources
In case handling a function on the queue places additional functions on the queue, we should
limit the number of functions each invocation of performWork() performs so it can return and
other event sources have a chance to spin.
The showModalDialog fix in question is http://trac.webkit.org/changeset/120879
Reviewed by Darin Adler and Anders Carlson.
- platform/RunLoop.cpp:
(WebCore::RunLoop::performWork): If there are only N functions in the queue when performWork is called,
only handle up to N functions before returning. Any additional functions will be handled the next time
the runloop spins.
- 11:37 AM Changeset in webkit [120953] by
-
- 5 edits3 adds in trunk
SVGImageCache isn't invalidated for <img> on dynamic page scale changes
https://bugs.webkit.org/show_bug.cgi?id=89621
<rdar://problem/11714677>
Reviewed by Simon Fraser.
Previously, device and page scale factors were being cached as a part of the SVGImageCache's
size request. However, an <img> never has a reason to update its size request when the page
scale is changed via gesture zooming, as no layout occurs.
Instead, look up the relevant scales when the image is requested (which will occur during every
repaint), allowing page scale changes to take effect without requiring an updated size request.
Test: svg/as-image/image-respects-pageScaleFactor-change.html
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::lookupOrCreateImageForRenderer):
(WebCore::CachedImage::setContainerSizeForRenderer):
- svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
- svg/graphics/SVGImageCache.h:
(WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
(SizeAndScales):
Add a test that ensures that dynamic changes to pageScaleFactor are propagated through
to the SVGImageCache.
- platform/mac/svg/as-image/image-respects-pageScaleFactor-change-expected.png: Added.
- platform/mac/svg/as-image/image-respects-pageScaleFactor-change-expected.txt: Added.
- svg/as-image/image-respects-pageScaleFactor-change.html: Added.
- 11:35 AM Changeset in webkit [120952] by
-
- 2 edits in trunk/LayoutTests
Skipping this failing test. Filed
https://bugs.webkit.org/show_bug.cgi?id=89680 to track fixing the
real issue.
- platform/mac/Skipped:
- 11:24 AM Changeset in webkit [120951] by
-
- 5 edits2 adds in trunk
Add pending resource even if others are pending
https://bugs.webkit.org/show_bug.cgi?id=89633
Reviewed by Dirk Schulze.
Source/WebCore:
An element can have multiple simultaneous pending resources but some of
this code was legacy, before the hasPendingResource()->hasPendingResources()
change (r105573). This patch continues adding a pending resource even if
there are other pending resources. In some cases, this can lead to marking
a resource as pending twice but the performance impact of that is negligible.
Other than SVGUseElement, SVGTrefElement and SVGFEImageElement are also
changed. These elements are unaffected because they can only have
a single resource at the moment (href), with other Style url() references
being handled by their parent containers.
Tests: svg/custom/use-multiple-pending-resources-expected.svg
svg/custom/use-multiple-pending-resources.svg
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::buildPendingResource):
- svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::detachTarget):
(WebCore::SVGTRefElement::buildPendingResource):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::buildPendingResource):
LayoutTests:
- svg/custom/use-multiple-pending-resources-expected.svg: Added.
- svg/custom/use-multiple-pending-resources.svg: Added.
- 11:21 AM Changeset in webkit [120950] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Replace the use of "struct stat" with GStatBuf
https://bugs.webkit.org/show_bug.cgi?id=89488
Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
Reviewed by Martin Robinson.
Make sure we pass GStatBuf to g_stat(); depending on the platform, it
isn't always the same as "struct stat", e.g. on Windows.
- platform/gtk/FileSystemGtk.cpp:
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
- 11:17 AM Changeset in webkit [120949] by
-
- 5 edits in trunk/Source
remove ENABLE_FULLSCREEN_MEDIA_CONTROL flag
https://bugs.webkit.org/show_bug.cgi?id=89614
Patch by Min Qin <qinmin@chromium.org> on 2012-06-21
Reviewed by Eric Carlson.
Source/WebCore:
Desktop chromium also starts to use fullscreen button after https://bugs.webkit.org/show_bug.cgi?id=88818
we don't need this flag any more
No test needed as this change just removes a flag.
- html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
(WebCore::MediaControlRootElementChromium::create):
(WebCore::MediaControlRootElementChromium::setMediaController):
(WebCore::MediaControlRootElementChromium::reset):
(WebCore::MediaControlRootElementChromium::reportedError):
- html/shadow/MediaControlRootElementChromium.h:
(MediaControlRootElementChromium):
Source/WebKit/chromium:
Since desktop chrome now has fullscreen button, we don't need this flag anymore
- features.gypi:
- 11:14 AM Changeset in webkit [120948] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Properly encode/decode service in IntentData
https://bugs.webkit.org/show_bug.cgi?id=89460
Patch by Christophe Dumez <Christophe Dumez> on 2012-06-21
Reviewed by Gustavo Noronha Silva.
Update IntentData::encode() and IntentData::decode()
so that the "service" member is properly encoded
and decoded.
- Shared/IntentData.cpp:
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
- 11:09 AM Changeset in webkit [120947] by
-
- 1 edit2 deletes in trunk/LayoutTests
Unreviewed gardening. Removing pixel results for CSS computed style tests which are text only tests.
- platform/qt/fast/css/getComputedStyle/computed-style-expected.png: Removed.
- platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.png: Removed.
- 11:07 AM Changeset in webkit [120946] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening. The computed style tests should now pass on EFL after r120870.
- platform/efl/TestExpectations:
- 11:05 AM Changeset in webkit [120945] by
-
- 4 edits in trunk
Modify event re-targeting algorithm so that we can tell which distributed node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=89073
Reviewed by Dimitri Glazkov.
Source/WebCore:
Adopt a new event re-targeting algorithm in the latest Shadow DOM spec.
The corresponding bug in the shadow DOM spec is:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17090
This change is introduced to handle the following use case:
- There is an insertion point, with zero or more nodes distributed into it.
- User clicks on one of the items.
- The event handler in shadow DOM subtree wants to know which item was clicked on.
The new re-targeting algorithm sets an event's target to a
distributed node where an event was originally fired, instead of
an insertion point to where the node is distributed.
The similar re-targeting algorithm also applies to an event's
relatedTarget.
Test: fast/dom/shadow/shadow-dom-event-dispatching.html
- dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):
LayoutTests:
- fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
- 11:01 AM Changeset in webkit [120944] by
-
- 3 edits in trunk/Tools
[GTK] Combine WebKit API tests into fewer binaries
https://bugs.webkit.org/show_bug.cgi?id=88458
Reviewed by Carlos Garcia Campos.
Instead of creating one binary per-test file, create binaries for each
category of tests. Right now this includes WTF and the WebKit2 C API,
but later tests can be added for the GTK+ platform layer and the WebKit1
and WebKit2 API layers.
- TestWebKitAPI/GNUmakefile.am: Compile only two test binaries, one for the WebKit2 C API and one for WTF. Refresh the source list to ensure that new test are active.
- gtk/run-api-tests: Change the way that tests are skipped by splitting out the
concept of skipping a test and skipping a suite (program) of tests. Test cases are
skipped because of legitimate failures, but entire programs are skipped because of
problems in the harness. As of right now a test program is only skipped if the
accessibility bus cannot be started.
(SkippedTest.init): Make the test case a required argument and have one skipped
test case per SkippedTest instance.
(SkippedTest.str): Ditto.
(TestRunner): Update the directory list. We only have two gtest binaries now and they are
in one directory. Reformat the test list to make it slightly easier to read.
(TestRunner.init): Add the _skipped_test_program member, which handles entire
test programs that are skipped.
(TestRunner._setup_testing_environment): Use the new member.
(TestRunner._test_cases_to_skip): Collect all skipped test cases now instead of just
the first SkippedTest that matches.
(TestRunner._should_run_test_program): Take a look at the new member to make this
decision.
(TestRunner._run_test_command): Use the name test_program instead of test
to disambiguate between test cases and test suites.
(TestRunner._run_test_glib): ditto.
(TestRunner._run_test_google): Ditto.
(TestRunner._run_test): Ditto.
(TestRunner.run_tests): Ditto.
- 10:53 AM Changeset in webkit [120943] by
-
- 9 edits in trunk
[CSSRegions]Change WEBKIT_REGION_RULE value to 16
https://bugs.webkit.org/show_bug.cgi?id=89421
Patch by Andrei Onea <onea@adobe.com> on 2012-06-21
Reviewed by Tony Chang.
Source/WebCore:
Modified WEBKIT_REGION_RULE where applicable to match CSS Regions spec.
The new value for WEBKIT_REGION_RULE is 16 (was 10).
- css/CSSRule.cpp:
(WebCore):
Added COMPILE_ASSERT to ensure StyleRule::Region and CSSRule::WEBKIT_REGION_RULE will
- css/CSSRule.h:
(CSSRule):
Modified m_type bitfield length to 5
- css/CSSRule.idl:
- css/StyleRule.cpp:
(SameSizeAsStyleRuleBase):
(WebCore):
Added COMPILE_ASSERT to ensure that StyleRuleBase will always have exactly 32bits.
- css/StyleRule.h:
(StyleRuleBase):
Modified m_type bitfield to 5 to accommodate the new value, and modified
m_sourceLine bitfield to 27 bits in order to keep StyleRule 32
bits long. Consequently, any css rule longer than 67,108,863 lines will
cause overflow - however, the value is large enough not to cause
problems.
LayoutTests:
Added check for exact value of WEBKIT_REGION_RULE which should be 16,
according to CSS Regions spec.
- fast/regions/webkit-region-rule-expected.txt:
- fast/regions/webkit-region-rule.html:
- 10:50 AM Changeset in webkit [120942] by
-
- 2 edits in trunk/Tools
Unreviewed. Moving myself from committer list to reviewer.
- Scripts/webkitpy/common/config/committers.py:
- 10:34 AM Changeset in webkit [120941] by
-
- 4 edits in trunk/Source/JavaScriptCore
make sure headers are included only once per file
https://bugs.webkit.org/show_bug.cgi?id=88922
Patch by Arnaud Renevier <arno@renevier.net> on 2012-06-21
Reviewed by Alexey Proskuryakov.
- bytecode/CodeBlock.h:
- heap/MachineStackMarker.cpp:
- runtime/JSVariableObject.h:
- 10:34 AM Changeset in webkit [120940] by
-
- 2 edits in trunk/LayoutTests
r120835: fast/box-decoration-break/box-decoration-break-rendering.html failing on mac bots
https://bugs.webkit.org/show_bug.cgi?id=89620
- platform/mac/Skipped:
- 10:32 AM Changeset in webkit [120939] by
-
- 36 edits in trunk
Paint played and buffered ranges differently in Chrome video controls.
https://bugs.webkit.org/show_bug.cgi?id=89284
Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-21
Reviewed by Eric Carlson.
Source/WebCore:
No new tests; existing video control tests cover this case.
The Chrome video controls are receiving a visual update. This patch changes
the format in which the playback position slider displays the buffered range.
It is painted in a lighter color left of the position thumb and darker right
of the position thumb
- css/mediaControlsChromium.css:
(input[type="range"]::-webkit-media-slider-container):
Adjust the border color of the playback position slider.
- rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintRoundedSliderBackground):
Adjust the background color of the position slider.
(WebCore::paintSliderRangeHighlight):
Make the color of the range region a function parameter,
provide start and end position as pixel width instead of percentage,
and make sure the rounded corners at beginning and end don't turn into rectangles.
(WebCore):
Move the mediaSliderThumbWidth variable up to be used in paintMediaSlider().
(WebCore::paintMediaSlider):
Calculate start, current and end position instead of fractions,
adjust the current position by half the thumb's width for improved rendering,
and draw two highlight areas: one bright one before current position and
one grey one after current position.
(WebCore::paintMediaVolumeSlider):
Adjust the paintSliderRangeHighlight function call and add the colors.
LayoutTests:
Rebaseline tests for linux build; mark others in TestExpectations.
- platform/chromium/TestExpectations:
- platform/chromium-linux/fast/layers/video-layer-expected.png:
- platform/chromium-linux/fullscreen/full-screen-stacking-context-expected.png:
- platform/chromium-linux/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
- platform/chromium-linux/media/audio-controls-rendering-expected.png:
- platform/chromium-linux/media/controls-after-reload-expected.png:
- platform/chromium-linux/media/controls-strict-expected.png:
- platform/chromium-linux/media/controls-styling-expected.png:
- platform/chromium-linux/media/controls-without-preload-expected.png:
- platform/chromium-linux/media/video-controls-rendering-expected.png:
- platform/chromium-linux/media/video-display-toggle-expected.png:
- platform/chromium-linux/media/video-playing-and-pause-expected.png:
- platform/chromium-linux/media/video-zoom-controls-expected.png:
- platform/chromium-linux/media/audio-repaint-expected.png:
- platform/chromium-linux/media/controls-layout-direction-expected.png:
- platform/chromium-linux/media/media-controls-clone-expected.png:
- platform/chromium-linux/media/media-document-audio-repaint-expected.png:
- platform/chromium-linux/media/video-no-audio-expected.png:
- platform/chromium-win/fast/layers/video-layer-expected.txt:
- platform/chromium-win/media/audio-controls-rendering-expected.txt:
- platform/chromium-win/media/audio-repaint-expected.txt:
- platform/chromium-win/media/controls-after-reload-expected.txt:
- platform/chromium-win/media/controls-strict-expected.txt:
- platform/chromium-win/media/controls-styling-expected.txt:
- platform/chromium-win/media/controls-without-preload-expected.txt:
- platform/chromium-win/media/media-controls-clone-expected.txt:
- platform/chromium-win/media/media-document-audio-repaint-expected.txt:
- platform/chromium-win/media/video-controls-rendering-expected.txt:
- platform/chromium-win/media/video-display-toggle-expected.txt:
- platform/chromium-win/media/video-no-audio-expected.txt:
- platform/chromium-win/media/video-playing-and-pause-expected.txt:
- platform/chromium-win/media/video-zoom-controls-expected.txt:
- 10:28 AM Changeset in webkit [120938] by
-
- 2 edits in trunk/Source/WebCore
Remove unused static variable uninitializedLineNumberValue.
https://bugs.webkit.org/show_bug.cgi?id=89643
Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-21
Reviewed by Alexey Proskuryakov.
No behavioral changes.
- html/parser/HTMLTreeBuilder.cpp:
(WebCore):
- 10:25 AM Changeset in webkit [120937] by
-
- 2 edits in trunk/Tools
[GTK] Add a new webkit2 tests slave bot
https://bugs.webkit.org/show_bug.cgi?id=89336
Reviewed by Philippe Normand.
Slave configuration for a new GTK bot that will run WebKit2 tests.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 10:21 AM Changeset in webkit [120936] by
-
- 2 edits in trunk/Source/WebCore
Remove unused static function skipComment.
https://bugs.webkit.org/show_bug.cgi?id=89641
Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-21
Reviewed by Alexey Proskuryakov.
No behavioral changes.
- loader/TextResourceDecoder.cpp:
- 10:19 AM Changeset in webkit [120935] by
-
- 4 edits in trunk/Source/WebCore
Remove two more member variables found by clang's Wunused-private-field
https://bugs.webkit.org/show_bug.cgi?id=89672
Reviewed by Anders Carlsson.
- html/shadow/MediaControlRootElementChromium.h:
(MediaControlRootElementChromium):
- platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::FECustomFilter):
- platform/graphics/filters/FECustomFilter.h:
(FECustomFilter):
- 10:15 AM Changeset in webkit [120934] by
-
- 3 edits4 adds in trunk
Non-fixed length margins don't work with align=center
https://bugs.webkit.org/show_bug.cgi?id=89626
Reviewed by Levi Weintraub.
Source/WebCore:
Tests: fast/block/negative-start-margin-align-center-percent.html
fast/block/positive-margin-block-child-align-center-calc.html
Calling Length::value() is a bad idea as it returns the *raw* value of
the length. For percent and calculated length this is a bad idea as they
bear not relation to the actual computed length.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeInlineDirectionMargins):
Fixed the code to use minimumValueForLength as this nicely takes care of the 'auto' case.
LayoutTests:
- fast/block/negative-start-margin-align-center-percent-expected.html: Added.
- fast/block/negative-start-margin-align-center-percent.html: Added.
- fast/block/positive-margin-block-child-align-center-calc-expected.html: Added.
- fast/block/positive-margin-block-child-align-center-calc.html: Added.
- 10:13 AM Changeset in webkit [120933] by
-
- 2 edits in trunk/Source/WebCore
[chromium] style improvement for setDeviceScaleFactor code
https://bugs.webkit.org/show_bug.cgi?id=89665
Correct a coding style error committed in https://bugs.webkit.org/show_bug.cgi?id=88916
Reviewed by Adrienne Walker.
Purely code hygiene: existing tests suffice.
- platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor):
- 10:07 AM Changeset in webkit [120932] by
-
- 2 edits in trunk/LayoutTests
[GTK] Update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89664
Unreviewed gardening. Mark editing/deleting/delete-3800834-fix.html
as flaky.
Patch by Simon Pena <Simon Pena> on 2012-06-21
- platform/gtk/TestExpectations:
- 10:05 AM Changeset in webkit [120931] by
-
- 3 edits2 adds in trunk
[Crash][Editing] Pressing enter on LI element triggers assertion in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=89171
Reviewed by Ryosuke Niwa.
Source/WebCore:
Since modidying Shadow DOM removes renderer of elements in Shadow DOM and shadow host,
assertion to check the existence of renderer was triggered.
We should update layout here to create renderer again.
Test: editing/shadow/pressing-enter-on-list.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::appendBlockPlaceholder):
LayoutTests:
- editing/shadow/pressing-enter-on-list-expected.txt: Added.
- editing/shadow/pressing-enter-on-list.html: Added.
- 10:03 AM Changeset in webkit [120930] by
-
- 10 edits in trunk/LayoutTests
DeviceOrientation and DeviceMotion Test Cleanup
https://bugs.webkit.org/show_bug.cgi?id=89662
Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-21
Reviewed by Ryosuke Niwa.
Replaces 'LayoutTestController' with 'TestRunner' in debug messages.
This makes it consistent with testRunner, which replaced layoutTestController.
- fast/dom/DeviceMotion/script-tests/no-page-cache.js:
- fast/dom/DeviceOrientation/script-tests/add-listener-from-callback.js:
- fast/dom/DeviceOrientation/script-tests/basic-operation.js:
- fast/dom/DeviceOrientation/script-tests/event-after-navigation.js:
- fast/dom/DeviceOrientation/script-tests/multiple-frames.js:
- fast/dom/DeviceOrientation/script-tests/no-page-cache.js:
- fast/dom/DeviceOrientation/script-tests/no-synchronous-events.js:
- fast/dom/DeviceOrientation/script-tests/null-values.js:
(setMockOrientation):
- fast/dom/DeviceOrientation/script-tests/updates.js:
(setMockOrientation):
- 9:53 AM Changeset in webkit [120929] by
-
- 12 edits2 copies in trunk/Source/WebCore
Web Inspector: [WebGL] Add injected WebGL module class
https://bugs.webkit.org/show_bug.cgi?id=89592
Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-21
Reviewed by Pavel Feldman.
Adding a new InjectedScriptWebGLModule class and moving WebGL-related
stuff out of InjectedScriptManager class.
- CMakeLists.txt:
- GNUmakefile.list.am:
- Target.pri:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InjectedScriptManager.cpp:
- inspector/InjectedScriptManager.h:
(InjectedScriptManager):
- inspector/InjectedScriptModule.cpp:
(WebCore::InjectedScriptModule::ensureInjected):
- inspector/InjectedScriptModule.h:
(InjectedScriptModule):
- inspector/InjectedScriptWebGLModule.cpp: Copied from Source/WebCore/inspector/InjectedScriptModule.cpp.
(WebCore):
(WebCore::InjectedScriptWebGLModule::InjectedScriptWebGLModule):
(WebCore::InjectedScriptWebGLModule::moduleForState):
(WebCore::InjectedScriptWebGLModule::source):
(WebCore::InjectedScriptWebGLModule::wrapWebGLContext):
(WebCore::InjectedScriptWebGLModule::captureFrame):
- inspector/InjectedScriptWebGLModule.h: Copied from Source/WebCore/inspector/InjectedScriptModule.h.
(WebCore):
(InjectedScriptWebGLModule):
- inspector/InspectorWebGLAgent.cpp:
(WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
- 9:34 AM Changeset in webkit [120928] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: do not add separator to the end of the context menu.
https://bugs.webkit.org/show_bug.cgi?id=89634
Reviewed by Vsevolod Vlasov.
Attaching separators only before menu items now.
- inspector/front-end/ContextMenu.js:
(WebInspector.ContextSubMenuItem.prototype.appendItem):
(WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem):
(WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem):
(WebInspector.ContextSubMenuItem.prototype.appendSeparator):
(WebInspector.ContextSubMenuItem.prototype._pushItem):
- 8:46 AM Changeset in webkit [120927] by
-
- 7 edits1 add in trunk
[EFL][WK2] Make WebKit2/Efl headers and resources installable.
https://bugs.webkit.org/show_bug.cgi?id=88207
Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-06-21
Reviewed by Chang Shu.
.:
- Source/cmake/OptionsCommon.cmake:
Provide new variable, EXEC_INSTALL_DIR to determine where to install
executables.
Source/JavaScriptCore:
- shell/CMakeLists.txt: Use ${EXEC_INSTALL_DIR} instead of hardcoding "bin"
Source/WebKit2:
- CMakeLists.txt: Install WebProcess.
- PlatformEfl.cmake: Generate ewebkit2.pc and install it.
- efl/ewebkit2.pc.in: Added.
- 8:28 AM Changeset in webkit [120926] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Unify FileSystem callbacks
https://bugs.webkit.org/show_bug.cgi?id=89420
Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-21
Reviewed by Vsevolod Vlasov.
- inspector/InspectorFileSystemAgent.cpp:
(WebCore):
- 8:11 AM Changeset in webkit [120925] by
-
- 8 edits4 copies1 add in trunk
[EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
https://bugs.webkit.org/show_bug.cgi?id=88935
Reviewed by Chang Shu.
.:
- Source/cmake/OptionsEfl.cmake: Defines BUILDING_EFL.
Source/WebKit2:
Add WKViewEfl to support WTR/Efl.
- PlatformEfl.cmake:
- Shared/API/c/WKBase.h:
- Shared/API/c/efl/WKBaseEfl.h: Added.
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/efl/WKAPICastEfl.h: Added.
(WebKit):
- UIProcess/API/C/efl/WKView.cpp: Added.
(WKViewCreate):
(WKViewGetPage):
- UIProcess/API/C/efl/WKView.h: Added.
- UIProcess/API/efl/ewk_view.cpp:
(ewk_view_page_get):
- UIProcess/API/efl/ewk_view_private.h:
- 7:45 AM Changeset in webkit [120924] by
-
- 5 edits5 adds in trunk/LayoutTests
[Qt] Unreviewed gardening, unskip now passing tests.
- platform/qt/Skipped:
- platform/qt/editing/inserting/4960120-1-expected.png: Added.
- platform/qt/editing/inserting/4960120-1-expected.txt:
- platform/qt/editing/inserting/before-after-input-element-expected.png: Added.
- platform/qt/editing/inserting/before-after-input-element-expected.txt:
- platform/qt/editing/inserting/insert-text-with-newlines-expected.png: Added.
- platform/qt/editing/inserting/insert-text-with-newlines-expected.txt:
- platform/qt/http/tests/misc/favicon-as-image-expected.png: Added.
- platform/qt/http/tests/misc/favicon-as-image-expected.txt: Added.
- 6:39 AM Changeset in webkit [120923] by
-
- 5 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Input mode should adapt automatically to settings changes
https://bugs.webkit.org/show_bug.cgi?id=89595
Reviewed by Antonio Gomes.
PR 167540.
Add helper function to check if input is enabled so that
the override settings can be applied at any time.
Reviewed Internally by Gen Mak.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::isInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):
(BlackBerry::WebKit::InputHandler::setComposingText):
- WebKitSupport/InputHandler.h:
- WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- 6:26 AM Changeset in webkit [120922] by
-
- 2 edits in trunk/Source/WTF
Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode
https://bugs.webkit.org/show_bug.cgi?id=88721
Reviewed by Csaba Osztrogonác.
Don't define these as consexpr because with gcc 4.6
they call non constexpr functions.
- wtf/MathExtras.h:
(std::wtf_isinf):
(std::wtf_isnan):
- 6:12 AM Changeset in webkit [120921] by
-
- 3 edits1 add in trunk/Tools
[Qt] Add a custom Color Chooser widget to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=87988
Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-21
Reviewed by Alexis Menard.
Added custom color chooser example for the MiniBrowser.
- MiniBrowser/qt/MiniBrowser.qrc:
- MiniBrowser/qt/qml/BrowserWindow.qml:
- MiniBrowser/qt/qml/ColorChooser.qml: Added.
- 5:27 AM Changeset in webkit [120920] by
-
- 2 edits in trunk/Tools
Remove the warning "File not found" in MiniBrowser post-build event
https://bugs.webkit.org/show_bug.cgi?id=89601
Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-06-21
Reviewed by Adam Roben.
- MiniBrowser/MiniBrowserPostBuild.cmd:
- 5:14 AM Changeset in webkit [120919] by
-
- 2 edits2 adds in trunk/LayoutTests
[GTK] Add new baseline and update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89651
Unreviewed gardening.
Patch by Simon Pena <Simon Pena> on 2012-06-21
- platform/gtk/TestExpectations: marked
svg/W3C-SVG-1.1/animate-elem-{32,33,40,41,46}-t.svg as flaky, and
fast/canvas/canvas-createImageData.html as crashing on DEBUG
- platform/gtk/fast/hidpi/device-scale-factor-paint-expected.png: Added.
- platform/gtk/fast/hidpi/device-scale-factor-paint-expected.txt: Added.
- 5:08 AM Changeset in webkit [120918] by
-
- 11 edits3 adds in trunk/Source/WebKit/gtk
[GTK] Backport run-file-chooser to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=87283
Patch by Daniel Drake <dsd@laptop.org> on 2012-06-21
Reviewed by Gustavo Noronha Silva.
This is a relatively straightforward backport of Mario Sanchez
Prada's WebKit2 run-file-chooser signal work, intended for use by
OLPC and others who are not quite ready to move to WebKit2.
Add a new public class to the API, WebKitFileChooserRequest, to be
emitted along with a new WebKitWebView::run-file-chooser signal to
let client applications to provide their own file chooser dialog
when the use interacts with HTML Input elements of type 'file'.
- GNUmakefile.am: Added new source files and headers.
- webkit/webkitfilechooserrequest.cpp: Added.
(_WebKitFileChooserRequestPrivate):
(webkit_file_chooser_request_init):
(webkit_file_chooser_request_finalize):
(webkit_file_chooser_request_get_property):
(webkit_file_chooser_request_class_init):
(webkit_file_chooser_request_create):
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_select_multiple):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):
- webkit/webkitfilechooserrequest.h: Added.
(_WebKitFileChooserRequest):
(_WebKitFileChooserRequestClass):
- webkit/webkitfilechooserrequestprivate.h: Added,
containing the prototype of webkit_file_chooser_request_create.
Provide private API to make a file chooser request from the
WebView, and provide a default handler for it.
- webkit/webkitwebview.cpp:
(fileChooserDialogResponseCallback): Handler for the 'response'
signal for the GtkFileChooserDialog used in the default
handler. It will call to webkit_file_chooser_request_select_files
or webkit_file_chooser_request_cancel as needed.
(webkitWebViewRealRunFileChooser): Default handler for the new
'run-file-chooser' signal. It will create a GtkFileChooserDialog,
connect to the 'response' signal and show it.
(webkit_web_view_class_init): Connect the 'run-file-chooser'
signal to the default handler, webkitWebViewRunFileChooser.
(webkit_web_view_new):
(webkitWebViewRunFileChooserRequest):
- webkit/webkitwebview.h:
(_WebKitWebViewClass): Added prototype for the handler of the new
'run-file-chooser' signal.
- webkit/webkitwebviewprivate.h: Added prototype for
private new function webkitWebViewRunFileChooserRequest.
Update runOpenPanel to use the new API, including a default handler
with similar behaviour to before.
- WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::runOpenPanel): Now creates an instance of
WebKitFileChooserRequest and asks the WebView to emit the
new 'run-file-chooser' signal with it.
Added the new public header to the main header.
- webkit/webkit.h: Added webkitfilechooserrequest.h
New unit tests for the new WebKitFileChooserRequest API.
- tests/testwebview.c: Various WebKitFileChooserRequest tests,
including MIME type filtering and selection handling.
Updated documentation related files with the new API.
- docs/webkitgtk-docs.sgml: Added new section.
- docs/webkitgtk-sections.txt: Added new API.
- docs/webkitgtk.types: Added get_type function.
- 5:01 AM Changeset in webkit [120917] by
-
- 2 edits in trunk/Tools
[Qt] DRT in standalone mode hangs after the first test
https://bugs.webkit.org/show_bug.cgi?id=89613
Reviewed by Csaba Osztrogonác.
Break an inline signal slot chain that ends up in setting
LayoutTestController::m_hasDumped too early. In LayoutTestController::maybeDump()
we emit done() which starts the chain that finishes in DumpRenderTree::open().
The next line in maybeDump sets m_hasDumped to true. We could simply reorder
these two lines but it seems to be wrong in general to start the next load
from this call chain. The server mode (when DRT is runned by the test harness)
also uses a queued connection to read the next test from stdin.
- DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::processArgsLine):
- 4:38 AM Changeset in webkit [120916] by
-
- 1 edit2 adds in trunk/Source/WebKit2
[Qt] API tests for ColorChooser
https://bugs.webkit.org/show_bug.cgi?id=88101
Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-21
Reviewed by Kenneth Rohde Christiansen.
The test uses the value sanitization to detect if the feature is
enabled or disabled and will just pass when disabled.
- UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
- UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
- 3:58 AM Changeset in webkit [120915] by
-
- 9 edits2 adds in trunk/Source
[WK2][Qt] Color chooser API missing
https://bugs.webkit.org/show_bug.cgi?id=87749
Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-21
Reviewed by Kenneth Rohde Christiansen.
Source/WebKit/qt:
Added ColorChooser API stub to WebKit. Otherwise
it will break the build for Qt WebKit2 (that now has
complete support for color chooser) when INPUT_TYPE_COLOR is set.
- WebCoreSupport/ChromeClientQt.cpp:
(WebCore):
(WebCore::ChromeClientQt::createColorChooser):
- WebCoreSupport/ChromeClientQt.h:
(ChromeClientQt):
Source/WebKit2:
Added public experimental API for ColorChooser. This will
allow the browser to define a custom dialog for selecting
color when a input field of type "color" get focus.
The current implementation gives a model to the QML Component
that has methods for canceling a request, selecting a color
and fetching what is the current value of the HTML input.
- Target.pri:
- UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewExperimental::colorChooser):
(QQuickWebViewExperimental::setColorChooser):
- UIProcess/API/qt/qquickwebview_p.h:
- UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
- UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::createColorChooserProxy):
- UIProcess/qt/WebColorChooserProxyQt.cpp: Added.
(WebKit):
(ColorChooserContextObject):
(WebKit::ColorChooserContextObject::ColorChooserContextObject):
(WebKit::ColorChooserContextObject::currentColor):
(WebKit::ColorChooserContextObject::accept):
(WebKit::ColorChooserContextObject::reject):
(WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::createItem):
(WebKit::WebColorChooserProxyQt::createContext):
(WebKit::WebColorChooserProxyQt::setSelectedColor):
(WebKit::WebColorChooserProxyQt::notifyColorSelected):
(WebKit::WebColorChooserProxyQt::endChooser):
- UIProcess/qt/WebColorChooserProxyQt.h: Added.
(WebCore):
(WebKit):
(WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::create):
- 3:24 AM Changeset in webkit [120914] by
-
- 2 edits in trunk/LayoutTests
[Qt] Unreviewed gardening, skip a new failing test.
- platform/qt-5.0-wk2/Skipped:
- 3:23 AM Changeset in webkit [120913] by
-
- 9 edits4 adds in trunk
Speech JavaScript API: SpeechRecognition should hook up with ActiveDOMObject more
https://bugs.webkit.org/show_bug.cgi?id=89217
Reviewed by Adam Barth.
Source/WebCore:
Previously, the SpeechRecognition was kept alive while waiting for
pending events by making the embedder hold a reference to the object.
We should do this by using ActiveDOMObject's setPendingActivity() instead.
Also, override ActiveDOMObject::stop() to get notified when the user
leaves the page.
Test: fast/speech/scripted/navigate-away.html
- Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::start):
(WebCore::SpeechRecognition::didEnd):
(WebCore::SpeechRecognition::stop):
(WebCore):
- Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
Tools:
Add a method for checking whether the mock speech
recognition was aborted.
Also redo the way the mock posts tasks. Instead of posting them all at once,
maintain an internal queue of task objects, and call postTask() for them
once at the time. This means that for example when the page is navigated
away and abort() is called, that call doesn't end up after a bunch
of previously posted events on the event loop.
- DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::wasMockSpeechRecognitionAborted):
- DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):
- DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:
(WebKit::ClientCallTask::ClientCallTask):
(WebKit::ResultTask::ResultTask):
(WebKit::NoMatchTask::NoMatchTask):
(WebKit::ErrorTask::ErrorTask):
(MockWebSpeechRecognizer::start):
(MockWebSpeechRecognizer::abort):
(MockWebSpeechRecognizer::setError):
(MockWebSpeechRecognizer::MockWebSpeechRecognizer):
(MockWebSpeechRecognizer::startTaskQueue):
(MockWebSpeechRecognizer::StepTask::runIfValid):
- DumpRenderTree/chromium/MockWebSpeechRecognizer.h:
(MockWebSpeechRecognizer::hasBeenAborted):
(MockWebSpeechRecognizer):
(MockWebSpeechRecognizer::taskList):
(Task):
(MockWebSpeechRecognizer::Task::Task):
(MockWebSpeechRecognizer::Task::~Task):
(StepTask):
(MockWebSpeechRecognizer::StepTask::StepTask):
LayoutTests:
Add a layout test to check that speech recognition gets aborted when
navigating away from the page.
- fast/speech/scripted/navigate-away-expected.txt: Added.
- fast/speech/scripted/navigate-away-iframe-expected.txt: Added.
- fast/speech/scripted/navigate-away-iframe.html: Added.
- fast/speech/scripted/navigate-away.html: Added.
- 3:06 AM Changeset in webkit [120912] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening after r120847
https://bugs.webkit.org/show_bug.cgi?id=89640
Unreviewed gardening. Newly added compositing/backface-visibility/backface-visibility-webgl.html
test does not pass on EFL port due to missing WebGL support.
Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-06-21
- platform/efl/TestExpectations:
- 2:07 AM Changeset in webkit [120911] by
-
- 4 edits in branches/safari-536-branch/Source
Versioning.
- 2:05 AM Changeset in webkit [120910] by
-
- 1 copy in tags/Safari-536.22
New Tag.
- 1:15 AM Changeset in webkit [120909] by
-
- 8 edits in branches/safari-536-branch/Source
Merged r120879 -> <rdar://problem/11653784>
- 1:13 AM WebKitGTK/WebKit2Roadmap edited by
- (diff)
- 1:07 AM Changeset in webkit [120908] by
-
- 16 edits in trunk
[GTK] Add support for window.showModalDialog in WebKit2GTK+
https://bugs.webkit.org/show_bug.cgi?id=79500
Reviewed by Carlos Garcia Campos.
Source/WebKit2:
Implement runModal in WebKitUIClient to make the WebKitWebView
emit a 'run-as-modal' signal when requested, creating a new
mainloop there to block user interaction with the original window
while the modal dialog is showing.
- UIProcess/API/gtk/WebKitUIClient.cpp:
(runModal): Call to the new webkitWebViewRunAsModalPage function.
(attachUIClientToView): Add runModal.
- UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate): Add an atribute for a new main loop.
(webkitWebViewFinalize): Make sure the main loop for main dialogs,
if any, is stopped if it was still running.
(webkit_web_view_class_init): Declare new signal 'run-as-modal'.
(webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
handled, create and run a new main loop.
- UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass): New handler for the 'run-as-modal' signal.
- UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.
Allow setting and getting the value of WebPage's canRunModal
attribute in the WebProcess from the UIProcess after the creation
of a WebPage, to allow using it from WebKitWebView to allow the
client application to decide whether to allow create modal
dialogs, which would result in launching an additional nested
event loop in the web process, after creating the dialog.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Initialize the new
m_canRunModal attribute, to cache the current status of the
WebPage in the WebProcess.
(WebKit::WebPageProxy::initializeUIClient): Call the new function
setCanRunModal, instead of manually sending the SetCanRunModal message.
(WebKit::WebPageProxy::creationParameters): Use m_canRunModal
instead of m_uiClient.canRunModal when preparing the parameters.
(WebKit::WebPageProxy::setCanRunModal): New public function, it
sets the value of m_canRunModal and sends a message to the Web
process for updating the WebPage, whenever possible.
(WebKit::WebPageProxy::canRunModal): New public function, returns
the value of the m_canRunModal attribute.
- UIProcess/WebPageProxy.h:
(WebPageProxy): Added new public functions and private attribute.
New property in WebKitSettings to be able to decide whether it is
allowed to create and run new child webviews as modal dialogs.
- UIProcess/API/gtk/WebKitSettings.cpp:
(_WebKitSettingsPrivate): New attribute allowModalDialogs.
(webKitSettingsSetProperty): Handle the new property.
(webKitSettingsGetProperty): Ditto.
(webkit_settings_class_init): Install the new property.
(webkitSettingsAttachSettingsToPage): Make sure the WebPage is
initialized with the value of the new property.
(webkit_settings_set_allow_modal_dialogs): New setter.
(webkit_settings_get_allow_modal_dialogs): New getter.
- UIProcess/API/gtk/WebKitSettings.h:
- UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.
Connect to the 'notify::allow-modal-dialogs' signal from
WebKitSettings to ensure that canRunModal property of the WebPage
is kept up to date. Ensure that signal handlers for monitoring
settings are disconnected when the webview is finalized.
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetSettings): Connect to the new signal
'notify::allow-modal-dialogs', from WebKitSettings.
(allowModalDialogsChanged): Callback to update WebPage's
canRunModal property when updated through WebKitSettings.
(webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
handlers for monitoring WebKitSettings properties.
(webkitWebViewFinalize): Ensure signal handlers are disconnected.
(webkit_web_view_set_settings): Ditto.
- UIProcess/API/gtk/WebKitWebView.h:
Add new unit tests to check the 'run-as-modal' signal is emitted
only when the new property in WebKitSettings is set to TRUE.
- UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewAllowModalDialogs): New unit test to check that modal
dialogs are properly created from JavaScript when allowed.
(testWebViewDisallowModalDialogs): New unit test to check that
it's not possible to create modal dialogs when not allowed.
(beforeAll): Add the new unit test.
Tools:
Add support for modal dialogs in GTK's MiniBrowser.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewRunAsModal):
(webViewCreate):
(webViewDecidePolicy):
(browser_window_new):
- MiniBrowser/gtk/BrowserWindow.h:
- MiniBrowser/gtk/main.c:
(createBrowserWindow):
- 12:48 AM Changeset in webkit [120907] by
-
- 2 edits2 moves1 delete in trunk/LayoutTests
[GTK] accessibility/textbox-role-reports-line-number.html fails
https://bugs.webkit.org/show_bug.cgi?id=75785
Reviewed by Chris Fleizach.
Move a Mac specific accessibility test to the platform directory.
- platform/gtk/TestExpectations: Removed test from gtk test expectations.
- platform/mac/accessibility/textbox-role-reports-line-number-expected.txt: Renamed from LayoutTests/accessibility/textbox-role-reports-line-number-expected.txt.
- platform/mac/accessibility/textbox-role-reports-line-number.html: Renamed from LayoutTests/accessibility/textbox-role-reports-line-number.html.
- platform/win/accessibility/textbox-role-reports-line-number-expected.txt: Removed.
- 12:23 AM Changeset in webkit [120906] by
-
- 10 edits in trunk
Web Inspector: Move requestId allocation from FileSystem frontend to backend
https://bugs.webkit.org/show_bug.cgi?id=89555
Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-21
Reviewed by Vsevolod Vlasov.
Source/WebCore:
Test: http/tests/inspector/filesystem/get-filesystem-root.html:
http/tests/inspector/filesystem/read-directory.html:
- inspector/Inspector.json:
- inspector/InspectorFileSystemAgent.cpp:
(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
(WebCore::InspectorFileSystemAgent::requestDirectoryContent):
(WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
- inspector/InspectorFileSystemAgent.h:
(InspectorFileSystemAgent):
- inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel.prototype._originAdded):
(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemRequestManager):
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot):
(WebInspector.FileSystemRequestManager.prototype._fileSystemRootReceived):
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent):
(WebInspector.FileSystemRequestManager.prototype._directoryContentReceived):
(WebInspector.FileSystemDispatcher.prototype.fileSystemRootReceived):
(WebInspector.FileSystemDispatcher.prototype.directoryContentReceived):
LayoutTests:
- http/tests/inspector/filesystem/filesystem-test.js:
(initialize_FileSystemTest.InspectorTest.dumpReadDirectoryResult):
(initialize_FileSystemTest):
- http/tests/inspector/filesystem/get-filesystem-root.html:
- http/tests/inspector/filesystem/read-directory-expected.txt:
- http/tests/inspector/filesystem/read-directory.html: