Timeline
Jun 17, 2013:
- 11:24 PM Changeset in webkit [151669] by
-
- 2 edits in trunk/Source/WebKit2
Extra whitespace in blank line in PlatformPopupMenuData.cpp
https://bugs.webkit.org/show_bug.cgi?id=117627
Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-06-17
Reviewed by Brent Fulgham.
- Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::decode):
Removing extra space
- 11:09 PM Changeset in webkit [151668] by
-
- 2 edits in trunk/Source/WebCore
[curl] Set the http response status text
https://bugs.webkit.org/show_bug.cgi?id=117307
Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-06-17
Reviewed by Brent Fulgham.
No new tests, covered by existing ones.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
- 10:59 PM Changeset in webkit [151667] by
-
- 1 edit4 adds in trunk/LayoutTests
[Windows] Unreviewed AX gardening of windows-specific results.
- platform/win/accessibility/aria-combobox-expected.txt: Added.
- platform/win/aria-labelledby-on-input-expected.txt: Added.
- platform/win/aria-menubar-menuitems-expected.txt: Added.
- platform/win/aria-roles-expected.txt: Added.
- 10:59 PM Changeset in webkit [151666] by
-
- 2 edits in trunk/Source/WebKit/efl
[EFL] Remove unneeded WebCore namespace in FrameLoaderClientEfl
https://bugs.webkit.org/show_bug.cgi?id=117718
Patch by Seokju Kwon <Seokju Kwon> on 2013-06-17
Reviewed by Christophe Dumez.
- WebCoreSupport/FrameLoaderClientEfl.cpp: Remove 'using namespace WebCore'.
- 6:30 PM Changeset in webkit [151665] by
-
- 5 edits3 adds in trunk
AX: Correct accessibility role when -webkit-box:display is used.
https://bugs.webkit.org/show_bug.cgi?id=117706
Reviewed by Chris Fleizach.
Source/WebCore:
accessibility/box-styled-lists.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole): If HTML token is
of the list element type, treat it as a ListItemRole accessibility role, regardless
of what specific renderer is being used.
LayoutTests:
- accessibility/box-styled-lists.html: Added.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac/accessibility/box-styled-lists-expected.txt: Added.
- platform/win/TestExpectations:
- platform/win/accessibility/box-styled-lists-expected.txt: Added.
- 6:19 PM Changeset in webkit [151664] by
-
- 2 edits1 add in trunk/LayoutTests
Mac rebaseline.
- fast/repaint/table-cell-collapsed-border-scroll-expected.png:
- fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
- 6:08 PM Changeset in webkit [151663] by
-
- 9 edits2 adds in trunk/Source/WTF
Initialize AtomicStringTable in WTFThreadData's constructor
https://bugs.webkit.org/show_bug.cgi?id=117671
Reviewed by Geoffrey Garen.
Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp
and made WTFThreadDada::WTFThreadData create the atomic string table for the thread.
This eliminates a branch from stringTable() in AtomicString.cpp.
- GNUmakefile.list.am:
- WTF.pro:
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/WTFThreadData.cpp:
(WTF::WTFThreadData::WTFThreadData):
- wtf/text/AtomicString.cpp:
(WTF::stringTable):
- wtf/text/AtomicStringTable.cpp: Added.
(WTF::AtomicStringTable::create):
(WTF::AtomicStringTable::destroy):
- wtf/text/AtomicStringTable.h: Added.
(WTF::AtomicStringTable::table):
- 5:54 PM Changeset in webkit [151662] by
-
- 2 edits in trunk/Source/WebCore
Add some UNUSED_PARAMs to RenderBlock.cpp so that it builds properly if CSS_EXCLUSIONS is disabled.
https://bugs.webkit.org/show_bug.cgi?id=117722.
Rubberstamped by Jon Lee.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
- 5:41 PM Changeset in webkit [151661] by
-
- 9 edits in trunk/Source
PageBanners appear over HTML5 video when media element is in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=117721
-and corresponding-
<rdar://problem/13686998>
Reviewed by Sam Weinig.
Source/WebCore:
Update the scrolling tree when a header/footer has been removed.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
Source/WebKit2:
When an element enters fullscreen, hide the banners. Show them again when the
element exits fullscreen.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::willEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):
Handle hiding and showing by removing or re-creating a parent layer for m_layer.
- WebProcess/WebPage/PageBanner.cpp:
(WebKit::PageBanner::hide):
(WebKit::PageBanner::showIfHidden):
- WebProcess/WebPage/PageBanner.h:
- WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::PageBanner):
(WebKit::PageBanner::hide):
(WebKit::PageBanner::showIfHidden):
(WebKit::PageBanner::mouseEvent):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::hidePageBanners):
(WebKit::WebPage::showPageBanners):
- WebProcess/WebPage/WebPage.h:
- 5:23 PM Changeset in webkit [151660] by
-
- 8 edits in trunk/Source
Modify Windows makefiles to copy some bin output into Program Files.
https://bugs.webkit.org/show_bug.cgi?id=117714.
<rdar://problem/14179054>
Reviewed by Brent Fulgham.
- WTF.vcxproj/WTF.make:
- JavaScriptCore.vcxproj/JavaScriptCore.make:
- WebCore.vcxproj/WebCore.make:
- WebKit.vcxproj/WebKit.make:
- 5:09 PM Changeset in webkit [151659] by
-
- 12 edits1 add in tags/Safari-537.45.1
Disable some feature flags and update test expectations.
<rdar://problem/14171207>.
Rubberstamped by Jon Lee.
- Configurations/FeatureDefines.xcconfig:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
- platform/mac/TestExpectations:
- platform/mac/fast/dom/call-a-constructor-as-a-function-expected.txt: Added.
- platform/mac/fast/js/constructor-length-expected.txt:
- 4:50 PM Changeset in webkit [151658] by
-
- 12 edits in branches/dfgFourthTier/Source/JavaScriptCore
FTL: Add another temp register regT4 to JSInterfaceJIT
https://bugs.webkit.org/show_bug.cgi?id=117719
Reviewed by Geoffrey Garen.
Made the dedicated bucketCounterRegister to be regT4 and then used regT4 wherever
bucketCounterRegister had been used. Since it is masked whenever it is used and
we are looking for some randomness in the register anyway, we can use it without
any issues.
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- jit/JIT.h:
(JSC::JIT::emitValueProfilingSite):
- jit/JITCall.cpp:
(JSC::JIT::emitPutCallResult):
- jit/JITCall32_64.cpp:
(JSC::JIT::emitPutCallResult):
- jit/JITInlines.h:
(JSC::JIT::emitValueProfilingSite):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_get_callee):
(JSC::JIT::emit_op_get_argument_by_val):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_callee):
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_get_argument_by_val):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
- jit/JITStubCall.h:
(JSC::JITStubCall::callWithValueProfiling):
- jit/JSInterfaceJIT.h:
(JSInterfaceJIT):
- 3:42 PM Changeset in webkit [151657] by
-
- 2 edits in trunk/Source/WebCore
Crash in loadPendingShaders
https://bugs.webkit.org/show_bug.cgi?id=117665
Reviewed by Dean Jackson.
Speculative fix because the crash reports do not contain a test case.
Rearrange the conditions to check m_state.hasPendingShaders() first. Additionally, check if
m_state.style() is non-null.
No new tests. We don't know how to reproduce this crash yet.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingShaders):
- 2:50 PM Changeset in webkit [151656] by
-
- 19 edits in trunk/Source
REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime
https://bugs.webkit.org/show_bug.cgi?id=20599
Add a "Download Video"/"Download Audio" context menu item to download media
elements.
Patch by Ruth Fong <ruth_fong@apple.com> on 2013-06-17
Reviewed by Beth Dakin.
Source/WebCore:
No new tests. media/context-menu-action.html,
which has been disabled by bug 116651, is used to test context menus.
- English.lproj/Localizable.strings: Updated to
include localizable strings for "Download Video" and "Download Audio".
- page/ContextMenuController.cpp: Updated to
include and handle a "Download Video/Audio" context menu item.
- platform/ContextMenuItem.h:
- platform/LocalizedStrings.cpp:
- platform/LocalizedStrings.h:
- platform/efl/LocalizedStringsEfl.cpp:
- platform/gtk/LocalizedStringsGtk.cpp:
- platform/qt/LocalizedStringsQt.cpp:
Updated to include localizable strings for "Download Video" and "Download Audio".
Source/WebKit/efl:
- WebCoreSupport/AssertMatchingEnums.cpp:
- ewk/ewk_contextmenu.h:
Updated to include new EWK enum type for "Download Video/Audio" context menu item.
Source/WebKit2:
- Shared/API/c/WKContextMenuItemTypes.h: Updated to include
an enum type for the "Download Video/Audio" context menu item.
- Shared/API/c/WKSharedAPICast.h: Updated to associate
the enums in WebKit and WebCore that handle the "Download Video/Audio"
context menu item.
- UIProcess/API/efl/ewk_context_menu.cpp:
- UIProcess/API/efl/ewk_context_menu_item.cpp:
- UIProcess/API/efl/ewk_context_menu_item.h:
Updated to include new EWK enum type for "Download Video/Audio" context menu item.
- UIProcess/WebPageProxy.cpp: Updated to
handle the "Download Video/Audio" context menu item mouse click
and download the media item in the UI process.
- 2:27 PM Changeset in webkit [151655] by
-
- 5 edits in tags/Safari-537.45.1/Source
Versioning.
- 2:22 PM Changeset in webkit [151654] by
-
- 1 copy in tags/Safari-537.45.1
New Tag.
- 2:18 PM Changeset in webkit [151653] by
-
- 2 edits in trunk/Source/WebKit2
[CoordinatedGraphics][CSS Shaders] Use forwarding header for TextureMapperPlatformCompiledProgram.h
https://bugs.webkit.org/show_bug.cgi?id=117712
Patch by Ralph Thomas <ralpht@gmail.com> on 2013-06-17
Reviewed by Noam Rosenthal.
- Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
- 1:23 PM Changeset in webkit [151652] by
-
- 8 edits2 copies in trunk
[CSS Shapes] Consider bottom borders when calculating the position of the overflow
https://bugs.webkit.org/show_bug.cgi?id=117663
Reviewed by Alexandru Chiculita.
When you have a shape and the content overflows from the shape we need to push the overflow below the content box,
not below the border box. We didn't consider the bottom borders of the content box, now I fixed it too and the overflow
just starts after the content box. I added a new helper function called pushShapeContentOverflowBelowTheContentBox. Now
both the shape in flow thread and the shape overflow use the same function. I added a new test and modified the existing
tests to cover all the affected cases.
Source/WebCore:
Test: fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
Existing overflow tests also modified to test the behavior:
fast/exclusions/shape-inside/shape-inside-empty-expected.html
fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content-expected.html
fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html
fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html
fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes-expected.html
fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html
- rendering/RenderBlockLineLayout.cpp:
(WebCore::pushShapeContentOverflowBelowTheContentBox):
(WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine):
(WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):
LayoutTests:
- fast/exclusions/shape-inside/shape-inside-empty-expected.html:
- fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content-expected.html: Copied from LayoutTests/fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html.
- fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html: Copied from LayoutTests/fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html.
- fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html:
- fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html:
- fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes-expected.html:
- fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html:
- 11:54 AM Changeset in webkit [151651] by
-
- 24 edits4 adds in branches/dfgFourthTier/Source
Rolling r151456, r151420 back in with some fixes.
https://bugs.webkit.org/show_bug.cgi?id=117390.
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
New changes on top of the old patch:
- Renamed CallFrame::beginAt() to CallFrame::find(), and also provide a version that takes a CallFrame* to search for.
There are 3 types of users of the StackIterator. We need to cater
to each of these as follows:
- Users who want a stack trace
- Here we need to start iterating from vm.topCallFrame.
- To do this, create the StackIterator as follows:
StackIterator iter = vm.topCallFrame->begin();
- Users who want their caller frame
- Here we need to start iterating from the specified CallFrame*.
- To do this, create the StackIterator as follows:
StackIterator iter = callFrame->begin();
- Users who want the frame of a specific JSFunction object
- Here we need to start iterating from vm.topCallFrame and find the frame that has a callee matching the specified JSFunction*.
- To do this, create the StackIterator as follows:
StackIterator iter = exec->find(functionObj);
The previous layout test failures were due to conflation of case 1
and 2. They are now handled appropriately.
- Fixed a pre-existing layout test crash in inspector/profiler/cpu-profiler-agent-crash-on-start.html.
- API/JSContextRef.cpp:
(JSContextCreateBacktrace):
- CMakeLists.txt:
- GNUmakefile.list.am:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Target.pri:
- interpreter/CallFrame.cpp:
- interpreter/CallFrame.h:
(JSC::ExecState::setInlineCallFrame):
(ExecState):
- interpreter/CallFrameInlines.h:
(JSC::CallFrame::begin):
(JSC::CallFrame::find):
(JSC::CallFrame::end):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::unwindCallFrame):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):
(JSC::Interpreter::debug):
- interpreter/Interpreter.h:
(Interpreter):
- interpreter/StackIterator.cpp: Added.
(JSC::StackIterator::StackIterator):
(JSC::StackIterator::gotoNextFrame):
(JSC::StackIterator::find):
(JSC::StackIterator::Frame::codeType):
(JSC::StackIterator::Frame::functionName):
(JSC::StackIterator::Frame::sourceURL):
(JSC::StackIterator::Frame::toString):
(JSC::StackIterator::Frame::bytecodeOffset):
(JSC::StackIterator::Frame::line):
(JSC::StackIterator::Frame::column):
(JSC::StackIterator::Frame::arguments):
(JSC::StackIterator::Frame::retrieveExpressionInfo):
(JSC::StackIterator::Frame::logicalFrame):
(JSC::StackIterator::Frame::logicalCallerFrame):
(JSC::jitTypeName):
(JSC::printIndents):
(JSC::printif):
(JSC::StackIterator::Frame::print):
(debugPrintCallFrame):
- interpreter/StackIterator.h: Added.
(StackIterator::Frame):
(JSC::StackIterator::Frame::create):
(JSC::StackIterator::Frame::isJSFrame):
(JSC::StackIterator::Frame::callFrame):
- interpreter/StackIteratorPrivate.h: Added.
(StackIterator):
(JSC::StackIterator::operator*):
(JSC::StackIterator::operator->):
(JSC::StackIterator::operator==):
(JSC::StackIterator::operator!=):
(JSC::StackIterator::operator++):
(JSC::StackIterator::end):
- jsc.cpp:
(functionJSCStack):
- profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::addParentForConsoleStart):
- profiler/ProfileNode.h:
(ProfileNode):
- runtime/JSFunction.cpp:
(JSC::retrieveArguments):
(JSC::JSFunction::argumentsGetter):
(JSC::skipOverBoundFunctions):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertyDescriptor):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
- runtime/Operations.h:
Source/WebCore:
No new tests.
- ForwardingHeaders/interpreter/StackIterator.h: Copied from Source/WebCore/ForwardingHeaders/interpreter/StackIterator.h.
- bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
- bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):
- 11:53 AM Changeset in webkit [151650] by
-
- 2 edits2 adds in trunk/LayoutTests
[CSS Exclusions] Implement text alignment for shape-inside
https://bugs.webkit.org/show_bug.cgi?id=101086
Reviewed by Alexandru Chiculita.
Adding tests to make sure that shape-inside layout correctly supports
the different values of text-align.
- fast/exclusions/resources/multi-segment-polygon.js:
(createOrInsert):
- fast/exclusions/shape-inside/shape-inside-text-align-expected.html: Added.
- fast/exclusions/shape-inside/shape-inside-text-align.html: Added.
- 11:17 AM Changeset in webkit [151649] by
-
- 8 edits1 add in branches/dfgFourthTier/Source/JavaScriptCore
fourthTier: FTL should support Switch
https://bugs.webkit.org/show_bug.cgi?id=117704
Reviewed by Oliver Hunt.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::clearImmediateSwitchJumpTables):
- ftl/FTLAbbreviations.h:
(JSC::FTL::buildFPToSI):
(JSC::FTL::buildSwitch):
(JSC::FTL::addCase):
(FTL):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(LowerDFGToLLVM):
- ftl/FTLOutput.h:
(JSC::FTL::Output::fpToInt):
(JSC::FTL::Output::fpToInt32):
(Output):
(JSC::FTL::Output::switchInstruction):
- ftl/FTLSwitchCase.h: Added.
(FTL):
(SwitchCase):
(JSC::FTL::SwitchCase::SwitchCase):
(JSC::FTL::SwitchCase::value):
(JSC::FTL::SwitchCase::target):
- 11:06 AM Changeset in webkit [151648] by
-
- 4 edits in trunk/Source/WebKit/blackberry
Cache FatFinger Text Result.
https://bugs.webkit.org/show_bug.cgi?id=107403.
Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-06-17
Reviewed by Rob Buis.
Internally Reviewed by Genevieve Mak.
Cache the FatFinger text result for later use in TouchEventHandler.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::contextNode):
- WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- WebKitSupport/TouchEventHandler.h:
(BlackBerry::WebKit::TouchEventHandler::cacheTextResult):
(TouchEventHandler):
- 11:05 AM Changeset in webkit [151647] by
-
- 4 edits6 adds in trunk
[CSS Regions] ::before and ::after pseudo-elements are not displayed for regions
https://bugs.webkit.org/show_bug.cgi?id=80163
Source/WebCore:
When the implementation of the before/after was moved to the DOM, before/after generated
content stoppped to work with css regions. The problem happens when:
- RenderRegion can not have children and when the PseudoElement::attach tries to create a renderer for the
generated content, it fails.
- RenderRegion::canHaveGeneratedChildren should not be false because regions can have generated content.
Reviewed by David Hyatt.
Tests: fast/regions/region-dynamic-after-before.html
fast/regions/region-generated-content-before-after.html
- dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):
- rendering/RenderRegion.h:
LayoutTests:
Add two simple tests verifying if region works with before/after generated content.
Reviewed by David Hyatt.
- fast/regions/region-dynamic-after-before.html: Added.
- fast/regions/region-generated-content-before-after.html: Added.
- platform/mac/fast/regions/region-dynamic-after-before-expected.png: Added.
- platform/mac/fast/regions/region-dynamic-after-before-expected.txt: Added.
- platform/mac/fast/regions/region-generated-content-before-after-expected.png: Added.
- platform/mac/fast/regions/region-generated-content-before-after-expected.txt: Added.
- 10:53 AM Changeset in webkit [151646] by
-
- 4 edits1 copy in trunk/Source/WebKit2
<rdar://problem/13145014> Allow CoreIPC messages to transmit importance boosts
Transmitting the importance boost from the UI process to the web process is particularly
important when disabling process suppression on a web process, as it will minimize the
delays that can occur before the message instructing process suppression to be disabled
is processed by the web process.
We keep the importance boost alive for the duration of the CoreIPC message handler. We
achieve this by having an ImportanceAssertion object that owns the assertion, and whose
lifetime is tied to that of the MessageDecoder.
Reviewed by Anders Carlsson.
- Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::setImportanceAssertion): Associate an importance assertion
with this message.
- Platform/CoreIPC/MessageDecoder.h:
- Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open): Mark our receive port as allowing importance boosts to be received.
(CoreIPC::Connection::receiveSourceEventHandler):
- Platform/CoreIPC/mac/ImportanceAssertion.h:
(CoreIPC::ImportanceAssertion::create):
(CoreIPC::ImportanceAssertion::~ImportanceAssertion): Release the assertion.
(CoreIPC::ImportanceAssertion::ImportanceAssertion): Take an assertion if a boost was present in
the Mach message.
- 10:08 AM Writing Layout Tests for DumpRenderTree edited by
- (diff)
- 9:40 AM Changeset in webkit [151645] by
-
- 2 edits in trunk/Source/WebKit2
<rdar://problem/14051357> Web processes sometimes remain in a suppressed
state after their window is unoccluded.
The code in WKView that responds to occlusion notifications was incorrectly
treating the window's occlusion state as being an enum rather than the set of
flags that it is.
Reviewed by Oliver Hunt.
- UIProcess/API/mac/WKView.mm:
(-[WKView _windowDidChangeOcclusionState:]): Test only the visibility state.
(-[WKView setWindowOcclusionDetectionEnabled:]): Ditto.
- 9:22 AM Changeset in webkit [151644] by
-
- 9 edits6 adds in branches/dfgFourthTier
fourthTier: Add CFG simplification for Switch
https://bugs.webkit.org/show_bug.cgi?id=117677
Source/JavaScriptCore:
Reviewed by Mark Hahnenberg.
This is for completeness. It only speeds up a microbenchmark at this point.
Broadly, we want all control constructs to be known to the CFG simplifier.
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::noBlocks):
(JSC::DFG::CFGSimplificationPhase::oneBlock):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
- runtime/JSCJSValue.h:
(JSValue):
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::pureStrictEqual):
(JSC):
Source/WTF:
Reviewed by Mark Hahnenberg.
- wtf/TriState.h:
- wtf/text/StringImpl.h:
LayoutTests:
Reviewed by Mark Hahnenberg.
- fast/js/regress/script-tests/switch-constant.js: Added.
(foo):
(bar):
- fast/js/regress/script-tests/switch.js: Added.
(foo):
(bar):
- fast/js/regress/switch-constant-expected.txt: Added.
- fast/js/regress/switch-constant.html: Added.
- fast/js/regress/switch-expected.txt: Added.
- fast/js/regress/switch.html: Added.
- 8:26 AM Changeset in webkit [151643] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Remove unmaintained GStreamer specific video code.
https://bugs.webkit.org/show_bug.cgi?id=117694
Reviewed by Philippe Normand.
No new tests, no behaviour change.
- platform/mac/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController setupVideoOverlay:]):
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController setMediaElement:]):
(-[WebVideoFullscreenController windowDidExitFullscreen]):
- 7:35 AM Changeset in webkit [151642] by
-
- 35 edits6 deletes in trunk
[Qt] Remove Qt specific QTKIT flagged code.
https://bugs.webkit.org/show_bug.cgi?id=117635
Reviewed by Simon Hausmann.
Due to disabling QTKIT for Qt in r151546, the
code the flags that are not taken into account
anymore and the code that has been rendered
unreachable by this are removed.
.:
- Source/widgetsapi.pri:
Source/WebCore:
No new tests, no behavioural change.
- Target.pri:
- WebCore.exp.in:
- page/Settings.cpp:
- page/Settings.h:
- platform/KURL.h:
- platform/SharedBuffer.h:
- platform/cf/KURLCFNet.cpp:
(WebCore::KURL::fileSystemPath):
- platform/cf/SharedBufferCF.cpp:
- platform/graphics/FloatSize.h:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines):
- platform/graphics/cg/FloatSizeCG.cpp:
- platform/graphics/cg/IntRectCG.cpp:
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::paint):
(-[WebCoreMovieObserver layerHostChanged:]):
- platform/mac/SharedBufferMac.mm:
(+[WebCoreSharedBufferData initialize]):
(WebCore::SharedBuffer::createWithContentsOfFile):
Source/WebKit:
- WebKit1.pro:
Source/WebKit/mac:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit/qt:
- WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::ChromeClientQt):
(WebCore::ChromeClientQt::~ChromeClientQt):
- WebCoreSupport/ChromeClientQt.h:
- WebCoreSupport/FullScreenVideoQt.cpp:
(WebCore::FullScreenVideoQt::FullScreenVideoQt):
(WebCore::FullScreenVideoQt::~FullScreenVideoQt):
(WebCore::FullScreenVideoQt::enterFullScreenForNode):
(WebCore::FullScreenVideoQt::exitFullScreenForNode):
(WebCore::FullScreenVideoQt::isValid):
- WebCoreSupport/FullScreenVideoQt.h:
- WebCoreSupport/InitWebCoreQt.cpp:
(WebCore::initializeWebCoreQt):
- WebCoreSupport/QTKitFullScreenVideoHandler.h: Removed.
- WebCoreSupport/QTKitFullScreenVideoHandler.mm: Removed.
- WebCoreSupport/WebSystemInterface.h: Removed.
- WebCoreSupport/WebSystemInterface.mm: Removed.
Source/WebKit2:
- Target.pri:
- UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
- WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Removed.
- WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Removed.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):
- 7:32 AM Changeset in webkit [151641] by
-
- 2 edits in trunk/LayoutTests
Remove invalid checks from block-cursor-overtype-mode.html
https://bugs.webkit.org/show_bug.cgi?id=117587
Reviewed by Darin Adler.
The test uses an array of ">" "<" symbols to perform comparisons
between consecutive positions of the block cursor. Since those
checks are done for each pair of consecutive characters the total
amount of checks is lengthOfTheWord - 1. We were adding an extra
symbol that was not used at all in the test.
- editing/selection/block-cursor-overtype-mode.html:
- 6:57 AM Changeset in webkit [151640] by
-
- 4 edits in trunk/Source/WebCore
REGRESSSION(r151632) : Build error on ASSERT(WTF_USE_GRAMMAR_CHECKING)
https://bugs.webkit.org/show_bug.cgi?id=117692
Reviewed by Jocelyn Turcotte.
Ifdef the feature-depending code and fix the assertions to check runtime conditions.
- editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::markBadGrammar):
- editing/TextCheckingHelper.cpp:
(WebCore::findBadGrammars):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):
(WebCore::TextCheckingHelper::findFirstBadGrammar):
(WebCore::TextCheckingHelper::isUngrammatical):
(WebCore::TextCheckingHelper::markAllBadGrammar):
(WebCore::checkTextOfParagraph):
- editing/TextCheckingHelper.h:
- 6:43 AM Changeset in webkit [151639] by
-
- 2 edits in trunk/Tools
Unreviewed. Add my email to a DOM watchlist.
- Scripts/webkitpy/common/config/watchlist:
- 6:32 AM Changeset in webkit [151638] by
-
- 19 edits in trunk/Source
Unreviewed, rolling out r151632.
http://trac.webkit.org/changeset/151632
https://bugs.webkit.org/show_bug.cgi?id=117585
Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
platforms
Source/WebCore:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
- platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
- platform/LocalizedStrings.h:
- platform/efl/LocalizedStringsEfl.cpp:
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
- platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
- platform/qt/LocalizedStringsQt.cpp:
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
Source/WebKit/gtk:
- webkit/webkitglobals.cpp:
(webkit_context_menu_item_get_action):
Source/WebKit/mac:
- WebCoreSupport/WebContextMenuClient.mm:
(fixMenusReceivedFromOldClients):
Source/WebKit2:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
- UIProcess/API/efl/ewk_context_menu_item.cpp:
(getEwkActionFromWKTag):
- UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
(onContextMenuShow):
(TEST_F):
- UIProcess/API/gtk/WebKitContextMenuActions.cpp:
(webkitContextMenuActionGetActionTag):
(webkitContextMenuActionGetForContextMenuItem):
(webkitContextMenuActionGetLabel):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
Source/WTF:
- wtf/Platform.h:
- 5:24 AM Changeset in webkit [151637] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix make distcheck.
- GNUmakefile.list.am: Remove non existent files from compilation
and add a missing header file.
- 2:44 AM Changeset in webkit [151636] by
-
- 1 edit2 moves in trunk/LayoutTests
[Qt] Unreviewed gardening. Correcting rebaselining after r151634.
- platform/qt-5.0-wk2/compositing/repaint/fixed-background-scroll-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/fast/repaint/fixed-background-scroll-expected.txt.
- platform/qt-5.0-wk2/compositing/repaint/positioned-movement-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk2/fast/repaint/positioned-movement-expected.txt.
- 1:39 AM Changeset in webkit [151635] by
-
- 3 edits in trunk
Unreviewed. Rename gobject_introspection_required variable.
As gobject_introspection_required_version for consistency with all
other required_version variables.
- Source/autotools/FindDependencies.m4:
- Source/autotools/Versions.m4:
- 1:17 AM Changeset in webkit [151634] by
-
- 1 edit3 adds in trunk/LayoutTests
[Qt] Unreviewed gardening. Rebaselining repaint tests, see bug 115372.
- platform/qt-5.0-wk2/fast/repaint/change-overflow-and-display-of-relative-expected.txt: Rebaselining after r151549.
- platform/qt-5.0-wk2/fast/repaint/fixed-background-scroll-expected.txt: Rebaselining after r151624.
- platform/qt-5.0-wk2/fast/repaint/positioned-movement-expected.txt: Rebaselining after r151622.
- 12:43 AM Changeset in webkit [151633] by
-
- 2 edits in trunk/Tools
Unreviewed GTK gardening.
- Scripts/run-gtk-tests:
(TestRunner): Skip three WebKit2APITests suites that are currently timing out.
- 12:28 AM Changeset in webkit [151632] by
-
- 19 edits in trunk/Source
Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
https://bugs.webkit.org/show_bug.cgi?id=117585
Reviewed by Anders Carlsson.
Source/WebCore:
Do not add "Check Grammar With Spelling" and "Ignore Grammar" to the context menu
when GRAMMAR_CHECKING is off.
Replace "Spelling and Grammar" with "Spelling" as the sub menu title and "Show/Hide Spelling
and Grammar" with "Show/Hide Spelling" when GRAMMAR_CHECKING is off.
Additionally, guard grammar checking in context menu code to not necessarily
compile it.
No new layout tests because every port has a different way of showing
spelling/grammar context menu items.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
- platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
- platform/LocalizedStrings.h:
- platform/efl/LocalizedStringsEfl.cpp:
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
- platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
- platform/qt/LocalizedStringsQt.cpp:
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
Source/WebKit/gtk:
Add GRAMMAR_CHECKING guard to the context menu grammar items.
- webkit/webkitglobals.cpp:
(webkit_context_menu_item_get_action):
Source/WebKit/mac:
Add GRAMMAR_CHECKING guard to the context menu grammar items.
- WebCoreSupport/WebContextMenuClient.mm:
(fixMenusReceivedFromOldClients):
Source/WebKit2:
Add GRAMMAR_CHECKING guard to the context menu grammar items.
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
- UIProcess/API/efl/ewk_context_menu_item.cpp:
(getEwkActionFromWKTag):
- UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
(checkSpellingItemsAvailability):
Change callback name, to be consistent with a newly added.
(checkSpellingAndGrammarSubmenuAvailability):
(checkGrammarWithSpellingItemAvailability):
Add two unit tests for EFL to check whether context menu grammar items are
available only when GRAMMAR_CHECKING macro is enabled.
- UIProcess/API/gtk/WebKitContextMenuActions.cpp:
(webkitContextMenuActionGetActionTag):
(webkitContextMenuActionGetForContextMenuItem):
(webkitContextMenuActionGetLabel):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
Source/WTF:
Enable GRAMMAR_CHECKING for WebKit ports that use/implement it.
- wtf/Platform.h:
- 12:23 AM Changeset in webkit [151631] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK gardening.
- platform/gtk-wk1/TestExpectations: Add a crashing expectation for a test that most likely regressed with r151021.
- platform/gtk/TestExpectations: Add failure expectations for a couple of tests failing due to stack size misbehavior.
Jun 16, 2013:
- 11:53 PM Changeset in webkit [151630] by
-
- 3 edits1 add in trunk/LayoutTests
[CSS Blending] Update the background-blend-mode-image-color-dynamic test to use the repaint test logic
Updating testcase verifying if background blend modes are updated dynamically from script. This now
properly uses the repaint test mechanism. Also, the background image resource is addded.
https://bugs.webkit.org/show_bug.cgi?id=117686
Patch by Mihai Tica <mitica@adobe.com> on 2013-06-16
Reviewed by Dean Jackson.
- fast/repaint/background-blend-mode-image-color-dynamic-expected.html:
- fast/repaint/background-blend-mode-image-color-dynamic.html:
- fast/repaint/resources/ducky.png: Added.
- 11:28 PM WebKitIDL edited by
- Fix several index links (diff)
- 9:23 PM Changeset in webkit [151629] by
-
- 2 edits in trunk/Source/WebCore
Fix test assertion after r151624
An assertion was hit in RenderObject::willBeDestroyed()
for fast/css/getComputedStyle/getComputedStyle-background-shorthand.html
because the code asserted that the RenderObject had been removed from
the FrameView's slowRepaintObject set before remove() was called,
so move the assertion to after that call.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
- 8:56 PM Changeset in webkit [151628] by
-
- 2 edits in trunk/Source/WebCore
Remove a redundant virtual call to hostWindow() in FrameView::invalidateRect()
https://bugs.webkit.org/show_bug.cgi?id=117685
Reviewed by Andreas Kling.
From Blink r152490 by <vivek.vg@samsung.com>
- page/FrameView.cpp:
(WebCore::FrameView::invalidateRect): Avoid hostWindow() twice call.
- 7:25 PM Changeset in webkit [151627] by
-
- 5 edits2 adds in trunk
Fix two assertion failures in Range::insertNode
https://bugs.webkit.org/show_bug.cgi?id=116511
Reviewed by Ryosuke Niwa.
Source/WebCore:
ASSERTION FAILED: childBefore == (offset ? container->childNode(offset - 1) : 0)
third_party/WebKit/Source/WebCore/dom/RangeBoundaryPoint.h(115) : void WebCore::RangeBoundaryPoint::set(PassRefPtr<WebCore::Node>, int, WebCore::Node *)
ASSERTION FAILED: child->parentNode()
../../third_party/WebKit/Source/core/dom/RangeBoundaryPoint.h(133) : void WebCore::RangeBoundaryPoint::setToBeforeChild(WebCore::Node *)
1 0x87594b2 WebCore::RangeBoundaryPoint::setToBeforeChild(WebCore::Node*)
2 0x87534a9 WebCore::Range::insertNode(WTF::PassRefPtr<WebCore::Node>, int&)
Range::insertNode calls Node::insertBefore, in which an event handler
can update the DOM structure so that RangeBoundaryPoint don't like. We
postpone event dispatching by EventQueueScope.
Also, remove old comments about Acid3. The behavior is standardized.
(Step 9 of http://dom.spec.whatwg.org/#dom-range-insertnode)
This patch imports http://src.chromium.org/viewvc/blink?view=revision&revision=150470 .
Test: fast/dom/Range/range-insertNode-assertion.html
- dom/Range.cpp:
(WebCore::Range::insertNode):
- Add EventQueueScope
- Remove obsolete comments
LayoutTests:
We need to update fast/dom/insertBefore-refChild-crash.html because the
test caused recursive calls to the event handler. container.innerHTML=
did nothing before this CL. Now container has the newChild because
DOMNodeRemoved event dispatching is delayed until Range::insertNode
completion.
We need to update fast/text/split-text-crash.xhtml so that it doesn't
stop when the event handler is called twice. I'm not sure why the test
worked before this CL.
- fast/dom/Range/range-insertNode-assertion-expected.txt: Added.
- fast/dom/Range/range-insertNode-assertion.html: Added.
- fast/dom/insertBefore-refChild-crash.html:
- fast/text/split-text-crash.xhtml:
- 6:58 PM Changeset in webkit [151626] by
-
- 2 edits10 adds in trunk/LayoutTests
Unreviewed. Added new baselines for some of editing/style tests, which works on EFL port.
- platform/efl/TestExpectations:
- platform/efl/editing/style/5017613-1-expected.png: Added.
- platform/efl/editing/style/5017613-1-expected.txt: Added.
- platform/efl/editing/style/5046875-1-expected.png: Added.
- platform/efl/editing/style/5046875-1-expected.txt: Added.
- platform/efl/editing/style/5065910-expected.png: Added.
- platform/efl/editing/style/5065910-expected.txt: Added.
- platform/efl/editing/style/5228141-expected.png: Added.
- platform/efl/editing/style/5228141-expected.txt: Added.
- platform/efl/editing/style/5279521-expected.png: Added.
- platform/efl/editing/style/5279521-expected.txt: Added.
- 6:13 PM Changeset in webkit [151625] by
-
- 2 edits18 adds in trunk/LayoutTests
Unreviewed. Added new baselines for some of editing/selection tests as r151533 on EFL port.
- platform/efl/TestExpectations:
- 4:32 PM Changeset in webkit [151624] by
-
- 5 edits2 adds in trunk
Fixed backgrounds in composited layers not repainted on scrolling
https://bugs.webkit.org/show_bug.cgi?id=117684
Source/WebCore:
Reviewed by Tim Horton.
FrameView is aware that "slow-repaint objects" (i.e. renderers with
background-attachment:fixed) require a slow-scrolling path. However,
it was ignorant of the fact that such objects could be painting into
compositing layers; it simply dirtied the main tiles, and nothing else.
Fix by having FrameView track the slow-repaints objects explicitly, as we
do for position:fixed, and repaint each of them on scrolling.
Test: compositing/repaint/fixed-background-scroll.html
- page/FrameView.cpp:
(WebCore::FrameView::FrameView): No need to initialize m_slowRepaintObjectCount,
which is now an OwnPtr<RenderObjectSet>.
(WebCore::FrameView::useSlowRepaints): Use hasSlowRepaintObjects() now.
(WebCore::FrameView::addSlowRepaintObject): Now adds the object to a set,
allocating the set if necessary.
(WebCore::FrameView::removeSlowRepaintObject): Remove the object from the set,
and deallocate the set if empty.
(WebCore::FrameView::scrollContentsSlowPath): Call repaintSlowRepaintObjects();
this is the change that fixes the bug for always-composited implementations (e.g.
tile cache). This is a conservative change; we still invalidate the tile cache
as well. This could be optimized later.
(WebCore::FrameView::repaintSlowRepaintObjects): Repaint each object in the set.
Their appropriate compositing ancestor will be repainted.
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Call
repaintSlowRepaintObjects() so that fixed backgrounds in composited layers are
correctly repainted; this fixes the bug for WebKit1.
- page/FrameView.h: Replace m_slowRepaintObjectCount with a HashSet of
RenderObjects.
(WebCore::FrameView::hasSlowRepaintObject): Takes a RenderObject* now.
(WebCore::FrameView::hasSlowRepaintObjects): Ditto.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange): Pass the RenderObject.
(WebCore::RenderObject::willBeDestroyed): Assert that this RenderObject
has been removed from FrameView's set of slow-repaint objects already, if
the document is not being destroyed.
(WebCore::RenderObject::willBeRemovedFromTree): Pass the RenderObject.
LayoutTests:
Reviewed by Tim Horton.
Test that verifies that a composited layer with a fixed background is repainted
on scrolling.
- compositing/repaint/fixed-background-scroll-expected.txt: Added.
- compositing/repaint/fixed-background-scroll.html: Added.
- 10:24 AM Changeset in webkit [151623] by
-
- 8 edits5 adds in trunk
Source/WebCore: Painting of fixed background images is wrong in composited layers
https://bugs.webkit.org/show_bug.cgi?id=65793
Reviewed by Sam Weinig.
The code that computed background image geometry for background-attachment:fixed
images was unaware of compositing, so often painting the image at the wrong location.
Fix by having RenderBoxModelObject::calculateBackgroundImageGeometry() do the correct
math for fixed backgrounds in composited layer by offsetting the viewport rect by
the paint container's absolute position.
Tests: compositing/backgrounds/fixed-background-on-descendant.html
compositing/backgrounds/fixed-backgrounds.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::getBackgroundPaintedExtent): Now returns a bool indicating
whether it is returning a reliable extent rect. It can return false in the case where
a background is fixed, since computing the correct extent would require finding
the appropriate composited ancestor to pass to calculateBackgroundImageGeometry().
This is OK since this function is used for "background opaque" optimizations.
(WebCore::RenderBox::computeBackgroundIsKnownToBeObscured): If getBackgroundPaintedExtent()
returns false, return false.
(WebCore::RenderBox::maskClipRect): We removed mask-attachment, so we never need to
compute the composited ancestor here and can pass null.
(WebCore::RenderBox::repaintLayerRectsForImage): Unwrap a comment.
If the changed image is related to a fixed background, geometry.hasNonLocalGeometry()
will be true. In that cause, just repaint the entire renderer rather than groveling
around for a composited ancestor.
- rendering/RenderBox.h: Changed name and signature of backgroundPaintedExtent.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended): calculateBackgroundImageGeometry()
now needs to know the painting container.
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Now takes a painting
container, that is required to correctly compute the viewport-relative offset for fixed
backgrounds. geometry.setHasNonLocalGeometry() is set for fixed backgrounds to indicate
to callers that, if they didn't pass a paint container, the destRect is not accurate.
The main bug fix is also here: we move the viewportRect by the absolute location of
paint container, which is equivalent to the composited layer offset.
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage): calculateBackgroundImageGeometry()
takes a paint container.
- rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::computeBackgroundIsKnownToBeObscured): If getBackgroundPaintedExtent()
can't cheaply give an accurate answer, return false.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): Pass the paint container,
which is our own renderer.
LayoutTests: Fixed background images behave strangely with webkit transitions
https://bugs.webkit.org/show_bug.cgi?id=65793
Reviewed by Sam Weinig.
Ref tests that compare fixed background rendering after a scroll, with and
without compositing, with a couple of layer configurations.
- compositing/backgrounds/fixed-background-on-descendant-expected.html: Added.
- compositing/backgrounds/fixed-background-on-descendant.html: Added.
- compositing/backgrounds/fixed-backgrounds-expected.html: Added.
- compositing/backgrounds/fixed-backgrounds.html: Added.
- 9:57 AM Changeset in webkit [151622] by
-
- 7 edits2 adds in trunk
webkit-backface-visibility on a parent element stops background-position from updating
https://bugs.webkit.org/show_bug.cgi?id=116319
Source/WebCore:
Reviewed by Darin Adler.
The optimization added in r102952 was incorrect in the case where a style change
resulted in a positioned-movement-only layout but also required a repaint; it assumed
that a composited layer did not need to be repainted for a a positioned-movement-only layout.
Fix by making RenderObject::setNeedsLayoutForPositionedMovement() check whether the
style change requires a repaint, and calling setLayerNeedsFullRepaint() in that situation.
Test: compositing/repaint/positioned-movement.html
- rendering/RenderLayer.h: RepaintStatus values do not need to be bit flags.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Pass the old style to setNeedsPositionedMovementLayout().
(WebCore::RenderObject::styleDidChange): Ditto.
- rendering/RenderObject.h:
(WebCore::RenderObject::setNeedsPositionedMovementLayout): Now takes a const RenderStyle*.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Remove a comment now that this bug is fixed.
(WebCore::RenderStyle::diffRequiresRepaint): Public wrapper for changeRequiresRepaint().
That function never uses contextSensitiveProperties so we can safely ignore them.
- rendering/style/RenderStyle.h: Expose a way to call changeRequiresRepaint().
LayoutTests:
Reviewed by Darin Adler.
Test that does a positioned-movement-only layout and dumps a layer tree with
repaint rects.
- compositing/repaint/positioned-movement-expected.txt: Added.
- compositing/repaint/positioned-movement.html: Added.
- 8:06 AM Changeset in webkit [151621] by
-
- 2 edits in trunk/Source/WebCore
Try to fix iOS after last Pasteboard change.
- platform/ios/PasteboardIOS.mm: (WebCore::Pasteboard::writeSelection): Put the new code inline here because the stringSelectionForPasteboard function is currently Mac-only.