Timeline



Jan 29, 2012:

11:30 PM Changeset in webkit [106217] by zherczeg@webkit.org
  • 16 edits
    2 deletes in trunk

Custom written CSS lexer
https://bugs.webkit.org/show_bug.cgi?id=70107

Reviewed by Antti Koivisto and Oliver Hunt.

.:

Remove tokenizer.cpp from intermediate sources.

  • wscript:

Source/JavaScriptCore:

Add new helper functions for the custom written CSS lexer.

  • wtf/ASCIICType.h:

(WTF::toASCIILowerUnchecked):
(WTF):
(WTF::isASCIIAlphaCaselessEqual):

Source/WebCore:

This patch replaces the flex based CSS lexer to a
new, custom written one. The new code is more
than 2 times faster according to oprofile and CPU
cycle counters.

The code structure is quite straightforward: it choose
the possible token group based on the first character
and employ utility functions to parse the longer than
one character long ones. Most of the utilities are inline
to make the lexer fast.

All build systems updated. Including removing the flex support.

Existing tests cover this feature.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gyp/scripts/action_maketokenizer.py: Removed.
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::setupParser):
(WebCore::parseSimpleLengthValue):
(WebCore::mightBeRGBA):
(WebCore::mightBeRGB):
():
(WebCore::isCSSLetter):
(WebCore):
(WebCore::isCSSEscape):
(WebCore::isURILetter):
(WebCore::isIdentifierStartAfterDash):
(WebCore::isEqualToCSSIdentifier):
(WebCore::checkAndSkipEscape):
(WebCore::skipWhiteSpace):
(WebCore::CSSParser::isIdentifierStart):
(WebCore::CSSParser::checkAndSkipString):
(WebCore::CSSParser::parseEscape):
(WebCore::CSSParser::parseIdentifier):
(WebCore::CSSParser::parseString):
(WebCore::CSSParser::parseURI):
(WebCore::CSSParser::parseUnicodeRange):
(WebCore::CSSParser::parseNthChild):
(WebCore::CSSParser::parseNthChildExtra):
(WebCore::CSSParser::detectFunctionTypeToken):
(WebCore::CSSParser::detectMediaQueryToken):
(WebCore::CSSParser::detectNumberToken):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::detectAtToken):
(WebCore::CSSParser::lex):
(WebCore::CSSParser::markSelectorListStart):
(WebCore::CSSParser::markSelectorListEnd):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markRuleBodyEnd):
(WebCore::CSSParser::markPropertyStart):
(WebCore::CSSParser::markPropertyEnd):

  • css/CSSParser.h:

(WebCore::CSSParser::token):
(CSSParser):
():

  • css/tokenizer.flex: Removed.
11:22 PM Changeset in webkit [106216] by tkent@chromium.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

[Chromium] REGRESSION(r87067): WebFrame::setFindEndstateFocusAndSelection()
doesn't set the selection for <input> and <textarea>
https://bugs.webkit.org/show_bug.cgi?id=77186

Reviewed by Hajime Morita.

When the find-in-page box is closed, WebFrame::stopFinding(false) is
called. It calls setFindEndstateFocusAndSelection(). Before r87067,
m_activeMatch was stored as the normal selection in <input> or
<textarea> by accident. r87067 stopped this accidental behavior.

However the behavior of pre-r87067 is useful and we should support it
for contentEditable elements too.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::setFindEndstateFocusAndSelection):

  • Add special handing for <input> and <textarea> to find a focusable parent.
  • Sets the active match as the selection even if a focusable parent is found.
  • tests/WebFrameTest.cpp:

(WebKit::TEST_F): Add tests for find() and stopFinding().

  • tests/data/find.html: Added.
11:07 PM Changeset in webkit [106215] by yuzo@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectation change.
inspector/extensions/extensions-{events,sidebar}.html time out for WIN DBG.

  • platform/chromium/test_expectations.txt:
10:55 PM Changeset in webkit [106214] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium/mac] Fix two-finger scrolling
https://bugs.webkit.org/show_bug.cgi?id=77316

http://trac.webkit.org/changeset/106021/trunk changed the phase enums
to match AppKit. This changes WebMouseWheelEvent accordingly.

No tests, because DRT doesn't support synthetic scroll events with
event phases.

Patch by Nico Weber <nicolasweber@gmx.de> on 2012-01-29
Reviewed by Anders Carlsson.

  • public/WebInputEvent.h:
  • src/mac/WebInputEventFactory.mm:
9:50 PM Changeset in webkit [106213] by yuzo@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectation change.
svg/W3C-SVG-1.1/masking-intro-01-f.svg does not crash after r105978.

  • platform/chromium/test_expectations.txt:
8:08 PM Changeset in webkit [106212] by yuzo@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectation change.
fast/events/touch/touch-gesture-scroll.html is flaky on MAC and WIN.

  • platform/chromium/test_expectations.txt:
7:59 PM Changeset in webkit [106211] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

DOM/DOMDivWalk.html result is unreliable
https://bugs.webkit.org/show_bug.cgi?id=77313

Reviewed by Adam Birth.

Trigger garbage collection manually between test runs to avoid GC
to occur in the middle of runs.

  • DOM/resources/dom-perf.js:

(BenchmarkSuite.prototype.RunSingle):

  • resources/runner.js:

(gc.else.gcRec):
(gc):
(runLoop):

7:59 PM Changeset in webkit [106210] by yuzo@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectation change.
Layout Test fast/events/touch/send-oncancel-event.html is flaky on MAC and WIN.

  • platform/chromium/test_expectations.txt:
7:49 PM Changeset in webkit [106209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Prepare WebCore.gyp for ffmpeg source transition.
https://bugs.webkit.org/show_bug.cgi?id=77254

We're migrating our ffmpeg repo from a set of patches living on top of
a tarball to an actual git fork of upstream. The paths have changed
slightly.

In order to not break the current build, we'll keep both paths around
until the transition is complete. Afterward the 'patched-ffmpeg' path
will be removed.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-01-29
Reviewed by Tony Chang.

No new tests. GYP change, if it doesn't work, nothing will compile.

  • WebCore.gyp/WebCore.gyp:
7:47 PM Changeset in webkit [106208] by hayato@chromium.org
  • 8 edits in trunk

Add a ShadowRoot constructor as 'WebKitShadowRootConstructor', enabled by SHADOW_DOM flag.
https://bugs.webkit.org/show_bug.cgi?id=76354

Reviewed by Hajime Morita.

We use vendor-prefixed name, 'WebKitShadowRoot', instead of 'ShadowRoot'
since this is a feature under development.

Source/WebCore:

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):
(WebCore):

  • dom/ShadowRoot.h:

(WebCore):
(ShadowRoot):

  • dom/ShadowRoot.idl:
  • page/DOMWindow.idl:

LayoutTests:

  • fast/dom/shadow/shadow-root-js-api.html:
6:39 PM Changeset in webkit [106207] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r105576-r105582): Web Inspector Crash in JSC::JSValue::toString(JSC::ExecState*) const
https://bugs.webkit.org/show_bug.cgi?id=77146
<rdar://problem/10770586>

Reviewed by Oliver Hunt.

The old JIT expects that the result of the last operation is in the lastResultRegister. The DFG JIT is
designed to correctly track the lastResultRegister by looking at SetLocal nodes. However, when the DFG
JIT inlines a code block, it forgets that the inlined code block's result would have been placed in the
lastResultRegister. Hence if we OSR exit on the first node following the end of an inlined code block
that had a return value, and that first node uses the return value, the old JIT will get massively
confused. This patch takes a surgical approach: instead of making the DFG smarter, it makes the old
JIT slightly dumber.

  • jit/JITCall.cpp:

(JSC::JIT::emit_op_call_put_result):

6:23 PM Changeset in webkit [106206] by yuzo@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectation change.
fast/js/navigator-language.html is flaky.

  • platform/chromium/test_expectations.txt:
6:08 PM Changeset in webkit [106205] by leviw@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed gardening. css3/flexbox/cross-axis-scrollbar.html is failing on Chromium Windows.
Removing an incorrect pixel expectation (it's a ref test) and marking it as failing on
Chromium Windows.

  • platform/chromium-win/css3/flexbox/cross-axis-scrollbar-expected.png: Removed.
  • platform/chromium/test_expectations.txt:
5:41 PM Changeset in webkit [106204] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for Mac non-x64 platforms.

  • tools/CodeProfiling.cpp:

(JSC):

4:21 PM SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
3:59 PM Changeset in webkit [106203] by noel.gordon@gmail.com
  • 2 edits in trunk/Source/WebCore

[chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+
https://bugs.webkit.org/show_bug.cgi?id=74286

Reviewed by Kenneth Russell.

No new tests. Covered by many existing tests: in particular

fast/images/*, fast/canvas/*,
tables/mozilla/bugs/bug29314.html
tables/mozilla/bugs/bug13169.html
tables/mozilla/bugs/bug10565.html
tables/mozilla/bugs/bug11026.html
fast/repaint/backgroundSizeRepaint.html
fast/repaint/block-layout-inline-children-replaced.html
fast/repaint/clipped-relative.html
fast/repaint/selected-replaced.html
tables/mozilla/bugs/bug12908-1.html

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(rgbOutputColorSpace): Swizzle decode iff libjpeg-turbo is r732 or above.

3:49 PM Changeset in webkit [106202] by Csaba Osztrogonác
  • 4 edits in trunk/Source/WebKit2

Unreviewed, rolling out r106022.
http://trac.webkit.org/changeset/106022
https://bugs.webkit.org/show_bug.cgi?id=77305

It broke Qt-WK2 API tests (Requested by Ossy_weekend on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-29

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebView::geometryChanged):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qwebviewportinfo.cpp:

(QWebViewportInfo::currentScale):
(QWebViewportInfo::devicePixelRatio):
(QWebViewportInfo::initialScale):
(QWebViewportInfo::minimumScale):
(QWebViewportInfo::maximumScale):
(QWebViewportInfo::isScalable):
(QWebViewportInfo::layoutSize):

3:47 PM SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
3:41 PM Changeset in webkit [106201] by leviw@chromium.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r105999.
http://trac.webkit.org/changeset/105999
https://bugs.webkit.org/show_bug.cgi?id=77304

Validating that this caused a performance regression in page
load tests. (Requested by leviw on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-29

  • dom/NamedNodeMap.cpp:
  • dom/NamedNodeMap.h:

(NamedNodeMap):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::style):
(WebCore::StyledElement::addSubresourceAttributeURLs):

  • dom/StyledElement.h:

(WebCore::StyledElement::inlineStyleDecl):
(StyledElement):

3:36 PM Changeset in webkit [106200] by leviw@chromium.org
  • 2 edits in trunk/LayoutTests

Reserved Word tests fail on Chromium after r106198
https://bugs.webkit.org/show_bug.cgi?id=77303

Unreviewed gardening. disabling new reserved word tests on Chromium after r106198.

  • platform/chromium/test_expectations.txt:
3:23 PM Changeset in webkit [106199] by Csaba Osztrogonác
  • 19 edits in trunk

Unreviewed, rolling out r106109.
http://trac.webkit.org/changeset/106109
https://bugs.webkit.org/show_bug.cgi?id=77302

It made tests crash (Requested by Ossy_weekend on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-29

Source/WebCore:

  • platform/graphics/qt/TextureMapperQt.cpp:

(WebCore::TextureMapperQt::setGraphicsContext):

  • platform/graphics/qt/TextureMapperQt.h:

(WebCore::TextureMapperQt::initialize):

Source/WebKit2:

  • UIProcess/API/qt/qquickwebpage.cpp:
  • UIProcess/API/qt/qquickwebpage_p_p.h:

(QQuickWebPagePrivate):

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/DrawingAreaProxyImpl.cpp:
  • UIProcess/DrawingAreaProxyImpl.h:

(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeHostProxy.h:

(LayerTreeHostProxy):

  • UIProcess/qt/LayerTreeHostProxyQt.cpp:

(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):

  • UIProcess/qt/QtPageClient.cpp:

(QtPageClient::setViewNeedsDisplay):

Tools:

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::WrapperWindow::WrapperWindow):
(WTR::PlatformWebView::PlatformWebView):

LayoutTests:

  • platform/qt-wk2/Skipped:
12:23 AM Changeset in webkit [106198] by barraclough@apple.com
  • 9 edits in trunk

Reserve 'let'
https://bugs.webkit.org/show_bug.cgi?id=77293

Rubber stamped by Oliver Hunt.

'let' may become a keyword in ES6. We're going to try experimentally reserving it,
to see if this breaks the web.

Source/JavaScriptCore:

  • parser/Keywords.table:

LayoutTests:

  • fast/js/keywords-and-reserved_words-expected.txt:
  • fast/js/reserved-words-as-property-expected.txt:
  • fast/js/reserved-words-strict-expected.txt:
  • fast/js/script-tests/keywords-and-reserved_words.js:
  • fast/js/script-tests/reserved-words-as-property.js:
  • fast/js/script-tests/reserved-words-strict.js:

Jan 28, 2012:

7:47 PM Changeset in webkit [106197] by barraclough@apple.com
  • 20 edits
    7 adds in trunk/Source/JavaScriptCore

Implement a JIT-code aware sampling profiler for JSC
https://bugs.webkit.org/show_bug.cgi?id=76855

Reviewed by Oliver Hunt.

To enable the profiler, set the JSC_CODE_PROFILING environment variable to
1 (no tracing the C stack), 2 (trace one level of C code) or 3 (recursively
trace all samples).

The profiler requires -fomit-frame-pointer to be removed from the build flags.

  • JavaScriptCore.exp:
    • Removed an export.
  • JavaScriptCore.xcodeproj/project.pbxproj:
    • Added new files
  • bytecode/CodeBlock.cpp:
    • For baseline codeblocks, cache the result of canCompileWithDFG.
  • bytecode/CodeBlock.h:
    • For baseline codeblocks, cache the result of canCompileWithDFG.
  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::initializeAllocator):

  • Notify the profiler when the allocator is created.

(JSC::ExecutableAllocator::allocate):

  • Inform the allocated of the ownerUID.
  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::ExecutableAllocator::initializeAllocator):

  • Notify the profiler when the allocator is created.

(JSC::ExecutableAllocator::allocate):

  • Inform the allocated of the ownerUID.
  • jit/JITStubs.cpp:
    • If profiling, don't mask the return address in JIT code. (We do so to provide nicer backtraces in debug builds).
  • runtime/Completion.cpp:

(JSC::evaluate):

  • Notify the profiler of script evaluations.
  • tools: Added.
  • tools/CodeProfile.cpp: Added.

(JSC::symbolName):

  • Helper function to get the name of a symbol in the framework.

(JSC::truncateTrace):

  • Helper to truncate traces into methods know to have uninformatively deep stacks.

(JSC::CodeProfile::sample):

  • Record a stack trace classifying samples.

(JSC::CodeProfile::report):

  • {Print profiler output.
  • tools/CodeProfile.h: Added.
    • new class, captures a set of samples associated with an evaluated script, and nested to record samples from subscripts.
  • tools/CodeProfiling.cpp: Added.

(JSC::CodeProfiling::profilingTimer):

  • callback fired then a timer event occurs.

(JSC::CodeProfiling::notifyAllocator):

  • called when the executable allocator is constructed.

(JSC::CodeProfiling::getOwnerUIDForPC):

  • helper to lookup the codeblock from an address in JIT code

(JSC::CodeProfiling::begin):

  • enter a profiling scope.

(JSC::CodeProfiling::end):

  • exit a profiling scope.
  • tools/CodeProfiling.h: Added.
    • new class, instantialed from Completion to define a profiling scope.
  • tools/ProfileTreeNode.h: Added.
    • new class, used to construct a tree of samples.
  • tools/TieredMMapArray.h: Added.
    • new class, a malloc-free vector (can be used while the main thread is suspended, possibly holding the malloc heap lock).
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::MetaAllocatorHandle):
(WTF::MetaAllocator::allocate):

  • Allow allocation handles to track information about their owner.
  • wtf/MetaAllocator.h:

(MetaAllocator):

  • Allow allocation handles to track information about their owner.
  • wtf/MetaAllocatorHandle.h:

(MetaAllocatorHandle):
(WTF::MetaAllocatorHandle::ownerUID):

  • Allow allocation handles to track information about their owner.
  • wtf/OSAllocator.h:

(WTF::OSAllocator::reallocateCommitted):

  • reallocate an existing, committed memory allocation.
4:20 PM Changeset in webkit [106196] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-28

  • DEPS:
3:43 PM Changeset in webkit [106195] by thakis@chromium.org
  • 5 edits in trunk

[chromium] Add support for building standalone webkit/chromium checkouts with ninja.
https://bugs.webkit.org/show_bug.cgi?id=77243

Reviewed by Adam Barth.

Source/WebKit/chromium:

  • gyp_webkit:

Tools:

  • Scripts/update-webkit:
  • Scripts/webkitdirs.pm:

(isChromiumNinja):
(determineIsChromiumNinja):
(buildChromiumNinja):
(buildChromium):

1:41 PM Changeset in webkit [106194] by leviw@chromium.org
  • 1 edit
    30 adds in trunk/LayoutTests

Unreviewed gardening. Adding Chromium platform expectations for canvas tests after 106184.

  • platform/chromium-linux-x86/canvas: Added.
  • platform/chromium-linux-x86/canvas/philip: Added.
  • platform/chromium-linux-x86/canvas/philip/tests: Added.
  • platform/chromium-linux-x86/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-linux-x86/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-linux-x86/fast/canvas: Added.
  • platform/chromium-linux-x86/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-linux/canvas: Added.
  • platform/chromium-linux/canvas/philip: Added.
  • platform/chromium-linux/canvas/philip/tests: Added.
  • platform/chromium-linux/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-linux/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-linux/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-win-vista/canvas: Added.
  • platform/chromium-win-vista/canvas/philip: Added.
  • platform/chromium-win-vista/canvas/philip/tests: Added.
  • platform/chromium-win-vista/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-win-vista/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-win-vista/fast/canvas: Added.
  • platform/chromium-win-vista/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-win-xp/canvas: Added.
  • platform/chromium-win-xp/canvas/philip: Added.
  • platform/chromium-win-xp/canvas/philip/tests: Added.
  • platform/chromium-win-xp/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-win-xp/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-win-xp/fast/canvas: Added.
  • platform/chromium-win-xp/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-win/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-win/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-win/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
1:31 PM Changeset in webkit [106193] by leviw@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test webaudio/panner-set-model.html crashes on debug Chromium bots
https://bugs.webkit.org/show_bug.cgi?id=77283

Unreviewed gardening. Marking webaudio/panner-set-model.html crashing on Debug Chromium bots.

  • platform/chromium/test_expectations.txt:
12:19 PM Changeset in webkit [106192] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Remove references to CSSBorderImageValue.h in Target.pri
https://bugs.webkit.org/show_bug.cgi?id=77277

Patch by Alexander Færøy <ahf@0x90.dk> on 2012-01-28
Reviewed by Antonio Gomes.

CSSBorderImageValue.h was removed in r105502.

  • Target.pri:
11:28 AM Changeset in webkit [106191] by jchaffraix@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
https://bugs.webkit.org/show_bug.cgi?id=76126

Reviewed by Simon Fraser.

Source/WebCore:

Tests: fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html

fast/layers/scroll-no-visible-content-but-visible-descendant.html

The optimization missed out that if the current layer does not have some visible content
(m_hasVisibleContent is false), a descendant could totally be visible and would need to
have its repaint rectangles recomputed.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
Bail out only if the layer doesn't have visible content AND no visible descendants.

LayoutTests:

Added testing for a layer with no visible content but one of its descendant has some visible content.
The reverse case is already profusely tested.

  • fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html: Added.
  • fast/layers/scroll-no-visible-content-but-visible-descendant.html: Added.
11:02 AM Changeset in webkit [106190] by cmarrin@apple.com
  • 8 edits in trunk/Source/WebCore

Get rid of TransformOperationList
https://bugs.webkit.org/show_bug.cgi?id=77249

Reviewed by Dan Bernstein.

Changed fetchTransformOperationList to validateTransformOperations and got rid of separately generated list
of transform operations. These are not needed, they are already available in the keyframe lists and they
make it more difficult to add support for hardware animated filters. No behavior changes.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateTransformOperations):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:

():

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::addAnimation):

  • platform/graphics/texmap/TextureMapperAnimation.cpp:

(WebCore::applyTransformAnimation):
(WebCore::TextureMapperAnimation::TextureMapperAnimation):
(WebCore::TextureMapperAnimation::applyInternal):

  • platform/graphics/texmap/TextureMapperAnimation.h:

(TextureMapperAnimation):

7:58 AM ApplicationsGtk edited by manuq@laptop.org
(diff)
7:23 AM Changeset in webkit [106189] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r106187.
http://trac.webkit.org/changeset/106187
https://bugs.webkit.org/show_bug.cgi?id=77276

The last rollout was a false charge. (Requested by morrita on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-28

  • runtime/ExceptionHelpers.h:

(InterruptedExecutionError):

  • runtime/JSBoundFunction.h:

(JSBoundFunction):

  • runtime/RegExp.h:

(RegExp):

  • runtime/RegExpMatchesArray.h:

(RegExpMatchesArray):

6:44 AM Changeset in webkit [106188] by morrita@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, another attempt for warning elimination.

  • platform/win/Skipped:
5:39 AM Changeset in webkit [106187] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r106151.
http://trac.webkit.org/changeset/106151
https://bugs.webkit.org/show_bug.cgi?id=77275

may break windows build (Requested by morrita on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-28

  • runtime/ExceptionHelpers.h:

(InterruptedExecutionError):

  • runtime/JSBoundFunction.h:

(JSBoundFunction):

  • runtime/RegExp.h:

(RegExp):

  • runtime/RegExpMatchesArray.h:

(RegExpMatchesArray):

5:22 AM Changeset in webkit [106186] by morrita@google.com
  • 2 edits in trunk/LayoutTests

fixed

2:18 AM Changeset in webkit [106185] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

GC invoked while doing an old JIT property storage reallocation may lead
to an object that refers to a dead structure
https://bugs.webkit.org/show_bug.cgi?id=77273
<rdar://problem/10770565>

Reviewed by Gavin Barraclough.

The put_by_id transition was already saving the old structure by virtue of
having the object on the stack, so that wasn't going to get deleted. But the
new structure was unprotected in the transition. I've now changed the
transition code to save the new structure, ensuring that the GC will know it
to be marked if invoked from within put_by_id_transition_realloc.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:

(JSC):
():

Note: See TracTimeline for information about the timeline view.