⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jun 17, 2013:

11:24 PM Changeset in webkit [151669] by commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 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 Brent Fulgham
  • 1 edit
    4 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 commit-queue@webkit.org
  • 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 Brent Fulgham
  • 5 edits
    3 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 rniwa@webkit.org
  • 2 edits
    1 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 rniwa@webkit.org
  • 9 edits
    2 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 roger_fong@apple.com
  • 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 Beth Dakin
  • 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 roger_fong@apple.com
  • 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 roger_fong@apple.com
  • 12 edits
    1 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 msaboff@apple.com
  • 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 mvujovic@adobe.com
  • 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 commit-queue@webkit.org
  • 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 Lucas Forschler
  • 5 edits in tags/Safari-537.45.1/Source

Versioning.

2:22 PM Changeset in webkit [151654] by Lucas Forschler
  • 1 copy in tags/Safari-537.45.1

New Tag.

2:18 PM Changeset in webkit [151653] by commit-queue@webkit.org
  • 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 zoltan@webkit.org
  • 8 edits
    2 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 mark.lam@apple.com
  • 24 edits
    4 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:

  1. 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();

  1. 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();

  1. 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 betravis@adobe.com
  • 2 edits
    2 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 fpizlo@apple.com
  • 8 edits
    1 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 commit-queue@webkit.org
  • 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 igor.o@sisa.samsung.com
  • 4 edits
    6 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:

  1. RenderRegion can not have children and when the PseudoElement::attach tries to create a renderer for the

generated content, it fails.

  1. 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 mrowe@apple.com
  • 4 edits
    1 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 bfulgham@webkit.org
(diff)
9:40 AM Changeset in webkit [151645] by mrowe@apple.com
  • 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 fpizlo@apple.com
  • 9 edits
    6 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 michael.bruning@digia.com
  • 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 michael.bruning@digia.com
  • 35 edits
    6 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 sergio@webkit.org
  • 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 allan.jensen@digia.com
  • 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 kangil.han@samsung.com
  • 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 g.czajkowski@samsung.com
  • 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 Carlos Garcia Campos
  • 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 zarvai@inf.u-szeged.hu
  • 1 edit
    2 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 Carlos Garcia Campos
  • 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 zarvai@inf.u-szeged.hu
  • 1 edit
    3 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 zandobersek@gmail.com
  • 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 g.czajkowski@samsung.com
  • 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 zandobersek@gmail.com
  • 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 commit-queue@webkit.org
  • 3 edits
    1 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 Christophe Dumez
Fix several index links (diff)
9:23 PM Changeset in webkit [151629] by Simon Fraser
  • 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 gyuyoung.kim@samsung.com
  • 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 tkent@chromium.org
  • 5 edits
    2 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 gyuyoung.kim@samsung.com
  • 2 edits
    10 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 gyuyoung.kim@samsung.com
  • 2 edits
    18 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 Simon Fraser
  • 5 edits
    2 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 Simon Fraser
  • 8 edits
    5 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 Simon Fraser
  • 7 edits
    2 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 Darin Adler
  • 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.
Note: See TracTimeline for information about the timeline view.