Timeline



May 25, 2012:

11:39 PM Changeset in webkit [118606] by nduca@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] Instrument V8 GC with TraceEvent
https://bugs.webkit.org/show_bug.cgi?id=87530

Reviewed by Kentaro Hara.

We sometimes get performance issues where performance stalls can
be attributed to badly timed GC operations, especially ones that
happen just before a frame running. This adds tracing calls around
GC so that we can better understand these kinds of hangs.

  • bindings/v8/V8GCController.cpp:

(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):

11:09 PM Changeset in webkit [118605] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Roll chromium DEPS from r139156 to r139184.

  • DEPS:
8:20 PM Changeset in webkit [118604] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

cursor gets trapped when border-style: dashed is used
https://bugs.webkit.org/show_bug.cgi?id=37693

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-05-25
Reviewed by Tony Chang.

This bug has been fixed. Add a test to make sure that it won't regress.

  • editing/selection/move-by-line-006-expected.txt: Added.
  • editing/selection/move-by-line-006.html: Added.
8:09 PM Changeset in webkit [118603] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

weakCompareAndSwap should work on Windows
https://bugs.webkit.org/show_bug.cgi?id=87549

Reviewed by Jessie Berlin.

  • wtf/Atomics.h:

(WTF):
(WTF::weakCompareAndSwap):

7:24 PM Changeset in webkit [118602] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

Unreviewed, fix bad copy/paste.

  • platform/mac/Skipped:
7:20 PM Changeset in webkit [118601] by commit-queue@webkit.org
  • 11 edits
    1 copy in trunk/Source

Allow WebTextFieldDecoratorClient to see applied decorations.
https://bugs.webkit.org/show_bug.cgi?id=86557

Patch by Garrett Casto <gcasto@chromium.org> on 2012-05-25
Reviewed by Kent Tamura.

Source/WebCore:

  • html/shadow/TextFieldDecorationElement.cpp:

(WebCore::TextFieldDecorationElement::fromShadowRoot): A function
that will extract a TextFielDecorationElement from a ShadowRoot, if
there is one.

  • html/shadow/TextFieldDecorationElement.h:

(WebCore):
(TextFieldDecorator):

Source/WebKit/chromium:

  • WebKit.gyp: Added new files.
  • public/WebInputElement.h:

(WebKit::WebInputElement::decorationElementFor): Returns the
WebElement attached to the WebInputElement by the given
WebTextFieldDecoratorClient, if one exists.

  • src/TextFieldDecoratorImpl.cpp:

(WebKit):

  • src/TextFieldDecoratorImpl.h:

(TextFieldDecoratorImpl::decoratorClient): Get the
WebTextFieldDecoratorClient owned by this object.

7:07 PM Changeset in webkit [118600] by tony@chromium.org
  • 6 edits in trunk

implement new negative flexing algorithm
https://bugs.webkit.org/show_bug.cgi?id=86528

Reviewed by Ojan Vafai.

Source/WebCore:

Rather than just scale by the negative flexibility, we also take the
flex-basis (preferred size) into consideration. That means items with
a larger preferred size will shrink faster.

Test: css3/flexbox/flex-algorithm.html (new test cases added)

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Handle overflow.
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::computeNextFlexLine): Sum weighted negative flex.
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths): Shrink by weighted amount.
Also handle large values by making sure the flex values are finite.

  • rendering/RenderFlexibleBox.h:

LayoutTests:

  • css3/flexbox/flex-algorithm-expected.txt:
  • css3/flexbox/flex-algorithm.html:
7:05 PM Changeset in webkit [118599] by mihaip@chromium.org
  • 12 edits
    2 adds in trunk

Allow synchronous XHRs to be disabled in documents
https://bugs.webkit.org/show_bug.cgi?id=87540

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/xmlhttprequest/xmlhttprequest-sync-disabled.html

Synchronous XMLHttpRequests are a problematic API, since they result
in blocked UI threads. Some clients may wish to always disable them;
give them a setting to do so (see also r103629 for other cases where
synchronous XHRs are disabled).

  • page/Settings.cpp:

(WebCore):
(WebCore::Settings::Settings):

  • page/Settings.h:

(Settings):
(WebCore::Settings::setSyncXHRInDocumentsEnabled):
(WebCore::Settings::syncXHRInDocumentsEnabled):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::restoreTo):
(WebCore::InternalSettings::setSyncXHRInDocumentsEnabled):
(WebCore):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open):

Source/WebKit/chromium:

Synchronous XMLHttpRequests are a problematic API, since they result
in blocked UI threads. Some clients may wish to always disable them;
give them a setting to do so (see also r103629 for other cases where
synchronous XHRs are disabled).

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setSyncXHRInDocumentsEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

LayoutTests:

Synchronous XMLHttpRequests are a problematic API, since they result
in blocked UI threads. Some clients may wish to always disable them;
give them a setting to do so (see also r103629 for other cases where
synchronous XHRs are disabled).

  • fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-sync-disabled.html: Added.
6:53 PM Changeset in webkit [118598] by Stephanie Lewis
  • 1 edit
    3 adds in trunk/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87558

Unreviewed, checking in expected failing results.

  • platform/mac/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt: Added.
  • platform/mac/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt: Added.
6:43 PM Changeset in webkit [118597] by kinuko@chromium.org
  • 7 edits in trunk/Source

[chromium] Deprecate FileUtilities::getFileSize and getFileModifiedTime in favor of getFileMetadata
https://bugs.webkit.org/show_bug.cgi?id=87492

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebFileUtilities.h:

Source/WebCore:

No new tests: existing tests (http/tests/local/fileapi/* and fast/files/*) should pass.

  • platform/chromium/FileSystemChromium.cpp:

(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::getFileMetadata):

6:25 PM Changeset in webkit [118596] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Roll Chromium DEPS from r139024 to r139156 in an attempt to fix Chromium Win builds.

  • DEPS:
6:21 PM Changeset in webkit [118595] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87544

Unreviewed, skipping asserting test

  • platform/mac/Skipped:
6:02 PM Changeset in webkit [118594] by commit-queue@webkit.org
  • 12 edits
    7 adds
    2 deletes in trunk

Source/WebKit/win: Added methods needed to implement backend for DRT's TextInputController on windows, https://bugs.webkit.org/show_bug.cgi?id=32021

Patch by Lynn Neir <lynn.neir@skype.net> on 2012-05-25
Reviewed by Eric Seidel.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp:

(WebView::setCompositionForTesting):
(WebView::hasCompositionForTesting):
(WebView::confirmCompositionForTesting):
(WebView::compositionRangeForTesting):
(WebView::firstRectForCharacterRangeForTesting):
(WebView::selectedRangeForTesting):

  • WebView.h:

(WebView):

Tools: Added windows implementation in DRT for TextInputController, https://bugs.webkit.org/show_bug.cgi?id=32021

Patch by Lynn Neir <lynn.neir@skype.net> on 2012-05-25
Reviewed by Eric Seidel.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:

(FrameLoadDelegate::FrameLoadDelegate):
(FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):

  • DumpRenderTree/win/FrameLoadDelegate.h:

(FrameLoadDelegate):

  • DumpRenderTree/win/TextInputController.cpp: Added.

(setMarkedTextCallback):
(hasMarkedTextCallback):
(unmarkTextCallback):
(markedRangeCallback):
(insertTextCallback):
(firstRectForCharacterRangeCallback):
(selectedRangeCallback):
(TextInputController::makeWindowObject):
(TextInputController::getJSClass):
(TextInputController::staticValues):
(TextInputController::staticFunctions):

  • DumpRenderTree/win/TextInputController.h: Added.

(TextInputController):

  • DumpRenderTree/win/TextInputControllerWin.cpp: Added.

(TextInputController::setMarkedText):
(TextInputController::hasMarkedText):
(TextInputController::unmarkText):
(TextInputController::markedRange):
(TextInputController::insertText):
(TextInputController::firstRectForCharacterRange):
(TextInputController::selectedRange):

LayoutTests: Updated tests as a result of implementing TextInputController in DRT for windows, https://bugs.webkit.org/show_bug.cgi?id=32021

Patch by Lynn Neir <lynn.neir@skype.net> on 2012-05-25
Reviewed by Eric Seidel.

  • platform/win/Skipped:
  • platform/win/editing/selection/5825350-1-expected.txt: Added.
  • platform/win/editing/selection/5825350-2-expected.txt: Added.
  • platform/win/editing/selection/mixed-editability-10-expected.txt:
  • platform/win/editing/selection/move-left-right-expected.txt: Added.
  • platform/win/fast/events/ime-composition-events-001-expected.txt:
  • platform/win/fast/forms/input-maxlength-ime-completed-expected.txt: Removed.
  • platform/win/fast/forms/input-maxlength-ime-preedit-expected.txt: Removed.
  • platform/win/svg/text/caret-in-svg-text-expected.txt: Added.
5:35 PM Changeset in webkit [118593] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Enhance Windows DRT implementation to support platform scroll wheel events.
https://bugs.webkit.org/show_bug.cgi?id=36002

Add another test that uses continuousMouseScrollBy to the Windows Skipped list.

  • platform/win/Skipped:
5:28 PM Changeset in webkit [118592] by inferno@chromium.org
  • 4 edits
    2 adds in trunk

Crash in RenderTableSection::paintCell.
https://bugs.webkit.org/show_bug.cgi?id=87445

Reviewed by Eric Seidel and Julien Chaffraix.

Source/WebCore:

Fix the crash by preventing table parts from being set
as layout root. This prevents us from accessing removed
table cells which can happen if RenderTableSection::layout
is called directly without calling RenderTable::layout first
(in case of cell recalc).

Add ASSERTs to RenderTableSection::layout to prevent
layout to happen when we are already pending cell recalc
or our table is pending section recalc. In those cases,
RenderTable::layout should be called first to relayout
the entire table.

Test: tables/table-section-overflow-clip-crash.html

  • rendering/RenderObject.cpp:

(WebCore::objectIsRelayoutBoundary):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

LayoutTests:

  • tables/table-section-overflow-clip-crash-expected.txt: Added.
  • tables/table-section-overflow-clip-crash.html: Added.
5:23 PM Changeset in webkit [118591] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Implement spinbutton support in RenderThemeSafari
https://bugs.webkit.org/show_bug.cgi?id=54662

Add more spinbutton tests to the Windows Skipped list.

  • platform/win/Skipped:
5:22 PM Changeset in webkit [118590] by pilgrim@chromium.org
  • 12 edits
    5 copies in trunk/Source

[Chomium] Move sandboxSupport to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=87518

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::sandboxSupport):

  • chromium/public/android/WebSandboxSupport.h: Added.

(WebKit):
(WebSandboxSupport):

  • chromium/public/linux/WebFontFamily.h: Added.

(WebKit):
(WebFontFamily):

  • chromium/public/linux/WebSandboxSupport.h: Added.

(WebKit):
(WebSandboxSupport):

  • chromium/public/mac/WebSandboxSupport.h: Added.

(WebKit):
(WebSandboxSupport):

  • chromium/public/win/WebSandboxSupport.h: Added.

(WebKit):
(WebSandboxSupport):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKitPlatformSupport):

  • public/platform/android/WebSandboxSupport.h:
  • public/platform/linux/WebFontFamily.h:
  • public/platform/linux/WebSandboxSupport.h:
  • public/platform/mac/WebSandboxSupport.h:
  • public/platform/win/WebSandboxSupport.h:
  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::ensureFontLoaded):
(WebCore::PlatformSupport::loadFont):
(WebCore::PlatformSupport::getFontFamilyForCharacters):
(WebCore::PlatformSupport::getRenderStyleForStrike):

5:18 PM Changeset in webkit [118589] by pdr@google.com
  • 4 edits
    2 adds in trunk

Fix for self-closing <use> tags
https://bugs.webkit.org/show_bug.cgi?id=87504

Reviewed by Adam Barth.

Source/WebCore:

This change causes self-closing non-html tags to behave the same
as tags immediately followed by the closing tag.

Test: svg/custom/svg-self-closing-use.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertForeignElement):

  • html/parser/HTMLConstructionSite.h:

(HTMLConstructionSite):

LayoutTests:

  • svg/custom/svg-self-closing-use-expected.html: Added.
  • svg/custom/svg-self-closing-use.html: Added.
4:59 PM Changeset in webkit [118588] by jberlin@webkit.org
  • 1 edit
    15 adds in trunk/LayoutTests

[Win] ~1/2 of all the iframe seamless tests fail
https://bugs.webkit.org/show_bug.cgi?id=87543

Add failing expected results for Windows in order to get the bots green.

  • platform/win/fast/frames: Added.
  • platform/win/fast/frames/seamless: Added.
  • platform/win/fast/frames/seamless/seamless-basic-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-css-cascade-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-form-get-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-form-get-named-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-form-post-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-form-post-named-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-hyperlink-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-hyperlink-named-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-inherited-document-style-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-window-location-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-window-location-href-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-window-location-sandbox-expected.txt: Added.
  • platform/win/fast/frames/seamless/seamless-window-open-expected.txt: Added.
4:46 PM Changeset in webkit [118587] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Make the ICU-based implementation of NonSharedCharacterBreakIterator work in configurations
that do not have COMPARE_AND_SWAP enabled.

Reviewed by Jessie Berlin.

  • platform/text/TextBreakIteratorICU.cpp:

(WebCore::compareAndSwapNonSharedCharacterBreakIterator): Added this helper. It uses
weakCompareAndSwap when COMPARE_AND_SWAP is enabled, and uses a mutex to do the atomic
compare and swap otherwise.
(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Changed to use
compareAndSwapNonSharedCharacterBreakIterator().
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto.

4:31 PM Changeset in webkit [118586] by tommyw@google.com
  • 7 edits in trunk

MediaStream API: Make sure IceCallback is valid for PeerConnection00
https://bugs.webkit.org/show_bug.cgi?id=87480

Reviewed by Adam Barth.

Source/WebCore:

Existing tests have been extended to cover this change.

  • Modules/mediastream/PeerConnection00.cpp:

(WebCore::PeerConnection00::create):

  • Modules/mediastream/PeerConnection00.h:
  • Modules/mediastream/PeerConnection00.idl:

LayoutTests:

  • fast/mediastream/constructors-expected.txt:
  • fast/mediastream/constructors.html:
4:29 PM Changeset in webkit [118585] by commit-queue@webkit.org
  • 28 edits
    1 copy
    9 adds in trunk

Inline script and style blocked by Content Security Policy should provide more detailed console errors.
https://bugs.webkit.org/show_bug.cgi?id=86848

Patch by Mike West <mkwst@chromium.org> on 2012-05-25
Reviewed by Adam Barth.

Source/WebCore:

This change adds a URL and line number for context to each call to
ContentSecurityPolicy::allowInline*, and pipes it through to the
console message generation in CSPDirectiveList::reportViolation.

Line numbers are not added for injected scripts (document.write(...),
document.body.appendChild, and etc.).

Tests: http/tests/security/contentSecurityPolicy/injected-inline-script-allowed.html

http/tests/security/contentSecurityPolicy/injected-inline-script-blocked.html
http/tests/security/contentSecurityPolicy/injected-inline-style-allowed.html
http/tests/security/contentSecurityPolicy/injected-inline-style-blocked.html

  • bindings/ScriptControllerBase.cpp:

(WebCore::ScriptController::executeIfJavaScriptURL):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::executeScript):

  • dom/ScriptElement.h:

(ScriptElement):

  • dom/StyleElement.cpp:

(WebCore::StyleElement::StyleElement):
(WebCore::StyleElement::createSheet):

  • dom/StyleElement.h:

(StyleElement):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::StyledElement):
(WebCore):
(WebCore::StyledElement::style):
(WebCore::StyledElement::styleAttributeChanged):

  • dom/StyledElement.h:

(StyledElement):

  • page/ContentSecurityPolicy.cpp:

(CSPDirectiveList):
(WebCore::CSPDirectiveList::reportViolation):
(WebCore::CSPDirectiveList::checkInlineAndReportViolation):
(WebCore::CSPDirectiveList::checkEvalAndReportViolation):
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore):
(WebCore::isAllowedByAllWithCallStack):
(WebCore::isAllowedByAllWithContext):
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
(WebCore::ContentSecurityPolicy::allowInlineScript):
(WebCore::ContentSecurityPolicy::allowInlineStyle):

  • page/ContentSecurityPolicy.h:

(WTF):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/combine-multiple-policies-expected.txt:
  • http/tests/security/contentSecurityPolicy/default-src-inline-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/injected-inline-script-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/injected-inline-script-allowed.html: Added.
  • http/tests/security/contentSecurityPolicy/injected-inline-script-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/inline-script-blocked-expected.txt.
  • http/tests/security/contentSecurityPolicy/injected-inline-script-blocked.html: Added.
  • http/tests/security/contentSecurityPolicy/injected-inline-style-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/injected-inline-style-allowed.html: Added.
  • http/tests/security/contentSecurityPolicy/injected-inline-style-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/injected-inline-style-blocked.html: Added.
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-style-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/resources/inject-script.js: Added.
  • http/tests/security/contentSecurityPolicy/resources/inject-style.js: Added.
  • http/tests/security/contentSecurityPolicy/script-src-none-inline-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src-expected.txt:
4:26 PM Changeset in webkit [118584] by jsbell@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Chromium] Add missing expectations needed after http://trac.webkit.org/changeset/118577/

Unreviewed gardening.

  • platform/chromium-mac-leopard/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Added.
  • platform/chromium-mac-snowleopard/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Added.
  • platform/chromium-mac/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Added.
4:01 PM Changeset in webkit [118583] by timothy_horton@apple.com
  • 15 edits in trunk/Source/WebCore

ENABLE_CSS3_FLEXBOX is insufficient to disable all web-facing bits of the feature
https://bugs.webkit.org/show_bug.cgi?id=87537
<rdar://problem/11524921>

Reviewed by Simon Fraser.

Allow the feature flag to disable more web-facing parts of the CSS3 flexbox
implementation (primarily fallout from hiding it from computed style).

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimation::ensurePropertyMap):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):

  • rendering/style/RenderStyleConstants.h:
4:00 PM Changeset in webkit [118582] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG CSE should eliminate redundant WeakJSConstants
https://bugs.webkit.org/show_bug.cgi?id=87179

Reviewed by Gavin Barraclough.

Merged r118141 from dfgopt.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::weakConstantCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNode.h:

(JSC::DFG::Node::weakConstant):

3:57 PM Changeset in webkit [118581] by kbr@google.com
  • 2 edits in trunk/LayoutTests

New tex-image-and-sub-image-2d-with-video tests from r118565 failing on Mac Lion
https://bugs.webkit.org/show_bug.cgi?id=87541

Unreviewed; skipping tests until bug can be investigated.

  • platform/mac/Skipped:
3:49 PM Changeset in webkit [118580] by enne@google.com
  • 5 edits in trunk/Source/WebCore

[chromium] Add setting for painting debug info onto tiles
https://bugs.webkit.org/show_bug.cgi?id=75763

Reviewed by James Robinson.

Add a compile-time CCSetting to paint debug information onto tiles. This
can help to understand paint counts and layer indices. This setting is
off by default.

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerPainter::create):
(WebCore::ContentLayerPainter::paint):
(WebCore::ContentLayerPainter::ContentLayerPainter):
(WebCore::ContentLayerChromium::createTextureUpdater):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::UpdatableTile::UpdatableTile):
(WebCore::UpdatableTile::setUpdateFrame):
(WebCore::UpdatableTile::incrementPaintCount):
(WebCore::UpdatableTile::updateFrame):
(WebCore::UpdatableTile::paintCount):
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
(WebCore::TiledLayerChromium::paintDebugTileInfo):

  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore::CCSettings::CCSettings):

3:45 PM Changeset in webkit [118579] by fpizlo@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

DFG CSE should do redundant store elimination
https://bugs.webkit.org/show_bug.cgi?id=87161

Reviewed by Oliver Hunt.

Merge r118138 from dfgopt.

This patch adds redundant store elimination. For example, consider this
code:

o.x = 42;
o.x = 84;

If o.x is speculated to be a well-behaved field, the first assignment is
unnecessary, since the second just overwrites it. We would like to
eliminate the first assignment in these cases. The need for this
optimization arises mostly from stores that our runtime requires. For
example:

o = {f:1, g:2, h:3};

This will have four assignments to the structure for the newly created
object - one assignment for the empty structure, one for {f}, one for
{f, g}, and one for {f, g, h}. We would like to only have the last of
those assigments in this case.

Intriguingly, doing so for captured variables breaks the way arguments
simplification used to work. Consider that prior to either arguments
simplification or store elimination we will have IR that looks like:

a: SetLocal(r0, Empty)
b: SetLocal(r1, Empty)
c: GetLocal(r0)
d: CreateArguments(@c)
e: SetLocal(r0, @d)
f: SetLocal(r1, @d)

Then redundant store elimination will eliminate the stores that
initialize the arguments registers to Empty, but then arguments
simplification eliminates the stores that initialize the arguments to
the newly created arguments - and at this point we no longer have any
stores to the arguments register, leading to hilarious crashes. This
patch therefore changes arguments simplification to replace
CreateArguments with JSConstant(Empty) rather than eliminating the
SetLocals. But this revealed bugs where arguments simplification was
being overzealous, so I fixed those bugs.

This is a minor speed-up on V8/early and a handful of other tests.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::uncheckedActivationRegister):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::globalVarStoreElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::uncheckedActivationRegisterFor):
(Graph):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isPhantomArguments):
(Node):
(JSC::DFG::Node::hasConstant):
(JSC::DFG::Node::valueOfJSConstant):
(JSC::DFG::Node::hasStructureTransitionData):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

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

Remove a bunch of flaky expectations for tests that now pass.

Unreviewed test expectations update.

Also marked some nearby tests as more definitely failing.

  • platform/chromium/test_expectations.txt:
3:30 PM Changeset in webkit [118577] by fischman@chromium.org
  • 2 edits
    3 adds in trunk

[chromium] Default media controls should render only the currentTime-containing buffered range
https://bugs.webkit.org/show_bug.cgi?id=85925

Reviewed by Eric Carlson.

Test: http/tests/media/video-buffered-range-contains-currentTime.html

  • rendering/RenderMediaControlsChromium.cpp:

(WebCore::paintMediaSlider):

3:24 PM Changeset in webkit [118576] by adamk@chromium.org
  • 2 edits in trunk/LayoutTests

compositing/overflow/overflow-positioning.html fails with timeout on multiple chromium bots
https://bugs.webkit.org/show_bug.cgi?id=85771

Unreviewed test expectations update.

These tests haven't timed out lately on the Chromium bots, so removing
the suppressions.

  • platform/chromium/test_expectations.txt:
3:22 PM Changeset in webkit [118575] by annacc@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Removing tests from test_expectations.txt that are no longer crashing.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
3:19 PM Changeset in webkit [118574] by annacc@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Removing media/video-volume-slider.html from test_expectations.txt

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
3:14 PM Changeset in webkit [118573] by adamk@chromium.org
  • 2 edits in trunk/LayoutTests

Mark some "flaky" TypedArray tests more appropriately as DEBUG SLOW

Unreviewed test expectations update.

  • platform/chromium/test_expectations.txt:
3:10 PM Changeset in webkit [118572] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Build fix: add TransformationMatrix ctor from an AffineTransform.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::TransformationMatrix):
(WebCore):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix):

3:07 PM Changeset in webkit [118571] by adamk@chromium.org
  • 2 edits
    1 move
    10 deletes in trunk/LayoutTests

Rebaseline Chromium expectations for fast/box-shadow/shadow-buffer-partial.html

Unreviewed rebaselining.

The same rebaseline was made in r112582, but only got the Linux expectations.

  • fast/box-shadow/shadow-buffer-partial-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt.
  • platform/chromium-linux-x86/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium-mac-leopard/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium-mac/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium-win-vista/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium-win-xp/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium-win/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/chromium/test_expectations.txt:
  • platform/efl/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/gtk/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
  • platform/mac/fast/box-shadow/shadow-buffer-partial-expected.txt: Removed.
3:02 PM Changeset in webkit [118570] by rniwa@webkit.org
  • 12 edits
    2 adds in trunk

createContextualFragment and insertAdjacentHTML should throw syntax error
https://bugs.webkit.org/show_bug.cgi?id=87454

Reviewed by Darin Adler.

Source/WebCore:

Before this patch, createContextualFragment threw NOT_SUPPORTED_ERR and insertAdjacentHTML didn't throw any errors.
Make them throw SYNTAX_ERR to be consistent with the spec and Firefox:
http://html5.org/specs/dom-parsing.html#parsing
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#xml-fragment-parsing-algorithm

Also reduced the code duplication.

Test: fast/dom/xhtml-fragment-parsing-exceptions.xhtml

  • dom/Range.cpp:

(WebCore::Range::createContextualFragment):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::setInnerHTML): Explicitly pass AllowScriptingContent.

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):
(WebCore::createFragmentForInnerOuterHTML): Takes ExceptionCode now.
(WebCore::createContextualFragment): Share code with createFragmentForInnerOuterHTML
and propagate the exception code.

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerHTML): Explicitly pass AllowScriptingContent.
(WebCore::HTMLElement::setOuterHTML): Ditto.
(WebCore::HTMLElement::insertAdjacentHTML): Ditto; also rename ignoredEc to ignoredEC
per Darin's comment on the bug 87339.

Source/WebKit/qt:

Pass an ExceptionCode to createContextualFragment.

  • Api/qwebelement.cpp:

(QWebElement::appendInside):
(QWebElement::prependInside):
(QWebElement::prependOutside):
(QWebElement::appendOutside):
(QWebElement::encloseContentsWith):
(QWebElement::encloseWith):

LayoutTests:

Add a regression test, and rebaselined the existing tests since we throw
DOMException.SYNTAX_ERR instead of DOMException.INVALID_STATE_ERR.

  • fast/dom/xhtml-fragment-parsing-exceptions-expected.txt: Added.
  • fast/dom/xhtml-fragment-parsing-exceptions.xhtml: Added.
  • fast/innerHTML/innerHTML-changing-document-properties-expected.txt:
  • fast/parser/xhtml-innerhtml-null-byte-first.xhtml:
  • fast/parser/xhtml-innerhtml-null-byte.xhtml:
2:48 PM Changeset in webkit [118569] by jknotten@chromium.org
  • 3 edits
    2 adds in trunk

Body scrollWidth() and scrollHeight() should be page scale-invariant
https://bugs.webkit.org/show_bug.cgi?id=87494

RenderView::documentRect() is calculating the "scaled" document rect by applying
the current transformation matrix to the unscaledDocumentRect() and then
returning the rounded-out IntRect result.

This rounding out is incorrect because it allows the scaled rectangle to
represent an area that is not actually covered by the document.

We fix this by applying the current transform to the document rect
as a FloatRect and then explicitly converting to IntRect, which
takes the floor of the resulting rectangle coordinates instead of
rounding them out.

This is evidenced by the document.body.scrollWidth() and
document.body.scrollHeight() changing under page scale factor when
they are expected to remain invariant.

Reviewed by James Robinson.

Source/WebCore:

Test: fast/dom/window-scroll-scaling.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::documentRect):

LayoutTests:

  • fast/dom/window-scroll-scaling-expected.txt: Added.
  • fast/dom/window-scroll-scaling.html: Added.
2:46 PM Changeset in webkit [118568] by mitz@apple.com
  • 9 edits in trunk/Source/WebCore

characterBreakIterator() is not safe to use reentrantly or from multiple threads
https://bugs.webkit.org/show_bug.cgi?id=87521

Reviewed by Darin Adler.

Replaced characterBreakIterator() with a NonSharedCharacterBreakIterator class, which
obtains a unique TextBreakIterator. Replaced the global shared instance with a single-entry
cache.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData): Changed to use NonSharedCharacterBreakIterator.

  • platform/graphics/StringTruncator.cpp:

(WebCore::centerTruncateToBuffer): Ditto.
(WebCore::rightTruncateToBuffer): Ditto.

  • platform/text/String.cpp:

(WebCore::numGraphemeClusters): Ditto.
(WebCore::numCharactersInGraphemeClusters): Ditto.

  • platform/text/TextBreakIterator.h: Removed the declaration of characterBreakIterator().

(NonSharedCharacterBreakIterator): Added. An instance of this class has a character break
iterator instance that is unique to it for the lifetime of the instance.
(WebCore::NonSharedCharacterBreakIterator::operator TextBreakIterator*): Added.

  • platform/text/TextBreakIteratorICU.cpp:

(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Added. Tries
to swap the m_iterator member variable with the cached instance. If that fails, initializes
m_iterator to a new character break iterator.
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Added. Tries
to put the m_iterator member variable back in the cache. If that fails, meaning there is
already something in the cache, destroys m_iterator.

  • platform/text/gtk/TextBreakIteratorGtk.cpp:

(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Same as in
TextBreakIteratorICU.cpp.
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto.
(WebCore::cursorMovementIterator): Moved the old implementation of characterBreakIterator()
here.

  • platform/text/qt/TextBreakIteratorQt.cpp:

(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Same as in
TextBreakIteratorICU.cpp.
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto.
(WebCore::cursorMovementIterator): Moved the old implementation of characterBreakIterator()
here.

  • platform/text/wince/TextBreakIteratorWinCE.cpp:

(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Same as in
TextBreakIteratorICU.cpp.
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Ditto.
(WebCore::cursorMovementIterator): Moved the old implementation of characterBreakIterator()
here.

2:42 PM Changeset in webkit [118567] by Simon Fraser
  • 32 edits
    8 adds in trunk

Terrible performance on http://alliances.commandandconquer.com/ and http://www.lordofultima.com/
https://bugs.webkit.org/show_bug.cgi?id=84410

Source/WebCore:

Reviewed by Dave Hyatt.

First part of fixing O(N2) issues when walking the RenderLayer tree
for computeCompositingRequirements().

For each layer that goes into the OverlapMap, we were computing an absolute
layer bounds, which requires walking back to the root of the tree.
Optimize this when possible by storing a stack of offsets as we walk
the tree, and using this stack to do the mapping.

The stack of offsets and transforms is managed by RenderGeometryMap.
When visiting a RenderLayer, RenderLayerCompositor pushes onto
the geometry map stack data about offsets and transforms between
the current layer and its stacking-parent. RenderGeometryMap handles
the case where the previous renderer pushed is between the current
renderer and its container. RenderGeometryMap can also handle callers
pushing renderers with multiple containers between them.

RenderGeometryMap stores some flags about whether the set of mapping
steps in the stack involve transforms, fixed position, or special non-uniform
mappings like CSS columns. In some cases, it falls back to mapping via
renderers.

Once constructed, the RenderGeometryMap stack can be used to map multiple
rects or points efficiently. Stacks consisting of simple offsets are
collapsed to a single offset.

Mappings between renderers and their containers are pushed by pushMappingToContainer()
methods, which are similar to mapLocalToContainer() methods. Having this code
in RenderObjects was deemed preferable to handling columns, transforms etc. all in
RenderLayer code.

Tested by assertions in RenderGeometryMap code that its mapping matches
mapping via localToAbsolute() calls.

RenderLayerCompositor::updateCompositingLayers() creates a RenderGeometryMap,
and pushes and pops layer renderers as it visits them. The geometry map is used
by RenderLayerCompositor::addToOverlapMap() when computing absolute layer bounds.

Futher optimizations in RenderGeometryMap are possible, especially with stacks that
have many offsets and a few transforms.

Tests: compositing/geometry/composited-in-columns.html

compositing/geometry/flipped-writing-mode.html

  • CMakeLists.txt: Add RenderGeometryMap
  • GNUmakefile.list.am: Ditt
  • Target.pri: Ditto
  • WebCore.gypi: Ditto
  • WebCore.vcproj/WebCore.vcproj: Ditto
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::absoluteContentBox):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::offsetFromContainer):

  • rendering/RenderBox.h:
  • rendering/RenderGeometryMap.cpp: Added.

(RenderGeometryMapStep):
(WebCore::RenderGeometryMapStep::RenderGeometryMapStep):
(WebCore::RenderGeometryMapStep::mapPoint):
(WebCore::RenderGeometryMapStep::mapQuad):
(WebCore::RenderGeometryMap::RenderGeometryMap):
(WebCore::RenderGeometryMap::~RenderGeometryMap):
(WebCore::RenderGeometryMap::absolutePoint):
(WebCore::RenderGeometryMap::absoluteRect):
(WebCore::RenderGeometryMap::mapToAbsolute):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):
(WebCore::RenderGeometryMap::push):
(WebCore::RenderGeometryMap::pushView):
(WebCore::RenderGeometryMap::popMappingsToAncestor):
(WebCore::RenderGeometryMap::stepInserted):
(WebCore::RenderGeometryMap::stepRemoved):

  • rendering/RenderGeometryMap.h: Added.

(RenderGeometryMap):
(WebCore::RenderGeometryMap::hasNonUniformStep):
(WebCore::RenderGeometryMap::hasTransformStep):
(WebCore::RenderGeometryMap::hasFixedPositionStep):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::pushMappingToContainer):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::offsetFromContainer):
(WebCore::RenderObject::container):

  • rendering/RenderObject.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::offsetFromContainer):

  • rendering/RenderTableCell.h:

(RenderTableCell):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushMappingToContainer):

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::pushMappingToContainer):

  • rendering/svg/RenderSVGForeignObject.h:

(RenderSVGForeignObject):

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::pushMappingToContainer):

  • rendering/svg/RenderSVGInline.h:

(RenderSVGInline):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::pushMappingToContainer):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::pushMappingToContainer):

  • rendering/svg/RenderSVGRoot.h:

(RenderSVGRoot):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::pushMappingToContainer):

  • rendering/svg/RenderSVGText.h:

(RenderSVGText):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::pushMappingToContainer):

  • rendering/svg/SVGRenderSupport.h:

(SVGRenderSupport):

LayoutTests:

Reviewed by Dave Hyatt.

Basic tests for compositing inside columns, and in a flipped-writing-mode
document.

  • compositing/geometry/composited-in-columns-expected.png: Added.
  • compositing/geometry/composited-in-columns-expected.txt: Added.
  • compositing/geometry/composited-in-columns.html: Added.
  • compositing/geometry/flipped-writing-mode-expected.png: Added.
  • compositing/geometry/flipped-writing-mode-expected.txt: Added.
  • compositing/geometry/flipped-writing-mode.html: Added.
2:41 PM Changeset in webkit [118566] by commit-queue@webkit.org
  • 8 edits
    2 deletes in trunk/LayoutTests

Acid3 fails in WebKit2 regression tests
https://bugs.webkit.org/show_bug.cgi?id=87187

Patch by Andras Becsi <andras.becsi@nokia.com> on 2012-05-25
Reviewed by Alexey Proskuryakov.

Since the link test in the acid3.html relies on visited link tracking
it should call layoutTestController.keepWebHistory() because visited
link tracking is disabled by default to avoid interdependencies between
test.

Update expected files and png's now that the result does not show the
"YOU SHOULD NOT SEE THIS AT ALL" text in red in the top left corner.

  • http/tests/misc/acid3-expected.png:
  • http/tests/misc/acid3-expected.txt:
  • http/tests/misc/acid3.html: Fix test.
  • platform/chromium-mac-leopard/http/tests/misc/acid3-expected.png:
  • platform/chromium-mac-snowleopard/http/tests/misc/acid3-expected.png:
  • platform/chromium-mac/http/tests/misc/acid3-expected.png:
  • platform/chromium-mac/http/tests/misc/acid3-expected.txt:
  • platform/mac-wk2/http/tests/misc/acid3-expected.png: Same as the platform independent result. Removed.
  • platform/mac-wk2/http/tests/misc/acid3-expected.txt: Same as the platform independent result. Removed.
2:38 PM Changeset in webkit [118565] by kbr@google.com
  • 3 edits
    3 copies
    4 adds in trunk/LayoutTests

Incorporate new tex-image-and-sub-image-2d-with-video*.html tests
https://bugs.webkit.org/show_bug.cgi?id=87042

Reviewed by James Robinson.

Incorporated current version of video-related WebGL tests from
Khronos repository testing uploading to all packed pixel formats.

  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-video.js: Added.

(generateTest.runOneIteration):
(generateTest.runTest):

  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt:
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html:
2:36 PM Changeset in webkit [118564] by jberlin@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Rebaseline the Windows getComputedStyle results to reflect features
turned off on Windows.

  • platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Added.
  • platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.
2:28 PM Changeset in webkit [118563] by danakj@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] WebLayerTreeViewImpl should not hide methods in CCLayerTreeHost with signatures that match the Client interface
https://bugs.webkit.org/show_bug.cgi?id=87301

Reviewed by James Robinson.

Most methods in the CCLayerTreeHostClient interface have a matching
method signature on CCLayerTreeHost that simply calls the client, if
one exists at all. However, CCLayerTreeHost::updateAnimations() does
important work in addition to calling the client.

Currently WebLayerTreeViewImpl itself implements the interface for
CCLayerTreeHostClient as well as CCLayerTreeHost, and simply forwards
any call to a method in the client interface to its own client. This
blocks WebViewImpl from calling CCLayerTreeHost::updateAnimations, since
the method is also in the client interface.

We change WebLayerTreeViewImpl to own a CCLayerTreeHost and a
WebLayerTreeHostClientAdapter. This fixes the shadowing by making
the two interfaces separate, and resolves lifetime issues by
ensuring that the CCLayerTreeHost is destroyed before its client.

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::setSurfaceReady):
(WebKit::WebLayerTreeView::setRootLayer):
(WebKit::WebLayerTreeView::compositorIdentifier):
(WebKit::WebLayerTreeView::setViewportSize):
(WebKit::WebLayerTreeView::viewportSize):
(WebKit::WebLayerTreeView::setBackgroundColor):
(WebKit::WebLayerTreeView::setVisible):
(WebKit::WebLayerTreeView::setPageScaleFactorAndLimits):
(WebKit::WebLayerTreeView::startPageScaleAnimation):
(WebKit::WebLayerTreeView::setNeedsAnimate):
(WebKit::WebLayerTreeView::setNeedsRedraw):
(WebKit::WebLayerTreeView::commitRequested):
(WebKit::WebLayerTreeView::composite):
(WebKit::WebLayerTreeView::updateAnimations):
(WebKit::WebLayerTreeView::compositeAndReadback):
(WebKit::WebLayerTreeView::finishAllRendering):
(WebKit::WebLayerTreeView::context):
(WebKit::WebLayerTreeView::loseCompositorContext):

  • src/WebLayerTreeViewImpl.cpp:

(WebKit):
(WebLayerTreeViewClientAdapter):
(WebKit::WebLayerTreeViewClientAdapter::WebLayerTreeViewClientAdapter):
(WebKit::WebLayerTreeViewClientAdapter::~WebLayerTreeViewClientAdapter):
(WebKit::WebLayerTreeViewImpl::create):
(WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
(WebKit::WebLayerTreeViewImpl::~WebLayerTreeViewImpl):

  • src/WebLayerTreeViewImpl.h:

(WebCore):
(WebKit):
(WebKit::WebLayerTreeViewImpl::layerTreeHost):
(WebLayerTreeViewImpl):

2:17 PM Changeset in webkit [118562] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

Cache absolute clip rects on RenderLayer for compositing overlap testing
https://bugs.webkit.org/show_bug.cgi?id=87212

Reviewed by Dave Hyatt.

Enhance the cache of ClipRects on RenderLayers to store three
different types of ClipRects, rather than just one.

We need to compute clip rects relative to different layers
for different purposes. For painting, we compute relative to
the compositing layer which is acting as a painting root.
For hit testing, we compute relative to the root, except
for transformed layers. For composting overlap testing, we
compute relative to the root ("absolute"). At other times, we do one-off
computation which we never want to cache ("temporary clip rects").

This change allows us to cache rects for hit testing, and for
compositing overlap testing. This has huge performance benefits
on some pages (bug 84410).

This change also makes ClipRects not arena-allocated, so we
can use RefPtr<ClipRect>.

No testable behavior change.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::willBeDestroyed): No need for the
explicit clipRects teardown, since clipRects don't need a live
RenderObject for arena-based destruction.

  • rendering/RenderLayer.cpp: Remove arena-related new and delete.

(WebCore::RenderLayer::RenderLayer): No need to explicitly initialize m_clipRects,
since it's an OwnPtr now.
(WebCore::RenderLayer::~RenderLayer): No explicit clipRect teardown required.
(WebCore::RenderLayer::clippingRootForPainting): Renamed to make its purpose
more obvious.
(WebCore::RenderLayer::paintLayer): Use the TemporaryClipRects type when necessary.
(WebCore::RenderLayer::paintLayerContents): Ditto
(WebCore::RenderLayer::hitTestLayer): No longer need to use temporary clipRects when
hit testing since we cache clip rects for hit testing.
(WebCore::RenderLayer::updateClipRects): Take a ClipRectsType and pass it through.
(WebCore::RenderLayer::calculateClipRects): Ditto
(WebCore::RenderLayer::parentClipRects): Ditto
(WebCore::RenderLayer::backgroundClipRect): Ditto
(WebCore::RenderLayer::calculateRects): Take ClipRectsType, which obviates temporaryClipRects.
(WebCore::RenderLayer::childrenClipRect): Use clippingRootForPainting().
(WebCore::RenderLayer::selfClipRect): Ditto
(WebCore::RenderLayer::localClipRect): Ditto
(WebCore::RenderLayer::clearClipRectsIncludingDescendants): Take a type of clip rect to clear
(include all). Allows us to just clear painting clip rects.
(WebCore::RenderLayer::clearClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRects::create): We don't use RefCounted<> in order to use a bit in
the refCount for a flag. Add create() method.
(WebCore::ClipRects::deref): No longer arena-allocated.
(WebCore::ClipRectsCache::ClipRectsCache): Struct that holds a small
array of the 3 types of clipRects (and, in debug, the layer relative
to which they were computed).
(WebCore::RenderLayer::clipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds): Use AbsoluteClipRects; rootLayer
is always the RenderView's layer here.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use TemporaryClipRects.
(WebCore::RenderLayerBacking::setRequiresOwnBackingStore): When this variable changes,
we need to invalidate painting clipRects, since it affects the ancestor relative to which
those rects are computed.

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking): When the composited state
of a layer changes, we have to clear all descendant clip rects, since this
can affect the layers relative to which clip rects are computed.
(WebCore::RenderLayerCompositor::addToOverlapMap): Use AbsoluteClipRects.
(WebCore::RenderLayerCompositor::computeCompositingRequirements): No need
to call updateLayerPosition(), since that should have always happened after
layout. That call cleared clip rects, so removing it is very beneficial.
(WebCore::RenderLayerCompositor::clippedByAncestor): Use TemporaryClipRects.

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers): Use TemporaryClipRects.

2:14 PM Changeset in webkit [118561] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Pasting into contenteditable table cell pastes into adjacent cell instead.
https://bugs.webkit.org/show_bug.cgi?id=53933

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-05-25
Reviewed by Darin Adler.

This bug has been fixed. Add a test to make sure that it won't regress.

  • editing/pasteboard/paste-into-table-cell-2-expected.txt: Added.
  • editing/pasteboard/paste-into-table-cell-2.html: Added.
2:09 PM Changeset in webkit [118560] by beidson@apple.com
  • 4 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=87418
WebBackForwardList should separate "has no current index" from the integer value of the current index

This patch also renames "m_current" to "m_currentIndex" for clarity and symmetry with
other variable names that reference "index",

It also removes the m_closed and m_enabled flags which were never actually used.

Reviewed by Darin Adler.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::WebBackForwardList):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::currentItem):
(WebKit::WebBackForwardList::backItem):
(WebKit::WebBackForwardList::forwardItem):
(WebKit::WebBackForwardList::itemAtIndex):
(WebKit::WebBackForwardList::backListCount):
(WebKit::WebBackForwardList::forwardListCount):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::clear):

  • UIProcess/WebBackForwardList.h:

(WebKit::WebBackForwardList::currentIndex):
(WebBackForwardList):

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):

2:07 PM Changeset in webkit [118559] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=87529
Background tabs hosted in window server flash before painting
when they first become active

Reviewed by Anders Carlsson.

Initialize to LayerHostingModeInWindowServer if that is
available to avoid having to re-make the context and re-set
everything later on.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

2:00 PM Changeset in webkit [118558] by jsbell@chromium.org
  • 1 edit
    6 deletes in trunk/LayoutTests

[Chromium] Remove 6 incorrect baselines from http://trac.webkit.org/changeset/117821/

Unreviewed gardening.

  • platform/chromium-win/fast/viewport/viewport-126-expected.txt: Removed.
  • platform/chromium-win/fast/viewport/viewport-127-expected.txt: Removed.
  • platform/chromium-win/fast/viewport/viewport-65-expected.txt: Removed.
  • platform/chromium-win/fast/viewport/viewport-82-expected.txt: Removed.
  • platform/chromium-win/fast/viewport/viewport-84-expected.txt: Removed.
  • platform/chromium-win/fast/viewport/viewport-87-expected.txt: Removed.
1:48 PM Changeset in webkit [118557] by dpranke@chromium.org
  • 6 edits in trunk/Tools

webkitpy: change scm.add(), scm.delete() to accept multiple paths
https://bugs.webkit.org/show_bug.cgi?id=87528

Reviewed by Ojan Vafai.

launching git or svn for individual files can be slow; this
change will hand multiple paths at once to git and svn so they
can be added in a batch.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.add_list):
(Git.delete_list):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.add):
(SCM):
(SCM.add_list):
(SCM.delete):
(SCM.delete_list):

  • Scripts/webkitpy/common/checkout/scm/scm_mock.py:

(MockSCM.add):
(MockSCM):
(MockSCM.add_list):
(MockSCM.delete):
(MockSCM.delete_list):

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

(_shared_test_exists):
(_shared_test_added_files):
(_test_delete_list):

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.add_list):
(SVN.delete_list):

1:28 PM Changeset in webkit [118556] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

2012-05-25 Jessie Berlin <jberlin@apple.com>

Web Timing is not enabled on Windows
https://bugs.webkit.org/show_bug.cgi?id=42435

Add the fast/performance tests to the Windows Skipped list.

  • platform/win/Skipped:
1:19 PM Changeset in webkit [118555] by fpizlo@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

DFG ConvertThis should just be a CheckStructure if the structure is known
https://bugs.webkit.org/show_bug.cgi?id=87057

Reviewed by Gavin Barraclough.

Merged r118021 from dfgopt.

This gives ValueProfile the ability to track singleton values - i.e. profiling
sites that always see the same value.

That is then used to profile the structure in op_convert_this.

This is then used to optimize op_convert_this into a CheckStructure if the
structure is always the same.

That then results in better CSE in inlined code that uses 'this', since
previously we couldn't CSE accesses on 'this' from different inline call frames.

Also fixed a bug where we were unnecessarily flushing 'this'.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):
(JSC::CodeBlock::stronglyVisitStrongReferences):

  • bytecode/LazyOperandValueProfile.cpp:

(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):

  • bytecode/LazyOperandValueProfile.h:

(CompressedLazyOperandValueProfileHolder):

  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::ValueProfileBase):
(JSC::ValueProfileBase::dump):
(JSC::ValueProfileBase::computeUpdatedPrediction):
(ValueProfileBase):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::parseBlock):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_convert_this):
(JSC::JIT::emitSlow_op_convert_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_convert_this):
(JSC::JIT::emitSlow_op_convert_this):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSValue.h:

(JSValue):

  • runtime/Structure.h:

(JSC::JSValue::structureOrUndefined):
(JSC):

1:11 PM Changeset in webkit [118554] by jhoneycutt@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

2012-05-25 Jessie Berlin <jberlin@apple.com>

File API is not yet supported on Windows
https://bugs.webkit.org/show_bug.cgi?id=37957

Add platform specific results for a test that attempts to use the FileReaderConstructor.

  • platform/win/fast/dom/call-a-constructor-as-a-function-expected.txt: Added.
1:02 PM Changeset in webkit [118553] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r112155.
http://trac.webkit.org/changeset/112155
https://bugs.webkit.org/show_bug.cgi?id=79389
Hitch (due to style recalc?) when starting CSS3 animation

This caused a number of issues, including:
https://bugs.webkit.org/show_bug.cgi?id=87146
https://bugs.webkit.org/show_bug.cgi?id=84194
<rdar://problem/11506629>
<rdar://problem/11267408>
<rdar://problem/11531859>

  • dom/Element.cpp:

(WebCore::Element::recalcStyle):

12:50 PM Changeset in webkit [118552] by hyatt@apple.com
  • 8 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=87525

For the new multi-column layout, create a flow thread and make sure the children get put inside it.

Reviewed by Eric Seidel.

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::addChild):
(WebCore):

  • rendering/RenderMultiColumnBlock.h:

(WebCore):
(RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::flowThread):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::~RenderMultiColumnFlowThread):
(WebCore):

  • rendering/RenderMultiColumnFlowThread.h:

(RenderMultiColumnFlowThread):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderObject.h:

(RenderObject):
(WebCore::RenderObject::isRenderMultiColumnSet):

12:40 PM Changeset in webkit [118551] by eae@chromium.org
  • 4 edits in trunk/Source/WebCore

Change RenderBoxModelObject to compute relativePositionOffset as size
https://bugs.webkit.org/show_bug.cgi?id=87447

Reviewed by Eric Seidel.

Compute relativePositionOffset as size instead of doing one axis at a
time as all call sites uses the size version of the method. This avoids
having to walk the DOM twice to accumulate the offsets.

Also remove the relativePositionOffsetX and Y methods as they are no
longer used.

No new tests, covered by existing tests.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::accumulateRelativePositionOffsets):
(WebCore::RenderBoxModelObject::relativePositionOffset):

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

12:40 PM Changeset in webkit [118550] by zandobersek@gmail.com
  • 2 edits in trunk

configure.ac has duplicated AC_MSG_RESULT([$enable_sandbox]) and nothing for seamless iframes
https://bugs.webkit.org/show_bug.cgi?id=87453

Reviewed by Eric Seidel.

Report the value of $enable_iframe_seamless rather than $enable_sandbox
after checking whether to enable the iframe seamless option.

  • configure.ac:
12:38 PM WebKit Team edited by Dave Barton
(diff)
12:21 PM Changeset in webkit [118549] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r118395.
http://trac.webkit.org/changeset/118395
https://bugs.webkit.org/show_bug.cgi?id=87526

Breaking sites including GMail and Yahoo mail (Requested by
jsbell on #webkit).

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

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseMargins):

LayoutTests:

  • fast/css/clear-float-sibling-expected.html: Removed.
  • fast/css/clear-float-sibling.html: Removed.
12:06 PM Changeset in webkit [118548] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Skip the Network Information tests on Windows.

  • platform/win/Skipped:
12:05 PM Changeset in webkit [118547] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[NRWT] Add unit testing for perf tests on locked shards
https://bugs.webkit.org/show_bug.cgi?id=87489

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-25
Reviewed by Dirk Pranke.

Adding utests that makes sure that perf tests are running in locked
shards and by passing --no-http won't break NRWT (r118421).

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ShardingTests):
(ShardingTests.test_shard_by_dir):
(ShardingTests.test_shard_every_file):
(ShardingTests.test_shard_in_two):
(ShardingTests.test_multiple_locked_shards):
(LockCheckingManager):
(LockCheckingManager.init):
(LockCheckingManager.handle_finished_list):
(ManagerTest.test_http_locking):
(ManagerTest):
(ManagerTest.test_perf_locking):

  • Scripts/webkitpy/layout_tests/port/test.py:
12:04 PM Changeset in webkit [118546] by jsbell@chromium.org
  • 1 edit
    2 deletes in trunk/LayoutTests

[Chromium] Remove 2 incorrect rebaselines from http://trac.webkit.org/changeset/117818/

Unreviewed gardening.

  • platform/chromium-mac/canvas/philip/tests/2d.imageData.create1.type-expected.txt: Removed.
  • platform/chromium-mac/canvas/philip/tests/2d.imageData.create2.type-expected.txt: Removed.
11:48 AM Changeset in webkit [118545] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Skip more WebGL tests on Windows.

  • platform/win/Skipped:
11:36 AM Changeset in webkit [118544] by zandobersek@gmail.com
  • 2 edits in trunk

[Gtk] Remove configuration options that do not apply anymore
https://bugs.webkit.org/show_bug.cgi?id=87509

Reviewed by Martin Robinson.

Remove configuration options for enabling or disabling HTML5 datagrid,
DOM storage, image resizer API and sandboxed iframe support. These
features were either turned on by default with the feature defines
removed from the code or removed from the source.

  • configure.ac:
11:24 AM Changeset in webkit [118543] by epoger@chromium.org
  • 13 edits
    2 adds
    8 deletes in trunk/LayoutTests

New baselines for http://crbug.com/129184

Unreviewed rebaselining.

Patch by Elliot Poger <epoger@chromium.org> on 2012-05-25

  • platform/chromium-linux/svg/filters/subRegion-one-effect-expected.png:
  • platform/chromium-linux/svg/filters/subRegion-two-effects-expected.png:
  • platform/chromium-linux/svg/transforms/svg-css-transforms-expected.png:
  • platform/chromium-linux/transforms/svg-vs-css-expected.png:
  • platform/chromium-mac/svg/filters/subRegion-one-effect-expected.png:
  • platform/chromium-mac/svg/filters/subRegion-two-effects-expected.png:
  • platform/chromium-mac/svg/transforms/svg-css-transforms-expected.png:
  • platform/chromium-mac/transforms/svg-vs-css-expected.png:
  • platform/chromium-win/svg/filters/subRegion-one-effect-expected.png:
  • platform/chromium-win/svg/filters/subRegion-two-effects-expected.png:
  • platform/chromium-win/svg/transforms/svg-css-transforms-expected.png:
  • platform/chromium-win/transforms/svg-vs-css-expected.png:
  • platform/efl/svg/filters/subRegion-one-effect-expected.txt: Removed.
  • platform/efl/svg/filters/subRegion-two-effects-expected.txt: Removed.
  • platform/gtk/svg/filters/subRegion-one-effect-expected.txt: Removed.
  • platform/gtk/svg/filters/subRegion-two-effects-expected.txt: Removed.
  • platform/mac/svg/filters/subRegion-one-effect-expected.txt: Removed.
  • platform/mac/svg/filters/subRegion-two-effects-expected.txt: Removed.
  • platform/qt/svg/filters/subRegion-one-effect-expected.txt: Removed.
  • platform/qt/svg/filters/subRegion-two-effects-expected.txt: Removed.
  • svg/filters/subRegion-one-effect-expected.txt: Added.
  • svg/filters/subRegion-two-effects-expected.txt: Added.
11:01 AM Changeset in webkit [118542] by kenrb@chromium.org
  • 2 edits in trunk/Source/WebCore

Layout root not getting cleared for anonymous renderers geting destroyed
https://bugs.webkit.org/show_bug.cgi?id=84002

Reviewed by Abhishek Arya.

This is a follow-up to r109406, which added a check to clear layout
roots when they point to a renderer that is being destroyed. The
thinking was that layout roots would never be anonymous renderers,
but there are some cases where this is not true (in particular,
generated content containers with overflow clips can be layout roots).

As in r109406, this patch has no layout test. This is because any test
that exercises this behavior is caused by an existing layout bug where
a child is not properly getting layout (or a renderer is getting dirtied
out of order during layout) and will fail multiple ASSERTs:

in particular, ASSERT(!m_layoutRoot->container()
!m_layoutRoot->

container()->needsLayout()) in FrameView::scheduleRelayoutOfSubtree(),
and ASSERT_NOT_REACHED() in RenderObject::clearLayoutRootIfNeeded().
We are preventing those bugs from manifesting as security issues with
this patch.

This also removes an ASSERT from the RenderObject destructor. This is
redundant with the condition in RenderObject::clearLayoutRootIfNeeded()
which is always called in RenderObject::willBeDestroyed(), so the check
is not needed. It had to be removed because it fails when I try to
adjust the ASSERT condition by removing the !node()
check, due to RenderWidget clearing its node() during destruction.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::~RenderObject):
(WebCore::RenderObject::willBeDestroyed):

10:47 AM Changeset in webkit [118541] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Implement LayoutTest's eventSender.beginDragWithFiles interface in windows platform
https://bugs.webkit.org/show_bug.cgi?id=86296

Add more affected tests to the Windows Skipped list.

  • platform/win/Skipped:
10:47 AM Changeset in webkit [118540] by jberlin@webkit.org
  • 2 edits in trunk/Tools

[Win] fast/events/keydown-leftright-keys.html failing since introduction in r118001
https://bugs.webkit.org/show_bug.cgi?id=87511

Reviewed by Alexey Proskuryakov.

Update the Windows implementation of keyDown to match the Mac one changed in r118001.

  • DumpRenderTree/win/EventSender.cpp:

(keyDownCallback):

10:28 AM Changeset in webkit [118539] by kenrb@chromium.org
  • 2 edits in trunk/Tools

Adding Ken Buchanan to committers.py
https://bugs.webkit.org/show_bug.cgi?id=87443

Unreviewed.

Adding self to committers.py as a Committer.

  • Scripts/webkitpy/common/config/committers.py:
10:26 AM Changeset in webkit [118538] by apavlov@chromium.org
  • 5 edits in trunk

Web Inspector: Hangup when continuously changing a css width value in Inspector
https://bugs.webkit.org/show_bug.cgi?id=85802

Reviewed by Vsevolod Vlasov.

Source/WebCore:

An error in the property whitespace prefix detection algorithm would append the previous line trailing whitespace,
thereby enormously increasing the actual prefix during multiple incremental property changes.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):

LayoutTests:

  • inspector/styles/styles-formatting-expected.txt:
  • inspector/styles/styles-formatting.html:
10:24 AM Changeset in webkit [118537] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Widen CRASH expectation for visibility-simple-canvas2d-layer.html to include Mac10.6.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
10:14 AM Changeset in webkit [118536] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Remove/restore test expectations for html5lib tests.
https://bugs.webkit.org/show_bug.cgi?id=87275

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
10:08 AM Changeset in webkit [118535] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Remove test expectation for video-cookie.html now that the issue
is fixed on the Chromium side.
https://bugs.webkit.org/show_bug.cgi?id=87459

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
9:44 AM Changeset in webkit [118534] by jberlin@webkit.org
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove the Windows platform-specific results for window-domurl-crash.

r115582 changed this test to use Blob instead of WebKitBlobBuilder, so the fact that Windows
doesn't support WebKitBlobBuilder no longer affects this test.

  • platform/chromium-win/fast/dom/window-domurl-crash-expected.txt: Removed.
  • platform/win/fast/dom/window-domurl-crash-expected.txt: Removed.
9:24 AM Changeset in webkit [118533] by apavlov@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Clean up Inspector.json after r118367
https://bugs.webkit.org/show_bug.cgi?id=87499

Reviewed by Yury Semikhatsky.

This cleans up the semantic inconsistencies introduced into type/field names r118367.

No new tests, as this is a refactoring.

  • inspector/Inspector.json:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):

  • inspector/InspectorCSSAgent.h:

(InspectorCSSAgent):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(InspectorStyleSheet):
(WebCore::InspectorStyleSheet::canBind):
(InspectorStyleSheetForInlineStyle):

9:23 AM Changeset in webkit [118532] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/test_expectations.txt:
9:19 AM Changeset in webkit [118531] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed; rolling chromium deps.

  • DEPS:
8:49 AM Changeset in webkit [118530] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] History navigation caused google.com scale not kept
https://bugs.webkit.org/show_bug.cgi?id=87438

Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 159923
For back/forward history navigation, we were trying to keep the values
set by dispatchViewportDataDidChange. However, when we went back from
the previous page, if the current page didn't contain the meta viewport
tag, then those values set by previous page would never be reset.
Although the current page could get correct saved scale when restoring
view state, the scale would still be clamped by zoomToFitScale which
was based on the virtual viewport of the previous page which could make
the scale incorrect.
Since we know the viewport arguments of the current document before
setLoadState on back/forward history navigation, we can reset these
previous values if the document doesn't have viewport arguments during
setLoadState.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):

8:40 AM Changeset in webkit [118529] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: speed-up HeapSnapshot._bfs method.
https://bugs.webkit.org/show_bug.cgi?id=87502

It had containmentEdges.length call in the loop that forced deoptimization.

Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
(WebInspector.HeapSnapshot.prototype._bfs):

8:32 AM Changeset in webkit [118528] by loislo@chromium.org
  • 4 edits in trunk

Web Inspector: Speed up edges iteration in heap profiler
https://bugs.webkit.org/show_bug.cgi?id=87286

Add an extra node to nodes array that points to the end of edges array.
It allows to eliminate a check for the last node in iteration code.

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-05-25
Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
(WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
(WebInspector.HeapSnapshotNodeIterator):
(WebInspector.HeapSnapshot.prototype._buildRetainers):
(WebInspector.HeapSnapshot.prototype._bfs):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
(WebInspector.HeapSnapshot.prototype._buildDominatorTree):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

LayoutTests:

  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockObject):
(initialize_HeapSnapshotTest.InspectorTest._postprocessHeapSnapshotMock):

8:16 AM Changeset in webkit [118527] by caseq@chromium.org
  • 8 edits
    1 add in trunk/Source/WebCore

Web Inspector: put paint and compositing timeline events in a new category of their own
https://bugs.webkit.org/show_bug.cgi?id=86852

Reviewed by Pavel Feldman.

  • add forth timeline category, "Painting"; make it light-purple;
  • assign paint and compositing events to Painting category;
  • WebCore.gypi: added timelineBarLightPurple.png;
  • inspector/front-end/Images/timelineBarLightPurple.png: Added.
  • inspector/front-end/Images/timelineCheckmarks.png: added light-purple icon;
  • inspector/front-end/Images/timelineDots.png: ditto.
  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): do not merge bars in same raw if these are from different categories;
(WebInspector.TimelineCategoryStrips.prototype.update):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.categories):
(WebInspector.TimelinePresentationModel.recordStyle):

  • inspector/front-end/WebKit.qrc: added timelineBarLightPurple.png;
  • inspector/front-end/timelinePanel.css: added styles for painting category;

(.timeline-category-statusbar-item.timeline-category-painting .timeline-category-checkbox):
(.timeline-category-painting .timeline-graph-bar):
(.popover .timeline-painting):
(.timeline-category-scripting .timeline-tree-icon):
(.timeline-category-rendering .timeline-tree-icon):
(.timeline-category-painting .timeline-tree-icon):

8:04 AM Changeset in webkit [118526] by mary.wu@torchmobile.com.cn
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Pass http headers to loader in download request
https://bugs.webkit.org/show_bug.cgi?id=87449

Reviewed by Rob Buis.

PR# 149283

This is to support byte-range download and we could pass http headers like
"Range" in download request to loader.

Reviewed internally by Lyon Chen.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::download):

7:47 AM Changeset in webkit [118525] by wjmaclean@chromium.org
  • 5 edits in trunk/Source

[chromium] LayerChromium should recognise existing layer active animations when the layer is added.
https://bugs.webkit.org/show_bug.cgi?id=87166

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added.

LayerChromium needs to correctly recognize if a newly added layer has an existing
active animation.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::notifyAnimationFinished):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostTest.cpp:

(WTF::MockLayerTreeHost::didAddAnimationWasCalled):
(MockLayerTreeHost):
(WTF::MockLayerTreeHost::MockLayerTreeHost):
(WTF):
(CCLayerTreeHostTestLayerAddedWithAnimation):
(WTF::CCLayerTreeHostTestLayerAddedWithAnimation::CCLayerTreeHostTestLayerAddedWithAnimation):
(WTF::CCLayerTreeHostTestLayerAddedWithAnimation::beginTest):
(WTF::CCLayerTreeHostTestLayerAddedWithAnimation::afterTest):

7:05 AM Changeset in webkit [118524] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening after r118166, r118291 and r118442.

  • platform/gtk/test_expectations.txt:
6:48 AM Changeset in webkit [118523] by loislo@chromium.org
  • 4 edits in trunk

Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
https://bugs.webkit.org/show_bug.cgi?id=87393

Reviewed by Yury Semikhatsky.

PerformanceTests:

  • inspector/heap-snapshot.html:

Source/WebCore:

  • inspector/front-end/HeapSnapshotDataGrids.js:

(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._aggregatesReceived):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren):

6:45 AM Changeset in webkit [118522] by mario@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebKit2

[GTK][WK2] Implement API for generic permission requests
https://bugs.webkit.org/show_bug.cgi?id=84018

Reviewed by Martin Robinson.

Added new 'permission-request' signal to WebKitWebView, to be
fired when WebKit needs confirmation from the user on whether to
allow or deny certain operations, such as sharing the user's
location with web site through the Geolocation API.

New WebKitPermissionRequest interface, providing allow() and
deny() operations, to be called over the objects implementing it
when emitted along with the new 'permission-request' signal.

  • UIProcess/API/gtk/WebKitPermissionRequest.cpp: Added.

(webkit_permission_request_default_init):
(webkit_permission_request_allow):
(webkit_permission_request_deny):

  • UIProcess/API/gtk/WebKitPermissionRequest.h: Added.

(_WebKitPermissionRequestIface):

  • GNUmakefile.am: Added new files.

Added the new signal to WebKitWebView, providing a default handler
that will just deny the request when the signal is not handled.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewDecidePermissionRequest): Default handler.
(webkit_web_view_class_init): Declare the new signal and connect
to the default handler.
(webkitWebViewMakePermissionRequest): Helper function to create a
make a new permission request and emit the new signal signal.

  • UIProcess/API/gtk/WebKitWebView.h:

(_WebKitWebViewClass):

  • UIProcess/API/gtk/WebKitWebViewPrivate.h: Declare the creational

function webkitWebViewMakePermissionRequest for internal use only.

Updated documentation files.

  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
6:42 AM Changeset in webkit [118521] by loislo@chromium.org
  • 6 edits in trunk

Web Inspector: drop obsolete WebInspector.Uint32Array and adjust snapshot chunk size for better transfer-snapshot metric.
https://bugs.webkit.org/show_bug.cgi?id=87490

Originally WebInspector.Uint32Array was used for dynamic array
reallocation because we had no information about expected arrays sizes.
Now we have these sizes and allocates array precisely.

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • bindings/v8/ScriptHeapSnapshot.cpp:

(WebCore):

  • inspector/front-end/HeapSnapshot.js:
  • inspector/front-end/HeapSnapshotLoader.js:

(WebInspector.HeapSnapshotLoader.prototype._parseUintArray):
(WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):

LayoutTests:

  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest.):

6:10 AM Changeset in webkit [118520] by apavlov@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: cmd-[ shortcut navigates page and is fr-keyboard incompatible
https://bugs.webkit.org/show_bug.cgi?id=85312

Reviewed by Vsevolod Vlasov.

Suppress the handling of panel history navigation events if the corresponding keyboard activities produce
the "keypress" event (which is the case on French keyboards, where AltGr+[ is translated into Ctrl+Alt+[ on Windows).
The event is also told to preventDefault() to avoid browser history navigation on Mac while traversing the Inspector panel history.

  • inspector/front-end/InspectorView.js:

(WebInspector.InspectorView):
(WebInspector.InspectorView.prototype._keyPress):
(WebInspector.InspectorView.prototype._keyDown):
(WebInspector.InspectorView.prototype._keyDownInternal):

  • inspector/front-end/UIUtils.js:

(WebInspector.isWin):

6:08 AM Changeset in webkit [118519] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

2012-05-25 Yury Semikhatsky <yurys@google.com>

Unreviewed. Fixed closure compiler warnings.

  • inspector/front-end/NativeMemorySnapshotView.js: (WebInspector.NativeMemoryProfileType.prototype.buttonClicked): (WebInspector.NativeMemoryProfileHeader.prototype.createView):
6:05 AM Changeset in webkit [118518] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] fix compilation warning in GtkInputMethodFilter.cpp
https://bugs.webkit.org/show_bug.cgi?id=87475

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-25
Reviewed by Martin Robinson.

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::setWidget):

6:04 AM Changeset in webkit [118517] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] fix compilation for webkitwebview.cpp
https://bugs.webkit.org/show_bug.cgi?id=87473

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-25
Reviewed by Martin Robinson.

When ACCELERATED_COMPOSITING and TEXTURE_MAPPER_GL is not set,
the local variable 'priv' won't be used. Therefore the following warning:

../../../Source/WebKit/gtk/webkit/webkitwebview.cpp: In function ‘void webkit_web_view_realize(GtkWidget*)’:
../../../Source/WebKit/gtk/webkit/webkitwebview.cpp:971:27: warning: unused variable ‘priv’ [-Wunused-variable]

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize):

5:54 AM Changeset in webkit [118516] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] fast/forms/color/input-value-sanitization-color.html can be unskipped
https://bugs.webkit.org/show_bug.cgi?id=87487

Unreviewed EFL gardening. Unskip
fast/forms/color/input-value-sanitization-color.html now that
INPUT_TYPE_COLOR flag has been enabled by default for EFL port in
r114113.

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-25

  • platform/efl/Skipped:
5:24 AM Changeset in webkit [118515] by commit-queue@webkit.org
  • 14 edits in trunk/LayoutTests

[EFL] [DRT] Gardening of failing tests and missing results
https://bugs.webkit.org/show_bug.cgi?id=87486

Unreviewed EFL gardening. Some rebaselines after r118448, and updated
expectations for a couple of tests.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-25

  • platform/efl/fast/html/details-position-expected.txt:
  • platform/efl/fast/replaced/width100percent-checkbox-expected.png:
  • platform/efl/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/efl/fast/replaced/width100percent-radio-expected.png:
  • platform/efl/fast/replaced/width100percent-radio-expected.txt:
  • platform/efl/mathml/presentation/fractions-expected.png:
  • platform/efl/mathml/presentation/fractions-expected.txt:
  • platform/efl/mathml/presentation/fractions-vertical-alignment-expected.png:
  • platform/efl/mathml/presentation/fractions-vertical-alignment-expected.txt:
  • platform/efl/mathml/presentation/mo-stretch-expected.png:
  • platform/efl/mathml/presentation/mo-stretch-expected.txt:
  • platform/efl/mathml/presentation/subsup-expected.txt:
  • platform/efl/test_expectations.txt:
5:18 AM Changeset in webkit [118514] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

[Qt] Broken controls rendering when transform is applied.
https://bugs.webkit.org/show_bug.cgi?id=87483

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-05-25
Reviewed by Simon Hausmann.

.:

  • ManualTests/qt/control_paiting_with_transforms.html: Added.

Source/WebCore:

Use only the scaling transform value to determine the size of
the control to be drawn. When other transforms present such as
rotate or skew, ignore them, unless scaling also involved. In
that case, calculate the scaling value out of the transformation.

  • ManualTests/qt/control_paiting_with_transforms.html: Added.
  • platform/qt/RenderThemeQtMobile.cpp:

(WebCore::painterScale):
(WebCore):
(WebCore::StylePainterMobile::sizeForPainterScale):

5:05 AM Changeset in webkit [118513] by caseq@chromium.org
  • 15 edits
    1 add in trunk/Source

[chromium] add instrumentation for compositing
https://bugs.webkit.org/show_bug.cgi?id=83928

Reviewed by James Robinson.

Source/Platform:

  • added willCommit() and didBeginFrame() methods for instrumentation of compositing.
  • chromium/public/WebLayerTreeViewClient.h:

(WebLayerTreeViewClient):

Source/WebCore:

  • plumb willCommit() and didBeginFrame() from CCSingleThreadProxy and CCThreadProxy to inspector instrumentation;
  • note for threaded case, didBeginFrame() is invoked upon unblocking of main thread;
  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHostClient):
(WebCore::CCLayerTreeHost::didBeginFrame):
(WebCore::CCLayerTreeHost::willCommit):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::commitAndComposite):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::beginFrame):

Source/WebKit/chromium:

  • plumb willCommit() and didComposite() to inspector instrumentation via WebViewImpl.
  • WebKit.gypi: Added WebLayerTreeViewTest
  • src/WebLayerTreeViewImpl.cpp:

(WebKit::WebLayerTreeViewImpl::didBeginFrame):
(WebKit):
(WebKit::WebLayerTreeViewImpl::willCommit):

  • src/WebLayerTreeViewImpl.h:

(WebLayerTreeViewImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::didBeginFrame):
(WebKit):
(WebKit::WebViewImpl::willCommit):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/CCLayerTreeHostTest.cpp:
  • tests/FakeCCLayerTreeHostClient.h:
  • tests/WebLayerTest.cpp:
  • tests/WebLayerTreeViewTest.cpp: Added.
4:20 AM Changeset in webkit [118512] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Gardening. Skip a new test: fast/events/domactivate-sets-underlying-click-event-as-handled.html
because it times out on Qt and GTK platforms.

Patch by János Badics <János Badics> on 2012-05-25
Reviewed by Csaba Osztrogonác.

  • platform/qt/Skipped:
3:34 AM Changeset in webkit [118511] by Csaba Osztrogonác
  • 11 edits in trunk

[Qt] Buildfix for newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=87257

Reviewed by Simon Hausmann.

Source/WebKit/qt:

  • Api/qgraphicswebview.h: QtWidgets/qicon.h -> QtGui/qicon.h renaming.
  • Api/qwebframe.h: QtWidgets/qicon.h -> QtGui/qicon.h renaming.
  • Api/qwebhistory.h: QtWidgets/qicon.h -> QtGui/qicon.h renaming.
  • Api/qwebsettings.h: QtWidgets/qicon.h -> QtGui/qicon.h renaming.
  • Api/qwebview.h: QtWidgets/qicon.h -> QtGui/qicon.h renaming.
  • WebCoreSupport/FrameLoaderClientQt.cpp: Adjust QCoreApplication::translate() parameter list to newer Qt 5.

(WebCore::FrameLoaderClientQt::cancelledError):
(WebCore::FrameLoaderClientQt::blockedError):
(WebCore::FrameLoaderClientQt::cannotShowURLError):
(WebCore::FrameLoaderClientQt::interruptedForPolicyChangeError):
(WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
(WebCore::FrameLoaderClientQt::fileDoesNotExistError):
(WebCore::FrameLoaderClientQt::pluginWillHandleLoadError):

  • declarative/experimental/plugin.cpp: QDeclarativeExtensionPlugin -> QQmlExtensionPlugin renaming.
  • declarative/plugin.cpp: QDeclarativeExtensionPlugin -> QQmlExtensionPlugin renaming.

(WebKitQmlPlugin):

Tools:

  • MiniBrowser/qt/MiniBrowserApplication.h: QtDeclarative -> QtQml renaming.
3:23 AM Changeset in webkit [118510] by vsevik@chromium.org
  • 10 edits
    1 delete in trunk/Source/WebCore

Web Inspector: Drop InspectorFileSystemInstrumentation
https://bugs.webkit.org/show_bug.cgi?id=87460

Inspector does not need to track DOMFileSystem object now. So we can
drop InspectorFileSystemInstrumentation.

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-05-25
Reviewed by Vsevolod Vlasov.

  • GNUmakefile.list.am:
  • Modules/filesystem/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::create):

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorFileSystemAgent.cpp:

(WebCore::InspectorFileSystemAgent::enable):

  • inspector/InspectorFileSystemAgent.h:

(InspectorFileSystemAgent):

  • inspector/InspectorFileSystemInstrumentation.h: Removed.
  • inspector/InspectorInstrumentation.cpp:

(WebCore):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):

3:15 AM Changeset in webkit [118509] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: HeapProfiler: speed-up _calculateClassesRetainedSize and _buildAggregates.
https://bugs.webkit.org/show_bug.cgi?id=87482

Engine didn't inline node's classIndex method because the switch statement in it wasn't inlineable.

Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotNode.prototype.classIndex):

3:09 AM Changeset in webkit [118508] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Dodge style recalc when id attribute is overwritten with same value.
<http://webkit.org/b/87211>

Reviewed by Eric Seidel.

Don't force style recalc when the id attribute is set to the same value it already had.
~3.5% improvement on Dromaeo's "dom-attr" locally.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

3:05 AM Changeset in webkit [118507] by kinuko@chromium.org
  • 4 edits in branches/chromium/1132

Merge 118497 - [chromium] DataTransferItem.webkitGetAsEntry() shouldn't be exposed without flag yet
https://bugs.webkit.org/show_bug.cgi?id=87457
BUG=129702
TBR=kinuko@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10448022

3:05 AM Changeset in webkit [118506] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Fix client interface size for WKPageContextMenuClient.
https://bugs.webkit.org/show_bug.cgi?id=87472

Reviewed by Carlos Garcia Campos.

Add correct offset for version 1 and 2 of WKPageContextMenuClient.
Revision 109750 introduces a new API and increases size of interfaceSizesByVersion
but the table is not properly initialized for newly introduced version 2.

  • Shared/APIClientTraits.cpp:

(WebKit):

3:02 AM Changeset in webkit [118505] by kling@webkit.org
  • 3 edits in trunk/Source/WebKit2

Mac bots crashing under PluginInfo destructor.
<http://webkit.org/b/87414>
<rdar://problem/11527172>

Reviewed by Darin Adler.

We can't safely pass WTF::String to another thread without a deref() race,
so pass the PluginInfo vector by pointer instead of by value.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::sendDidGetPlugins):
(WebKit::WebContext::handleGetPlugins):

  • UIProcess/WebContext.h:
2:49 AM Changeset in webkit [118504] by yurys@chromium.org
  • 8 edits
    1 add in trunk/Source/WebCore

Web Inspector: add profile type for native memory snapshots
https://bugs.webkit.org/show_bug.cgi?id=87400

Reviewed by Vsevolod Vlasov.

Introduced new profile type and view classes for native memory snapshots.
All the stuff is hidden behind an experimental setting.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/NativeMemorySnapshotView.js: Added.

(WebInspector.NativeMemorySnapshotView):
(WebInspector.NativeMemorySnapshotView.prototype.dispose):
(WebInspector.NativeMemorySnapshotView.prototype.get statusBarItems):
(WebInspector.NativeMemorySnapshotView.prototype.get profile):
(WebInspector.NativeMemoryProfileType):
(WebInspector.NativeMemoryProfileType.prototype.get buttonTooltip):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
(WebInspector.NativeMemoryProfileType.prototype.get treeItemTitle):
(WebInspector.NativeMemoryProfileType.prototype.get description):
(WebInspector.NativeMemoryProfileType.prototype.createTemporaryProfile):
(WebInspector.NativeMemoryProfileType.prototype.createProfile):
(WebInspector.NativeMemoryProfileHeader):
(WebInspector.NativeMemoryProfileHeader.prototype.createSidebarTreeElement):
(WebInspector.NativeMemoryProfileHeader.prototype.createView):

  • inspector/front-end/ProfilesPanel.js:
  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
2:44 AM Changeset in webkit [118503] by yurys@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: make some profiler methods private
https://bugs.webkit.org/show_bug.cgi?id=87479

Reviewed by Vsevolod Vlasov.

  • Removed unused methods.
  • Renamed private methods so that their names start with underscore.
  • ProfileLauncherView methods are called directly from ProfilesPanel instead of sending events.
  • inspector/front-end/CPUProfileView.js:
  • inspector/front-end/CSSSelectorProfileView.js:

(WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
(WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
(WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):

  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView.prototype.profileStarted):
(WebInspector.ProfileLauncherView.prototype.profileFinished):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfileType.prototype.createProfile):
(WebInspector.ProfilesPanel.prototype.toggleRecordButton):
(WebInspector.ProfilesPanel.prototype._reset):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
(WebInspector.ProfilesPanel.prototype._populateProfiles):
(WebInspector.ProfilesPanel.prototype.setRecordingProfile):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot.done):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):

2:41 AM Changeset in webkit [118502] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][DRT] Gardening. fast/events/option-tab.html does not pass
https://bugs.webkit.org/show_bug.cgi?id=87471

Unreviewed. fast/events/option-tab.html should not pass as the
EFL port uses different keyboard accelerators than Safari (via Chromium).

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-25

  • platform/efl/test_expectations.txt:
2:30 AM Changeset in webkit [118501] by keishi@webkit.org
  • 3 edits
    2 adds in trunk

Bad checkValidity result on recently "enabled" form fields
https://bugs.webkit.org/show_bug.cgi?id=85704

Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/forms/disabled-attr-checkvalidity.html

We were tripping on the assertion m_isValid == validity()->valid()
inside HTMLFormControlElement::isValidFormControlElement.
m_isValid was becoming stale because setNeedsValidityCheck wasn't called
after m_willValidate changed.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::willValidate): We used const_cast
because it was too difficult to remove const. We are checking if the
value from willValidate has changed to avoid an infinite loop.
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):

LayoutTests:

  • fast/forms/disabled-attr-checkvalidity-expected.txt: Added.
  • fast/forms/disabled-attr-checkvalidity.html: Added.
2:28 AM Changeset in webkit [118500] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening after r118448. Added rebaseline to 2 tests on Qt platform that
had 1 pixel differences because of rounding mistakes.

Patch by János Badics <János Badics> on 2012-05-25

  • platform/qt/fast/html/details-position-expected.txt:
  • platform/qt/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
2:21 AM Changeset in webkit [118499] by rniwa@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Pasting text in input field is not available if <body> has visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=66754

Reviewed by Kent Tamura.

Add a regression test since this bug has been fixed by r99076.

  • editing/pasteboard/input-with-visibility-hidden-expected.txt: Copied from input-with-display-none-div-expected.txt.
  • editing/pasteboard/input-with-visibility-hidden.html: Copied from input-with-display-none-div.html.
2:21 AM Changeset in webkit [118498] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Pull in Android tools from Chromium's repo through the DEPS file
https://bugs.webkit.org/show_bug.cgi?id=87478

Reviewed by Kent Tamura.

Chromium's r122048 added the forwarder tool, which forwards a TCP port
listening on the device to a port on the host. This now is a required
dependency of DumpRenderTree, so pull it in.

Since it's likely that more tools will be required, pull in the entire
tools/android/ directory in case the Chromium port for Android is being
checked out or updated.

  • DEPS: Added Android-specific dependency on tools/android/
2:13 AM Changeset in webkit [118497] by kinuko@chromium.org
  • 4 edits in trunk

[chromium] DataTransferItem.webkitGetAsEntry() shouldn't be exposed without flag yet
https://bugs.webkit.org/show_bug.cgi?id=87457

Reviewed by Kent Tamura.

Source/WebCore:

No new tests, marking some tests SKIP as we stop exposing this by default.

  • Modules/filesystem/DataTransferItemFileSystem.idl: Removed webkitGetAsEntry

LayoutTests:

  • platform/chromium/test_expectations.txt: Marking tests using webkitGetAsEntry SKIP
2:01 AM Changeset in webkit [118496] by loislo@chromium.org
  • 2 edits in trunk/PerformanceTests

Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
https://bugs.webkit.org/show_bug.cgi?id=87476

The time tracking wrappers were attaching on each run.

Reviewed by Yury Semikhatsky.

  • inspector/heap-snapshot.html:
1:51 AM Changeset in webkit [118495] by commit-queue@webkit.org
  • 6 edits in trunk

RadioNodeList does not include a object element
https://bugs.webkit.org/show_bug.cgi?id=87371

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-05-25
Reviewed by Kent Tamura.

Source/WebCore:

As per spec http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#category-listed
Object element should also be listed in RadioNodeList object.

Updated existing test.

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
Compares if test element's name/id and form matches that of the RadioNodeList filter.
(WebCore::RadioNodeList::nodeMatches):
Added support for Object element, check if object elements name/id matches the RadioNodeList filter.

  • html/RadioNodeList.h:

(RadioNodeList): Ditto

LayoutTests:

  • fast/forms/form-collection-radio-node-list-expected.txt:
  • fast/forms/form-collection-radio-node-list.html:

Updated test to include test for object element.

1:41 AM Changeset in webkit [118494] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] Unreviewed fix after r118484.

Enable CSS_EXCLUSIONS and CSS_REGIONS.
They were enabled uncoditinally before r118484.

  • qmake/mkspecs/features/features.pri:
1:29 AM Changeset in webkit [118493] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[Qt][WK2] Fix failing qmltests::FitToView::test_basic()
https://bugs.webkit.org/show_bug.cgi?id=87236

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-05-25
Reviewed by Kenneth Rohde Christiansen.

Rename contentViewportChanged to informVisibleContentChange() to
reflect its functionality better. Centralize m_hadUserInteraction flag
setting and add assertions on it to ensure that designated
functions are called only on user interaction.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange):
(QQuickWebViewFlickablePrivate::_q_resume):

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

(QQuickWebViewPrivate::_q_onInformVisibleContentChange):
(QQuickWebViewFlickablePrivate):

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::touchBegin):
(WebKit::QtViewportInteractionEngine::focusEditableArea):
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):

  • UIProcess/qt/QtViewportInteractionEngine.h:

(QtViewportInteractionEngine):

1:09 AM Changeset in webkit [118492] by caseq@chromium.org
  • 4 edits in trunk

Web Inspector: Resource object has no methods getContent and setContent
https://bugs.webkit.org/show_bug.cgi?id=87424

Source/WebCore:

This fixes the extension API so that it uses the new Resource()
constructor, which adds the missing getContent and setContent
methods to a Resource object.

Patch by Jan Keromnes <janx@linux.com> on 2012-05-25
Reviewed by Vsevolod Vlasov.

The tests were fixed accordingly in:
LayoutTests/inspector/extensions/extensions-resources-expected.txt

  • inspector/front-end/ExtensionAPI.js:

(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):

LayoutTests:

This fixes the expected test result for handleOpenResource(), see fix
for bug #87424 in Source/WebCore/inspector/front-end/ExtensionAPI.js.

Patch by Jan Keromnes <janx@linux.com> on 2012-05-25
Reviewed by Vsevolod Vlasov.

  • inspector/extensions/extensions-resources-expected.txt:
1:00 AM Changeset in webkit [118491] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/efl

[EFL] API for PageGroup visited links hash populating
https://bugs.webkit.org/show_bug.cgi?id=86370

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-25
Reviewed by Kenneth Rohde Christiansen.

Added "populate,visited,links" ewk_view signal that tells to the client managing
persistent history storage to fill the visited links cache.
Added API for the PageGroup visited links hash populating.

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::populateVisitedLinks): Implementation added (sends notification).
(WebCore):

  • WebCoreSupport/ChromeClientEfl.h:

(ChromeClientEfl):

  • ewk/ewk_view.cpp:

(_Ewk_View_Private_Data):
(ewk_view_visited_link_add): PageGroup visited links hash populating.

  • ewk/ewk_view.h:
12:56 AM Changeset in webkit [118490] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r118461.
http://trac.webkit.org/changeset/118461
https://bugs.webkit.org/show_bug.cgi?id=87468

Breaks two chromium browser_tests. (Requested by vsevik on
#webkit).

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

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::resize):

12:41 AM Changeset in webkit [118489] by vsevik@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed chromium test expectations rebaseline.

  • platform/chromium-mac-leopard/editing/spelling/grammar-markers-expected.png: Added.
  • platform/chromium-mac-snowleopard/editing/spelling/grammar-markers-expected.png: Added.
  • platform/chromium-mac/editing/spelling/grammar-markers-expected.png: Added.
  • platform/chromium-win/editing/spelling/grammar-markers-expected.png: Added.
12:31 AM Changeset in webkit [118488] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, unskip now passing tests.

  • platform/qt/Skipped:
12:26 AM Changeset in webkit [118487] by commit-queue@webkit.org
  • 2 edits
    8 adds in trunk/LayoutTests

Add tests for JPEG and PNG images with a non-generic RGB color profile
https://bugs.webkit.org/show_bug.cgi?id=87437

No layout test currently covers a color transform except for the no-op case of a
Generic RGB profile (image) -> Generic RGB profile (screen) color transform. Add
tests for JPEG and PNG images with a non-identity color correction transform, in
particular, use test images with a (non-generic) RGB color profile.

Patch by Tony Payne <tpayne@chromium.org> on 2012-05-25
Reviewed by Kent Tamura.

  • fast/images/jpeg-with-color-profile-expected.txt: Added.
  • fast/images/jpeg-with-color-profile.html: Added.
  • fast/images/png-with-color-profile-expected.txt: Added.
  • fast/images/png-with-color-profile.html: Added.
  • fast/images/resources/red-at-12-oclock-with-color-profile.jpg: Added. The image

has an RGB color profile (non-generic). If color correction is correctly applied,
the image red sector appears at the 12 o'clock position. If color correction fails,
the red sector appears at 4 o'clock.

  • fast/images/resources/red-at-12-oclock-with-color-profile.png: Added, and ditto

for the expected image red sector position and image color profile type.

  • platform/chromium/test_expectations.txt: Add MISSING expectations.
  • platform/mac-snowleopard/fast/images/jpeg-with-color-profile-expected.png: Added.
  • platform/mac-snowleopard/fast/images/png-with-color-profile-expected.png: Added.
12:22 AM Changeset in webkit [118486] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, unskip a now passing test.

  • platform/qt/Skipped:
12:10 AM Changeset in webkit [118485] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Unskip a passing test and mark it as SLOW.

  • platform/qt/Skipped:
  • platform/qt/test_expectations.txt:

May 24, 2012:

11:53 PM Changeset in webkit [118484] by timothy_horton@apple.com
  • 40 edits in trunk

Add feature defines for web-facing parts of CSS Regions and Exclusions
https://bugs.webkit.org/show_bug.cgi?id=87442
<rdar://problem/10887709>

Reviewed by Dan Bernstein.

  • configure.ac:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am:
  • bindings/generic/RuntimeEnabledFeatures.cpp:
  • bindings/generic/RuntimeEnabledFeatures.h:

(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
(WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/objc/DOMCSS.mm:

(kitClass):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isSimpleLengthPropertyID):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::detectAtToken):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSRule.cpp:

(WebCore::CSSRule::cssText):
(WebCore::CSSRule::destroy):
(WebCore::CSSRule::reattach):

  • css/CSSRule.h:

(WebCore::CSSRule::isRegionRule):

  • css/CSSRule.idl:
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):

  • css/WebKitCSSRegionRule.cpp:
  • css/WebKitCSSRegionRule.h:
  • css/WebKitCSSRegionRule.idl:
  • dom/Document.cpp:
  • dom/Document.h:
  • dom/Document.idl:
  • page/DOMWindow.idl:
  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setCSSRegionsEnabled):
(WebCore::Settings::cssRegionsEnabled):

  • features.gypi:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Scripts/webkitperl/FeatureList.pm:
11:52 PM Changeset in webkit [118483] by ggaren@apple.com
  • 18 edits in trunk/Source

WebKit should be lazy-finalization-safe (esp. the DOM)
https://bugs.webkit.org/show_bug.cgi?id=87456

Reviewed by Filip Pizlo.

../JavaScriptCore:

Lazy finalization adds one twist to weak pointer use:

A HashMap of weak pointers may contain logically null entries.
(Weak pointers behave as-if null once their payloads die.)
Insertion must not assume that a pre-existing entry is
necessarily valid, and iteration must not assume that all
entries can be dereferenced.

(Previously, I thought that it also added a second twist:

A demand-allocated weak pointer may replace a dead payload
before the payload's finalizer runs. In that case, when the
payload's finalizer runs, the payload has already been
overwritten, and the finalizer should not clear the payload,
which now points to something new.

But that's not the case here, since we cancel the old payload's
finalizer when we over-write it. I've added ASSERTs to verify this
assumption, in case it ever changes.)

  • API/JSClassRef.cpp:

(OpaqueJSClass::prototype): No need to specify null; that's the default.

  • API/JSWeakObjectMapRefPrivate.cpp: Use remove, since take() is gone.
  • heap/PassWeak.h:

(WeakImplAccessor::was): This is no longer a debug-only function, since
it's required to reason about lazily finalized pointers.

  • heap/Weak.h:

(JSC::weakAdd):
(JSC::weakRemove):
(JSC::weakClear): Added these helper functions for the common idioms of
what clients want to do in their weak pointer finalizers.

  • jit/JITStubs.cpp:

(JSC::JITThunks::hostFunctionStub): Use the new idioms. Otherwise, we
would return NULL for a "zombie" executable weak pointer that was waiting
for finalization (item (2)), and finalizing a dead executable weak pointer
would potentially destroy a new, live one (item (1)).

  • runtime/RegExpCache.cpp:

(JSC::RegExpCache::lookupOrCreate):
(JSC::RegExpCache::finalize): Ditto.

(JSC::RegExpCache::invalidateCode): Check for null while iterating. (See
item (2).)

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::contains):
(JSC::StructureTransitionTable::add): Use get and set instead of add and
contains, since add and contains are not compatible with lazy finalization.

  • runtime/WeakGCMap.h:

(WeakGCMap):
(JSC::WeakGCMap::clear):
(JSC::WeakGCMap::remove): Removed a bunch of code that was incompatible with
lazy finalization because I didn't feel like making it compatible, and I had
no way to test it.

../WebCore:

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::JSStringOwner::finalize):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsStringSlowCase):

  • bindings/js/JSDOMBinding.h:

(WebCore::cacheWrapper):
(WebCore::uncacheWrapper): Use the new idioms.

(WebCore::jsString): Use get instead of find because get is simpler in
the case of entries that are logically null.

(WebCore::domObjectWrapperMapFor): Removed, since it was unused.

  • bindings/js/ScriptWrappable.h:

(WebCore::ScriptWrappable::clearWrapper): Use the new idioms.

  • bridge/runtime_root.cpp:

(JSC::Bindings::RootObject::invalidate): Check for null while iterating,
since that's possible now.

(JSC::Bindings::RootObject::addRuntimeObject):
(JSC::Bindings::RootObject::removeRuntimeObject):
(JSC::Bindings::RootObject::finalize): Use the new idioms.

  • bridge/runtime_root.h:

(RootObject): Clarified the word "need".

../WebKit2:

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use the new idioms.

(WebKit::NPRuntimeObjectMap::invalidate): Check for null while iterating,
since that's possible now.

(WebKit::NPRuntimeObjectMap::finalize): Use the new idioms.

11:50 PM Changeset in webkit [118482] by tkent@chromium.org
  • 15 edits
    4 copies
    2 adds in trunk

PAGE_POPUP: window.setValueAndClosePopup should be moved to a
per-context property of DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=87086

Reviewed by Adam Barth.

.:

  • ManualTests/forms/calendar-picker.html:

Introduce pseudo window.pagePopupController.

Source/WebCore:

  • Introduce window.pagePagePopupController property as V8EnabledPerContext.
  • Move window.setValueAndClosePopup() to window.pagePopupController.

So, we can remove ad-hoc ScriptController::installFunctionsForPagePopup().

No behavior change.

Test: fast/forms/date/no-page-popup-controller.html

  • Resources/calendarPicker.js:

(submitValue): Use window.pagePopupController.
(handleCancel): ditto.

  • WebCore.gypi: Add new files.
  • bindings/generic/ContextEnabledFeatures.cpp:

(WebCore::ContextEnabledFeatures::pagePopupEnabled): Added.

  • bindings/generic/ContextEnabledFeatures.h:

(ContextEnabledFeatures): Added.

  • bindings/v8/ScriptController.cpp: Remove installFunctionsForPagePopup().
  • bindings/v8/ScriptController.h: ditto.
  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::allowPagePopup): Added.

  • page/DOMWindowPagePopup.cpp:

(WebCore::DOMWindowPagePopup::DOMWindowPagePopup):
Creates a PagePopupController object for the specified PagePopupClient.
(WebCore::DOMWindowPagePopup::~DOMWindowPagePopup):
Empty destructor to generate the RefPtr<PagePopupController> destructor.
(WebCore::DOMWindowPagePopup::pagePopupController):

  • page/DOMWindowPagePopup.h:

(DOMWindowPagePopup):

  • Remove setValueAndClosePopup()
  • Add pagePopupController()
  • Change the data member from PagePopupClient to PagePopupController.
  • page/DOMWindowPagePopup.idl: Supply per-context window.pagePopupController.
  • page/PagePopupController.cpp: Added. This object is attached to window.
  • page/PagePopupController.h: ditto.
  • page/PagePopupController.idl: ditto.

Source/WebKit/chromium:

  • src/WebPagePopupImpl.cpp:

(WebKit): Add PagePopupFrameLoaderClient, which allows window.pagePopupController.
(WebKit::WebPagePopupImpl::initPage):

  • Use PagePopupFrameLoaderClient
  • Remove the call of ScriptController::installFunctionsForPagePopup().
  • Call DOMWindowPagePopup::install() to inform m_popupClient to a DOMWindowPagePopup object for the DOMWindow.

LayoutTests:

  • fast/forms/date/no-page-popup-controller-expected.txt: Added.
  • fast/forms/date/no-page-popup-controller.html: Added.
11:40 PM Changeset in webkit [118481] by kinuko@chromium.org
  • 19 edits
    1 copy in trunk/Source

Cleanup: add a file system call which captures the file metadata at once.
https://bugs.webkit.org/show_bug.cgi?id=86995

Reviewed by David Levin.

Source/Platform:

  • Platform.gypi: Added an entry for WebFileInfo.h.
  • chromium/public/WebFileInfo.h: Renamed from Source/WebKit/chromium/public/WebFileInfo.h.

(WebKit::WebFileInfo::WebFileInfo):

  • chromium/public/WebFileUtilities.h:

(WebKit):
(WebKit::WebFileUtilities::getFileInfo): Added.

Source/WebCore:

Current File.slice() (webkitSlice()) implementation calls two separate platform calls,
getFileSize() and getFileModificationTime() [both are defined in platform/FileSystem.h],
to capture the file metadata, but we should have a single file system call to get them at once
for two reasons: 1. save additional system call costs, and 2. atomically obtain the file metadata.

No new tests: existing tests (http/tests/local/fileapi/* and fast/files/*) should pass.

  • fileapi/File.cpp:

(WebCore::File::captureSnapshot):

  • platform/FileMetadata.h:
  • platform/FileSystem.h:
  • platform/chromium/FileSystemChromium.cpp:

(WebCore::getFileMetadata): Added.

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/gtk/FileSystemGtk.cpp:

(WebCore::getFileMetadata): Added.

  • platform/posix/FileSystemPOSIX.cpp:

(WebCore::getFileMetadata): Added.

  • platform/qt/FileSystemQt.cpp:

(WebCore::getFileMetadata): Added.

  • platform/win/FileSystemWin.cpp:

(WebCore::getFileSizeFromFindData):
(WebCore::getFileModificationTimeFromFindData):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata): Added.

  • platform/wince/FileSystemWinCE.cpp:

(WebCore::getFileSizeFromFileInfo):
(WebCore::getFileModificationTimeFromFileInfo):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata): Added.

  • platform/wx/FileSystemWx.cpp:

(WebCore::getFileMetadata): Added.
(WebCore):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::getFileMetadata):
(WebCore):

11:36 PM Changeset in webkit [118480] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, rebaselining fast/multicol/span/clone-flexbox.html.

  • platform/gtk/fast/multicol/span/clone-flexbox-expected.txt:
11:21 PM Changeset in webkit [118479] by hbono@chromium.org
  • 11 edits
    1 copy
    5 adds in trunk

Source/WebCore: Enable grammar checking on Chromium when we paste text (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=74393

Reviewed by Ryosuke Niwa.

This change enables grammar checking on Chromium and implements a mock grammar
checker to fix a failing test.

Test: editing/spelling/grammar-markers.html

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForDocumentMarker): render grammar markers in gray on Windows and Linux or in green on Mac.

Source/WebKit/chromium: Enable grammar checking on Chromium when we paste text (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=74393

Reviewed by Ryosuke Niwa.

This change enables grammar checking on Chromium and implements a mock grammar
checker to fix a failing test.

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): Show suggestions when we right-click grammatically-misspelled words.

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::isGrammarCheckingEnabled): Enable grammar checking when we enable asynchronous spellchecking.
(WebKit::EditorClientImpl::checkGrammarOfString): set badGrammarLocation to -1 to avoid an assertion error.

  • src/WebTextCheckingResult.cpp:

(WebKit::WebTextCheckingResult::operator TextCheckingResult): Fill GrammarDetails for grammatical errors.

Tools: Enable grammar checking on Chromium when we paste text (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=74393

Reviewed by Ryosuke Niwa.

This change enables grammar checking on Chromium and implements a mock grammar
checker to fix a failing test.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/MockGrammarCheck.cpp: Added.

(MockGrammarCheck::checkGrammarOfString):

  • DumpRenderTree/chromium/MockGrammarCheck.h: Added.

(WebKit):
(MockGrammarCheck):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::finishLastTextCheck): Call MockGrammarCheck::checkGrammarOfString to check grammatical errors.

LayoutTests: Enable grammar checking on Chromium when we paste text (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=74393

Reviewed by Ryosuke Niwa.

This change enables grammar checking on Chromium and implements a mock grammar
checker to fix a failing test.

  • editing/spelling/grammar-markers-expected.txt: Added.
  • editing/spelling/grammar-markers.html: Added.
  • platform/chromium-linux/editing/spelling/grammar-markers-expected.png: Added.
  • platform/chromium/test_expectations.txt:
  • platform/mac/editing/spelling/grammar-markers-expected.png: Added.
10:56 PM Changeset in webkit [118478] by dmazzoni@google.com
  • 4 edits
    2 adds in trunk

Crash in WebCore::AccessibilityTable::isDataTable
https://bugs.webkit.org/show_bug.cgi?id=87409

Reviewed by Abhishek Arya.

Source/WebCore:

Use Node::rendererIsEditable everywhere rather than
Node::isContentEditable because the latter can trigger a layout
and destroy the renderer. New test covers the change to
AccessibilityTable.cpp, changes to AccessibilityRenderObject.cpp
are covered by existing tests.

Test: accessibility/contenteditable-table-check-causes-crash.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isReadOnly):
(WebCore::AccessibilityRenderObject::contentChanged):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

LayoutTests:

  • accessibility/contenteditable-table-check-causes-crash-expected.txt: Added.
  • accessibility/contenteditable-table-check-causes-crash.html: Added.
10:46 PM Changeset in webkit [118477] by yosin@chromium.org
  • 2 edits in trunk/Source/WebCore

[Forms][TextArea] Too long validation message doesn't count LF as CRLF
https://bugs.webkit.org/show_bug.cgi?id=87458

Reviewed by Kent Tamura.

This patch changes current number of characters in "too long" validation message
parameter to counting newline as 2 characters (CR and LF) as submission data.

No new tests. To have test for this change, we need to change localization
text handling during DRT. We'll try.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::validationMessage): Use computeLengthForSubmission instead of numGraphmeClusters.

10:41 PM Changeset in webkit [118476] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

REGRESSION (r118013-r118031): Loops/Reloads under www.yahoo.com, quits after three tries with error
https://bugs.webkit.org/show_bug.cgi?id=87327

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

If you use AbstractValue::filter(StructureSet) to test subset relationships between TOP and a
set containing >=2 elements, you're going to have a bad time.

That's because AbstractValue considers a set with >=2 elements to be equivalent to TOP, in order
to save space and speed up convergence. So filtering has no effect in this case, which made
the code think that the abstract value was proving that the structure check was unnecessary.
The correct thing to do is to use isSubsetOf() on the StructureAbstractValue, which does the
right thingies for TOP and >=2 elements.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Geoffrey Garen.

  • fast/js/dfg-check-two-structures-expected.txt: Added.
  • fast/js/dfg-check-two-structures.html: Added.
  • fast/js/script-tests/dfg-check-two-structures.js: Added.

(foo):

10:08 PM Changeset in webkit [118475] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] [DRT] Add support for WebKitOfflineWebApplicationCacheEnabled preference
https://bugs.webkit.org/show_bug.cgi?id=86842

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-24
Reviewed by Antonio Gomes.

Tools:

Add support for overriding the application cache support preference
through EFL's LayoutTestController.

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::overridePreference):

LayoutTests:

Unskip passing test http/tests/appcache/disabled.html

  • platform/efl/Skipped:
10:00 PM Changeset in webkit [118474] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Reviewed by Philippe Normand.

Remove CRASH text expectations for plenty of tests that have been
consistently passing on all the Gtk builders.

  • platform/gtk/test_expectations.txt:
10:00 PM Changeset in webkit [118473] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Remove unnecessary extra call to set developer extras setting on the test startup
https://bugs.webkit.org/show_bug.cgi?id=85209

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-24
Reviewed by Antonio Gomes.

Set developer extras setting called twice on the test startup. Hence, removing
an unnecessary extra call which set wrong value.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

9:56 PM Changeset in webkit [118472] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, add expectation for new failure.

  • platform/chromium/test_expectations.txt:
9:38 PM Changeset in webkit [118471] by hayato@chromium.org
  • 3 edits
    2 adds in trunk

Fix crashes caused by a DOMCharacterDataModified event on a text node.
https://bugs.webkit.org/show_bug.cgi?id=86953

Reviewed by Dimitri Glazkov.

Source/WebCore:

TextNode can be released while CharacterData::setData() will dispatch a mutation event.
So protect it.

Mutation event itself should not be dispatched on the test case.
This is being tracked by webkit bug https://bugs.webkit.org/show_bug.cgi?id=87372.

Test: fast/events/dom-character-data-modified-textarea-crash.html

  • dom/CharacterData.cpp:

(WebCore::CharacterData::setData):

LayoutTests:

  • fast/events/dom-character-data-modified-textarea-crash-expected.txt: Added.
  • fast/events/dom-character-data-modified-textarea-crash.html: Added.
9:00 PM Changeset in webkit [118470] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] Add --enable-css3-flexbox configure option after r118304.
https://bugs.webkit.org/show_bug.cgi?id=87455

Patch by Philippe Normand <pnormand@igalia.com> on 2012-05-24
Reviewed by Xan Lopez.

.:

  • configure.ac:

Source/WebCore:

  • GNUmakefile.am:
8:55 PM Changeset in webkit [118469] by Philippe Normand
  • 10 edits in trunk/LayoutTests

Unreviewed, GTK rebaselines after r118448 and r118353.

  • platform/gtk/fast/forms/001-expected.txt:
  • platform/gtk/fast/html/details-position-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
  • platform/gtk/fast/multicol/span/clone-flexbox-expected.txt:
  • platform/gtk/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/gtk/fast/replaced/width100percent-radio-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
8:29 PM Changeset in webkit [118468] by fpizlo@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

new test fast/js/dfg-arguments-mixed-alias.html fails on JSVALUE32_64
https://bugs.webkit.org/show_bug.cgi?id=87378

Reviewed by Gavin Barraclough.

  • Captured variable tracking forgot did not consistently handle arguments, leading to OSR badness.


  • Nodes capable of exiting were tracked in a non-monotonic way, leading to compiler errors.
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::CSEPhase):
(CSEPhase):
(JSC::DFG::performCSE):

  • dfg/DFGCSEPhase.h:

(DFG):

  • dfg/DFGCommon.h:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::resetExitStates):
(DFG):

  • dfg/DFGGraph.h:

(Graph):

  • dfg/DFGPhase.h:

(DFG):
(JSC::DFG::runPhase):

8:27 PM Changeset in webkit [118467] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Widen expectations for a couple of tests to include LEOPARD.
https://bugs.webkit.org/show_bug.cgi?id=81638
https://bugs.webkit.org/show_bug.cgi?id=81931

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
8:08 PM Changeset in webkit [118466] by jsbell@chromium.org
  • 6 edits in trunk/LayoutTests

[Chromium] More rebaselines following r118448.

Unreviewed gardening (but I talked to eae about it).

  • platform/chromium-mac-leopard/fast/forms/001-expected.png:
  • platform/chromium-mac-leopard/fast/replaced/width100percent-checkbox-expected.png:
  • platform/chromium-mac-leopard/fast/replaced/width100percent-radio-expected.png:
  • platform/chromium-mac-leopard/tables/mozilla/bugs/bug1318-expected.png:
  • platform/chromium-mac-leopard/tables/mozilla/bugs/bug4527-expected.png:
7:53 PM Changeset in webkit [118465] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Disable all the shadow dom tests on Windows, since the feature isn't enabled there.

  • platform/win/Skipped:
7:33 PM Changeset in webkit [118464] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Win] LayoutTests/editing/selection/selection-plugin-clear-crash.html crashes in
ScrollView::delegatesScrolling
https://bugs.webkit.org/show_bug.cgi?id=87431

Add another affected test to the Windows Skipped list.

  • platform/win/Skipped:
7:18 PM Changeset in webkit [118463] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[Chromium] Re-enable some layout tests that now pass reliably
https://bugs.webkit.org/show_bug.cgi?id=87064

Patch by Pete Williamson <petewil@google.com> on 2012-05-24
Reviewed by Dmitry Titov.

  • platform/chromium/test_expectations.txt:
7:08 PM Changeset in webkit [118462] by Stephanie Lewis
  • 2 edits in branches/safari-536-branch/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87182
Unreviewed, checking in expected results for branch.

  • platform/mac-wk2/plugins/mouse-events-scaled-iframe-expected.txt:
6:56 PM Changeset in webkit [118461] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Support mobile device rotation resizing
https://bugs.webkit.org/show_bug.cgi?id=86819

Patch by Alexandre Elias <aelias@google.com> on 2012-05-24
Reviewed by Adam Barth.

Resizes on a mobile device are caused either by rotation or
on-screen-keyboard bringup, and need different treatment to remain
naturally laid out, scaled and scrolled without disorienting the user.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::resize):

6:55 PM Changeset in webkit [118460] by morrita@google.com
  • 7 edits in trunk/Source/WebCore

Scoped stylesheet should be per-document-configurable.
https://bugs.webkit.org/show_bug.cgi?id=86985

Reviewed by Kent Tamura.

This change replaced RuntimeEnabledFeatures::styleScopedEnabled() callsites
with newly introduced ContextEnabledFeatures::styleScopedEnabled().
Clients can override the decision by implementing FrameLoaderClient::allowStyleScoped().

No new tests. This isn't testable on DRT.

  • bindings/generic/ContextEnabledFeatures.cpp:

(WebCore):
(WebCore::ContextEnabledFeatures::styleScopedEnabled):

  • bindings/generic/ContextEnabledFeatures.h:

(WebCore):
(ContextEnabledFeatures):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::determineScope):

  • css/StyleResolver.h:

(StyleResolver):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::allowStyleScoped):

6:49 PM Changeset in webkit [118459] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r118452.
http://trac.webkit.org/changeset/118452
https://bugs.webkit.org/show_bug.cgi?id=87446

Causes many tests to assert on Mac, NRWT bails out (Requested
by sundiamonde on #webkit).

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

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::~RenderObject):
(WebCore::RenderObject::clearLayoutRootIfNeeded):

6:42 PM Changeset in webkit [118458] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

ietestcenter/css3/valuesandunits/units-000.htm asserts
https://bugs.webkit.org/show_bug.cgi?id=86176

Add it to the Windows Skipped list to get the bots green.

  • platform/win/Skipped:
6:36 PM Changeset in webkit [118457] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
https://bugs.webkit.org/show_bug.cgi?id=85832

Add it to the Windows Skipped list to get the bots green.

  • platform/win/Skipped:
6:31 PM Changeset in webkit [118456] by kevino@webkit.org
  • 2 edits in trunk/Source/WebCore

[wx] Unreviewed build fix. Add contextMenuItemVector stub.

6:07 PM Changeset in webkit [118455] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use 32-byte alignment in AudioArray if using WEBAUDIO_FFMPEG
https://bugs.webkit.org/show_bug.cgi?id=87430

Patch by Raymond Toy <Raymond Toy> on 2012-05-24
Reviewed by Chris Rogers.

Covered by existing tests.

  • platform/audio/AudioArray.h:

(WebCore::AudioArray::allocate):

6:01 PM Changeset in webkit [118454] by piman@chromium.org
  • 12 edits in trunk/Source

[chromium] Add a setForceRenderSurface to WebLayer for test/bench purpose
https://bugs.webkit.org/show_bug.cgi?id=87436

Reviewed by James Robinson.

Source/Platform:

  • chromium/public/WebLayer.h:

(WebLayer):

Source/WebCore:

Tested by CCLayerTreeHostCommonTest.verifyForceRenderSurface

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setForceRenderSurface):
(WebCore):
(WebCore::LayerChromium::pushPropertiesTo):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::forceRenderSurface):
(LayerChromium):

  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::CCLayerImpl):

  • platform/graphics/chromium/cc/CCLayerImpl.h:

(WebCore::CCLayerImpl::forceRenderSurface):
(WebCore::CCLayerImpl::setForceRenderSurface):
(CCLayerImpl):

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::subtreeShouldRenderToSeparateSurface):

Source/WebKit/chromium:

  • src/WebLayer.cpp:

(WebKit::WebLayer::setForceRenderSurface):
(WebKit):
(WebKit::WebLayer::forceRenderSurface):

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):
(WebKitTests):

  • tests/LayerChromiumTest.cpp:
5:56 PM Changeset in webkit [118453] by jsbell@chromium.org
  • 16 edits in trunk/LayoutTests

[Chromium] Rebaselines following r118448.

Unreviewed gardening (but I talked to eae about it).

  • platform/chromium-mac-snowleopard/fast/forms/001-expected.png:
  • platform/chromium-mac-snowleopard/fast/replaced/width100percent-checkbox-expected.png:
  • platform/chromium-mac-snowleopard/fast/replaced/width100percent-radio-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug1318-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug4527-expected.png:
  • platform/chromium-mac/fast/forms/001-expected.png:
  • platform/chromium-mac/fast/forms/001-expected.txt:
  • platform/chromium-mac/fast/replaced/width100percent-checkbox-expected.png:
  • platform/chromium-mac/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/chromium-mac/fast/replaced/width100percent-radio-expected.png:
  • platform/chromium-mac/fast/replaced/width100percent-radio-expected.txt:
  • platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/chromium-mac/tables/mozilla/bugs/bug4527-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug4527-expected.txt:
5:46 PM Changeset in webkit [118452] by kenrb@chromium.org
  • 2 edits in trunk/Source/WebCore

Layout root not getting cleared for anonymous renderers geting destroyed
https://bugs.webkit.org/show_bug.cgi?id=84002

Reviewed by Abhishek Arya.

This is a follow-up to r109406, which added a check to clear layout
roots when they point to a renderer that is being destroyed. The
thinking was that layout roots would never be anonymous renderers,
but there are some cases where this is not true (in particular,
generated content containers with overflow clips can be layout roots).

As in r109406, this patch has no layout test. This is because any test
that exercises this behavior is caused by an existing layout bug where
a child is not properly getting layout (or a renderer is getting dirtied
out of order during layout) and will fail multiple ASSERTs:

in particular, ASSERT(!m_layoutRoot->container()
!m_layoutRoot->

container()->needsLayout()) in FrameView::scheduleRelayoutOfSubtree(),
and ASSERT_NOT_REACHED() in RenderObject::clearLayoutRootIfNeeded().
We are preventing those bugs from manifesting as security issues with
this patch.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::~RenderObject):
(WebCore::RenderObject::willBeDestroyed):

5:33 PM Changeset in webkit [118451] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Update test expectation pathnames following r118418.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
5:30 PM Changeset in webkit [118450] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Corrupted pages rendering when images are zoomed on Google+
https://bugs.webkit.org/show_bug.cgi?id=87439
<rdar://problem/11503078>

Reviewed by Beth Dakin.

The rect that's given to scrollContentsSlowPath is in frame view coordinates, but if we end up
passing them to RenderLayer::setBackingNeedsRepaintInRect we need to account for the frame scale factor.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsSlowPath):

5:28 PM Changeset in webkit [118449] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r112399): insertHTML doesn't respect current selection range and inserts HTML to incorrect position
https://bugs.webkit.org/show_bug.cgi?id=87195

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by our passing insertionPos.anchorNode() to splitTreeToNode's start node even when
the position's type was an offset in a container. Fixed the bug by passing the node after the insert position
or the container node if the position is at the end of the container.

Test: editing/pasteboard/paste-at-end-of-node-followed-by-inline-element.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

LayoutTests:

Add a regression test.

  • editing/pasteboard/paste-at-end-of-node-followed-by-inline-element-expected.txt: Added.
  • editing/pasteboard/paste-at-end-of-node-followed-by-inline-element.html: Added.
5:15 PM Changeset in webkit [118448] by eae@chromium.org
  • 10 edits
    2 adds in trunk

REGRESSION (115573): Incorrect rounding of margins for floats
https://bugs.webkit.org/show_bug.cgi?id=87319

Reviewed by Eric Seidel.

Source/WebCore:

In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
accumulate margins for floating children while the children themselves
represent their margins as LayoutUnits. Due to lack of rounding this can
cause the block to be too small at certain certain zoom levels, causing
unwanted wrapping.

This patch changes computeInlinePreferredLogicalWidths to use a
LayoutUnit to accumulate the margins and thus ensures that the margin
values are rounded the same way.

Test: fast/block/float/floats-with-margin-should-not-wrap.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

Add new test ensuring that using margins with floats doesn't cause
undesired wrapping.

  • fast/block/float/floats-with-margin-should-not-wrap-expected.txt: Added.
  • fast/block/float/floats-with-margin-should-not-wrap.html: Added.
  • platform/mac/fast/forms/001-expected.txt:
  • platform/mac/fast/html/details-position-expected.txt:
  • platform/mac/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/mac/fast/replaced/width100percent-radio-expected.txt:
  • platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
5:03 PM Changeset in webkit [118447] by dpranke@chromium.org
  • 3 edits in trunk/Tools

garden-o-matic should not fetch from debug bots if it also knows about the release bots
https://bugs.webkit.org/show_bug.cgi?id=86916

Reviewed by Adam Barth.

Note that if release and debug are failing differently, debug
will be ignored ...

Note: also change the use of a fake port name from
"mock-port-name" to "test-mac-leopard" to make it more friendly
to the port factory ("mock" actually is a real port).

  • Scripts/webkitpy/tool/servers/gardeningserver.py:

(GardeningHTTPRequestHandler._builders_to_fetch_from):
(GardeningHTTPRequestHandler.rebaselineall):

  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:

(GardeningServerTest.test_rebaselineall):
(GardeningServerTest.test_rebaseline_new_port):

4:56 PM Changeset in webkit [118446] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

4:55 PM Changeset in webkit [118445] by commit-queue@webkit.org
  • 8 edits in trunk

postMessage and webkitPostMessage should behave the same way
https://bugs.webkit.org/show_bug.cgi?id=87384

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-24
Reviewed by Adam Barth.

Source/WebCore:

Make postMessage behave the same way as webkitPostMessage, meaning
that it supports transfer of MessagePorts and ArrayBuffers as per
the spec. Both V8 and JSC implementations have been updated.

Test: fast/dom/Window/window-postmessage-args.html

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::postMessage):
(WebCore::JSDOMWindow::webkitPostMessage):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback):
(WebCore::V8DOMWindow::postMessageCallback):
(WebCore::V8DOMWindow::webkitPostMessageCallback):

  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:

(WebCore::handlePostMessageCallback):
(WebCore::V8DedicatedWorkerContext::postMessageCallback):
(WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):

  • bindings/v8/custom/V8MessagePortCustom.cpp:

(WebCore::handlePostMessageCallback):
(WebCore::V8MessagePort::postMessageCallback):
(WebCore::V8MessagePort::webkitPostMessageCallback):

  • bindings/v8/custom/V8WorkerCustom.cpp:

(WebCore::handlePostMessageCallback):
(WebCore::V8Worker::postMessageCallback):
(WebCore::V8Worker::webkitPostMessageCallback):

LayoutTests:

Update global test expectation for
fast/dom/Window/window-postmessage-args.html now that JSC's
postMessage implementation supports transfer of MessagePorts.

  • fast/dom/Window/window-postmessage-args-expected.txt:
4:51 PM Changeset in webkit [118444] by Lucas Forschler
  • 1 copy in tags/Safari-536.14

New Tag.

4:47 PM Changeset in webkit [118443] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build after http://trac.webkit.org/changeset/118441
Also fix a glaring bug with the new code, will run it by original reviewer retroactively.

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fix up the types of the ? operands

to appease super-strict compilers. Don't allow negative indexes (besides the -1 "No index" index).

4:36 PM Changeset in webkit [118442] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Submit button doesn't submit the form if the form is wrapped by an anchor tag
https://bugs.webkit.org/show_bug.cgi?id=86719

Patch by Pablo Flouret <pablof@motorola.com> on 2012-05-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

When a form's button is clicked or activated with the keyboard a
DOMActivate event is dispatched internally and the default handler for
it takes care of processing the form submission, but the underlying
event that prompted it is not set as handled and so it ends up
navigating the anchor, thereby cancelling the form submission.

This patch sets the original click event as handled if the DOMActivate
event was handled. This matches the rest of the browsers for form
controls that submit a form (input type=submit, button type=submit,
input type=image, etc), and matches IE for the rest of the controls
(basically, IE never activates the anchor when clicking on form
controls, Presto and Gecko mostly don't either, except in a few cases.

Test: fast/forms/form-in-anchor-controls-activation.html

  • dom/Node.cpp:

(WebCore::Node::dispatchDOMActivateEvent):
(WebCore::Node::defaultEventHandler):

  • dom/Node.h:

(Node):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::defaultEventHandler):

LayoutTests:

  • fast/forms/form-in-anchor-controls-activation-expected.txt: Added.
  • fast/forms/form-in-anchor-controls-activation.html: Added.
4:16 PM Changeset in webkit [118441] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/10090764> and https://bugs.webkit.org/show_bug.cgi?id=87417
(Unrepro) Crashes saving session state in WebBackForwardList

Reviewed by Darin Adler.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem): Null check the proposed item and also m_page, to make

sure the page hasn't been closed making this list inactive. Be more aggressive about
clearing the current entries out if there is no current item index.

(WebKit::WebBackForwardList::itemAtIndex): Early null return if there is no current index.
(WebKit::WebBackForwardList::clear): Don't put the current item back in the array if there was

no current item.

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation): Don't create a meaningless WebURL.

Don't successfully return a dictionary if any of the entries were null. Be more aggressive about
validating the current index we plan to return in the dictionary.

(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): More aggressively validate the

current index read from disk. Replace a meaningless sanity check with our typical ASSERT.

3:46 PM Changeset in webkit [118440] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Assertion failure in replaySavedEvents() when running editing/selection/drag-in-iframe.html
and editing/pasteboard/drop-text-events.html and fast/events/dragging-mouse-moves.html
https://bugs.webkit.org/show_bug.cgi?id=21796

Add yet another affected test to the Windows Skipped list to get the bots green.

  • platform/win/Skipped:
3:39 PM Changeset in webkit [118439] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Make sure that the layer hosting mode is up-to-date when reconnecting to a new web process
https://bugs.webkit.org/show_bug.cgi?id=87421
<rdar://problem/11510337>

Reviewed by Beth Dakin.

Send over the layer hosting mode as part of the web page creation parameters and create the right
layer hosting context based on the mode.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

(TiledCoreAnimationDrawingArea):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
(WebKit):
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):

3:37 PM Changeset in webkit [118438] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] InputHandler can hold a ref on an object when document is cleared.
https://bugs.webkit.org/show_bug.cgi?id=87412

Reviewed by Rob Buis.

PR 145234.

When the document data is cleared, notify the InputHandler
of the associated frame being unloaded.

Reviewed Internally by Nima Ghanavatian.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::clearDocumentData):

3:33 PM Changeset in webkit [118437] by imasaki@chromium.org
  • 1 edit in branches/chromium/1132/LayoutTests/platform/chromium/test_expectations.txt

[chromium] update test expectation file.

3:33 PM Changeset in webkit [118436] by commit-queue@webkit.org
  • 8 edits
    5 adds in trunk/Source

[BlackBerry] Implement select popup and remove old hook to air popup
https://bugs.webkit.org/show_bug.cgi?id=87419

Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-24
Reviewed by Rob Buis.

Source/WebCore:

Add new files to make file, add css file for select popup.

  • PlatformBlackBerry.cmake:
  • Resources/blackberry/popupControlBlackBerry.css: Added.

(html):
(body):
(.bottombuttonOK):
(.bottombuttonCancel):
(.tablebutton):

Source/WebKit:

Add new files to make file.

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Introduce new html select popup client, remove the old hook to air popup.

  • Api/WebPageClient.h:
  • WebCoreSupport/SelectPopupClient.cpp: Added.

(WebCore):
(WebCore::SelectPopupClient::SelectPopupClient):
(WebCore::SelectPopupClient::~SelectPopupClient):
(WebCore::SelectPopupClient::update):
(WebCore::SelectPopupClient::generateHTML):
(WebCore::SelectPopupClient::closePopup):
(WebCore::SelectPopupClient::contentSize):
(WebCore::SelectPopupClient::htmlSource):
(WebCore::SelectPopupClient::setValueAndClosePopup):
(WebCore::SelectPopupClient::didClosePopup):
(WebCore::SelectPopupClient::writeDocument):

  • WebCoreSupport/SelectPopupClient.h: Added.

(WebKit):
(WebCore):
(SelectPopupClient):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::openSelectPopup):

  • WebKitSupport/InputHandler.h:

(WebCore):
(InputHandler):

  • WebKitSupport/WebPopupType.h: Added.

(BlackBerry):
(WebKit):

3:31 PM Changeset in webkit [118435] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Win] LayoutTests/editing/selection/selection-plugin-clear-crash.html crashes
https://bugs.webkit.org/show_bug.cgi?id=87431

Add it to the Windows Skipped list to get the bots green.

  • platform/win/Skipped:
3:30 PM Changeset in webkit [118434] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Fix the chromium-android build.

  • features.gypi:
3:28 PM Changeset in webkit [118433] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r118245 -> <rdar://problem/11506223>

3:26 PM Changeset in webkit [118432] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r118211 -> <rdar://problem/11502720>

3:25 PM Changeset in webkit [118431] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-536-branch

Merged r118204 -> <rdar://problem/11510388>

3:22 PM Changeset in webkit [118430] by Lucas Forschler
  • 7 edits in branches/safari-536-branch/Source

Merged r118086 -> <rdar://problem/11468434>

3:21 PM Changeset in webkit [118429] by dpranke@chromium.org
  • 3 edits in trunk/Tools

nrwt: fix baseline search path for official chrome builders
https://bugs.webkit.org/show_bug.cgi?id=87432

Reviewed by Tony Chang.

The official chrome builders need to use the win7 and SL
baseline paths, not the XP and Leopard paths. Linux is correct.

  • Scripts/webkitpy/layout_tests/port/google_chrome.py:

(GoogleChromeMacPort.determine_full_port_name):
(GoogleChromeWinPort.determine_full_port_name):

  • Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:

(TestGoogleChromePort._verify_baseline_search_path_startswith):
(TestGoogleChromePort.test_get_google_chrome_port):

3:21 PM Changeset in webkit [118428] by jpfau@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test case for focusing readonly elements
https://bugs.webkit.org/show_bug.cgi?id=87429

Reviewed by Joseph Pecoraro.

  • fast/forms/input-readonly-focus-expected.txt: Added.
  • fast/forms/input-readonly-focus.html: Added.
3:19 PM Changeset in webkit [118427] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r118066 -> <rdar://problem/11474087>

3:18 PM Changeset in webkit [118426] by Lucas Forschler
  • 5 edits in branches/safari-536-branch/Source/WebKit2

Merged r118060 -> <rdar://problem/10849258>

3:16 PM Changeset in webkit [118425] by cevans@google.com
  • 3 edits
    1 copy in branches/chromium/1132

Merge 116647
BUG=123631
Review URL: https://chromiumcodereview.appspot.com/10442022

3:16 PM Changeset in webkit [118424] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-536-branch

Merged r117869 -> <rdar://problem/11491501>

3:14 PM Changeset in webkit [118423] by Lucas Forschler
  • 5 edits in branches/safari-536-branch/Source

Merged r117471 -> <rdar://problem/10777218>

3:07 PM Changeset in webkit [118422] by cevans@google.com
  • 2 edits
    1 copy in branches/chromium/1132

Merge 116611
BUG=127424
Review URL: https://chromiumcodereview.appspot.com/10449013

3:03 PM Changeset in webkit [118421] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[NRWT] REGRESSION(r116021): Assertion when running with --no-http
https://bugs.webkit.org/show_bug.cgi?id=86800

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-24
Reviewed by Dirk Pranke.

Don't launch a HTTP server with lock based only on the existence of
locked shards since we now run perf on locked shards too.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._run_tests):

2:47 PM Changeset in webkit [118420] by leviw@chromium.org
  • 5 edits
    2 adds in trunk

Avoid creating InlineBoxes for floating and positioned objects in isolates.
https://bugs.webkit.org/show_bug.cgi?id=87277

Reviewed by Eric Seidel.

Source/WebCore:

We currently will create a placeholder run for the first object we encounter inside an isolate. Then
in RenderBlockLineLayout's constructBidiRuns, we replace that run with the contents of the Isolate.
We run into problems when there are no valid contents in the Isolate. We can't simply remove the
placeholder if there's nothing to replace it with since it may be the logically last run, which we
track but can't rebuild by the time we're handling isolates (we've already shuffled the BidiRuns around).

With this change, we avoid creating a placeholder altogether until we hit contents in the isolate
that would warrant a BidiRun in the first place.

Test: fast/text/international/float-as-only-child-of-isolate-crash.html

  • rendering/InlineIterator.h:

(WebCore::IsolateTracker::addFakeRunIfNecessary):

  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::shouldSkipCreatingRunsForObject):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::appendRunsForObject):

LayoutTests:

  • fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Added.
  • fast/text/international/float-as-only-child-of-isolate-crash.html: Added.
2:44 PM Changeset in webkit [118419] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

DOM ClipboardData.setData does not allow writes during clipboard events
https://bugs.webkit.org/show_bug.cgi?id=17645

Add the more affected tests to the Windows Skipped list in order to get the bots green and
clean up the entry in the Skipped list to reference the bugs.webkit.org URL instead of the
Radar URL.

  • platform/win/Skipped:
2:28 PM Changeset in webkit [118418] by commit-queue@webkit.org
  • 2 edits
    8 moves
    6 adds
    22 deletes in trunk/LayoutTests

Move format independent Media Source tests to http/tests/media/media-source
https://bugs.webkit.org/show_bug.cgi?id=86688

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-05-24
Reviewed by Eric Carlson.

  • http/tests/media/media-source/media-source.js: Added. Replaces webm/webm-media-source.js.

(MediaSourceTest.SegmentHelper): Helper class for loading & managing segment data.
(MediaSourceTest.SegmentHelper.prototype.init.getDataCallback):
(MediaSourceTest.SegmentHelper.prototype.init): Initializes helper and starts loading segment data into memory.
(MediaSourceTest.SegmentHelper.prototype.getInitSegmentDone_): Called when the initialization segment has been loaded.
(MediaSourceTest.SegmentHelper.prototype.downloadMediaSegment_.getDataCallback):
(MediaSourceTest.SegmentHelper.prototype.downloadMediaSegment_): Downloads the i'th media segment.
(MediaSourceTest.SegmentHelper.prototype.downloadMediaSegmentDone_): Called when the media segment is download. Initiates downloading of the next segment if we don't have them all yet.
(MediaSourceTest.SegmentHelper.prototype.getData_.request.onload):
(MediaSourceTest.SegmentHelper.prototype.getData_): Private helper function that downloads data with XHR.
(MediaSourceTest.SegmentHelper.prototype.addSourceId): Helper function that adds a SourceID using the type specified in the segmentInfo.
(MediaSourceTest.SegmentHelper.prototype.appendInitSegment): Append the initialization segment using webkitSourceAppend().
(MediaSourceTest.SegmentHelper.prototype.appendMediaSegment): Appends the i'th media segment using webkitSourceAppend().
(MediaSourceTest.SegmentHelper.prototype.appendUntilEndOfStream): Starts appending at the i'th media segment and continues appending segments until it has appended the last one.
(MediaSourceTest.SegmentHelper.prototype.getTimeForMediaSegment): Gets the starting timestamp for the i'th media segment.
(MediaSourceTest.SegmentHelper.prototype.getMediaSegmentIndexForTimestamp): Gets the media segment index number for the specified timestamp.
(MediaSourceTest.setSrcToMediaSourceTestURL): Helper function that sets src to webkitMediaSourceURL.
(MediaSourceTest.mediaErrorString): Helper function that converts a MediaError code to a string.
(MediaSourceTest.defaultOnErrorChecks): Default event handler for error events.
(MediaSourceTest.runNext_.runNextFunction): Function passed to a test case to trigger moving on to the next test.
(MediaSourceTest.runNext_.errorEventHandler): Error event handler to use for a test case. This allows moving on to the next test if we get an unexpected error.
(MediaSourceTest.runNext_): Private helper function for running a single test case.
(MediaSourceTest.startTesting): Runs the test case harness.
(MediaSourceTest.startSourceOpenTesting.testWrapperFunction): Wraps test case functions so that they will get called when webkitsourceopen event fires.
(MediaSourceTest.startSourceOpenTesting): Runs the test case harness where test case functions are run from the webkitsourceopen event handler.
(MediaSourceTest.runOnSourceOpen.eventHandlerFunction):
(MediaSourceTest.runOnSourceOpen): Helper function that enable Media Source and calls a function when the webkitsourceopen fires.
(MediaSourceTest.logSourceState): Logs the current webkitSourceState to the console.
(MediaSourceTest.expectSourceState): Helper function that verifies a webkitSourceState expectatation.
(MediaSourceTest.getSourceStateName): Converts a sourcestate value into a string.
(MediaSourceTest.expectReadyState): Helper function that verifies a readyState expectation.
(MediaSourceTest.getReadyStateName): Converts a readyState value into a string.

  • http/tests/media/media-source/video-media-source-abort-expected.txt: Added.
  • http/tests/media/media-source/video-media-source-abort.html: Added.
  • http/tests/media/media-source/video-media-source-add-and-remove-ids-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-add-and-remove-ids-expected.txt.
  • http/tests/media/media-source/video-media-source-add-and-remove-ids.html: Added.
  • http/tests/media/media-source/video-media-source-errors-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-errors-expected.txt.
  • http/tests/media/media-source/video-media-source-errors.html: Added.
  • http/tests/media/media-source/video-media-source-event-attributes.html:
  • http/tests/media/media-source/video-media-source-play-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-play-expected.txt.
  • http/tests/media/media-source/video-media-source-play.html: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-play.html.
  • http/tests/media/media-source/video-media-source-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-seek-expected.txt.
  • http/tests/media/media-source/video-media-source-seek.html: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-seek.html.
  • http/tests/media/media-source/video-media-source-state-changes-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-state-changes-expected.txt.
  • http/tests/media/media-source/video-media-source-state-changes.html: Renamed from LayoutTests/http/tests/media/media-source/webm/video-media-source-state-changes.html.
  • http/tests/media/media-source/webm/video-media-source-abort-expected.txt: Removed.
  • http/tests/media/media-source/webm/video-media-source-abort.html: Removed.
  • http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html: Removed.
  • http/tests/media/media-source/webm/video-media-source-errors.html: Removed.
  • http/tests/media/media-source/webm/webm-media-source.js: Removed.
  • http/tests/media/resources/media-source/webm/segment-info.js: Added. Contains segment information for test.webm.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-0: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-1: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-10: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-11: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-12: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-13: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-14: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-15: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-2: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-3: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-4: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-5: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-6: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-7: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-8: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.cluster-9: Removed.
  • http/tests/media/resources/media-source/webm/test.webm.headers: Removed.
2:21 PM Changeset in webkit [118417] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Win] ASSERTION FAILED !m_ptr under AccessibilityController::winAddNotificationListener
https://bugs.webkit.org/show_bug.cgi?id=87426

Add the affected tests to the Windows Skipped list in order to get the bots green.

  • platform/win/Skipped:
2:18 PM Changeset in webkit [118416] by ggaren@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Made WeakSet per-block instead of per-heap
https://bugs.webkit.org/show_bug.cgi?id=87401

Reviewed by Oliver Hunt.

This allows us fast access to the set of all weak pointers for a block,
which is a step toward lazy finalization.

No performance change.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize): Removed the per-heap weak set, since
it's per-block now.

(JSC::Heap::markRoots): Delegate weak set visiting to the marked space,
since it knows how to iterate all blocks.

(JSC::Heap::collect): Moved the reaping outside of markRoots, since it
doesn't mark anything.

Make sure to reset allocators after shrinking, since shrinking may
deallocate the current allocator.

  • heap/Heap.h:

(Heap): No more per-heap weak set, since it's per-block now.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:

(MarkedBlock):
(JSC::MarkedBlock::lastChanceToFinalize): Migrated finalization logic
here from the heap, so the heap doesn't need to know about our internal
data structures like our weak set.

(JSC::MarkedBlock::heap):
(JSC::MarkedBlock::weakSet):
(JSC::MarkedBlock::shrink):
(JSC::MarkedBlock::resetAllocator):
(JSC::MarkedBlock::visitWeakSet):
(JSC::MarkedBlock::reapWeakSet):
(JSC::MarkedBlock::sweepWeakSet):

  • heap/MarkedSpace.cpp:

(JSC::VisitWeakSet::VisitWeakSet):
(JSC::VisitWeakSet::operator()):
(VisitWeakSet):
(JSC):
(JSC::ReapWeakSet::operator()):
(JSC::SweepWeakSet::operator()):
(JSC::LastChanceToFinalize::operator()):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::ResetAllocator::operator()):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
(JSC::MarkedSpace::sweepWeakSets):
(JSC::Shrink::operator()):
(JSC::MarkedSpace::shrink):

  • heap/MarkedSpace.h:

(MarkedSpace): Make sure to account for our weak sets when sweeping,
shrinking, etc.

  • heap/WeakSet.cpp:

(JSC):

  • heap/WeakSet.h:

(WeakSet):
(JSC::WeakSet::heap):
(JSC):
(JSC::WeakSet::lastChanceToFinalize):
(JSC::WeakSet::visit):
(JSC::WeakSet::reap):
(JSC::WeakSet::shrink):
(JSC::WeakSet::resetAllocator): Inlined some things since they're called
once per block now instead of once per heap.

  • heap/WeakSetInlines.h:

(JSC::WeakSet::allocate): Use the per-block weak set since there is no
per-heap weak set anymore.

2:17 PM Changeset in webkit [118415] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix arm build

Rubber stamped by Geoff Garen

  • dfg/DFGGPRInfo.h:

(GPRInfo):

2:15 PM Changeset in webkit [118414] by rniwa@webkit.org
  • 11 edits in trunk/Source

There are too many poorly named functions to create a fragment from markup
https://bugs.webkit.org/show_bug.cgi?id=87339

Reviewed by Eric Seidel.

Source/WebCore:

Moved all functions that create a fragment from markup to markup.h/cpp.
There should be no behavioral change.

  • dom/Range.cpp:

(WebCore::Range::createContextualFragment):

  • dom/Range.h: Removed createDocumentFragmentForElement.
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::setInnerHTML):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):
(WebCore::createFragmentForInnerOuterHTML): Renamed from createFragmentFromSource.
(WebCore::createFragmentForTransformToFragment): Moved from XSLTProcessor.
(WebCore::removeElementPreservingChildren): Moved from Range.
(WebCore::createContextualFragment): Ditto.

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerHTML):
(WebCore::HTMLElement::setOuterHTML):
(WebCore::HTMLElement::insertAdjacentHTML):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchNode): Added a FIXME since this code should be using
one of the functions listed in markup.h

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::transformToFragment):

Source/WebKit/qt:

Replace calls to Range::createDocumentFragmentForElement by calls to
createContextualDocumentFragment.

  • Api/qwebelement.cpp:

(QWebElement::appendInside):
(QWebElement::prependInside):
(QWebElement::prependOutside):
(QWebElement::appendOutside):
(QWebElement::encloseContentsWith):
(QWebElement::encloseWith):

2:14 PM Changeset in webkit [118413] by barraclough@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Move cacheFlush from ExecutableAllocator to Assembler classes
https://bugs.webkit.org/show_bug.cgi?id=87420

Reviewed by Oliver Hunt.

Makes more sense there, & remove a pile of #ifdefs.

  • assembler/ARMAssembler.cpp:

(JSC):
(JSC::ARMAssembler::cacheFlush):

  • assembler/ARMAssembler.h:

(ARMAssembler):
(JSC::ARMAssembler::cacheFlush):

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::relinkJump):
(JSC::ARMv7Assembler::cacheFlush):
(ARMv7Assembler):
(JSC::ARMv7Assembler::setInt32):
(JSC::ARMv7Assembler::setUInt7ForLoad):

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::cacheFlush):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::performFinalization):

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::relinkJump):
(JSC::MIPSAssembler::relinkCall):
(JSC::MIPSAssembler::repatchInt32):
(JSC::MIPSAssembler::cacheFlush):
(MIPSAssembler):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::repatchCompact):
(JSC::SH4Assembler::cacheFlush):
(SH4Assembler):

  • assembler/X86Assembler.h:

(X86Assembler):
(JSC::X86Assembler::cacheFlush):

  • jit/ExecutableAllocator.cpp:

(JSC):

  • jit/ExecutableAllocator.h:

(ExecutableAllocator):

1:54 PM Changeset in webkit [118412] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Update test expectation for fast/js/string-replace-2.html on debug
https://bugs.webkit.org/show_bug.cgi?id=87423

  • platform/chromium/test_expectations.txt:
1:41 PM Changeset in webkit [118411] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

MediaControlTimelineElement is adjusting time 3 times per click
https://bugs.webkit.org/show_bug.cgi?id=58160

Reviewed by Eric Carlson.

No new tests; we intentionally throttle timeupdate events for the same
movie time, so there is no way to write a layout test for this case.

Only call setCurrentTime() on mousedown or mousemove events.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTimelineElement::defaultEventHandler):

1:39 PM Changeset in webkit [118410] by kbr@google.com
  • 5 edits in branches/chromium/1132/Source/WebCore/platform/graphics

Merge 117191 - Assertion failure running Mozilla's WebGL performance regression tests
https://bugs.webkit.org/show_bug.cgi?id=85942

Reviewed by Stephen White.

Fixed incorrect assumptions about source formats and buffer sizes
when uploading to floating-point textures. Added code paths
supporting the necessary conversions.

Tests have been added to the WebGL conformance suite which cover
these new code paths; they verify uploads of HTMLCanvasElement,
HTMLImageElement, HTMLVideoElement, and ImageData to
floating-point textures. However, because floating-point texture
support is optional, and generally only supported on bots which
run with real GPUs and not in virtual machines, it isn't feasible
to incorporate these tests as layout tests.

Ran the new WebGL conformance tests in Chromium on Linux; all
pass.

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::extractImageData):
Properly compute size of destination buffer.

(WebCore):
Add pack/unpack routines for converting RGBA8/BGRA8 to floating point.

(WebCore::doFloatingPointPacking):
Support RGBA8 and BGRA8 source formats.

(WebCore::isFloatingPointSource):
Factored out logic for assertions.

(WebCore::GraphicsContext3D::packPixels):
Generalized assertions and logic.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::getImageData):
Properly compute size of destination buffer.

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::GraphicsContext3D::getImageData):
Properly compute size of destination buffer.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::getImageData):
Properly compute size of destination buffer.

  • platform/graphics/skia/GraphicsContext3DSkia.cpp:

(WebCore::GraphicsContext3D::getImageData):
Properly compute size of destination buffer.

TBR=kbr@google.com
Review URL: https://chromiumcodereview.appspot.com/10444013

1:12 PM Changeset in webkit [118409] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Win] Crash under DocumentLoader::didTellClientAboutLoad when running
fast/dom/Window/Location/window-override-location-using-defineGetter.html
fast/dom/Window/Location/set-location-after-close.html

Skip set-location-after-close.html on Windows.

  • platform/win/Skipped:
1:08 PM Changeset in webkit [118408] by jochen@chromium.org
  • 6 edits in trunk/Tools

Add --driver-name option to run_webkit_tests.py to allow for selecting alternative DRT binaries
https://bugs.webkit.org/show_bug.cgi?id=87128

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.driver_name):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._path_to_driver):

  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:

(ChromiumPortTest.test_driver_name_option):

  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort._path_to_driver):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

1:01 PM Changeset in webkit [118407] by commit-queue@webkit.org
  • 25 edits in trunk

Font Boosting: Add compile flag and runtime setting
https://bugs.webkit.org/show_bug.cgi?id=87394

Patch by John Mellor <johnme@chromium.org> on 2012-05-24
Reviewed by Adam Barth.

.:

Add ENABLE_FONT_BOOSTING.

  • configure.ac:

Source/JavaScriptCore:

Add ENABLE_FONT_BOOSTING.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add ENABLE_FONT_BOOSTING compile flag and fontBoostingEnabled runtime setting.

No functionality yet, so no new tests.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am:
  • Target.pri:
  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setFontBoostingEnabled):
(WebCore):

  • page/Settings.h:

(Settings):
(WebCore::Settings::fontBoostingEnabled):

Source/WebKit/chromium:

Expose fontBoostingEnabled runtime setting via WebSettings.

  • features.gypi:
  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setFontBoostingEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

Source/WebKit/mac:

Add ENABLE_FONT_BOOSTING.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add ENABLE_FONT_BOOSTING.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Add ENABLE_FONT_BOOSTING.

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:

WebKitLibraries:

Add ENABLE_FONT_BOOSTING.

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
12:48 PM Changeset in webkit [118406] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit

[EFL] Unreviewed, unbreak `make install' after r117046.

  • PlatformEfl.cmake: Remove ewk_auth_soup.h from the list of

installed headers, since it has been made private and renamed.

12:40 PM Changeset in webkit [118405] by tonikitoo@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Possible missing layout in Iris browser after hiding VKB
https://bugs.webkit.org/show_bug.cgi?id=87408
PR #153056 / MKS_3674963

Reviewed by Adam Treat.
Patch by Antonio Gomes <agomes@rim.com>

Also informally reviewed by Mike Fenton.

If we are not rotating and we've started a viewport resize with
the Render tree in dirty state (i.e. it needs layout), lets
reset the needsLayout flag for now but set our own 'needsLayout'.

Reason: calls like ScrollView::setFixedLayoutSize can trigger a layout
if the render tree needs it. We want to avoid it till the viewport resize
is actually done (i.e. ScrollView::setViewportSize gets called
further down the method) so we do not get render artifacts.

Since our WebPage::setViewportSize calls rely on async Virtual
Keyboard responses, we were getting it called with the render
tree sometimes in a dirty state, sometimes not. It was flaky!
Patch ensures a clear render tree state, and sets it as dirty
afterwards as needed, so layout happens at the proper time.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

12:38 PM Changeset in webkit [118404] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] [DRT] keyboard-related tests do not pass
https://bugs.webkit.org/show_bug.cgi?id=85369

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-24
Reviewed by Gustavo Noronha Silva.

Tools:

Add SHIFT modifier for capital letters as VK_
codes do not distinguish between lows and caps and also to be consistent
with other ports which send caps as lowercase letters with the shift key down.

  • DumpRenderTree/efl/EventSender.cpp:

(keyNameFromJSValue):

LayoutTests:

  • platform/efl/Skipped: Unskipped keyboard-related tests.
12:29 PM Changeset in webkit [118403] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Padding adjustment for determining the relative distance for a point was backwards.
https://bugs.webkit.org/show_bug.cgi?id=87404

Reviewed by Rob Buis.

Fix padding calculation for handle adjustment.

Reviewed Internally by Mike Lattanzio.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::directionOfPointRelativeToRect):

12:27 PM Changeset in webkit [118402] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

MHTML files should be loadable from all schemes considered local,
not just "file:"

https://bugs.webkit.org/show_bug.cgi?id=86540

Patch by Greg Spencer <gspencer@chromium.org> on 2012-05-24
Reviewed by Adam Barth.

Existing tests should verify correct function.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::continueAfterContentPolicy):

  • loader/archive/mhtml/MHTMLArchive.cpp:

(WebCore::MHTMLArchive::create):

12:09 PM Changeset in webkit [118401] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Widen test suppressions to include linux crash.
https://bugs.webkit.org/show_bug.cgi?id=87160

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
12:03 PM Changeset in webkit [118400] by danakj@chromium.org
  • 3 edits in trunk/Source/WebCore

[chromium] Remove some leftover references to LayerTilerChromium
https://bugs.webkit.org/show_bug.cgi?id=87405

Reviewed by James Robinson.

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):

  • platform/graphics/chromium/SolidColorLayerChromium.h:
11:57 AM Changeset in webkit [118399] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r109663) All the the dom/html/level2/html/HTMLFrameElement* tests crash on Windows
https://bugs.webkit.org/show_bug.cgi?id=87410

Reviewed by Anders Carlsson.

Do not pass a reference type to va_start (see r75435).

  • platform/LocalizedStrings.cpp:

(WebCore::formatLocalizedString):

11:54 AM Changeset in webkit [118398] by yael.aharon@nokia.com
  • 7 edits in trunk

[Qt] Stop using the flag FIXED_POSITION_CREATES_STACKING_CONTEXT
https://bugs.webkit.org/show_bug.cgi?id=87392

Reviewed by Antonio Gomes.

Source/WebCore:

Remove our dependency on a build flag and use the new setting.

No new tests.

  • css/StyleResolver.cpp:

Source/WebKit2:

Turn on the setting setFixedPositionCreatesStackingContext.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setResizesToContentsUsingLayoutSize):

LayoutTests:

Update test expectations, since now don't turn on the setting when running layout tests.

  • platform/qt/fast/block/positioning/016-expected.txt:
  • platform/qt/fast/block/positioning/025-expected.txt:
11:42 AM Changeset in webkit [118397] by ap@apple.com
  • 12 edits in trunk

[WK2] Let the client give local files universal access on a case by case basis
https://bugs.webkit.org/show_bug.cgi?id=87174
<rdar://problem/11024330>

Reviewed by Maciej Stachowiak.

  • dom/Document.cpp: (WebCore::Document::initSecurityContext): When settings->allowUniversalAccessFromFileURLs() is false, also try asking the client for an indulgence.
  • loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldForceUniversalAccessFromLocalURL): Default implementation doesn't change anything.
11:35 AM Changeset in webkit [118396] by tony@chromium.org
  • 3 edits in trunk/Source/WebCore

improve StyleRareNonInheritedData bit packing on Windows
https://bugs.webkit.org/show_bug.cgi?id=87322

Reviewed by Eric Seidel.

Accessors for m_runningAcceleratedAnimation and m_hasAspectRatio are on RenderStyle already.

Also reorder the variables in operator== to be consistent with the constructor and header file.
This makes it easier to add or remove values.

No new tests, just refactoring.

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

(StyleRareNonInheritedData):

11:14 AM Changeset in webkit [118395] by robert@webkit.org
  • 3 edits
    2 adds in trunk

Negative margin block doesn't properly clear a float enclosed by a previous sibling
https://bugs.webkit.org/show_bug.cgi?id=10900

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/css/clear-float-sibling.html

Parent blocks keep a list of child floats that extend out of the parent block and
by implication overhang into the parent's siblings. But this doesn't work if the
sibling has collapsing margins - it will not find the float in the previous block's
list so will ignore the float and fail to clear it.

RenderBlock:collapseMargins() needs to check if a child's collapsing margin has
reduced the height of the parent up past the bottom of its previous sibling's lowest float
and add the now overhanging float to the parent's float list if appropriate.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseMargins):

LayoutTests:

  • fast/css/clear-float-sibling-expected.html: Added.
  • fast/css/clear-float-sibling.html: Added.
11:08 AM Changeset in webkit [118394] by kinuko@chromium.org
  • 12 edits in trunk/Source

Cleanup: introduce toFile() to reduce static cast from Blob to File
https://bugs.webkit.org/show_bug.cgi?id=87234

Reviewed by Eric Seidel.

Source/WebCore:

No new tests as this must have no side effect.

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::toV8):

  • fileapi/Blob.cpp:

(WebCore::Blob::webkitSlice):

  • fileapi/Blob.h:

(Blob):

  • fileapi/File.h:

(WebCore::toFile): Added.
(WebCore):

  • fileapi/FileReader.cpp:

(WebCore::FileReader::readAsArrayBuffer):
(WebCore::FileReader::readAsBinaryString):
(WebCore::FileReader::readAsText):
(WebCore::FileReader::readAsDataURL):

  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::WebKitBlobBuilder::append):

  • platform/chromium/ClipboardChromium.cpp:

(WebCore::ClipboardChromium::files):

  • platform/network/FormData.cpp:

(WebCore::FormData::appendKeyValuePairItems):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

Source/WebKit/chromium:

  • src/WebDragData.cpp:

(WebKit::WebDragData::items):

11:03 AM Changeset in webkit [118393] by Darin Adler
  • 2 edits in trunk/Source/WebCore

SVGElement::addEventListener has peculiar RefPtr usage
https://bugs.webkit.org/show_bug.cgi?id=86497

Reviewed by Andy Estes.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::addEventListener): Switch to a more-standard style of RefPtr usage,
getting rid of some unneeded reference count churn; also removed an unneeded special case
for zero listeners.

10:54 AM Changeset in webkit [118392] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Clean up the Windows Skipped list a bit.

Update it for the renames in r108832 and the test removed in r113532.
Also, replace "" with "#" in a couple comments.

  • platform/win/Skipped:
10:44 AM Changeset in webkit [118391] by rakuco@webkit.org
  • 6 edits in trunk

[EFL] Modify keycode conversion functions to return keycodes with location information after r118001.
https://bugs.webkit.org/show_bug.cgi?id=87203

Reviewed by Andreas Kling.

Source/WebCore:

Add the required changes to make
fast/events/keydown-leftright-keys.html pass after r118001.

  • platform/efl/EflKeyboardUtilities.cpp:

(WebCore::createWindowsKeyMap): Translate the keycodes for
"{left,right}{Shift,Alt,Control}" into the right windows keyboard
definitions.

Tools:

Add the required changes to make
fast/events/keydown-leftright-keys.html pass after r118001.

  • DumpRenderTree/efl/EventSender.cpp:

(keyNameFromJSValue): Translate "{left,right}{Shift,Alt,Control}"
into the proper X11 keysym definitions.

LayoutTests:

  • platform/efl/test_expectations.txt: Unskip fast/events/keydown-leftright-keys.html.
10:24 AM Changeset in webkit [118390] by commit-queue@webkit.org
  • 6 edits
    1 copy in trunk/LayoutTests

[EFL] Update test expectations for layout test fast/events/click-focus-anchor.html
https://bugs.webkit.org/show_bug.cgi?id=87293

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-05-24
Reviewed by Eric Seidel.

Anchor elements are mouse focusable in EFL port.

  • fast/events/click-focus-anchor-expected.txt:
  • fast/events/click-focus-anchor.html:
  • platform/efl/Skipped:
  • platform/efl/fast/events/click-focus-anchor-expected.txt:
  • platform/gtk/fast/events/click-focus-anchor-expected.txt:
  • platform/qt/fast/events/click-focus-anchor-expected.txt:
10:20 AM Changeset in webkit [118389] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Gtk] Wrong cursor used for ne-resize
https://bugs.webkit.org/show_bug.cgi?id=87366

Patch by Claudio Saavedra <Claudio Saavedra> on 2012-05-24
Reviewed by Eric Seidel.

  • platform/gtk/CursorGtk.cpp:

(WebCore::Cursor::ensurePlatformCursor): Use GDK_TOP_RIGHT_CORNER
for Cursor::NorthEastPanning.

10:18 AM Changeset in webkit [118388] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] Update test expectations for layout test fast/events/click-focus-control.html
https://bugs.webkit.org/show_bug.cgi?id=87295

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-05-24
Reviewed by Eric Seidel.

HTMLFormControlElement is not mouse focusable in EFL port.

  • platform/efl/Skipped:
  • platform/efl/fast/events/click-focus-control-expected.txt: Added.
10:15 AM Changeset in webkit [118387] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

use built-in data type DashArray
https://bugs.webkit.org/show_bug.cgi?id=87344

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-24
Reviewed by Eric Seidel.

  • tests/PlatformContextSkiaTest.cpp:

(WebCore::TEST):

10:02 AM Changeset in webkit [118386] by Csaba Osztrogonác
  • 3 edits
    125 adds in trunk/LayoutTests

[Qt] Unskip and rebase now passing tests from qt-5.0/Skipped list.

Patch by János Badics <János Badics> on 2012-05-24
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk2/editing/pasteboard/4944770-1-expected.png: Added.
  • platform/qt-5.0-wk2/editing/pasteboard/4944770-1-expected.txt: Added.
  • platform/qt-5.0-wk2/editing/pasteboard/4944770-2-expected.png: Added.
  • platform/qt-5.0-wk2/editing/pasteboard/4944770-2-expected.txt: Added.
  • platform/qt-5.0-wk2/editing/selection/select-box-expected.png: Added.
  • platform/qt-5.0-wk2/editing/selection/select-box-expected.txt: Added.
  • platform/qt-5.0-wk2/editing/selection/select-element-paragraph-boundary-expected.png: Added.
  • platform/qt-5.0-wk2/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png: Added.
  • platform/qt-5.0-wk2/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/dynamic/008-expected.png: Added.
  • platform/qt-5.0-wk2/fast/dynamic/008-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/HTMLOptionElement_label06-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/HTMLOptionElement_label06-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/HTMLOptionElement_label07-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/HTMLOptionElement_label07-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/box-shadow-override-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/box-shadow-override-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/form-element-geometry-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/form-element-geometry-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/input-disabled-color-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/input-disabled-color-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/menulist-separator-painting-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/menulist-separator-painting-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/placeholder-pseudo-style-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/placeholder-pseudo-style-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/select-background-none-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/select-background-none-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/select-baseline-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/select-baseline-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/selectlist-minsize-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/selectlist-minsize-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/textarea-align-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/textarea-align-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/textarea-setinnerhtml-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/textarea-setinnerhtml-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/parser/entity-comment-in-textarea-expected.png: Added.
  • platform/qt-5.0-wk2/fast/parser/entity-comment-in-textarea-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/parser/open-comment-in-textarea-expected.png: Added.
  • platform/qt-5.0-wk2/fast/parser/open-comment-in-textarea-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/replaced/three-selects-break-expected.png: Added.
  • platform/qt-5.0-wk2/fast/replaced/three-selects-break-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/table/003-expected.png: Added.
  • platform/qt-5.0-wk2/fast/table/003-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/text/large-text-composed-char-expected.png: Added.
  • platform/qt-5.0-wk2/fast/text/large-text-composed-char-expected.txt: Added.
  • platform/qt-5.0/Skipped:
  • platform/qt-5.0/editing/pasteboard/4944770-1-expected.png: Added.
  • platform/qt-5.0/editing/pasteboard/4944770-1-expected.txt: Added.
  • platform/qt-5.0/editing/pasteboard/4944770-2-expected.png: Added.
  • platform/qt-5.0/editing/pasteboard/4944770-2-expected.txt: Added.
  • platform/qt-5.0/editing/selection/select-box-expected.png: Added.
  • platform/qt-5.0/editing/selection/select-box-expected.txt: Added.
  • platform/qt-5.0/editing/selection/select-element-paragraph-boundary-expected.png: Added.
  • platform/qt-5.0/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceMotion/create-event-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceMotion/no-page-cache-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceMotion/optional-event-properties-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceMotion/window-property-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceOrientation/create-event-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceOrientation/no-page-cache-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceOrientation/optional-event-properties-expected.txt: Added.
  • platform/qt-5.0/fast/dom/DeviceOrientation/window-property-expected.txt: Added.
  • platform/qt-5.0/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png: Added.
  • platform/qt-5.0/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Added.
  • platform/qt-5.0/fast/dom/Orientation/create-event-orientationchange-expected.txt: Added.
  • platform/qt-5.0/fast/dom/Window/window-properties-device-orientation-expected.txt: Added.
  • platform/qt-5.0/fast/dynamic/008-expected.png: Added.
  • platform/qt-5.0/fast/dynamic/008-expected.txt: Added.
  • platform/qt-5.0/fast/forms/HTMLOptionElement_label06-expected.png: Added.
  • platform/qt-5.0/fast/forms/HTMLOptionElement_label06-expected.txt: Added.
  • platform/qt-5.0/fast/forms/HTMLOptionElement_label07-expected.png: Added.
  • platform/qt-5.0/fast/forms/HTMLOptionElement_label07-expected.txt: Added.
  • platform/qt-5.0/fast/forms/box-shadow-override-expected.png: Added.
  • platform/qt-5.0/fast/forms/box-shadow-override-expected.txt: Added.
  • platform/qt-5.0/fast/forms/form-element-geometry-expected.png: Added.
  • platform/qt-5.0/fast/forms/form-element-geometry-expected.txt: Added.
  • platform/qt-5.0/fast/forms/input-disabled-color-expected.png: Added.
  • platform/qt-5.0/fast/forms/input-disabled-color-expected.txt: Added.
  • platform/qt-5.0/fast/forms/menulist-separator-painting-expected.png: Added.
  • platform/qt-5.0/fast/forms/menulist-separator-painting-expected.txt: Added.
  • platform/qt-5.0/fast/forms/placeholder-pseudo-style-expected.png: Added.
  • platform/qt-5.0/fast/forms/placeholder-pseudo-style-expected.txt: Added.
  • platform/qt-5.0/fast/forms/select-background-none-expected.png: Added.
  • platform/qt-5.0/fast/forms/select-background-none-expected.txt: Added.
  • platform/qt-5.0/fast/forms/select-baseline-expected.png: Added.
  • platform/qt-5.0/fast/forms/select-baseline-expected.txt: Added.
  • platform/qt-5.0/fast/forms/selectlist-minsize-expected.png: Added.
  • platform/qt-5.0/fast/forms/selectlist-minsize-expected.txt: Added.
  • platform/qt-5.0/fast/forms/textarea-align-expected.png: Added.
  • platform/qt-5.0/fast/forms/textarea-align-expected.txt: Added.
  • platform/qt-5.0/fast/forms/textarea-setinnerhtml-expected.png: Added.
  • platform/qt-5.0/fast/forms/textarea-setinnerhtml-expected.txt: Added.
  • platform/qt-5.0/fast/parser/entity-comment-in-textarea-expected.png: Added.
  • platform/qt-5.0/fast/parser/entity-comment-in-textarea-expected.txt: Added.
  • platform/qt-5.0/fast/parser/open-comment-in-textarea-expected.png: Added.
  • platform/qt-5.0/fast/parser/open-comment-in-textarea-expected.txt: Added.
  • platform/qt-5.0/fast/replaced/three-selects-break-expected.png: Added.
  • platform/qt-5.0/fast/replaced/three-selects-break-expected.txt: Added.
  • platform/qt-5.0/fast/table/003-expected.png: Added.
  • platform/qt-5.0/fast/table/003-expected.txt: Added.
  • platform/qt-5.0/fast/text/basic/003-expected.png: Added.
  • platform/qt-5.0/fast/text/basic/003-expected.txt: Added.
  • platform/qt-5.0/fast/text/large-text-composed-char-expected.png: Added.
  • platform/qt-5.0/fast/text/large-text-composed-char-expected.txt: Added.
  • platform/qt-5.0/fast/text/letter-spacing-negative-opacity-expected.png: Added.
  • platform/qt-5.0/fast/text/letter-spacing-negative-opacity-expected.txt: Added.
  • platform/qt-5.0/fast/xsl/document-function-expected.png: Added.
  • platform/qt-5.0/fast/xsl/document-function-expected.txt: Added.
  • platform/qt-5.0/fast/xsl/xslt-entity-expected.png: Added.
  • platform/qt-5.0/fast/xsl/xslt-entity-expected.txt: Added.
9:39 AM Changeset in webkit [118385] by commit-queue@webkit.org
  • 6 edits in trunk/Source

[Qt] Fix Webkit1 + V8 build.
https://bugs.webkit.org/show_bug.cgi?id=87368

Patch by Gabor Ballabas <gaborb@inf.u-szeged.hu> on 2012-05-24
Reviewed by Eric Seidel.

Source/WebCore:

No new tests, because this is a buildfix.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateImplementation):

  • bindings/v8/npruntime_impl.h:
  • bindings/v8/npruntime_priv.h:

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):

9:29 AM Changeset in webkit [118384] by pilgrim@chromium.org
  • 8 edits
    1 copy in trunk/Source

[Chromium] Move queryLocalizedString to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85762

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::queryLocalizedString):

  • chromium/public/WebLocalizedString.h: Added.

(WebKit):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebKitPlatformSupport.h:

(WebKit::WebKitPlatformSupport::getPluginList):

  • public/platform/WebLocalizedString.h:
  • src/LocalizedStrings.cpp:

(WebCore::query):

9:25 AM Changeset in webkit [118383] by danakj@chromium.org
  • 19 edits in trunk/Source

[chromium] Only display frames created with memory allocations meant to be displayed
https://bugs.webkit.org/show_bug.cgi?id=85108

Reviewed by Adrienne Walker.

Source/WebCore:

In this patch we remove the setVisible() code paths from CCProxy, and
instead commit visiblity state along with a frame. We also commit a
flag with a frame that indicates if the frame is one that can be drawn.

The impl host is set to visible during commit instead of using a
special channel through the proxy, and the scheduler allows
commits when we are waiting to draw our first frame but blocked on
being non-visible.

canDraw is gated on a new flag that indicates if the frame is one meant
for display. A frame is meant for display if the frame was generated
with a memory allocation meant for display. At this time, any non-zero
memory allocation is considered meant for display.

We prevent races by not changing the memory allocation at any time
except during a commit. So we force a commit when the memory
allocation needs to be adjusted and we are not visible. Similarly,
we force a commit when visibility changes so that we are able to
commit the visibility change to the impl tree.

In order to prevent drawing frames that are not meant for display
with a single thread, we prevent compositing when the impl tree
is not visible, with an early out in CCSingleThreadProxy.

Unit tests: CCLayerTreeHostTestVisibilityAndAllocationControlDrawing

  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:
  • platform/graphics/chromium/TiledLayerChromium.h:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setNeedsCommit):
(WebCore):
(WebCore::CCLayerTreeHost::setNeedsForcedCommit):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
(WebCore::CCLayerTreeHost::scheduleComposite):
(WebCore::CCLayerTreeHost::updateLayers):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::canDraw):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(WebCore::CCLayerTreeHostImpl::sourceFrameCanBeDrawn):
(WebCore::CCLayerTreeHostImpl::setSourceFrameCanBeDrawn):
(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCProxy.h:

(CCProxy):

  • platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:

(WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit):
(WebCore::CCSchedulerStateMachine::scheduledToDraw):
(WebCore::CCSchedulerStateMachine::updateState):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore):
(WebCore::CCSingleThreadProxy::setNeedsForcedCommit):
(WebCore::CCSingleThreadProxy::doComposite):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::setNeedsForcedCommit):
(WebCore):
(WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread):
(WebCore::CCThreadProxy::forceBeginFrameOnImplThread):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::scheduledActionCommit):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

Removing code to protect visible textures when a tab becomes invisible,
as we want to reduce our memory limit for invisible tabs and these
textures should not be saved.

  • src/NonCompositedContentHost.cpp:
  • src/NonCompositedContentHost.h:

(NonCompositedContentHost):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setVisibilityState):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::TestHooks::didCommit):
(WTF::CCLayerTreeHostTest::CCLayerTreeHostTest):
(WTF::CCLayerTreeHostTest::scheduleComposite):
(WTF::CCLayerTreeHostTest::dispatchComposite):
(CCLayerTreeHostTest):
(WTF::CCLayerTreeHostTest::doBeginTest):
(CCLayerTreeHostTestTickAnimationWhileBackgrounded):
(WTF::CCLayerTreeHostTestTickAnimationWhileBackgrounded::willAnimateLayers):
(CCLayerTreeHostTestVisibilityAndAllocationControlDrawing):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::beginTest):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommit):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::afterTest):
(WTF):

8:50 AM Changeset in webkit [118382] by pfeldman@chromium.org
  • 5 edits
    2 adds in trunk

Web Inspector: [regression] search in formatted scripts is broken.
https://bugs.webkit.org/show_bug.cgi?id=87377

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Using formatted content in search.

Test: inspector/debugger/script-formatter-search.html

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
(WebInspector.JavaScriptSource.prototype.searchInContent.callbackWrapper):
(WebInspector.JavaScriptSource.prototype.searchInContent):

LayoutTests:

  • inspector/debugger/script-formatter-search-expected.txt: Added.
  • inspector/debugger/script-formatter-search.html: Added.
8:48 AM Changeset in webkit [118381] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Fix the Mac tests after r118353.

  • platform/mac/fast/js/global-constructors-expected.txt:
8:45 AM Changeset in webkit [118380] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt5][WK2] Gardening. Skip failing test after r118058.
https://bugs.webkit.org/show_bug.cgi?id=87395

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-05-24
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk2/Skipped: Skip fast/forms/ValidityState-valueMissing-002.html.
8:31 AM Changeset in webkit [118379] by pdr@google.com
  • 3 edits in trunk/Source/WebCore

Refactor SVGAnimateTransformElement to avoid expensive determineAnimatedPropertyType call
https://bugs.webkit.org/show_bug.cgi?id=87309

Reviewed by Nikolas Zimmermann.

This is a simple refactor that matches the work done in
https://bugs.webkit.org/show_bug.cgi?id=87309 to avoid an expensive call.

No new tests, no actual effects beyond performance improvement.

  • svg/SVGAnimateElement.h:

(SVGAnimateElement):

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::hasValidAttributeType):

8:12 AM Changeset in webkit [118378] by Csaba Osztrogonác
  • 2 edits
    1 delete in trunk/LayoutTests

[Qt] Gardening. Remove no more required expected file.

[WK2] Skip test that uses unimplemented feature.
https://bugs.webkit.org/show_bug.cgi?id=81042

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-05-24
Reviewed by Csaba Osztrogonác.

  • platform/qt/svg/custom/global-constructors-expected.txt: Removed.
  • platform/wk2/Skipped: editing/spelling/grammar-markers.html.
8:10 AM Changeset in webkit [118377] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

[Qt] Unreviewed trvial fixes.

  • Target.pri: Typo fix after r118226.
  • WebCore.pri: Warning fix after r117291.
8:07 AM Changeset in webkit [118376] by Antti Koivisto
  • 14 edits
    2 copies in trunk/Source/WebCore

Move StyleRuleImport to a file of its own
https://bugs.webkit.org/show_bug.cgi?id=87386

Rubber-stamped by Andreas Kling.

Move StyleRuleImport out from CSSImportRule.cpp/.h

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSImportRule.cpp:

(WebCore):
(WebCore::CSSImportRule::href):

  • css/CSSImportRule.h:

(WebCore):
(CSSImportRule):

  • css/CSSParser.cpp:
  • css/StyleRuleImport.cpp: Copied from Source/WebCore/css/CSSImportRule.cpp.

(WebCore):

  • css/StyleRuleImport.h: Copied from Source/WebCore/css/CSSImportRule.h.

(WebCore):

  • css/StyleSheetContents.cpp:
7:59 AM Changeset in webkit [118375] by vsevik@chromium.org
  • 11 edits
    6 deletes in trunk

Unreviewed, rolling out r118352.
http://trac.webkit.org/changeset/118352
https://bugs.webkit.org/show_bug.cgi?id=87390

Caused 6 editing/spelling tests crash/fail on chromium in
debug. (Requested by vsevik on #webkit).

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

Source/WebCore:

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForDocumentMarker):

Source/WebKit/chromium:

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::isGrammarCheckingEnabled):

  • src/WebTextCheckingResult.cpp:

(WebKit::WebTextCheckingResult::operator TextCheckingResult):

Tools:

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/MockGrammarCheck.cpp: Removed.
  • DumpRenderTree/chromium/MockGrammarCheck.h: Removed.
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::finishLastTextCheck):

LayoutTests:

  • editing/spelling/grammar-markers-expected.txt: Removed.
  • editing/spelling/grammar-markers.html: Removed.
  • platform/chromium-linux/editing/spelling/grammar-markers-expected.png: Removed.
  • platform/chromium/test_expectations.txt:
  • platform/mac/editing/spelling/grammar-markers-expected.png: Removed.
7:54 AM Changeset in webkit [118374] by apavlov@chromium.org
  • 9 edits in trunk/Source/WebCore

Web Inspector: Support hierarchical context menus
https://bugs.webkit.org/show_bug.cgi?id=86847

Reviewed by Pavel Feldman.

This patch makes use of the WebMenuItemInfo SubMenu type to expose the capability of building submenu items
in the Web Inspector's context menu. ContextMenuItems are also passed/stored by reference/value rather than pointer
in order to be consistent with the PlatformMenuDescription typedef.

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::populateContextMenuItems): Enable submenu item population.
(WebCore):
(WebCore::JSInspectorFrontendHost::showContextMenu): Extract the menu population part into populateContextMenuItems().

  • bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:

(WebCore::populateContextMenuItems): Enable submenu item population.
(WebCore):
(WebCore::V8InspectorFrontendHost::showContextMenuCallback): Extract the menu population part into populateContextMenuItems().

  • inspector/InspectorFrontendHost.cpp:

(WebCore::FrontendMenuProvider::create): Use reference instead of pointer for ContextMenuItems.
(WebCore::FrontendMenuProvider::FrontendMenuProvider): Use reference instead of pointer for ContextMenuItems.
(WebCore::FrontendMenuProvider::populateContextMenu): Use reference instead of pointer for ContextMenuItems.
(WebCore::FrontendMenuProvider::contextMenuCleared):
(FrontendMenuProvider):
(WebCore::InspectorFrontendHost::showContextMenu): Use reference instead of pointer for ContextMenuItems.

  • inspector/InspectorFrontendHost.h:

(InspectorFrontendHost):

  • inspector/front-end/ContextMenu.js: Support the tree-like structure of context menus.

(WebInspector.ContextMenuItem):
(WebInspector.ContextMenuItem.prototype.id):
(WebInspector.ContextMenuItem.prototype.type):
(WebInspector.ContextMenuItem.prototype._buildDescriptor):
(WebInspector.ContextSubMenuItem):
(WebInspector.ContextSubMenuItem.prototype.appendItem):
(WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem):
(WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem):
(WebInspector.ContextSubMenuItem.prototype.appendSeparator):
(WebInspector.ContextSubMenuItem.prototype._buildDescriptor):
(WebInspector.ContextMenu):
(WebInspector.ContextMenu.prototype.nextId):
(WebInspector.ContextMenu.prototype.show):
(WebInspector.ContextMenu.prototype._setHandler):
(WebInspector.ContextMenu.prototype._buildDescriptor):

  • inspector/front-end/SoftContextMenu.js:

(.WebInspector.SoftContextMenu): Support sub-menus.
(.WebInspector.SoftContextMenu.prototype.show):
(.WebInspector.SoftContextMenu.prototype._parentGlassPaneElement):
(.WebInspector.SoftContextMenu.prototype._createMenuItem):
(.WebInspector.SoftContextMenu.prototype._createSubMenu):
(.WebInspector.SoftContextMenu.prototype._createSeparator):
(.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
(.WebInspector.SoftContextMenu.prototype._focus):
(.WebInspector.SoftContextMenu.prototype._triggerAction):
(.WebInspector.SoftContextMenu.prototype._showSubMenu):
(.WebInspector.SoftContextMenu.prototype._buildMouseEventForSubMenu):
(.WebInspector.SoftContextMenu.prototype._hideSubMenu):
(.WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
(.WebInspector.SoftContextMenu.prototype._highlightMenuItem):
(.WebInspector.SoftContextMenu.prototype._menuKeyDown):
(.WebInspector.SoftContextMenu.prototype._glassPaneMouseUp):
(.WebInspector.SoftContextMenu.prototype._discardMenu):
(.WebInspector.SoftContextMenu.prototype._discardSubMenus):

  • inspector/front-end/inspector.css: Support for sub-menus, separator improvement.

(.soft-context-menu-separator):
(.soft-context-menu-separator > .separator-line):
(.soft-context-menu-item-submenu-arrow):

  • platform/chromium/ContextMenuChromium.cpp:

(WebCore::contextMenuItemVector): Implemented.
(WebCore):

7:54 AM Changeset in webkit [118373] by peter@chromium.org
  • 2 edits in trunk/Tools

Add John Mellor as a contributor
https://bugs.webkit.org/show_bug.cgi?id=87389

Reviewed by Kenneth Rohde Christiansen.

John will be working on Font Boosting and is very involved with various
web-facing subjects of Chrome for Android, such as viewport.

  • Scripts/webkitpy/common/config/committers.py:
7:53 AM Changeset in webkit [118372] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

Unreviewed, rolling out r118256.
http://trac.webkit.org/changeset/118256
https://bugs.webkit.org/show_bug.cgi?id=87388

It still fails on Qt5-WK2 (Requested by Ossy on #webkit).

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

  • platform/qt-5.0-wk1/Skipped:
  • platform/qt-5.0/Skipped:
7:50 AM Changeset in webkit [118371] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Breakpoints Pane should not show context menu with no breakpoints
https://bugs.webkit.org/show_bug.cgi?id=87340

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-05-24
Reviewed by Pavel Feldman.

Removed the method _contextMenu as this would be redundant call
because _breakpointContextMenu would take care of showing the remove
all breakpoints option.

  • inspector/front-end/BreakpointsSidebarPane.js:

(WebInspector.JavaScriptBreakpointsSidebarPane):
(WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):

7:43 AM Changeset in webkit [118370] by commit-queue@webkit.org
  • 2 edits
    72 adds in trunk/LayoutTests

[EFL] [DRT] Add baselines for execCommand tests which are missing expected results
https://bugs.webkit.org/show_bug.cgi?id=84839

Unreviewed gardening, add EFL baselines for execCommand tests and move a
few tests which rely on copy & paste functionality to test_expectations.txt.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-24

  • platform/efl/editing/execCommand/4580583-1-expected.png: Added.
  • platform/efl/editing/execCommand/4580583-1-expected.txt: Added.
  • platform/efl/editing/execCommand/4580583-2-expected.png: Added.
  • platform/efl/editing/execCommand/4580583-2-expected.txt: Added.
  • platform/efl/editing/execCommand/4641880-1-expected.png: Added.
  • platform/efl/editing/execCommand/4641880-1-expected.txt: Added.
  • platform/efl/editing/execCommand/4641880-2-expected.png: Added.
  • platform/efl/editing/execCommand/4641880-2-expected.txt: Added.
  • platform/efl/editing/execCommand/4747450-expected.png: Added.
  • platform/efl/editing/execCommand/4747450-expected.txt: Added.
  • platform/efl/editing/execCommand/4916402-expected.png: Added.
  • platform/efl/editing/execCommand/4916402-expected.txt: Added.
  • platform/efl/editing/execCommand/4916541-expected.png: Added.
  • platform/efl/editing/execCommand/4916541-expected.txt: Added.
  • platform/efl/editing/execCommand/4924441-expected.png: Added.
  • platform/efl/editing/execCommand/4924441-expected.txt: Added.
  • platform/efl/editing/execCommand/5080333-1-expected.png: Added.
  • platform/efl/editing/execCommand/5080333-1-expected.txt: Added.
  • platform/efl/editing/execCommand/5080333-2-expected.png: Added.
  • platform/efl/editing/execCommand/5080333-2-expected.txt: Added.
  • platform/efl/editing/execCommand/5136770-expected.png: Added.
  • platform/efl/editing/execCommand/5136770-expected.txt: Added.
  • platform/efl/editing/execCommand/5138441-expected.png: Added.
  • platform/efl/editing/execCommand/5138441-expected.txt: Added.
  • platform/efl/editing/execCommand/5142012-1-expected.png: Added.
  • platform/efl/editing/execCommand/5142012-1-expected.txt: Added.
  • platform/efl/editing/execCommand/5142012-2-expected.png: Added.
  • platform/efl/editing/execCommand/5142012-2-expected.txt: Added.
  • platform/efl/editing/execCommand/5190926-expected.png: Added.
  • platform/efl/editing/execCommand/5190926-expected.txt: Added.
  • platform/efl/editing/execCommand/5481523-expected.png: Added.
  • platform/efl/editing/execCommand/5481523-expected.txt: Added.
  • platform/efl/editing/execCommand/5482023-expected.png: Added.
  • platform/efl/editing/execCommand/5482023-expected.txt: Added.
  • platform/efl/editing/execCommand/5569741-expected.png: Added.
  • platform/efl/editing/execCommand/5569741-expected.txt: Added.
  • platform/efl/editing/execCommand/create-list-with-hr-expected.png: Added.
  • platform/efl/editing/execCommand/create-list-with-hr-expected.txt: Added.
  • platform/efl/editing/execCommand/findString-2-expected.png: Added.
  • platform/efl/editing/execCommand/findString-2-expected.txt: Added.
  • platform/efl/editing/execCommand/findString-expected.png: Added.
  • platform/efl/editing/execCommand/findString-expected.txt: Added.
  • platform/efl/editing/execCommand/format-block-with-trailing-br-expected.png: Added.
  • platform/efl/editing/execCommand/indent-empty-root-expected.png: Added.
  • platform/efl/editing/execCommand/indent-empty-root-expected.txt: Added.
  • platform/efl/editing/execCommand/indent-list-item-expected.png: Added.
  • platform/efl/editing/execCommand/indent-list-item-expected.txt: Added.
  • platform/efl/editing/execCommand/indent-selection-expected.png: Added.
  • platform/efl/editing/execCommand/indent-selection-expected.txt: Added.
  • platform/efl/editing/execCommand/insert-list-and-stitch-expected.png: Added.
  • platform/efl/editing/execCommand/insert-list-and-stitch-expected.txt: Added.
  • platform/efl/editing/execCommand/insertHorizontalRule-expected.png: Added.
  • platform/efl/editing/execCommand/insertHorizontalRule-expected.txt: Added.
  • platform/efl/editing/execCommand/insertImage-expected.png: Added.
  • platform/efl/editing/execCommand/insertImage-expected.txt: Added.
  • platform/efl/editing/execCommand/nsresponder-indent-expected.png: Added.
  • platform/efl/editing/execCommand/nsresponder-indent-expected.txt: Added.
  • platform/efl/editing/execCommand/nsresponder-outdent-expected.png: Added.
  • platform/efl/editing/execCommand/nsresponder-outdent-expected.txt: Added.
  • platform/efl/editing/execCommand/outdent-blockquote-test1-expected.txt: Added.
  • platform/efl/editing/execCommand/outdent-blockquote-test2-expected.txt: Added.
  • platform/efl/editing/execCommand/outdent-blockquote-test3-expected.txt: Added.
  • platform/efl/editing/execCommand/outdent-blockquote-test4-expected.txt: Added.
  • platform/efl/editing/execCommand/print-expected.png: Added.
  • platform/efl/editing/execCommand/print-expected.txt: Added.
  • platform/efl/editing/execCommand/remove-list-from-range-selection-expected.png: Added.
  • platform/efl/editing/execCommand/remove-list-from-range-selection-expected.txt: Added.
  • platform/efl/editing/execCommand/remove-list-item-1-expected.png: Added.
  • platform/efl/editing/execCommand/remove-list-item-1-expected.txt: Added.
  • platform/efl/editing/execCommand/selectAll-expected.png: Added.
  • platform/efl/editing/execCommand/selectAll-expected.txt: Added.
  • platform/efl/test_expectations.txt:
7:41 AM Changeset in webkit [118369] by mifenton@rim.com
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove unused API function touchEventCancelAndClearFocusedNode.
https://bugs.webkit.org/show_bug.cgi?id=87379

Reviewed by Antonio Gomes.

Remove unused API, touchEventCancelAndClearFocusedNode.

Reviewed Internally by Gen Mak.

  • Api/WebPage.cpp:
  • Api/WebPage.h:
  • WebKitSupport/TouchEventHandler.cpp:
  • WebKitSupport/TouchEventHandler.h:

(TouchEventHandler):

7:38 AM Changeset in webkit [118368] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Chromium Mac build fix after r118357.
Use full name specifier instead of "using" directive.

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::jsHeapInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

7:35 AM Changeset in webkit [118367] by pfeldman@chromium.org
  • 22 edits
    2 adds in trunk

Web Inspector: introduce virtual resource for inspector stylesheet.
https://bugs.webkit.org/show_bug.cgi?id=87357

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change introduces virtual resource that represents inspector stylesheet (that is added for styles added via inspector).
New resource has url of form "inspector://<page url folder>/inspector-stylesheet. It enables live editing and revision
history of the inspector stylesheet.

Test: inspector/styles/edit-inspector-stylesheet.html

  • inspector/Inspector.json:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::bindStyleSheet):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):

  • inspector/InspectorCSSAgent.h:

(InspectorCSSAgent):

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):
(WebCore::InspectorDOMAgent::pageAgent):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(WebCore):
(InspectorStyleSheet):
(WebCore::InspectorStyleSheet::canBind):
(InspectorStyleSheetForInlineStyle):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype._undoRedoCompleted):
(WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
(WebInspector.CSSStyleModelResourceBinding):
(WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
(WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
(WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
(WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
(WebInspector.CSSStyleModelResourceBinding.prototype._getViaInspectorResource.hadersLoaded):
(WebInspector.CSSStyleModelResourceBinding.prototype._getViaInspectorResource):
(WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource.overrideRequestContent.callbackWrapper):
(WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource.overrideRequestContent):
(WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource):
(WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL):

  • inspector/front-end/Resource.js:

(WebInspector.Resource):
(WebInspector.Resource.prototype.isHidden):

  • inspector/front-end/ResourceTreeModel.js:

(WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
(WebInspector.ResourceTreeFrame.prototype._navigate):
(WebInspector.ResourceTreeFrame.prototype.addResource):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.FrameTreeElement.prototype.appendResource):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._createSourceFrame):

  • inspector/front-end/StylesPanel.js:

(WebInspector.InspectorStyleSource):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection.prototype._createRuleOriginNode.callback):
(WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):

LayoutTests:

  • inspector/styles/edit-inspector-stylesheet-expected.txt: Added.
  • inspector/styles/edit-inspector-stylesheet.html: Added.
  • inspector/styles/styles-add-new-rule-expected.txt:
  • inspector/styles/styles-add-new-rule.html:
  • inspector/styles/undo-add-new-rule-expected.txt:
7:21 AM Changeset in webkit [118366] by commit-queue@webkit.org
  • 8 edits in trunk

[EFL][DRT] LayoutTestController's setCacheModel() implementation
https://bugs.webkit.org/show_bug.cgi?id=86840

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-24
Reviewed by Csaba Osztrogonác.

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval): Aux wrapper function for DRT.

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues): Reset dead decoded data deletion interval.

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setCacheModel): Implementation added.

LayoutTests:

  • platform/efl/Skipped: Unskipped fast/dom/HTMLScriptElement/nested-execution.html.
7:20 AM Changeset in webkit [118365] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Possible deadlock in the WebGL code path
https://bugs.webkit.org/show_bug.cgi?id=87375

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-05-24
Reviewed by Rob Buis.

Fix a deadlock happening in the WebGL code path. The mutex is locked
but is not unlocked afterword. Also fix a possible double delete,
the mutex m_frontBufferLock will be destroyed in the base class.

Covered by tests in fast/canvas/webgl.

  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::releaseTextureResources):

  • platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:

(WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):

7:13 AM Changeset in webkit [118364] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Forcibly sync running animations in the waiting state when synchronized start times are needed.
https://bugs.webkit.org/show_bug.cgi?id=87153

Patch by Ian Vollick <vollick@chromium.org> on 2012-05-24
Reviewed by James Robinson.

Source/WebCore:

Unit test: CCLayerAnimationControllerTest.ForceSyncWhenSynchronizedStartTimeNeeded

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

(WebCore::CCLayerAnimationController::replaceImplThreadAnimations):

Source/WebKit/chromium:

  • tests/CCLayerAnimationControllerTest.cpp:

(WebKitTests::TEST):
(WebKitTests):

7:03 AM Changeset in webkit [118363] by kareng@chromium.org
  • 1 edit
    2 copies in branches/chromium/1132

Merge 117102 - MediaStream API: Setting onended on a LocalMediaStream triggers an assertion in V8
https://bugs.webkit.org/show_bug.cgi?id=86459

Reviewed by Adam Barth.

Source/WebCore:

LocalMediaStream inherits from MediaStream, but only MediaStream have the
EventTarget idl attribute. Adding the attribute to LocalMediaStream as well fixes the issue.

Test: fast/mediastream/LocalMediaStream-onended.html

  • Modules/mediastream/LocalMediaStream.idl:

LayoutTests:

  • fast/mediastream/LocalMediaStream-onended-expected.txt: Added.
  • fast/mediastream/LocalMediaStream-onended.html: Added.

TBR=tommyw@google.com
Review URL: https://chromiumcodereview.appspot.com/10454008

7:03 AM WebKitGTK/1.8.x edited by kov@webkit.org
(diff)
6:56 AM Changeset in webkit [118362] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed. Update platform specific expectation after r118353

  • platform/qt/fast/js/global-constructors-expected.txt:
6:39 AM Changeset in webkit [118361] by loislo@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: convert HeapSnapshotGridNode._provider into getter.
https://bugs.webkit.org/show_bug.cgi?id=87382

I found that we create a provider for child nodes for the each DataGrid node in advance.
It cost us one async call to the HeapSnapshot's worker per each such the node.
I converted the property into the getter which is initializing the provider lazily.

Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshot.js:
  • inspector/front-end/HeapSnapshotGridNodes.js:

(WebInspector.HeapSnapshotGridNode):
(WebInspector.HeapSnapshotGridNode.prototype.createProvider):
(WebInspector.HeapSnapshotGridNode.prototype._provider):
(WebInspector.HeapSnapshotGridNode.prototype.dispose):
(WebInspector.HeapSnapshotGridNode.prototype._populate):
(WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate):
(WebInspector.HeapSnapshotGridNode.prototype._populateChildren.serializeNextChunk):
(WebInspector.HeapSnapshotGridNode.prototype.sort):
(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
(WebInspector.HeapSnapshotObjectNode):
(WebInspector.HeapSnapshotInstanceNode):
(WebInspector.HeapSnapshotConstructorNode):
(WebInspector.HeapSnapshotConstructorNode.prototype.createProvider):
(WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
(WebInspector.HeapSnapshotDiffNode):
(WebInspector.HeapSnapshotDiffNode.prototype.createProvider):
(WebInspector.HeapSnapshotDominatorObjectNode):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype.createProvider):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):

6:32 AM Changeset in webkit [118360] by kkristof@inf.u-szeged.hu
  • 1 edit
    1 add in trunk/LayoutTests

[Qt] Unreviewed gardening. Add platform specific expectation.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-05-24

  • platform/qt-5.0-wk2/fast/forms/search-rtl-expected.txt: Added after r117672.
6:25 AM Changeset in webkit [118359] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] r118325 made two inspector tests to fail
https://bugs.webkit.org/show_bug.cgi?id=87385

Unreviewed gardening.

  • platform/qt/Skipped: skip the failing tests
6:19 AM Changeset in webkit [118358] by commit-queue@webkit.org
  • 4 edits in trunk

Filter for RadioNodeList should be case sensitive.
https://bugs.webkit.org/show_bug.cgi?id=87369

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-05-24
Reviewed by Kent Tamura.

Source/WebCore:

Element's id/name attribute matching criteria is case sensitive now.

Modified existing test.

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::nodeMatches):
Element matching criteria is case sensitive.

LayoutTests:

  • fast/forms/form-collection-radio-node-list.html:
6:01 AM Changeset in webkit [118357] by yurys@chromium.org
  • 9 edits in trunk/Source

Web Inspector: add a command to InspectorMemoryAgent for getting process memory break down
https://bugs.webkit.org/show_bug.cgi?id=87263

Reviewed by Pavel Feldman.

Source/WebCore:

Introduced new protocol command Memory.getProcessMemoryDistribution which returns
memory distribution for the inspected process. Currently only JS allocated and used
heap size is included.

  • inspector/Inspector.json:
  • inspector/InspectorMemoryAgent.cpp:

(WebCore::jsHeapInfo):
(WebCore):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • inspector/InspectorMemoryAgent.h:

(InspectorMemoryAgent):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

Added an API for retrieving render process private and shared memory in bytes.

  • public/platform/WebKitPlatformSupport.h:

(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::getProcessMemorySize):

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::getProcessMemorySize):
(WebCore):

6:00 AM Changeset in webkit [118356] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

new test fast/js/dfg-arguments-mixed-alias.html fail on 32 bit linux
https://bugs.webkit.org/show_bug.cgi?id=87378

Unreviewed gardening.

  • platform/qt/Skipped: skip the failing test
5:49 AM Changeset in webkit [118355] by ahf@0x90.dk
  • 2 edits in trunk/Source/WebKit2

Reorder arguments to compare() in the QML WebView tests
https://bugs.webkit.org/show_bug.cgi?id=87374

Reviewed by Simon Hausmann.

Based on patch by Kenneth Rohde Christiansen.

The reordering is necessary to get correct information printed when
the tests fails. Without this, the test suite will display the bogus
value and not the expected value.

This patch also removes the delayed windowShown since this is not
needed anymore, due to us using the touch events instead of mouse
events.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
5:49 AM Changeset in webkit [118354] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

https://bugs.webkit.org/show_bug.cgi?id=67093
[Qt] Default window.alert shows HTML entities in certain cases

Instead of HTML escaping the text of JS alerts (which does not work
consistently because of Qt's automatisms), build message boxes
explicitly to be able set the text format to plain text.
QInputDialog is a bit hacky, because there is no way to access or
control the contained QLabel.

Patch by Steffen Imhof <steffen.imhof@basyskom.com> on 2012-05-24
Reviewed by Simon Hausmann.

  • Api/qwebpage.cpp:

(QWebPage::javaScriptAlert):
(QWebPage::javaScriptConfirm):
(QWebPage::javaScriptPrompt):

5:21 AM Changeset in webkit [118353] by Nikolas Zimmermann
  • 36 edits in trunk

SVGZoomAndPan constants are missing from window object
https://bugs.webkit.org/show_bug.cgi?id=15494

Reviewed by Rob Buis.

Source/WebCore:

Generate the SVGZoomAndPanConstructor, so that the constants defined in the IDL
can be reached from the bindings. Provide a stub-implementation of ref/deref
that's never used, as we don't actually use JSSVGZoomAndPan which needs this, but
only the JSSVGZoomAndPanConstructor.

Add a new IDL flag "SuppressToJSObject" which disables generation of toJS/toV8
methods for classes that are only used in SVGs interfaces via multiple inheritance.
This affects: SVGFitToViewBox, SVGTests, SVGLangSapce, SVGExternalResourcesRequired, etc.

Unlike those classes SVGZoomAndPan defines constants, and thus needs a generated Constructor.
That requires us to build JSSVGZoomAndPan.* (JSSVGFitToViewBox/etc. is generated, but not built!).
Unfortunately this causes compilation problems on Windows, as it builds all sources in a single-file.
MSVC can't decide whether it should call toJS(Node*) or toJS(SVGZoomAndPan*) for a SVGSVGElement.
To avoid these problems stop generating toJS/toV8 completely for all SVG MI types. They were
never used before, so there's no point in actually generating them, as it's now causing problems.

This is a preparation towards bug 15495, which covers implementing
SVGSVGElement.currentView and the SVGViewSpec interface.

No new tests. The SVGZoomAndPan constructor is covered by existing tests, now that its enabled.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorJS.pm:

(ShouldGenerateToJSDeclaration):
(ShouldGenerateToJSImplementation):
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

  • bindings/scripts/IDLAttributes.txt:
  • gyp/WebCore.gyp:
  • page/DOMWindow.idl:
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::zoomAndPanEnabled):

  • svg/SVGExternalResourcesRequired.idl:
  • svg/SVGFitToViewBox.idl:
  • svg/SVGLangSpace.idl:
  • svg/SVGLocatable.idl:
  • svg/SVGRenderingIntent.idl:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::viewBoxToViewTransform):
(WebCore::SVGSVGElement::setupInitialView):
(WebCore::SVGSVGElement::inheritViewAttributes):

  • svg/SVGSVGElement.h:

(SVGSVGElement):
(WebCore::SVGSVGElement::useCurrentView):
(WebCore::SVGSVGElement::setUseCurrentView):
(WebCore::SVGSVGElement::zoomAndPan):
(WebCore::SVGSVGElement::setZoomAndPan):

  • svg/SVGStylable.idl:
  • svg/SVGTests.idl:
  • svg/SVGURIReference.idl:
  • svg/SVGUnitTypes.idl:
  • svg/SVGViewElement.cpp:

(WebCore::SVGViewElement::SVGViewElement):
(WebCore::SVGViewElement::parseAttribute):

  • svg/SVGViewElement.h:

(SVGViewElement):
(WebCore::SVGViewElement::zoomAndPan):
(WebCore::SVGViewElement::setZoomAndPan):

  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::SVGViewSpec):
(WebCore::SVGViewSpec::setTransformString):
(WebCore::SVGViewSpec::parseViewSpec):

  • svg/SVGViewSpec.h:

(SVGViewSpec):
(WebCore::SVGViewSpec::transformBaseValue):
(WebCore::SVGViewSpec::zoomAndPan):
(WebCore::SVGViewSpec::setZoomAndPanBaseValue):

  • svg/SVGZoomAndPan.cpp:

(WebCore::SVGZoomAndPan::isKnownAttribute):
(WebCore::SVGZoomAndPan::addSupportedAttributes):
(WebCore):
(WebCore::SVGZoomAndPan::parseZoomAndPan):
(WebCore::SVGZoomAndPan::ref):
(WebCore::SVGZoomAndPan::deref):
(WebCore::SVGZoomAndPan::setZoomAndPan):

  • svg/SVGZoomAndPan.h:

(SVGZoomAndPan):
(WebCore::SVGZoomAndPan::parseFromNumber):
(WebCore::SVGZoomAndPan::parseAttribute):
(WebCore::SVGZoomAndPan::zoomAndPan):

  • svg/SVGZoomAndPan.idl:

LayoutTests:

SVGZoomAndPan is now available as global constructor, rebaseline results.

  • svg/custom/global-constructors-expected.txt:
  • svg/custom/js-svg-constructors-expected.txt:
  • svg/custom/js-svg-constructors.svg:
5:04 AM Changeset in webkit [118352] by hbono@chromium.org
  • 11 edits
    1 copy
    5 adds in trunk

Enable grammar checking on Chromium when we paste text.
https://bugs.webkit.org/show_bug.cgi?id=74393

Reviewed by Hajime Morita.

This change enables grammar checking on Chromium and implements a mock grammar
checker to fix a failing test.

Source/WebCore:

Test: editing/spelling/grammar-markers.html

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForDocumentMarker): render grammar markers in gray on Windows and Linux or in green on Mac.

Source/WebKit/chromium:

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): Show suggestions when we right-click grammatically-misspelled words.

  • src/EditorClientImpl.cpp:

(WebKit::EditorClientImpl::isGrammarCheckingEnabled): Enable grammar checking when we enable asynchronous spellchecking.

  • src/WebTextCheckingResult.cpp:

(WebKit::WebTextCheckingResult::operator TextCheckingResult): Fill GrammarDetails for grammatical errors.

Tools:

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/MockGrammarCheck.cpp: Added.

(MockGrammarCheck::checkGrammarOfString):

  • DumpRenderTree/chromium/MockGrammarCheck.h: Added.

(WebKit):
(MockGrammarCheck):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::finishLastTextCheck): Call MockGrammarCheck::checkGrammarOfString to check grammatical errors.

LayoutTests:

  • editing/spelling/grammar-markers-expected.txt: Added.
  • editing/spelling/grammar-markers.html: Added.
  • platform/chromium-linux/editing/spelling/grammar-markers-expected.png: Added.
  • platform/chromium/test_expectations.txt:
  • platform/mac/editing/spelling/grammar-markers-expected.png: Added.
4:44 AM Changeset in webkit [118351] by caseq@chromium.org
  • 9 edits in trunk

Web Inspector: add inspector instrumentation interface for compositing
https://bugs.webkit.org/show_bug.cgi?id=83842

Reviewed by Pavel Feldman.

Source/WebCore:

  • added instrumentation methods to mark start/end of layer compositing;
  • added associated timeline record type (CompositeLayers);
  • plumbed the calls from instrumentation up to the timeline panel;
  • actual call-sites are platform-specific and will come as separate patches.
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willCompositeImpl):
(WebCore):
(WebCore::InspectorInstrumentation::didCompositeImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willComposite):
(WebCore):
(WebCore::InspectorInstrumentation::didComposite):

  • inspector/InspectorTimelineAgent.cpp:

(TimelineRecordType):
(WebCore::InspectorTimelineAgent::willComposite):
(WebCore):
(WebCore::InspectorTimelineAgent::didComposite):

  • inspector/InspectorTimelineAgent.h:

(InspectorTimelineAgent):

  • inspector/front-end/TimelineModel.js:
  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.recordStyle):

LayoutTests:

  • inspector/timeline/timeline-enum-stability-expected.txt: added CompositeLayers.
4:33 AM Changeset in webkit [118350] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed Web Inspector: remove obsolete isDetailedSnapshot method from HeapSnapshotView.

  • inspector/front-end/HeapSnapshotView.js:
4:28 AM Changeset in webkit [118349] by pfeldman@chromium.org
  • 15 edits
    2 adds in trunk

Web Inspector: localStorage items are not updated when the storage changes
https://bugs.webkit.org/show_bug.cgi?id=83012

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-05-24
Reviewed by Pavel Feldman.

Source/WebCore:

Renamed the inspector protocol UpdateDOMStorage to domStorageUpdated.
Instrumented StorageEventDispatcher to send the update event to the
front-end. Also removed the way DOM Storage Agent used to listen for
the storage events. Added new test to verify the update notifications.

Test: inspector/storage-panel-dom-storage-update.html

  • dom/EventListener.h:
  • inspector/Inspector.json:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore):
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):

  • inspector/InspectorDOMStorageAgent.h:

(InspectorDOMStorageAgent):

  • inspector/InspectorDOMStorageResource.cpp:

(WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
(WebCore::InspectorDOMStorageResource::isSameHostAndType):
(WebCore::InspectorDOMStorageResource::unbind):

  • inspector/InspectorDOMStorageResource.h:

(WebCore):
(InspectorDOMStorageResource):
(WebCore::InspectorDOMStorageResource::create):
(WebCore::InspectorDOMStorageResource::id):
(WebCore::InspectorDOMStorageResource::storageArea):
(WebCore::InspectorDOMStorageResource::frame):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
(WebCore):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didUseDOMStorage):
(WebCore):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):

  • inspector/front-end/DOMStorage.js:

(WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype.domStorageUpdated):

  • storage/StorageEventDispatcher.cpp:

(WebCore::StorageEventDispatcher::dispatch):

Source/WebKit/chromium:

Instrumented the DOM Storage Events in order to update the frontend.

  • src/StorageAreaProxy.cpp:

(WebCore::StorageAreaProxy::dispatchLocalStorageEvent):
(WebCore::StorageAreaProxy::dispatchSessionStorageEvent):

LayoutTests:

Test to verify the storage list is updated in the inspector frontend
whenever there is any modifications to dom storage.

  • inspector/storage-panel-dom-storage-update-expected.txt: Added.
  • inspector/storage-panel-dom-storage-update.html: Added.
4:27 AM Changeset in webkit [118348] by loislo@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: introduce console proxy object for HeapSnapshot worker.
https://bugs.webkit.org/show_bug.cgi?id=87346

There is no console object in html5 workers at the moment.
This makes me sad when I'm troubleshooting the HeapSnapshot stuff.
I wrote a simplest proxy object which sends the log, info and error messages
to the WebInspector window.

Reviewed by Pavel Feldman.

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):

  • inspector/front-end/HeapSnapshotWorker.js:

(WebInspector.WorkerConsole):
(WebInspector.WorkerConsole.prototype.log):
(WebInspector.WorkerConsole.prototype.error):
(WebInspector.WorkerConsole.prototype.info):
(WebInspector.WorkerConsole.prototype._postMessage):

4:17 AM Changeset in webkit [118347] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] REGRESSION(r118291) fast/frames/flattening/iframe-tiny.html fails
https://bugs.webkit.org/show_bug.cgi?id=87363

Unreviewed gardening.

  • platform/qt/Skipped: skip the failing test
4:03 AM Changeset in webkit [118346] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] new test fast/block/positioning/fixed-position-stacking-context.html is failing
https://bugs.webkit.org/show_bug.cgi?id=87367

Unreviewed gardening.

  • platform/qt/Skipped: skip the failing test
3:52 AM Changeset in webkit [118345] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip tests because ENABLE(SHADOW_DOM) is disabled.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-05-24

  • platform/qt/Skipped:
3:50 AM Changeset in webkit [118344] by commit-queue@webkit.org
  • 7 edits in trunk/Source

cti_vm_throw gets kicked out by gcc 4.6 -flto
https://bugs.webkit.org/show_bug.cgi?id=56088

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-24
Reviewed by Darin Adler.

Source/JavaScriptCore:

Add REFERENCED_FROM_ASM to functions only referenced from assembler.

  • dfg/DFGOperations.cpp:
  • jit/HostCallReturnValue.h:
  • jit/JITStubs.h:
  • jit/ThunkGenerators.cpp:

Source/WTF:

Define REFERENCED_FROM_ASM to attribute((used)) on GCC.

  • wtf/Compiler.h:
3:30 AM Changeset in webkit [118343] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Several canvas/philip test cases can be unskipped
https://bugs.webkit.org/show_bug.cgi?id=87362

Unreviewed EFL gardening. Unskip several canvas/philip that are now
passing.

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-24

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
3:18 AM Changeset in webkit [118342] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] Tiles not painted after wheel or keyboard scroll.
https://bugs.webkit.org/show_bug.cgi?id=87358

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-24
Reviewed by Kenneth Rohde Christiansen.

After performing a scroll requested from the WebProcess we also need
to inform the painting layer of the viewport change.

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::pagePositionRequest):

3:15 AM Changeset in webkit [118341] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Fix bounce-back animation on pinch->pan
https://bugs.webkit.org/show_bug.cgi?id=87266

Reviewed by Kenneth Rohde Christiansen.

If ending an out-of-bounds pinch gesture with releasing one finger
(transition to a pan gesture) the bounce back animation blinks in
the end position immediately first, then animates the content back
into bounds.

QtViewportInteractionEngine::cancelScrollAnimation should return
early if there is no active kinetic animation.

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):

3:01 AM Changeset in webkit [118340] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating chromium test expectations.

  • platform/chromium/test_expectations.txt:
2:31 AM QtWebKitBugs edited by Csaba Osztrogonác
Add meta bugs (diff)
2:21 AM Changeset in webkit [118339] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][DRT] compositing/repaint/opacity-between-absolute.html does not pass
https://bugs.webkit.org/show_bug.cgi?id=87353

Unreviewed. Gardening of compositing/repaint/opacity-between-absolute.html test.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-24

  • platform/efl/compositing/repaint/opacity-between-absolute-expected.txt:
2:17 AM Changeset in webkit [118338] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

Elements in Shadow DOM are not resizable.
https://bugs.webkit.org/show_bug.cgi?id=87342

Reviewed by Ryosuke Niwa.

Source/WebCore:

In RenderLayer::resize(), shadowAncestorNode() was used but if the ancestor node is used,
it is not possible to resize elements in Shadow DOM.

The comments said it is necessary for textarea, however actually it is not necessary now.
Existing test (fast/css/resize-corner-tracking) covers it.

Test: fast/dom/shadow/resize-in-shadow-dom.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):

LayoutTests:

  • fast/dom/shadow/resize-in-shadow-dom-expected.txt: Added.
  • fast/dom/shadow/resize-in-shadow-dom.html: Added.
2:13 AM Changeset in webkit [118337] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, skipping failing tests on chromium.

  • platform/chromium/test_expectations.txt:
1:54 AM Changeset in webkit [118336] by Antti Koivisto
  • 27 edits
    2 copies in trunk/Source

Move StyleSheetContents to a separate file
https://bugs.webkit.org/show_bug.cgi?id=87354

Reviewed by Eric Seidel.

Move StyleSheetContents class to StyleSheetContents.h/cpp.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFaceSrcValue.cpp:
  • css/CSSGrammar.y:
  • css/CSSImportRule.cpp:
  • css/CSSParser.cpp:
  • css/CSSPrimitiveValue.cpp:
  • css/CSSRule.cpp:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::create):
(WebCore::CSSStyleSheet::href):
(WebCore):
(WebCore::CSSStyleSheet::baseURL):
(WebCore::CSSStyleSheet::isLoading):

  • css/CSSStyleSheet.h:

(WebCore):
(CSSStyleSheet):

  • css/StylePropertySet.cpp:
  • css/StyleResolver.cpp:
  • css/StyleSheetContents.cpp: Copied from css/CSSStyleSheet.cpp.

(WebCore):

  • css/StyleSheetContents.h: Copied from css/CSSStyleSheet.h.

(WebCore):

  • dom/DOMImplementation.cpp:

(WebCore::XMLMIMETypeRegExp::XMLMIMETypeRegExp):

  • dom/Document.cpp:
  • dom/ProcessingInstruction.cpp:
  • dom/StyleElement.cpp:
  • html/HTMLLinkElement.cpp:
  • html/HTMLStyleElement.cpp:
  • inspector/InspectorStyleSheet.cpp:
  • loader/cache/CachedCSSStyleSheet.cpp:
  • page/PageSerializer.cpp:
1:14 AM Changeset in webkit [118335] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebCore

[Qt] Buildfix for the minimal build because the r118197 broke it.
https://bugs.webkit.org/show_bug.cgi?id=87096

Reviewed by Csaba Osztrogonác.

  • plugins/PluginData.cpp:

(WebCore):
(WebCore::PluginData::refresh):
(WebCore::PluginData::initPlugins):

12:44 AM Changeset in webkit [118334] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87347

Unreviewed, skipping newly flaky test.

  • platform/mac/Skipped:
12:35 AM Changeset in webkit [118333] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Incorrect merge of r117542 from dfg opt branch in r118323 is leading to fast/js/dfg-arguments-osr-exit.html failing
https://bugs.webkit.org/show_bug.cgi?id=87350

Reviewed by Maciej Stachowiak.

The dfgopt branch introduced the notion of a local variable being killed because it was aliased
to the Arguments object as in cases like:

var a = arguments;
return a.length;

This required changes to OSR exit handling - if the variable is dead but aliased to arguments, then
OSR exit should reify the arguments. But meanwhile, in tip of tree we introduced special handling for
dead variables on OSR exit. When the two were merged in r118323, the structure of the if/else branches
ended up being such that we would treat dead arguments variables as totally dead as opposed to treating
them as variables that need arguments reification.

This fixes the structure of the relevant if/else block so that variables that are dead-but-arguments
end up being treated as reified arguments objects, while variables that are dead but not aliased to
arguments are treated as tip of tree would have treated them (initialize to Undefined).

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

12:29 AM Changeset in webkit [118332] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] Unreviewed fix, add ENABLE_CSS3_FLEXBOX after r118304.

  • qmake/mkspecs/features/features.pri:
12:20 AM Changeset in webkit [118331] by commit-queue@webkit.org
  • 15 edits in trunk

[EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse
https://bugs.webkit.org/show_bug.cgi?id=86867

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-24
Reviewed by Adam Barth.

Source/WebKit/efl:

ewk_intent_request_failure_post() should call
WebCore::IntentRequest::postFailure(), not
WebCore::IntentRequest::postResult().

  • ewk/ewk_intent_request.cpp:

(ewk_intent_request_failure_post):

Tools:

Add implementation for sendWebIntentResponse() in EFL's
LayoutTestController and add empty implementation for other ports.

  • DumpRenderTree/LayoutTestController.cpp:

(sendWebIntentResponseCallback):
(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:

(LayoutTestController::sendWebIntentResponse):

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::currentIntentRequest):
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
(DumpRenderTreeChrome::onFrameIntentNew):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::sendWebIntentResponse):

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::sendWebIntentResponse):

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::sendWebIntentResponse):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::sendWebIntentResponse):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::sendWebIntentResponse):

LayoutTests:

Remove from test expectations the webintents tests that require
support for sendWebIntentResponse() in EFL's LayoutTestController.

  • platform/efl/test_expectations.txt:
12:05 AM Changeset in webkit [118330] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed 32 bit buildfix after r118325.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal): Use ASSERT_UNUSED instead ASSERT.

12:03 AM Changeset in webkit [118329] by commit-queue@webkit.org
  • 11 edits in trunk

[EFL] The EFL port has no support for title directionality
https://bugs.webkit.org/show_bug.cgi?id=86462

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-24
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Define a new Ewk_Text_With_Direction type to store the direction of
the text along with the text itself. This is needed to support text
directionality in EFL port.

Use the new Ewk_Text_With_Direction type for the frame title. Updated
"title,changed" signal, title getter/setter and Ewk_Hit_Test struct.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDidReceiveTitle):

  • ewk/ewk_frame.cpp:

(Ewk_Frame_Smart_Data):
(_ewk_frame_smart_del):
(ewk_frame_title_get):
(ewk_frame_hit_test_free):
(ewk_frame_hit_test_new):
(ewk_frame_title_set):

  • ewk/ewk_frame.h:
  • ewk/ewk_frame_private.h:
  • ewk/ewk_view.cpp:

(_Ewk_View_Private_Data):
(ewk_view_title_get):
(ewk_view_title_set):

  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:

Tools:

Update "title,changed" signal handlers in DRT and EWebLauncher to
reflect the change from const char* to Ewk_Text_With_Direction* type
for the title.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::onTitleChanged):

  • EWebLauncher/main.c:

(title_set):
(on_title_changed):
(on_key_down):

12:00 AM Changeset in webkit [118328] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

DFG operationTearOffActivation should return after handling the null activation case
https://bugs.webkit.org/show_bug.cgi?id=87348
<rdar://problem/11522295>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • dfg/DFGOperations.cpp:

LayoutTests:

  • fast/js/dfg-tear-off-arguments-not-activation-expected.txt: Added.
  • fast/js/dfg-tear-off-arguments-not-activation.html: Added.
  • fast/js/script-tests/dfg-tear-off-arguments-not-activation.js: Added.

(bar):

May 23, 2012:

11:58 PM Changeset in webkit [118327] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, merge the arguments fix in r118138 to get bots green.

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):

11:55 PM Changeset in webkit [118326] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed: Web Inspector single line fix for r118162.

  • inspector/front-end/HeapSnapshotDataGrids.js:

(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren):

11:24 PM Changeset in webkit [118325] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

DFG CFA should record if a node can OSR exit
https://bugs.webkit.org/show_bug.cgi?id=86905

Reviewed by Oliver Hunt.

Merged r117931 from dfgopt.

Adds a NodeFlag that denotes nodes that are known to not have OSR exits.
This ought to aid any backwards analyses that need to know when a
backward flow merge might happen due to a side exit.

Also added assertions into speculationCheck() that ensure that we did not
mark a node as non-exiting and then promptly compile in an exit. This
helped catch some minor bugs where we were doing unnecessary speculation
checks.

This is a perf-neutral change. The speculation checks that this removes
were not on hot paths of major benchmarks.

  • bytecode/PredictedType.h:

(JSC):
(JSC::isAnyPrediction):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGAbstractState.h:

(JSC::DFG::AbstractState::speculateInt32Unary):
(AbstractState):
(JSC::DFG::AbstractState::speculateNumberUnary):
(JSC::DFG::AbstractState::speculateBooleanUnary):
(JSC::DFG::AbstractState::speculateInt32Binary):
(JSC::DFG::AbstractState::speculateNumberBinary):

  • dfg/DFGNode.h:

(JSC::DFG::Node::mergeFlags):
(JSC::DFG::Node::filterFlags):
(Node):
(JSC::DFG::Node::setCanExit):
(JSC::DFG::Node::canExit):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::nodeFlagsAsString):

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

10:51 PM Changeset in webkit [118324] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

DFG should not do unnecessary indirections when storing to objects
https://bugs.webkit.org/show_bug.cgi?id=86959

Reviewed by Oliver Hunt.

Merged r117819 from dfgopt.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getByOffsetLoadElimination):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

10:33 PM Changeset in webkit [118323] by fpizlo@apple.com
  • 28 edits
    18 adds in trunk

DFG should optimize aliased uses of the Arguments object of the current call frame
https://bugs.webkit.org/show_bug.cgi?id=86552

Source/JavaScriptCore:

Reviewed by Geoff Garen.

Merged r117542 and r117543 from dfgopt.

Performs must-alias and escape analysis on uses of CreateArguments, and if
a variable is must-aliased to CreateArguments and does not escape, then we
turn all uses of that variable into direct arguments accesses.

36% speed-up on V8/earley leading to a 2.3% speed-up overall in V8.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::uncheckedArgumentsRegister):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::argumentsThatWereNotCreated):
(ValueRecovery):
(JSC::ValueRecovery::dump):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGAdjacencyList.h:

(AdjacencyList):
(JSC::DFG::AdjacencyList::removeEdgeFromBag):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
(JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
(AssemblyHelpers):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):

  • dfg/DFGGPRInfo.h:

(GPRInfo):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::collectGarbage):
(DFG):

  • dfg/DFGGraph.h:

(Graph):
(JSC::DFG::Graph::executableFor):
(JSC::DFG::Graph::argumentsRegisterFor):
(JSC::DFG::Graph::uncheckedArgumentsRegisterFor):
(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler.h:

(JSC::DFG::OSRExitCompiler::OSRExitCompiler):
(OSRExitCompiler):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOperations.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::ValueSource::dump):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsArgumentsAlias):
(VariableAccessData):
(JSC::DFG::VariableAccessData::isArgumentsAlias):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_get_argument_by_val):

LayoutTests:

Rubber stamped by Geoff Garen.

Merged r117542 from dfgopt.

Added a bunch of tests that check that our optimizations for aliased uses of the
'arguments' object are robust against various forms of JavaScript crazy.

  • fast/js/dfg-arguments-alias-escape-expected.txt: Added.
  • fast/js/dfg-arguments-alias-escape.html: Added.
  • fast/js/dfg-arguments-alias-expected.txt: Added.
  • fast/js/dfg-arguments-alias.html: Added.
  • fast/js/dfg-arguments-cross-code-origin-expected.txt: Added.
  • fast/js/dfg-arguments-cross-code-origin.html: Added.
  • fast/js/dfg-arguments-mixed-alias-expected.txt: Added.
  • fast/js/dfg-arguments-mixed-alias.html: Added.
  • fast/js/dfg-arguments-osr-exit-expected.txt: Added.
  • fast/js/dfg-arguments-osr-exit.html: Added.
  • fast/js/dfg-arguments-unexpected-escape-expected.txt: Added.
  • fast/js/dfg-arguments-unexpected-escape.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-arguments-alias-escape.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-arguments-alias.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-arguments-cross-code-origin.js: Added.

(foo):
(bar):
(baz):

  • fast/js/script-tests/dfg-arguments-mixed-alias.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-arguments-osr-exit.js: Added.

(baz):
(foo):
(bar):

  • fast/js/script-tests/dfg-arguments-unexpected-escape.js: Added.

(baz):
(foo):
(bar):

10:24 PM Changeset in webkit [118322] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

sort the array 'non_wrapper_types'
https://bugs.webkit.org/show_bug.cgi?id=87335

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-23
Reviewed by Kentaro Hara.

  • bindings/scripts/CodeGeneratorV8.pm:
9:56 PM FeatureFlags edited by tkent@chromium.org
Add CSS3_FLEXBOX (diff)
9:39 PM Changeset in webkit [118321] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Change EFL debug build name with more detail one
https://bugs.webkit.org/show_bug.cgi?id=87254

Reviewed by Ryosuke Niwa.

EFL Linux Debug buildbot name needs to be consistent with other EFL buildbot name.
In addition, remove efl-linux-debug triggerable since nobody uses it.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
9:23 PM Changeset in webkit [118320] by hayato@chromium.org
  • 3 edits in trunk/LayoutTests

Add a test case of event dispatching which uses inactive insertion points.
https://bugs.webkit.org/show_bug.cgi?id=87229

Reviewed by Darin Adler.

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
  • fast/dom/shadow/shadow-dom-event-dispatching.html:
8:59 PM Changeset in webkit [118319] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

Document.elementFromPoint exposes inner element of Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87235

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::elementFromPoint didn't consider nested Shadow DOM.
The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.

Test: fast/dom/shadow/element-from-point-in-nested-shadow.html

  • dom/Document.cpp:

(WebCore::Document::elementFromPoint):

LayoutTests:

  • fast/dom/shadow/element-from-point-in-nested-shadow-expected.txt: Added.
  • fast/dom/shadow/element-from-point-in-nested-shadow.html: Added.
8:48 PM Changeset in webkit [118318] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r118297.
http://trac.webkit.org/changeset/118297
https://bugs.webkit.org/show_bug.cgi?id=87338

It caused several layout failures on Mac (Requested by
sundiamonde on #webkit).

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

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

  • fast/block/float/floats-with-margin-should-not-wrap-expected.html: Removed.
  • fast/block/float/floats-with-margin-should-not-wrap.html: Removed.
8:45 PM Changeset in webkit [118317] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

Document.caretRangeFromPoint exposes inner elemnet of Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87231

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::caretRangeFromPoint didn't consider nested Shadow DOM.
The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.

Test: fast/dom/shadow/caret-range-from-point-in-nested-shadow.html

  • dom/Document.cpp:

(WebCore::Document::caretRangeFromPoint):

LayoutTests:

  • fast/dom/shadow/caret-range-from-point-in-nested-shadow-expected.txt: Added.
  • fast/dom/shadow/caret-range-from-point-in-nested-shadow.html: Added.
8:42 PM Changeset in webkit [118316] by jchaffraix@webkit.org
  • 3 edits
    4 adds in trunk

Crash in RenderTableCol::nextColumn
https://bugs.webkit.org/show_bug.cgi?id=87314

Reviewed by Abhishek Arya.

Source/WebCore:

Tests: fast/table/canvas-column-in-column-group.html

fast/table/columngroup-inside-columngroup.html

The issue comes from elements not abiding by the display property (e.g. canvas). This means
that any renderer with display: table-column would pass the current isChildAllowed check and
would confuse our algorithm to iterate.

We were getting away with allowing those children as table columns or column groups don't
paint themselves but it's better to just not allow such children in the first place.

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::isChildAllowed):
Fixed the logic to only accept proper column renderer (RenderTableCol with display: column
to ignore column-groups). Also removed an unneeded NULL-check.

LayoutTests:

  • fast/table/canvas-column-in-column-group-expected.txt: Added.
  • fast/table/canvas-column-in-column-group.html: Added.
  • fast/table/columngroup-inside-columngroup-expected.txt: Added.
  • fast/table/columngroup-inside-columngroup.html: Added.
8:11 PM Changeset in webkit [118315] by rakuco@webkit.org
  • 2 edits
    2 deletes in trunk/LayoutTests

[EFL] Gardening after r118203 and r118171.

Remove wrong expectations added in r118171 and unskip passing
tests after r118203.

  • platform/efl/compositing/layer-creation/fixed-position-scroll-expected.png: Removed.
  • platform/efl/compositing/layer-creation/fixed-position-scroll-expected.txt: Removed.
  • platform/efl/test_expectations.txt:
7:44 PM Changeset in webkit [118314] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: compositing/video/video-poster.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=87199

Reviewed by Maciej Stachowiak.

No new tests; fixes failing compositing/video/video-poster.html test.

Instead of creating the video layer directly, simply allow the layer
to be created in updateStates() by changing the definition of
isReadyForVideoSetup() to bypass the m_isAllowedToRender check if
the player reports a video track is present. This causes the video layer
to be created and for future calls to prepareForRendering() to result
in calls to mediaPlayerRenderingModeChanged().

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup):
(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):

7:43 PM Changeset in webkit [118313] by rakuco@webkit.org
  • 3 edits in trunk

[CMake] Unreviewed, add ENABLE_CSS3_FLEXBOX after r118304.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
7:41 PM Changeset in webkit [118312] by thakis@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium/mac] Unbreak popup menus.
https://bugs.webkit.org/show_bug.cgi?id=87325

Reviewed by David Levin.

http://svn.webkit.org/repository/webkit/trunk@117607 added this function, but the
Chromium/Mac build doesn't use the file added in that change and hence didn't have
the category method.. Adding it doesn't help, as the category calls a
10.7-only function. Just don't use the category for chromium/mac. Fixes
http://crbug.com/129418

  • platform/mac/WebCoreNSCellExtras.h:
7:38 PM Changeset in webkit [118311] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL][DRT] Fix WebCore library path and rebaseline result
https://bugs.webkit.org/show_bug.cgi?id=86355

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-23
Reviewed by Dirk Pranke.

Currently EFL DRT uses wrong WebCore library path when running DRT.
Therefore, this patch adjusted the path correctly.

Tools:

  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort._path_to_webcore_library):

LayoutTests:

  • platform/efl/test_expectations.txt: Added some cases to skipped list since we don't support those at this stage
7:34 PM Changeset in webkit [118310] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFGCapabilities should not try to get an arguments register from code blocks that don't have one
https://bugs.webkit.org/show_bug.cgi?id=87332

Reviewed by Andy Estes.

  • dfg/DFGCapabilities.h:

(JSC::DFG::canInlineOpcode):

7:28 PM Changeset in webkit [118309] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

DFG should have sparse conditional constant propagation
https://bugs.webkit.org/show_bug.cgi?id=86580

Reviewed by Oliver Hunt.

Merged r117370 from dfgopt.

This enhances CFA so that if it suspects at any point during the fixpoint that a
branch will only go one way, then it only propagates in that one way.

This vastly increases the opportunities for CFG simplification. For example, it
enables us to evaporate this loop:

for (var i = 0; i < 1; ++i) doThings(i);

As a result, it uncovered loads of bugs in the CFG simplifier. In particular:

  • Phi fixup was assuming that all Phis worth fixing up are shouldGenerate(). That's not true; we also fixup Phis that are dead.


  • GetLocal fixup was assuming that it's only necessary to rewire links to a GetLocal, and that the GetLocal's own links don't need to be rewired. Untrue, because the GetLocal may not be rewirable (first block has no GetLocal for r42 but second block does have a GetLocal), in which case it will refer to a Phi in the second block. We need it to refer to a Phi from the first block to ensure that subsequent transformations work.


  • Tail operand fixup was ignoring the fact that Phis in successors may contain references to the children of our tail variables. Hence, successor Phi child substitution needs to use the original second block variable table as its prior, rather than trying to reconstruct the prior later (since by that point the children of the second block's tail variables will have been fixed up, so we will not know what the prior would have been).
  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::beginBasicBlock):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::reset):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeToSuccessors):

  • dfg/DFGAbstractState.h:

(JSC::DFG::AbstractState::branchDirectionToString):
(AbstractState):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::OperandSubstitution):
(OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::skipGetLocal):
(JSC::DFG::CFGSimplificationPhase::recordPossibleIncomingReference):
(CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::changeEdge):

7:19 PM Changeset in webkit [118308] by kov@webkit.org
  • 6 edits
    4 adds in releases/WebKitGTK/webkit-1.8

Crash in MutationObservers due to an invalid HashSet iterator
https://bugs.webkit.org/show_bug.cgi?id=83304

Reviewed by Ojan Vafai.

Source/WebCore:

If the observed node has been GCed when we clear transient observers
from it, the HashSet iterator in WebKitMutationObserver::deliver would
be invalidated. This patch fixes that behavior by copying the relevant
registrations into a seperate vector first and operating on the copy.

This patch also fixes a bug: transient observers should be cleared
after every microtask, not just when delivering.

Tests: fast/mutation/clear-transient-without-delivery.html

fast/mutation/transient-gc-crash.html

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
Notify the observer that it has a transient registration so it can be properly cleared.

  • dom/MutationObserverRegistration.h:

(WebCore::MutationObserverRegistration::hasTransientRegistrations):
Add an accessor for use when deliver() creates its vector of registrations.

  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::setHasTransientRegistration): Add this to the active observer set
to allow transient registrations to be cleared appropriately.
(WebCore::WebKitMutationObserver::deliver): Avoid modifying m_registrations while iterating over it.
Clear registrations before checking for a lack of records to deliver.

  • dom/WebKitMutationObserver.h:

LayoutTests:

  • fast/mutation/clear-transient-without-delivery-expected.txt: Added.
  • fast/mutation/clear-transient-without-delivery.html: Added.
  • fast/mutation/transient-gc-crash-expected.txt: Added.
  • fast/mutation/transient-gc-crash.html: Added.
7:18 PM Changeset in webkit [118307] by kov@webkit.org
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-1.8

Merge 109058 - [MutationObservers] Clear pending mutation records on disconnect()
https://bugs.webkit.org/show_bug.cgi?id=78639

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/mutation/disconnect-cancel-pending.html

  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::disconnect): Clear pending records.
(WebCore::WebKitMutationObserver::deliver): Avoid calling the callback if no records are pending delivery.

LayoutTests:

  • fast/mutation/disconnect-cancel-pending-expected.txt: Added.
  • fast/mutation/disconnect-cancel-pending.html: Added.
7:18 PM Changeset in webkit [118306] by kov@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-1.8/Source/WebCore

Merge 113291 - WorkerEventQueue::close might access deleted WorkerEventQueue::EventDispatcherTask.
https://bugs.webkit.org/show_bug.cgi?id=83202

On closing the event queue, WorkerEventQueue cancels all the tasks associated with events.
The tasks in their turn delete themselves from the map whenever task gets executed.
However if shutdown occurs when task is in queue but before task gets executed, the task will be deleted without execution.
This patch makes sure that no deleted tasks stay in WorkerEventQueue, by task removing itself in destructor.

Reviewed by David Levin.

Covered by existing tests.

  • workers/WorkerEventQueue.cpp:

(WebCore::WorkerEventQueue::EventDispatcherTask::~EventDispatcherTask):
(WorkerEventQueue::EventDispatcherTask):
(WebCore::WorkerEventQueue::EventDispatcherTask::performTask):

7:08 PM Changeset in webkit [118305] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87208

Unreviewed, skipping new test that can have side effects.

  • platform/mac/Skipped:
7:03 PM Changeset in webkit [118304] by ojan@chromium.org
  • 16 edits in trunk

add back the ability to disable flexbox
https://bugs.webkit.org/show_bug.cgi?id=87147

Reviewed by Tony Chang.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
6:57 PM Changeset in webkit [118303] by shinyak@chromium.org
  • 3 edits
    4 adds in trunk

[Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87218

Reviewed by Dimitri Glazkov.

Source/WebCore:

EventHander::handleWheelEvent re-targets an event to a shadow ancestor node,
however it should be done by adjusting event target. So we don't need to have it.

Tests: fast/dom/shadow/wheel-event-in-shadow-dom.html

fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

  • fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt: Added.
  • fast/dom/shadow/wheel-event-in-shadow-dom.html: Added.
  • fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt: Added.
  • fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html: Added.
6:56 PM Changeset in webkit [118302] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 117161
BUG=122029
Review URL: https://chromiumcodereview.appspot.com/10444003

6:53 PM Changeset in webkit [118301] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove an unused setter in CachedResource.h.
https://bugs.webkit.org/show_bug.cgi?id=87324

CachedResource::setInLiveDecodedResourcesList was defined in r24925, but it has
been unused.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-05-23
Reviewed by Darin Adler.

  • loader/cache/CachedResource.h:
6:50 PM Changeset in webkit [118300] by cevans@google.com
  • 2 edits in branches/chromium/1132/Source/WebCore/loader/cache

Merge 117376
BUG=128497
Review URL: https://chromiumcodereview.appspot.com/10441007

6:47 PM Changeset in webkit [118299] by hayato@chromium.org
  • 5 edits in trunk

Adjust a target node of a mouse event correctly when a distributed text node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=86999

Reviewed by Dimitri Glazkov.

Source/WebCore:

Make EventHandler::updateMouseEventTargetNode() be aware of shadow dom subtree
so that an insertion point can receive an event when a distributed text node is clicked.

Tests: fast/dom/shadow/shadow-dom-event-dispatching.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateMouseEventTargetNode):

LayoutTests:

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
  • fast/dom/shadow/shadow-dom-event-dispatching.html:
6:40 PM Changeset in webkit [118298] by shinyak@chromium.org
  • 3 edits
    4 adds in trunk

[Shadow] drop event is not fired on nodes in Shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=85774

Reviewed by Dimitri Glazkov.

Source/WebCore:

EventHander::updateDragAndDrop re-targets an event to a shadow ancestor node,
however it should be done by adjusting event target. So we don't need to have it.

Tests: fast/dom/shadow/drop-event-for-input-in-shadow.html

fast/dom/shadow/drop-event-in-shadow.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateDragAndDrop):

LayoutTests:

Confirms drop event is fired on div and input in Shadow DOM.

  • fast/dom/shadow/drop-event-for-input-in-shadow-expected.txt: Added.
  • fast/dom/shadow/drop-event-for-input-in-shadow.html: Added.
  • fast/dom/shadow/drop-event-in-shadow-expected.txt: Added.
  • fast/dom/shadow/drop-event-in-shadow.html: Added.
6:31 PM Changeset in webkit [118297] by eae@chromium.org
  • 3 edits
    2 adds in trunk

REGRESSION (115573): Incorrect rounding of margins for floats
https://bugs.webkit.org/show_bug.cgi?id=87319

Reviewed by Eric Seidel.

Source/WebCore:

In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
accumulate margins for floating children while the children themselves
represent their margins as LayoutUnits. Due to lack of rounding this can
cause the block to be too small at certain certain zoom levels, causing
unwanted wrapping.

This patch changes computeInlinePreferredLogicalWidths to use a
LayoutUnit to accumulate the margins and thus ensures that the margin
values are rounded the same way.

Test: fast/block/float/floats-with-margin-should-not-wrap.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

Add new test ensuring that using margins with floats doesn't cause
undesired wrapping.

  • fast/block/float/floats-with-margin-should-not-wrap-expected.html: Added.
  • fast/block/float/floats-with-margin-should-not-wrap.html: Added.
6:29 PM Changeset in webkit [118296] by cevans@google.com
  • 2 edits in branches/chromium/1132/Source/WebCore/html

Merge 116642
BUG=126015
Review URL: https://chromiumcodereview.appspot.com/10450008

6:22 PM Changeset in webkit [118295] by cevans@google.com
  • 3 edits
    8 copies in branches/chromium/1132

Merge 116458
BUG=125919
Review URL: https://chromiumcodereview.appspot.com/10445006

6:12 PM Changeset in webkit [118294] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116860
BUG=127368
Review URL: https://chromiumcodereview.appspot.com/10450007

6:09 PM Changeset in webkit [118293] by cevans@google.com
  • 2 edits in branches/chromium/1132

Merge 116618
BUG=127587
Review URL: https://chromiumcodereview.appspot.com/10446008

6:09 PM Changeset in webkit [118292] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused declarations in MemoryCache.h
https://bugs.webkit.org/show_bug.cgi?id=87323

It is originated from r75912.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-05-23
Reviewed by Darin Adler.

  • loader/cache/MemoryCache.h:
6:07 PM Changeset in webkit [118291] by eric@webkit.org
  • 20 edits
    3 adds in trunk

Add seamless layout code (and pass most of the remaining seamless tests)
https://bugs.webkit.org/show_bug.cgi?id=86608

Reviewed by Ojan Vafai.

Source/WebCore:

This patch contains almost all the layout changes needed for seamless iframes.
I removed the scroll-bar avoiding code at the last moment, as it didn't
work for platforms other than mac-lion. I'll add that, as well as the
HTMLIFrameElement.seamless idl attribute in a follow-up patch.

Seamless iframes piggy-back a bit on the existing frame-flattening
logic, however seamless is different from frame-flattening in a few ways:

  • Frame flattening can only ever make an iframe larger (seamless just behaves like a normal div).
  • Frame flattening disables scrollbars (seamless frames behave like normal overflow: auto divs).
  • Seamless only has to work with iframes (flattening works with frame/frameset as well).
  • Seamless support shrink-wrap size negotiation when the iframe is inline.

Test: fast/frames/seamless/seamless-percent-height.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): map inline -> inline-block for seamless iframes.

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):

  • Seamless iframes don't manage their own style recalc.

(WebCore::Document::recalcStyle):

  • We should make sure our parent is resolved before we are, but currently that causes some tests to crash I don't have a test to demonstrate this need yet, as presumably it's fulfilled through other codepaths atm.
  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayout): Do the cheaper check first.
(WebCore::FrameView::isInChildFrameWithFrameFlattening): Make frameview layout abort child layouts like how frame flattening does.

  • rendering/RenderBox.h:

(WebCore::RenderBox::stretchesToViewport): Disable the stretch-to-viewport quirk for seamless iframes (it makes no sense and breaks the layout code).

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::computeLogicalHeight):

  • This function is needed for the child document to participate in the normal block shrink-wrap algorithm. Thankfully all the shrink-wrap logic is in RenderBox instead of RenderBlock. In the future we may make RenderIframe a RenderBlock for the seamless case. We may just split RenderIframe into two renderers.

(WebCore::RenderIFrame::computeLogicalWidth):
(WebCore::RenderIFrame::shouldComputeSizeAsReplaced):

  • seamless iframes behave like blocks, not inline replaced elements.

(WebCore):
(WebCore::RenderIFrame::isInlineBlockOrInlineTable):

  • Behave like an inline-block when marked inline.

(WebCore::RenderIFrame::minPreferredLogicalWidth):

  • When asked for our pref widths, return those of our child document.

(WebCore::RenderIFrame::maxPreferredLogicalWidth):
(WebCore::RenderIFrame::isSeamless): helper function
(WebCore::RenderIFrame::contentRootRenderer): helper function
(WebCore::RenderIFrame::flattenFrame): seamless iframes never use the frame-flattening feature.
(WebCore::RenderIFrame::layoutSeamlessly): The guts of seamless layout.
(WebCore::RenderIFrame::layout):

  • rendering/RenderIFrame.h:

(WebCore):
(RenderIFrame):

LayoutTests:

Add a test for percent height in child documents, as well as
disabling the expand-to-fill-viewport quirk of html/body elements
in quirks mode.
Also update all the expectations now that we pass almost all the tests.

  • fast/frames/seamless/resources/percent-square.html: Added.
  • fast/frames/seamless/resources/two-inline-blocks.html:
  • fast/frames/seamless/seamless-basic-expected.txt:
  • fast/frames/seamless/seamless-float-expected.txt:
  • fast/frames/seamless/seamless-inherited-origin-expected.txt:
  • fast/frames/seamless/seamless-inherited-origin.html:
  • fast/frames/seamless/seamless-inline-expected.txt:
  • fast/frames/seamless/seamless-nested-expected.txt:
  • fast/frames/seamless/seamless-percent-height-expected.txt: Added.
  • fast/frames/seamless/seamless-percent-height.html: Added.
  • fast/frames/seamless/seamless-quirks-expected.txt:
  • fast/frames/seamless/seamless-sandbox-flag-expected.txt:
  • fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt:
6:04 PM Changeset in webkit [118290] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, fix Windows build.

  • bytecode/CodeBlock.h:
  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canCompileOpcodes):

  • dfg/DFGCommon.h:

(DFG):

6:00 PM Changeset in webkit [118289] by rafael.lobo@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Qt] GraphicsContext should avoid converting rotation angle to degrees
https://bugs.webkit.org/show_bug.cgi?id=87317

Reviewed by Noam Rosenthal.

The angle for rotate is already in radians, so we should take advantage of it
by using QTransform::rotateRadians, rather than converting it back internally.

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::rotate):

5:58 PM Changeset in webkit [118288] by tony@chromium.org
  • 2 edits in trunk/Tools

Remove the Chromium Grid Layout bot from the waterfall
https://bugs.webkit.org/show_bug.cgi?id=87311

Reviewed by Ryosuke Niwa.

I removed the compiler define in r117613, so we don't need a separate
bot to compile/test this code.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
5:49 PM Changeset in webkit [118287] by cevans@google.com
  • 5 edits
    2 copies in branches/chromium/1132

Merge 116653
BUG=124870
Review URL: https://chromiumcodereview.appspot.com/10451004

5:46 PM Changeset in webkit [118286] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116698
BUG=125921
Review URL: https://chromiumcodereview.appspot.com/10452002

5:43 PM Changeset in webkit [118285] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Merge r116524 onto the 536 branch, since r116473 was merged onto the branch in r117121.

  • platform/mac/Skipped:
5:39 PM Changeset in webkit [118284] by cevans@google.com
  • 1 edit
    4 copies in branches/chromium/1132

Merge 117748
BUG=128159
Review URL: https://chromiumcodereview.appspot.com/10442006

5:36 PM Changeset in webkit [118283] by cevans@google.com
  • 3 edits
    4 copies in branches/chromium/1132

Merge 116914
BUG=125555
Review URL: https://chromiumcodereview.appspot.com/10447005

5:35 PM Changeset in webkit [118282] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Merge r117163 onto the 536 branch, since r116960 was merged onto the branch in 117157.

  • platform/mac-lion/Skipped:
5:30 PM Changeset in webkit [118281] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

AX: Prevents assertion from potentially dereferencing null pointer.
https://bugs.webkit.org/show_bug.cgi?id=87290

Patch by David Tseng <dtseng@google.com> on 2012-05-23
Reviewed by Chris Fleizach.

Changes to assertions. Coverage by existing tests.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::cellForColumnAndRow):

5:25 PM Changeset in webkit [118280] by cevans@google.com
  • 9 edits
    2 copies in branches/chromium/1132

Merge 116476
BUG=117413
Review URL: https://chromiumcodereview.appspot.com/10442005

5:19 PM Changeset in webkit [118279] by tony@chromium.org
  • 7 edits
    2 adds in trunk

auto margins on flexbox should allocate space in the cross direction
https://bugs.webkit.org/show_bug.cgi?id=86913

Reviewed by Ojan Vafai.

Source/WebCore:

Test: css3/flexbox/auto-margins.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
(WebCore):
(WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): If we have flex-align: baseline and auto margins, we ignore flex-align: baseline.
(WebCore::RenderFlexibleBox::alignChildren): auto margins apply before flex-align.

  • rendering/RenderFlexibleBox.h:

LayoutTests:

  • css3/flexbox/auto-margins-expected.html: Added.
  • css3/flexbox/auto-margins.html: Added. These are the test cases in the spec.
  • css3/flexbox/flex-align-vertical-writing-mode.html: Fix tests with auto margins and add more tests.

Also reduce the height so it's easier to see the test cases (these vertical tests don't check the height).

  • css3/flexbox/flex-align.html: Fix tests with auto margins and add more tests.
  • css3/flexbox/flex-flow-auto-margins.html: Fix results now that we handle auto in the cross direction.
5:18 PM Changeset in webkit [118278] by fpizlo@apple.com
  • 19 edits
    2 adds in trunk/Source/JavaScriptCore

DFG should optimize inlined uses of arguments.length and arguments[i]
https://bugs.webkit.org/show_bug.cgi?id=86327

Reviewed by Gavin Barraclough.

Merged r117017 from dfgopt.

Turns inlined uses of arguments.length into a constant.

Turns inlined uses of arguments[constant] into a direct reference to the
argument.

Big win on micro-benchmarks. Not yet a win on V8 because the hot uses of
arguments.length and arguments[i] are aliased. I'll leave the aliasing
optimizations to a later patch.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/DFGExitProfile.h:

(FrequentExitSite):
(JSC::DFG::FrequentExitSite::FrequentExitSite):
(JSC::DFG::QueryableExitProfile::hasExitSite):
(QueryableExitProfile):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGArgumentsSimplificationPhase.cpp: Added.

(DFG):
(ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::performArgumentsSimplification):

  • dfg/DFGArgumentsSimplificationPhase.h: Added.

(DFG):

  • dfg/DFGAssemblyHelpers.cpp:

(JSC::DFG::AssemblyHelpers::executableFor):
(DFG):

  • dfg/DFGAssemblyHelpers.h:

(AssemblyHelpers):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getLocalLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::executableFor):
(Graph):
(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToGetLocalUnlinked):
(Node):
(JSC::DFG::Node::unlinkedLocal):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

5:15 PM Changeset in webkit [118277] by jberlin@webkit.org
  • 1 edit
    1 delete in branches/safari-536-branch/LayoutTests

Finish rolling r116340 into the 536 branch.

  • platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt: Removed.
5:15 PM Changeset in webkit [118276] by danakj@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Enable the CCLayerTreeHostTestCanDrawBlocksDrawing test in single-threaded mode
https://bugs.webkit.org/show_bug.cgi?id=87308

Reviewed by James Robinson.

Chromium bug: http://crbug.com/127481

Unit test: CCLayerTreeHostTestCanDrawBlocksDrawing.runSingleThread

  • tests/CCLayerTreeHostTest.cpp:

(WTF::TestHooks::didCommit):
(WTF):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::didCommit):

5:13 PM Changeset in webkit [118275] by haraken@chromium.org
  • 13 edits in trunk/Source/WebCore

Unreviewed, rolling out r118120.
http://trac.webkit.org/changeset/118120
https://bugs.webkit.org/show_bug.cgi?id=87193

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestException.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestInterface.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestObj.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(WebCore::toV8):

5:12 PM Changeset in webkit [118274] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r118129.
http://trac.webkit.org/changeset/118129
https://bugs.webkit.org/show_bug.cgi?id=87202

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateFunctionCallback):
(NativeToJSValue):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):

5:11 PM Changeset in webkit [118273] by haraken@chromium.org
  • 22 edits in trunk/Source/WebCore

Unreviewed, rolling out r118133.
http://trac.webkit.org/changeset/118133
https://bugs.webkit.org/show_bug.cgi?id=87207

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8CSSRuleCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8CSSStyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8CSSValueCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ClipboardCustom.cpp:

(WebCore::V8Clipboard::typesAccessorGetter):

  • bindings/v8/custom/V8CoordinatesCustom.cpp:

(WebCore::V8Coordinates::altitudeAccessorGetter):
(WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
(WebCore::V8Coordinates::headingAccessorGetter):
(WebCore::V8Coordinates::speedAccessorGetter):

  • bindings/v8/custom/V8DOMStringMapCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DOMTokenListCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::intervalAccessorGetter):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DocumentLocationCustom.cpp:

(WebCore::V8Document::locationAccessorGetter):

  • bindings/v8/custom/V8EntryCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8EntrySyncCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8EventCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Float32ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Float64ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:

(WebCore::V8HTMLCanvasElement::getContextCallback):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::toV8):

5:10 PM Changeset in webkit [118272] by haraken@chromium.org
  • 28 edits in trunk/Source/WebCore

Unreviewed, rolling out r118134.
http://trac.webkit.org/changeset/118134
https://bugs.webkit.org/show_bug.cgi?id=87209

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

  • bindings/v8/custom/V8HTMLElementCustom.cpp:

(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::stateAccessorGetter):

  • bindings/v8/custom/V8IDBAnyCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8IDBKeyCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ImageDataCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Int16ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Int32ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Int8ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8LocationCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8MessageEventCustom.cpp:

(WebCore::V8MessageEvent::dataAccessorGetter):

  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::V8Node::insertBeforeCallback):
(WebCore::V8Node::replaceChildCallback):
(WebCore::V8Node::removeChildCallback):
(WebCore::V8Node::appendChildCallback):
(WebCore::toV8Slow):

  • bindings/v8/custom/V8PopStateEventCustom.cpp:

(WebCore::V8PopStateEvent::stateAccessorGetter):

  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:

(WebCore::V8SQLResultSetRowList::itemCallback):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8SVGElementCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8SVGPathSegCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ScriptProfileCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8TrackEventCustom.cpp:

(WebCore::V8TrackEvent::trackAccessorGetter):

  • bindings/v8/custom/V8Uint16ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Uint32ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Uint8ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::toV8Object):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::toV8):

5:09 PM Changeset in webkit [118271] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Skip more CSS Regions related tests on the 536 branch.

  • platform/mac/Skipped:
5:05 PM Changeset in webkit [118270] by fpizlo@apple.com
  • 22 edits in trunk/Source/JavaScriptCore

DFG should be able to optimize foo.apply(bar, arguments)
https://bugs.webkit.org/show_bug.cgi?id=86306

Reviewed by Gavin Barraclough.

Merge r116912 from dfgopt.

Enables compilation of op_jneq_ptr and some forms of op_call_varargs.

Also includes a bunch of bug fixes that were made necessary by the increased
pressure on the CFG simplifier.

This is a 1-2% win on V8.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::CodeBlock):
(JSC::ProgramCodeBlock::canCompileWithDFGInternal):
(JSC::EvalCodeBlock::canCompileWithDFGInternal):
(JSC::FunctionCodeBlock::canCompileWithDFGInternal):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::canCompileWithDFG):
(JSC::CodeBlock::canCompileWithDFGState):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getLocalLoadElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::debugFail):
(DFG):
(JSC::DFG::canHandleOpcodes):
(JSC::DFG::canCompileOpcodes):
(JSC::DFG::canInlineOpcodes):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
(DFG):
(JSC::DFG::canCompileOpcodes):
(JSC::DFG::canCompileEval):
(JSC::DFG::canCompileProgram):
(JSC::DFG::canCompileFunctionForCall):
(JSC::DFG::canCompileFunctionForConstruct):

  • dfg/DFGCommon.h:
  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGValidate.cpp:

(Validate):
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::checkOperand):
(JSC::DFG::Validate::reportValidationContext):

  • jit/JIT.cpp:

(JSC::JIT::emitOptimizationCheck):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::compileBinaryArithOp):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • tools/CodeProfile.cpp:

(JSC::CodeProfile::sample):

4:55 PM Changeset in webkit [118269] by ggaren@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Refactored WeakBlock to use malloc, clarify behavior
https://bugs.webkit.org/show_bug.cgi?id=87318

Reviewed by Filip Pizlo.

We want to use malloc so we can make these smaller than 4KB,
since an individual MarkedBlock will usually have fewer than
4KB worth of weak pointers.

  • heap/Heap.cpp:

(JSC::Heap::markRoots): Renamed visitLiveWeakImpls to visit, since
we no longer need to distinguish from "visitDeadWeakImpls".

Renamed "visitDeadWeakImpls" to "reap" because we're not actually
doing any visiting -- we're just tagging things as dead.

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::create):
(JSC::WeakBlock::destroy):
(JSC::WeakBlock::WeakBlock): Malloc!

(JSC::WeakBlock::visit):
(JSC::WeakBlock::reap): Renamed as above.

  • heap/WeakBlock.h:

(WeakBlock): Reduced to 3KB, as explained above.

  • heap/WeakSet.cpp:

(JSC::WeakSet::visit):
(JSC::WeakSet::reap):

  • heap/WeakSet.h:

(WeakSet): Updated for renames, and to match WebKit style.

4:53 PM Changeset in webkit [118268] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Fix typo in r118235.

  • http/tests/workers/worker-importScriptsOnError-expected.txt:
4:41 PM Changeset in webkit [118267] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Marking a pair of fast/history layout tests as flaky (TEXT).
https://bugs.webkit.org/show_bug.cgi?id=87321

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
4:36 PM Changeset in webkit [118266] by jberlin@webkit.org
  • 2 edits
    1 delete in branches/safari-536-branch/LayoutTests

Roll in r116340 to the 536 branch (needed test cleanup that didn't make the branch cut).

  • platform/mac-wk2/Skipped:
  • platform/mac-wk2/media/no-auto-play-in-sandbox-expected.txt: Removed.
4:30 PM Changeset in webkit [118265] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] http/tests/cache/history-only-cached-subresource-loads{-max-age-https}.html are now
failing with TEXT differences, so updated failure expectations.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
4:16 PM Changeset in webkit [118264] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Roll out r116176 on the 536 branch, since r116009 was rolled out on the 536 branch.

r116176 updated the test in response to the switch to FractionalLayoutUnits, but the
LayoutUnits changes were rolled out of the 536 branch.

  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
4:14 PM Changeset in webkit [118263] by commit-queue@webkit.org
  • 12 edits
    6 adds in trunk

Add a Setting to make position:fixed form a new stacking context
https://bugs.webkit.org/show_bug.cgi?id=87186

Patch by James Robinson <jamesr@chromium.org> on 2012-05-23
Reviewed by Adam Barth.

Source/WebCore:

position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To
be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility
issues, so we need a runtime setting in order to stage the change carefully.

Tests: fast/block/positioning/fixed-position-stacking-context.html

fast/block/positioning/fixed-position-stacking-context2.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setFixedPositionCreatesStackingContext):
(WebCore::Settings::fixedPositionCreatesStackingContext):
(Settings):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::restoreTo):
(WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
(WebCore):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setFixedPositionCreatesStackingContext):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

LayoutTests:

Adds layout tests that confirm we don't creates stacking contexts for position:fixed by default, but we do when
the fixedPositionCreatesStackingContext Setting is true.

Qt and Blackberry will need different expectations since they set this via an #ifdef

  • fast/block/positioning/fixed-position-stacking-context-expected.png: Added.
  • fast/block/positioning/fixed-position-stacking-context-expected.txt: Added.
  • fast/block/positioning/fixed-position-stacking-context.html: Added.
  • fast/block/positioning/fixed-position-stacking-context2-expected.png: Added.
  • fast/block/positioning/fixed-position-stacking-context2-expected.txt: Added.
  • fast/block/positioning/fixed-position-stacking-context2.html: Added.
4:12 PM Changeset in webkit [118262] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Use after free in JSC::DFG::ByteCodeParser::processPhiStack
https://bugs.webkit.org/show_bug.cgi?id=87312
<rdar://problem/11518848>

Reviewed by Oliver Hunt.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::parse):

4:06 PM Changeset in webkit [118261] by jamesr@google.com
  • 17 edits in trunk

[chromium] Turn ENABLE(OVERFLOW_SCROLLING) off for Chromium port
https://bugs.webkit.org/show_bug.cgi?id=87177

Reviewed by Eric Seidel.

Source/WebKit/chromium:

Removes ENABLE(OVERFLOW_SCROLLING) from the set of enables set by Chromium. This guards a new non-standard
CSS property, -webkit-overflow-scrolling, that was introduced by iOS5 intended for mobile browsers. This
property is very partially implemented in Chromium but the way it's implemented does cause new stacking contexts
to be created that otherwise would not be, breaking "desktop" pages.

This turns the feature off until we can figure out how to deal with the compatibility issues.

  • features.gypi:

LayoutTests:

Mark test depending on ENABLE(OVERFLOW_SCROLLING) as an expected failure since the define is off.

  • platform/chromium/test_expectations.txt:
4:06 PM Changeset in webkit [118260] by jberlin@webkit.org
  • 3 edits in branches/safari-536-branch/LayoutTests

Roll out 116019 on the 536 branch, since r116009 was rolled out on the 536 branch.

r116019 updated the test in response to the switch to FractionalLayoutUnits, but the
LayoutUnits changes were rolled out of the 536 branch.

  • fast/events/zoom-dblclick-expected.txt:
  • fast/events/zoom-dblclick.html:
3:56 PM Changeset in webkit [118259] by kbr@google.com
  • 6 edits
    23 copies in branches/chromium/1132

Merge 117918 - Must set/reset pixel unpack alignment to 1 during texSubImage2D
https://bugs.webkit.org/show_bug.cgi?id=86877

Reviewed by James Robinson.

Source/WebCore:

Set pixel unpack alignment to 1 during upload, resetting afterward.

Tests: fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html

fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::texSubImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2D):

Set pixel unpack alignment to 1 during upload; reset afterward.

LayoutTests:

Incorporated several tests from WebGL conformance suite at Khronos
as layout tests, verifying upload to all packed pixel formats.

There were difficulties incorporating the video-related variants
of these tests; Bug 87042 has been filed to track their addition.

  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-canvas.js: Added.

(generateTest.init):
(generateTest.runOneIteration):
(generateTest.runTest):
(generateTest):

  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-image-data.js: Added.

(generateTest.init):
(generateTest.runOneIteration):
(generateTest.runTest):
(generateTest):

  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-image.js: Added.

(generateTest.init):
(generateTest.runOneIteration):
(generateTest.runTestOnImage):
(generateTest.runTest.newImage.onload):
(generateTest.runTest):
(generateTest.runTest2.newImage.onload):
(generateTest.runTest2):
(generateTest.runTest3):
(generateTest):

  • fast/canvas/webgl/resources/webgl-test-utils.js:

(WebGLTestUtils):

  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt:
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551-expected.txt: Copied from LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html:
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt:
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565-expected.txt: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444-expected.txt: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551-expected.txt: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html:

TBR=kbr@google.com
Review URL: https://chromiumcodereview.appspot.com/10441002

3:28 PM Changeset in webkit [118258] by jcivelli@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Provides a way to cancel an external popup menu before it is shown.
https://bugs.webkit.org/show_bug.cgi?id=83474

Reviewed by Kent Tamura.

  • src/ExternalPopupMenu.cpp:

(WebKit::ExternalPopupMenu::show):

3:25 PM Changeset in webkit [118257] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

It should be possible to make C function calls from DFG code on ARM in debug mode
https://bugs.webkit.org/show_bug.cgi?id=87313

Reviewed by Gavin Barraclough.

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

3:22 PM Changeset in webkit [118256] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[Qt] fast/url/path.html with Qt5 differ results on both WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=77380

Patch by Hugo Parente Lima <Hugo Parente Lima> on 2012-05-23
Reviewed by Kenneth Rohde Christiansen.

The test pass on qt5-wk2, but not on qt5-wk1.

  • platform/qt-5.0-wk1/Skipped:
  • platform/qt-5.0/Skipped:
3:20 PM Changeset in webkit [118255] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Turn off the inspector tests on the 536 branch.

  • platform/mac/Skipped:
3:04 PM Changeset in webkit [118254] by Michael Nordman
  • 4 edits in trunk/Source

Source/WebCore: [chromium] DomStorage events handling needs TLC (3)
https://bugs.webkit.org/show_bug.cgi?id=87031
https://code.google.com/p/chromium/issues/detail?id=128482
Create WebCore::Storage instances as a side effect of attaching storage event handlers.
This allows storage events in chromium to be propagated with less IPC chatter.

Worth noting that in non-chromium ports, creation of the localStorage instance can have
an additional side effect of scheduling a background task to read the area's values
from disk, which given the interest in events is probably a beneficial side effect.

Reviewed by Adam Barth.

No new tests. Existing tests cover this.

  • page/DOMWindow.cpp:

(WebCore::didAddStorageEventListener):
(WebCore::DOMWindow::addEventListener):

Source/WebKit/chromium: [chromium] DomStorage events handling needs TLC (3)
https://bugs.webkit.org/show_bug.cgi?id=87031
https://code.google.com/p/chromium/issues/detail?id=128482
Only queue storage events for Documents which have allocated
a WebCore::Storage instance since pages that have attached onstorage
event handlers must have a non-null Storage instance.

Reviewed by Adam Barth.

  • src/StorageAreaProxy.cpp:

(WebCore::StorageAreaProxy::dispatchLocalStorageEvent):
(WebCore::StorageAreaProxy::dispatchSessionStorageEvent):
(WebCore::StorageAreaProxy::isEventSource):

2:59 PM Changeset in webkit [118253] by msaboff@apple.com
  • 5 edits in trunk/Source/WebCore

Crash in fast/files/read tests during Garbage Collection
https://bugs.webkit.org/show_bug.cgi?id=87165

Reviewed by Alexey Proskuryakov.

Changed hasPendingActivity() processing to use ActiveDOMObject::hasPendingActivity()
and associated setPendingActivity() / unsetPendingActivity().

Fixed two existing tests with change.

  • Modules/filesystem/FileWriter.cpp:

(WebCore::FileWriter::stop):
(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):
(WebCore::FileWriter::signalCompletion):

  • Modules/filesystem/FileWriter.h:
  • fileapi/FileReader.cpp:

(WebCore::FileReader::readInternal):
(WebCore::FileReader::doAbort):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):

  • fileapi/FileReader.h:
2:59 PM Changeset in webkit [118252] by jsbell@chromium.org
  • 8 edits
    1 delete in trunk/Source

Unreviewed, rolling out r118218.
http://trac.webkit.org/changeset/118218
https://bugs.webkit.org/show_bug.cgi?id=87299

breaks webkit win builder (Requested by pilgrim_google on
#webkit).

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

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):

  • chromium/public/WebLocalizedString.h: Removed.

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebKitPlatformSupport.h:

(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::queryLocalizedString):

  • public/platform/WebLocalizedString.h:

(WebKit):

  • src/LocalizedStrings.cpp:

(WebCore::query):

2:56 PM Changeset in webkit [118251] by kbr@google.com
  • 1 edit
    2 deletes in trunk/LayoutTests

webgl/context-lost failing on Lion
https://bugs.webkit.org/show_bug.cgi?id=81284

Unreviewed test expectations update. The fix for Bug 87136 fixed
the underlying bug here; adjusting test expectations.

  • platform/mac-snowleopard/fast/canvas/webgl/context-lost-expected.txt: Removed.
  • platform/mac/fast/canvas/webgl/context-lost-expected.txt: Removed.
2:54 PM Changeset in webkit [118250] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add vollick to list of contributors.
https://bugs.webkit.org/show_bug.cgi?id=87305

Patch by Ian Vollick <vollick@chromium.org> on 2012-05-23
Reviewed by Adam Barth.

  • Scripts/webkitpy/common/config/committers.py:
2:51 PM Changeset in webkit [118249] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in run-ins with continuations while moving back to original position.
https://bugs.webkit.org/show_bug.cgi?id=87264

Reviewed by Julien Chaffraix.

Source/WebCore:

Run-in that are now placed in sibling block can break up into continuation
chains when new children are added to it. We cannot easily send them back to their
original place since that requires writing integration logic with RenderInline::addChild
and all other places that might cause continuations to be created (without blowing away
|this|). Disabling this feature for now to prevent crashes.

Test: fast/runin/runin-continuations-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::moveRunInToOriginalPosition):

LayoutTests:

  • fast/runin/runin-continuations-crash-expected.txt: Added.
  • fast/runin/runin-continuations-crash.html: Added.
2:48 PM ImportingThirdPartyTests edited by jacobg@adobe.com
(diff)
2:47 PM Changeset in webkit [118248] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in RenderInline::linesVisualOverflowBoundingBox.
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Dave Hyatt.

Source/WebCore:

Defer layout of replaced elements to the next line break function.
We shouldn't do it while we are clearing our inline chilren
lineboxes in full layout mode.

Test: fast/block/inline-children-root-linebox-crash.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

LayoutTests:

  • fast/block/inline-children-root-linebox-crash-expected.txt: Added.
  • fast/block/inline-children-root-linebox-crash.html: Added.
2:47 PM ImportingThirdPartyTests edited by jacobg@adobe.com
(diff)
2:46 PM Changeset in webkit [118247] by crogers@google.com
  • 5 edits
    2 adds in trunk

Source/WebCore: AudioParam must support fan-in (multiple audio connections) (take 2)
https://bugs.webkit.org/show_bug.cgi?id=83610

Reviewed by Kenneth Russell.

This re-lands bug: https://bugs.webkit.org/show_bug.cgi?id=83610
Now that a fix has been landed: http://trac.webkit.org/changeset/118099

Test: webaudio/audioparam-summingjunction.html

  • Modules/webaudio/AudioParam.cpp:
  • Modules/webaudio/AudioParam.h:

(WebCore::AudioParam::calculateSampleAccurateValues):
(WebCore::AudioParam::calculateAudioRateSignalValues):
Sums intrinsic parameter value with all audio-rate connections.

(WebCore::AudioParam::connect):
(WebCore::AudioParam::disconnect):
Support multiple connections.

(WebCore::AudioParam::hasSampleAccurateValues):
If we have one or more audio-rate connections.

(WebCore::AudioParam::AudioParam):
AudioParam now sub-classes AudioSummingJunction.

LayoutTests: AudioParam must support fan-in (multiple audio connections)
https://bugs.webkit.org/show_bug.cgi?id=83610

Reviewed by Kenneth Russell.

  • webaudio/audioparam-connect-audioratesignal.html:
  • webaudio/audioparam-summingjunction-expected.txt: Added.
  • webaudio/audioparam-summingjunction.html: Added.
2:44 PM ImportingThirdPartyTests edited by jacobg@adobe.com
(diff)
2:37 PM Changeset in webkit [118246] by ericu@chromium.org
  • 4 edits
    3 adds in trunk/LayoutTests

There are no shared worker filesystem tests
https://bugs.webkit.org/show_bug.cgi?id=83828

Reviewed by David Levin.

  • fast/filesystem/resources/file-writer-events.js:

Minor tweak to prevent double-import of js-test-pre.js

  • fast/filesystem/resources/shared-worker-stub.js: Added.

Stub that imports js-test-pre.js for shared workers, so that we don't
actually import the test script until postMessage has somewhere to go.

  • fast/filesystem/workers/file-writer-events-shared-worker-expected.txt: Added.
  • fast/filesystem/workers/file-writer-events-shared-worker.html: Added.

The new test, running the same old file-writer-events.js that runs in
document and worker context.

  • fast/js/resources/js-test-pre.js:

Previously it looked like startWorker supported creating shared workers;
there was an option, but it was a lie. If you used it, it was
completely broken. This adds a functional minimal implementation.
(startWorker.worker.port.onmessage):
(startWorker):
(.self.onconnect.workerPort.onmessage):
(.self.onconnect):
(.description):
(.testFailed):
(.testPassed):
(.finishJSTest):
(.debug):

  • platform/chromium/test_expectations.txt:

DumpRenderTree and test_shell don't support shared workers; you have to
run this by hand in Chrome.

2:25 PM ImportingThirdPartyTests edited by jacobg@adobe.com
(diff)
2:15 PM Changeset in webkit [118245] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (117623) - Entering/exiting fullscreen HTML5 videos, there is a quick animated fade
https://bugs.webkit.org/show_bug.cgi?id=87294

Reviewed by Darin Adler.

When setting the sublayers array on the layer hosting view, wrap the call in a CATransaction which disables
animations.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateAcceleratedCompositingMode:WebKit::]):

2:13 PM Changeset in webkit [118244] by wangxianzhu@chromium.org
  • 2 edits in trunk/Tools

[Chromium-Android] Fix chromium_android_unittest
https://bugs.webkit.org/show_bug.cgi?id=87196

Reviewed by Tony Chang.

Update unit tests after ChromiumAndroidPort supported apk based
DumpRenderTree.

  • Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:

(ChromiumAndroidPortTest):
(ChromiumAndroidPortTest.mock_run_command_fn): Moved out from test_get_last_stacktrace so that other tests can use it as a common command line handler.
(ChromiumAndroidPortTest.test_get_last_stacktrace):
(ChromiumAndroidPortTest.test_get_crash_log): Added to test our overridden _get_crash_log()
(ChromiumAndroidDriverTest):
(ChromiumAndroidDriverTest.setUp):
(ChromiumAndroidDriverTest.test_cmd_line): Added to test our overridden cmd_line()
(ChromiumAndroidDriverTest.test_write_command_and_read_line): Added test of unexpected EOF (indicating crash on Android)

2:13 PM Changeset in webkit [118243] by jsbell@chromium.org
  • 3 edits in branches/chromium/1132/Source/WebCore

Merge 118039 - Source/WebCore: Fix iframe printing.
https://bugs.webkit.org/show_bug.cgi?id=85118

Patch by Vitaly Buka <vitalybuka@chromium.org> on 2012-05-22
Reviewed by Darin Adler, Eric Seidel.

Patch fixed two issues by disabling special handling of subframes for printing.

  1. Regression. Division by zero when forceLayoutForPagination called for subframes

and page sizes set to zero.

  1. Old issue. RendererView adjusted layout of subframes for printing and set invalid

dimensions. Sometimes it caused missing iframe when printed.

Test: printing/iframe-print.html

  • page/Frame.cpp:

(WebCore::Frame::setPrinting): Calls forceLayoutForPagination for root frames only.
(WebCore::Frame::resizePageRectsKeepingRatio): Added ASSERTs to catch division by zero.

  • rendering/RenderView.cpp: Replaced printing() with shouldUsePrintingLayout() for most calls.

(WebCore::RenderView::computeLogicalHeight):
(WebCore::RenderView::computeLogicalWidth):
(WebCore::RenderView::layout):
(WebCore::RenderView::shouldUsePrintingLayout): Returns true only if printing enabled and it's a root frame.
(WebCore::RenderView::viewRect):
(WebCore::RenderView::viewHeight):
(WebCore::RenderView::viewWidth):

  • rendering/RenderView.h:

TBR=commit-queue@webkit.org,vitalybuka@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10427008

2:02 PM Changeset in webkit [118242] by caio.oliveira@openbossa.org
  • 2 edits in trunk/Tools

[watchlist] Add myself and create a watch rule to catch Attribute related patches
https://bugs.webkit.org/show_bug.cgi?id=87303

Reviewed by Alexis Menard.

  • Scripts/webkitpy/common/config/watchlist:
1:58 PM Changeset in webkit [118241] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port
https://bugs.webkit.org/show_bug.cgi?id=87092

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-23
Reviewed by Adam Barth.

Source/WebCore:

Remove readonly keyword from the webkitIntent attribute. This is
needed otherwise the [Replaceable] extended attribute has not effect
with JSC. This is tested by webintents/web-intents-delivery-reuse.html
test case.

  • Modules/intents/DOMWindowIntents.idl:

LayoutTests:

Remove webintents/web-intents-delivery-reuse.html from test
expectations now that window.webkitIntent is really replaceable and
now that the test is passing.

  • platform/efl/test_expectations.txt:
1:52 PM Changeset in webkit [118240] by fpizlo@apple.com
  • 19 edits in trunk/Source/JavaScriptCore

DFG should be able to inline functions that use arguments reflectively
https://bugs.webkit.org/show_bug.cgi?id=86132

Reviewed by Oliver Hunt.

Merged r116838 from dfgopt.

This turns on inlining of functions that use arguments reflectively, but it
does not do any of the obvious optimizations that this exposes. I'll save that
for another patch - the important thing for now is that this contains all of
the plumbing necessary to make this kind of inlining sound even in bizarro
cases like an inline callee escaping the arguments object to parts of the
inline caller where the arguments are otherwise dead. Or even more fun cases
like where you've inlined to an inline stack that is three-deep, and the
function on top of the inline stack reflectively accesses the arguments of a
function that is in the middle of the inline stack. Any subsequent
optimizations that we do for the obvious cases of arguments usage in inline
functions will have to take care not to break the baseline functionality that
this patch plumbs together.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::dump):

  • bytecode/CodeBlock.h:
  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
(AssemblyHelpers):

  • dfg/DFGByteCodeParser.cpp:

(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canInlineOpcode):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • interpreter/CallFrame.cpp:

(JSC):
(JSC::CallFrame::someCodeBlockForPossiblyInlinedCode):

  • interpreter/CallFrame.h:

(ExecState):
(JSC::ExecState::someCodeBlockForPossiblyInlinedCode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::retrieveArgumentsFromVMCode):

  • runtime/Arguments.cpp:

(JSC::Arguments::tearOff):
(JSC):
(JSC::Arguments::tearOffForInlineCallFrame):

  • runtime/Arguments.h:

(Arguments):
(JSC::Arguments::create):
(JSC::Arguments::finishCreation):
(JSC):

1:51 PM Changeset in webkit [118239] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Every OSR exit on ARM results in a crash
https://bugs.webkit.org/show_bug.cgi?id=87307

Reviewed by Geoffrey Garen.

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):

1:47 PM Changeset in webkit [118238] by ggaren@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Refactored heap tear-down to use normal value semantics (i.e., destructors)
https://bugs.webkit.org/show_bug.cgi?id=87302

Reviewed by Oliver Hunt.

This is a step toward incremental DOM finalization.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::~CopiedSpace):

  • heap/CopiedSpace.h:

(CopiedSpace): Just use our destructor, instead of relying on the heap
to send us a special message at a special time.

  • heap/Heap.cpp:

(JSC::Heap::Heap): Use OwnPtr for m_markListSet because this is not Sparta.

(JSC::Heap::~Heap): No need for delete or freeAllBlocks because normal
destructors do this work automatically now.

(JSC::Heap::lastChanceToFinalize): Just call lastChanceToFinalize on our
sub-objects, and assume it does the right thing. This improves encapsulation,
so we can add items requiring finalization to our sub-objects.

  • heap/Heap.h: Moved m_blockAllocator to get the right destruction order.
  • heap/MarkedSpace.cpp:

(Take):
(JSC):
(JSC::Take::Take):
(JSC::Take::operator()):
(JSC::Take::returnValue): Moved to the top of the file so it can be used
in another function.

(JSC::MarkedSpace::~MarkedSpace): Delete all outstanding memory, like a good
destructor should.

(JSC::MarkedSpace::lastChanceToFinalize): Moved some code here from the heap,
since it pertains to our internal implementation details.

  • heap/MarkedSpace.h:

(MarkedSpace):

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::lastChanceToFinalize):

  • heap/WeakBlock.h:

(WeakBlock):

  • heap/WeakSet.cpp:

(JSC::WeakSet::lastChanceToFinalize):

  • heap/WeakSet.h:

(WeakSet): Stop using a special freeAllBlocks() callback and just implement
lastChanceToFinalize.

1:43 PM Changeset in webkit [118237] by pilgrim@chromium.org
  • 12 edits
    4 copies
    4 adds in trunk/Source

[Chromium] Move themeEngine to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=87268

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::themeEngine):

  • chromium/public/android: Added.
  • chromium/public/android/WebThemeEngine.h: Added.

(WebKit):
(WebThemeEngine):
(ScrollbarTrackExtraParams):
(ButtonExtraParams):
(TextFieldExtraParams):
(MenuListExtraParams):
(SliderExtraParams):
(InnerSpinButtonExtraParams):
(ProgressBarExtraParams):
(WebKit::WebThemeEngine::getSize):
(WebKit::WebThemeEngine::paint):

  • chromium/public/linux: Added.
  • chromium/public/linux/WebThemeEngine.h: Added.

(WebKit):
(WebThemeEngine):
(ScrollbarTrackExtraParams):
(ButtonExtraParams):
(TextFieldExtraParams):
(MenuListExtraParams):
(SliderExtraParams):
(InnerSpinButtonExtraParams):
(ProgressBarExtraParams):
(WebKit::WebThemeEngine::getSize):
(WebKit::WebThemeEngine::paint):

  • chromium/public/mac: Added.
  • chromium/public/mac/WebThemeEngine.h: Added.

(WebKit):
(WebThemeEngine):
(ScrollbarInfo):
(WebKit::WebThemeEngine::paintScrollbarThumb):

  • chromium/public/win: Added.
  • chromium/public/win/WebThemeEngine.h: Added.

(WebKit):
(WebThemeEngine):
(WebKit::WebThemeEngine::paintSpinButton):
(WebKit::WebThemeEngine::paintProgressBar):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKit::WebKitPlatformSupport::sandboxSupport):

  • public/platform/android/WebThemeEngine.h:
  • public/platform/linux/WebThemeEngine.h:
  • public/platform/mac/WebThemeEngine.h:
  • public/platform/win/WebThemeEngine.h:
  • src/AssertMatchingEnums.cpp:
  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::paintButton):
(WebCore::PlatformSupport::paintMenuList):
(WebCore::PlatformSupport::paintScrollbarArrow):
(WebCore::PlatformSupport::paintScrollbarThumb):
(WebCore::PlatformSupport::paintScrollbarTrack):
(WebCore::PlatformSupport::paintSpinButton):
(WebCore::PlatformSupport::paintTextField):
(WebCore::PlatformSupport::paintTrackbar):
(WebCore::PlatformSupport::paintProgressBar):
(WebCore::PlatformSupport::getThemePartSize):
(WebCore::PlatformSupport::paintThemePart):

1:41 PM Changeset in webkit [118236] by inferno@chromium.org
  • 4 edits
    2 adds in trunk

ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
https://bugs.webkit.org/show_bug.cgi?id=87274

Reviewed by Darin Adler.

Source/WebCore:

Progress bar can't run-in. Prevent it from becoming a run-in, leading to an
unworkable RenderInline.

Test: fast/runin/progress-run-in-crash.html

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):

LayoutTests:

  • fast/runin/progress-run-in-crash-expected.txt: Added.
  • fast/runin/progress-run-in-crash.html: Added.
1:39 PM Changeset in webkit [118235] by jberlin@webkit.org
  • 3 edits in branches/safari-536-branch/LayoutTests

Roll back in the gardening done after r116039 for the 536 branch.

It was rolled out accidentally in r116070 when rolling out the changes related to r116009.

  • fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
  • http/tests/workers/worker-importScriptsOnError-expected.txt:
1:35 PM Changeset in webkit [118234] by dpranke@chromium.org
  • 5 edits in trunk/Tools

garden-o-matic should not fetch from debug bots if it also knows about the release bots
https://bugs.webkit.org/show_bug.cgi?id=86916

Reviewed by Adam Barth.

This change pushes all of the logic for rebaselining a cluster
of failures (a list of tests failing a list of suffixes on a
list of bots) onto the server, so there is a single call from
the web page; we will then be able to optimize the performance
of the rebaselining better.

Also remove the 'optimizebaseline' entry point on garden-o-matic
(and the client-side call) since we don't need it any more.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
  • Scripts/webkitpy/tool/servers/gardeningserver.py:

(GardeningHTTPRequestHandler.rebaselineall):

  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1:30 PM Changeset in webkit [118233] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

Remove minimum and maximum scroll position as they are no
longer required due to changes in ScrollViewBase.
https://bugs.webkit.org/show_bug.cgi?id=87298

Patch by Genevieve Mak <gmak@rim.com> on 2012-05-23
Reviewed by Antonio Gomes.

  • WebKitSupport/InRegionScrollableArea.cpp:

(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

  • WebKitSupport/InRegionScrollableArea.h:

(InRegionScrollableArea):

1:27 PM Changeset in webkit [118232] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Skip a test failing on the 536 branch due to missing WTR support.

  • platform/wk2/Skipped:
1:21 PM Changeset in webkit [118231] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Mac DRT should be able to load external URLs for replay performance tests
https://bugs.webkit.org/show_bug.cgi?id=86191

Reviewed by Alexey Proskuryakov.

Let external URL requests go through if the test file is not a local file or hosted at localhost.
e.g. "DumpRenderTree http://webkit.org/" as supposed to "DumpRenderTree test.html" or
"DumpRenderTree http://localhost:8000/".

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(isLocalhost):
(hostIsUsedBySomeTestsToGenerateError):
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

1:12 PM Changeset in webkit [118230] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] UI thread unnecessarily blocks on WebKit thread when servicing requestAnimationFrames
https://bugs.webkit.org/show_bug.cgi?id=87289

Patch by Andrew Lo <anlo@rim.com> on 2012-05-23
Reviewed by Antonio Gomes.

requestAnimationFrame already covered by tests in LayoutTests/fast/animation.

If UI thread cannot acquire DisplayRefreshMonitor mutex immediately,
avoid blocking on the mutex, it can trigger the frame change on the next
animation tick instead.

  • platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:

(WebCore::DisplayRefreshMonitor::displayLinkFired):

12:54 PM Changeset in webkit [118229] by Lucas Forschler
  • 5 edits in branches/safari-536-branch/Source/JavaScriptCore

Merged r117860.

12:43 PM Changeset in webkit [118228] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WebKit2

[Qt][Wk2] Assertion failure when selecting an option in select list with size attribute greater than one
https://bugs.webkit.org/show_bug.cgi?id=86974

Patch by Dinu Jacob <dinu.jacob@nokia.com> on 2012-05-23
Reviewed by Simon Hausmann.

Select list with size attribute greater than one will not initially have any
item in selected state (if no option has 'selected' tag), resulting in
m_selectedModelIndex in WebPopupMenuProxyQt to be invalid. Hence, need to check
whether the old index is invalid before accessing the item at that index.

  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Added new test that tests selection in a select list with size attribute value of 2.
  • UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Added.
  • UIProcess/qt/WebPopupMenuProxyQt.cpp:

(WebKit::PopupMenuItemModel::select): Check whether old index is valid before accessing

the item at that index.

12:41 PM Changeset in webkit [118227] by Lucas Forschler
  • 12 edits in branches/safari-536-branch/Source/JavaScriptCore

Merged r117729.

12:38 PM Changeset in webkit [118226] by commit-queue@webkit.org
  • 10 edits
    3 adds in trunk/Source/WebCore

Implement DOM4 DOMError
https://bugs.webkit.org/show_bug.cgi?id=87055

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-23
Reviewed by Adam Barth.

Implement the DOMError class and it's IDL interface.

No new tests. Not testable yet, as it's not used.

  • WebCore.gypi:
  • dom/DOMError.cpp: Added.

(WebCore):
(WebCore::DOMError::DOMError):

  • dom/DOMError.h: Added.

(WebCore):
(DOMError):
(WebCore::DOMError::create):
(WebCore::DOMError::name):

  • dom/DOMError.idl: Added.
12:22 PM Changeset in webkit [118225] by kbr@google.com
  • 6 edits in trunk

REGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing on Mac bots.
https://bugs.webkit.org/show_bug.cgi?id=87136

Reviewed by Stephen White.

Source/WebCore:

Fixed longstanding bug in GraphicsContext3D constructor in Mac
port, and logic error in tracking of texture bound to unit 0. Also
fixed up Cairo port's constructor by code inspection. This code is
ripe for cleanup; Bug 87198 filed for this.

Covered by existing tests.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

Initialize missing members.

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

Correctly initialize m_activeTexture.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::bindTexture):

Fix logic error in tracking of texture bound to unit 0.

LayoutTests:

Unskipped tests.

  • platform/mac/Skipped:
12:20 PM Internals_Hackathon edited by marcelo.lira@openbossa.org
(diff)
12:12 PM Changeset in webkit [118224] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Skip the IFrame Seamless tests on the 536 branch because IFRAME_SEAMLESS is diabled on the 536 branch.

  • platform/mac/Skipped:
12:09 PM Changeset in webkit [118223] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Change acceptMIMETypes member to acceptTypes now that file extensions are legal accept types
https://bugs.webkit.org/show_bug.cgi?id=87271

Patch by Raymes Khoury <raymes@chromium.org> on 2012-05-23
Reviewed by Darin Fisher.

  • public/WebFileChooserParams.h:

(WebFileChooserParams):

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::runOpenPanel):

12:03 PM Changeset in webkit [118222] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r117698.

12:01 PM Changeset in webkit [118221] by jberlin@webkit.org
  • 2 edits in branches/safari-536-branch/LayoutTests

Skip the CSS Regions tests on the 536 branch because CSS_REGIONS is disabled on the 536 branch.

  • platform/mac/Skipped:
12:00 PM Changeset in webkit [118220] by Lucas Forschler
  • 5 edits in branches/safari-536-branch/Source

Merged r117744.

11:57 AM Changeset in webkit [118219] by danakj@chromium.org
  • 4 edits in trunk/Source

[chromium] Layers on main thread should get a RenderSurface for animating transform only if masksToBounds is true also
https://bugs.webkit.org/show_bug.cgi?id=87184

Reviewed by James Robinson.

Source/WebCore:

Layers on main thread get a RenderSurface if their impl counterpart may
have a RenderSurface due to its animating transform. We currently create
a RenderSurface for all layers with an animating transform and
a descendant that drawsContents. But a RenderSurface on impl also
implies that the layer masksToBounds. So only make a RenderSurface on
main thread when the layer also masksToBounds.

Modified unit test CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy.

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::subtreeShouldRenderToSeparateSurface):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):

11:53 AM Changeset in webkit [118218] by pilgrim@chromium.org
  • 8 edits
    1 copy in trunk/Source

[Chromium] Move queryLocalizedString to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85762

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::queryLocalizedString):

  • chromium/public/WebLocalizedString.h: Added.

(WebKit):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebKitPlatformSupport.h:

(WebKit::WebKitPlatformSupport::getPluginList):

  • public/platform/WebLocalizedString.h:
  • src/LocalizedStrings.cpp:

(WebCore::query):

11:51 AM Changeset in webkit [118217] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebCore

Merged r117625.

11:49 AM Changeset in webkit [118216] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source/WebCore

Merged r117501.

11:47 AM Changeset in webkit [118215] by Lucas Forschler
  • 3 edits
    4 copies in branches/safari-536-branch

Merged r116543.

11:45 AM Changeset in webkit [118214] by Lucas Forschler
  • 3 edits
    6 copies in branches/safari-536-branch

Merged r116486.

11:45 AM Changeset in webkit [118213] by Chris Fleizach
  • 4 edits
    2 adds in trunk

Source/WebCore: Regression(r112694): Crash in WebCore::AXObjectCache::postNotification
https://bugs.webkit.org/show_bug.cgi?id=86029

Reviewed by Abhishek Arya.

Test: accessibility/content-changed-notification-causes-crash.html

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isDetached):
(AccessibilityObject):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::contentChanged):

LayoutTests: Regression(r112694): Crash in WebCore::AXObjectCache::postNotification
https://bugs.webkit.org/show_bug.cgi?id=86029

Reviewed by Abhishek Arya.

  • accessibility/content-changed-notification-causes-crash-expected.txt: Added.
  • accessibility/content-changed-notification-causes-crash.html: Added.
11:36 AM Changeset in webkit [118212] by Lucas Forschler
  • 18 edits in branches/safari-536-branch/Source

Merged r116319.

11:33 AM Internals_Hackathon edited by jesus@webkit.org
(diff)
11:31 AM Changeset in webkit [118211] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r116188): After exiting full screen, Safari window is frozen, then inline video speeds through frames as it catches up with audio
https://bugs.webkit.org/show_bug.cgi?id=87206

Reviewed by Darin Adler.

When re-enabling the Safari window's autodisplay flag, also force the window to re-display.
Otherwise, the window will not repaint itself until it is forced to by user interaction.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):

11:29 AM Changeset in webkit [118210] by ggaren@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Encapsulated some calculations for whether portions of the heap are empty
https://bugs.webkit.org/show_bug.cgi?id=87210

Reviewed by Gavin Barraclough.

This is a step toward incremental DOM finalization.

  • heap/Heap.cpp:

(JSC::Heap::~Heap): Explicitly call freeAllBlocks() instead of relying
implicitly on all blocks thinking they're empty. In future, we may
choose to tear down the heap without first setting all data structures
to "empty".

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::isEmpty):
(JSC::MarkedBlock::gatherDirtyCells): Renamed markCountIsZero to isEmpty,
in preparation for making it check for outstanding finalizers in addition
to marked cells.

  • heap/MarkedSpace.cpp:

(Take):
(JSC::Take::Take):
(JSC::Take::operator()):
(JSC::Take::returnValue):
(JSC::MarkedSpace::shrink):
(JSC::MarkedSpace::freeAllBlocks): Refactored the "Take" functor to support
a conditional isEmpty check, so it dould be shared by shrink() and freeAllBlocks().

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::WeakBlock):
(JSC::WeakBlock::visitLiveWeakImpls):
(JSC::WeakBlock::visitDeadWeakImpls):

  • heap/WeakBlock.h:

(WeakBlock):
(JSC::WeakBlock::isEmpty):

  • heap/WeakSet.cpp:

(JSC::WeakSet::sweep):
(JSC::WeakSet::shrink): Use isEmpty(), in preparation for changes in
its implementation.

11:24 AM Changeset in webkit [118209] by kevino@webkit.org
  • 2 edits in trunk/Source/WebCore

[wx] Fix memory leak in FontHolder.
https://bugs.webkit.org/show_bug.cgi?id=87281

Reviewed by Kevin Ollivier.

11:23 AM Changeset in webkit [118208] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening - one more media/track test is crashy.

  • platform/chromium/test_expectations.txt:
11:22 AM Changeset in webkit [118207] by kevino@webkit.org
  • 2 edits in trunk/Source/WebCore

[wx] Make sure we do not create a substitute font if the facename is not found.
https://bugs.webkit.org/show_bug.cgi?id=87280

Reviewed by Kevin Ollivier.

11:17 AM Changeset in webkit [118206] by kevino@webkit.org
  • 2 edits in trunk/Source/WebCore

[wx] Implement transparency layer support.
https://bugs.webkit.org/show_bug.cgi?id=87279

Reviewed by Kevin Ollivier.

11:11 AM Changeset in webkit [118205] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

GenericClock loses precision due to float->double conversion.
https://bugs.webkit.org/show_bug.cgi?id=87227

Reviewed by Darin Adler.

No new tests; fixes media/media-controller-time.html on Chromium.

Only narrow to float after the entire calculation is complete. This requires now() and m_offset
to be double-precision.

  • platform/ClockGeneric.cpp:

(ClockGeneric::currentTime):
(ClockGeneric::now): Make double-precision.

  • platform/ClockGeneric.h:

(ClockGeneric): Make m_offset double-precision.

11:11 AM Changeset in webkit [118204] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

PlatformClockCM has uninitialized m_rate member.
https://bugs.webkit.org/show_bug.cgi?id=87217

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-controller-time.html

Initialize the m_rate member to a default of 1 (second-per-second), matching the implementation
of ClockGeneric.

  • platform/mac/PlatformClockCM.mm:

(PlatformClockCM::PlatformClockCM):

LayoutTests:

  • media/media-controller-time-expected.txt: Added.
  • media/media-controller-time.html: Added.
11:02 AM Changeset in webkit [118203] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r118096.
http://trac.webkit.org/changeset/118096
https://bugs.webkit.org/show_bug.cgi?id=87285

caused multiple crashes on the mac bots (Requested by
jessieberlin on #webkit).

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

  • dom/ContainerNodeAlgorithms.h:
11:00 AM Changeset in webkit [118202] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit/chromium

Build fix.

Not reviewed.

  • src/WebDocument.cpp:

(WebKit::WebDocument::insertUserStyleSheet):

10:46 AM Changeset in webkit [118201] by commit-queue@webkit.org
  • 2 edits in trunk

[BlackBerry] Reset JS state for each test
https://bugs.webkit.org/show_bug.cgi?id=86899

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-05-23
Reviewed by Nikolas Zimmermann.

  • DumpRenderTree/blackberry/DumpRenderTree.cpp: (BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
10:41 AM Changeset in webkit [118200] by leviw@chromium.org
  • 2 edits in trunk/LayoutTests

fast/sub-pixel/layout-boxes-with-zoom.html fails at 166% zoom on Windows only
https://bugs.webkit.org/show_bug.cgi?id=87282

Unreviewed. Marking fast/sub-pixel/layout-boxes-with-zoom.html as failing on Chromium Windows.

  • platform/chromium/test_expectations.txt:
10:33 AM Changeset in webkit [118199] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Speed up traverseNextNode when called on a ContainerNode or Element
https://bugs.webkit.org/show_bug.cgi?id=87224

Reviewed by Geoffrey Garen.

  • dom/ContainerNode.h: Added overrides of traverseNextNode for ContainerNode.

That way, when we know at compile time something is ContainerNode, we can
skip a branch at the start of this hot function.

10:32 AM Changeset in webkit [118198] by kevino@webkit.org
  • 2 edits in trunk/Tools

[wx] In wxWebKit release builds on MSW, keep release settings but also build the
debug symbols for easier debugging.
https://bugs.webkit.org/show_bug.cgi?id=87151

Reviewed by Kevin Ollivier.

10:31 AM Changeset in webkit [118197] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use PluginDataNone.cpp always when NETSCAPE_PLUGIN_API is OFF
https://bugs.webkit.org/show_bug.cgi?id=87096

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-23
Reviewed by Andy Estes.

Fix a build error by adding an extra check in PluginData.cpp to use
PluginStrategy only when NETSCAPE_PLUGIN_API is ON.

No new tests. This is only a build fix.

  • plugins/PluginData.cpp:

(WebCore):

10:29 AM Changeset in webkit [118196] by kevino@webkit.org
  • 2 edits in trunk/Source/WebCore

[wx] Fix scrollbar drawing under wxGTK.
https://bugs.webkit.org/show_bug.cgi?id=87150

Reviewed by Kevin Ollivier.

10:21 AM Changeset in webkit [118195] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening - inspector/profiler/heap-snapshot-summary-show-ranges.html
flakes on non-debug test runs too.

  • platform/chromium/test_expectations.txt:
10:17 AM Changeset in webkit [118194] by Antti Koivisto
  • 39 edits in trunk/Source/WebCore

Rename StyleSheetInternal to StyleSheetContents
https://bugs.webkit.org/show_bug.cgi?id=87272

Reviewed by Andreas Kling.

The name is more descriptive and the code reads better.

Plain "StyleSheet" would be good too but that is a CSSOM type and the name can't be used without
changing idl code generation and resolving bunch of other issues.

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):

  • css/CSSFontFaceSrcValue.h:

(CSSFontFaceSrcValue):

  • css/CSSImportRule.cpp:

(WebCore::StyleRuleImport::setCSSStyleSheet):
(WebCore::StyleRuleImport::requestStyleSheet):

  • css/CSSImportRule.h:

(WebCore):
(WebCore::StyleRuleImport::parentStyleSheet):
(WebCore::StyleRuleImport::setParentStyleSheet):
(WebCore::StyleRuleImport::styleSheet):
(StyleRuleImport):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseRule):
(WebCore::CSSParser::parseKeyframeRule):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseSelector):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::setStyleSheet):
(WebCore::CSSParser::parseFlowThread):

  • css/CSSParser.h:

(WebCore):
(CSSParser):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):

  • css/CSSPrimitiveValue.h:

(CSSPrimitiveValue):

  • css/CSSReflectValue.cpp:

(WebCore::CSSReflectValue::addSubresourceStyleURLs):

  • css/CSSReflectValue.h:

(CSSReflectValue):

  • css/CSSRule.cpp:

(WebCore::CSSRule::parserContext):

  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetContents::estimatedSizeInBytes):
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::~StyleSheetContents):
(WebCore::StyleSheetContents::isCacheable):
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::ruleAt):
(WebCore::StyleSheetContents::ruleCount):
(WebCore::StyleSheetContents::clearCharsetRule):
(WebCore::StyleSheetContents::clearRules):
(WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
(WebCore::StyleSheetContents::wrapperInsertRule):
(WebCore::StyleSheetContents::wrapperDeleteRule):
(WebCore::StyleSheetContents::parserAddNamespace):
(WebCore::StyleSheetContents::determineNamespace):
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
(WebCore::StyleSheetContents::parseString):
(WebCore::StyleSheetContents::parseStringAtLine):
(WebCore::StyleSheetContents::isLoading):
(WebCore::StyleSheetContents::checkLoaded):
(WebCore::StyleSheetContents::notifyLoadedSheet):
(WebCore::StyleSheetContents::startLoadingDynamicSheet):
(WebCore::StyleSheetContents::rootStyleSheet):
(WebCore::StyleSheetContents::singleOwnerNode):
(WebCore::StyleSheetContents::singleOwnerDocument):
(WebCore::StyleSheetContents::completeURL):
(WebCore::StyleSheetContents::addSubresourceStyleURLs):
(WebCore::StyleSheetContents::parentStyleSheet):
(WebCore::StyleSheetContents::registerClient):
(WebCore::StyleSheetContents::unregisterClient):
(WebCore::StyleSheetContents::addedToMemoryCache):
(WebCore::StyleSheetContents::removedFromMemoryCache):
(WebCore::CSSStyleSheet::createInline):
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::willMutateRules):
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::length):
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::cssRules):

  • css/CSSStyleSheet.h:

(WebCore::StyleSheetContents::create):
(StyleSheetContents):
(WebCore::StyleSheetContents::copy):
(WebCore::CSSStyleSheet::create):
(WebCore::CSSStyleSheet::contents):
(CSSStyleSheet):

  • css/CSSValue.cpp:

(WebCore::CSSValue::addSubresourceStyleURLs):

  • css/CSSValue.h:

(WebCore):
(CSSValue):

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::addSubresourceStyleURLs):

  • css/CSSValueList.h:

(CSSValueList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore):
(PropertySetCSSStyleDeclaration):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):
(WebCore::StylePropertySet::addSubresourceStyleURLs):

  • css/StylePropertySet.h:

(WebCore):
(StylePropertySet):

  • css/StyleResolver.cpp:

(RuleSet):
(WebCore):
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
(WebCore::StyleResolver::appendAuthorStylesheets):
(WebCore::parseUASheet):
(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(StyleResolver):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::insertRule):

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createCSSStyleSheet):

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):
(WebCore::Document::updateBaseURL):
(WebCore::Document::pageUserSheet):
(WebCore::Document::pageGroupUserSheets):
(WebCore::Document::addUserSheet):
(WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
(WebCore::Document::analyzeStylesheetChange):
(WebCore::styleSheetsUseRemUnits):

  • dom/Document.h:

(WebCore):
(Document):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setCSSStyleSheet):
(WebCore::ProcessingInstruction::parseStyleSheet):

  • dom/StyleElement.cpp:

(WebCore::StyleElement::createSheet):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addSubresourceAttributeURLs):
(WebCore::StyledElement::addPropertyToAttributeStyle):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):
(WebCore::HTMLLinkElement::styleSheetIsLoading):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::addSubresourceAttributeURLs):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyleSheet::styleSheetURL):
(WebCore::InspectorStyleSheet::reparseStyleSheet):
(WebCore::InspectorStyleSheet::ensureSourceData):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

  • loader/cache/CachedCSSStyleSheet.h:

(WebCore):
(CachedCSSStyleSheet):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeCSSStyleSheet):

10:16 AM Changeset in webkit [118193] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening - add timeout and crash expectations for a few tests.

  • platform/chromium/test_expectations.txt:
9:56 AM Changeset in webkit [118192] by Darin Adler
  • 99 edits in trunk/Source/WebCore

Use ContainerNode instead of Node where possible
https://bugs.webkit.org/show_bug.cgi?id=87220

Reviewed by Geoffrey Garen.

It's better to use a more specific type; in some cases we even generate
more efficient code if we have a more specific type. Also, we want any
type casts to be as close as possible to the corresponding type checks,
so eliminating these uses of toContainerNode is a plus, also.

  • dom/ContainerNodeAlgorithms.h: Changed insertionPoint to be a ContainerNode

instead of a Node. Fixed spelling error "inseretions". Changed
(WebCore::ChildFrameDisconnector::Target::Target): Changed type of frame owner
element to HTMLFrameOwnerElement from Node.

  • dom/DocumentType.cpp:

(WebCore::DocumentType::insertedInto):
(WebCore::DocumentType::removedFrom):

  • dom/DocumentType.h:
  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

  • dom/Element.h:
  • dom/Node.cpp:

(WebCore::Node::insertedInto):
(WebCore::Node::removedFrom):

  • dom/Node.h:
  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::insertedInto):
(WebCore::ProcessingInstruction::removedFrom):

  • dom/ProcessingInstruction.h:
  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::insertedInto):

  • dom/ScriptElement.h:
  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::insertedInto):
(WebCore::FormAssociatedElement::removedFrom):

  • html/FormAssociatedElement.h:
  • html/HTMLBaseElement.cpp:

(WebCore::HTMLBaseElement::insertedInto):
(WebCore::HTMLBaseElement::removedFrom):

  • html/HTMLBaseElement.h:
  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::insertedInto):
(WebCore::HTMLBodyElement::didNotifyDescendantInsertions):

  • html/HTMLBodyElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::insertedInto):
(WebCore::HTMLFormControlElement::removedFrom):

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::insertedInto):
(WebCore::HTMLFormElement::didNotifyDescendantInsertions):
(WebCore::HTMLFormElement::removedFrom):

  • html/HTMLFormElement.h:
  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::insertedInto):
(WebCore::HTMLFrameElementBase::didNotifyDescendantInsertions):

  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::insertedInto):
(WebCore::HTMLFrameSetElement::removedFrom):

  • html/HTMLFrameSetElement.h:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::insertedInto):
(WebCore::HTMLIFrameElement::removedFrom):

  • html/HTMLIFrameElement.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto):
(WebCore::HTMLImageElement::removedFrom):

  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::insertedInto):
(WebCore::HTMLInputElement::removedFrom):

  • html/HTMLInputElement.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::insertedInto):
(WebCore::HTMLLinkElement::removedFrom):

  • html/HTMLLinkElement.h:
  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::insertedInto):
(WebCore::HTMLMapElement::removedFrom):

  • html/HTMLMapElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::insertedInto):
(WebCore::HTMLMediaElement::removedFrom):

  • html/HTMLMediaElement.h:
  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::insertedInto):

  • html/HTMLMetaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::insertedInto):
(WebCore::HTMLObjectElement::removedFrom):

  • html/HTMLObjectElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::insertedInto):

  • html/HTMLOptionElement.h:
  • html/HTMLQuoteElement.cpp:

(WebCore::HTMLQuoteElement::insertedInto):

  • html/HTMLQuoteElement.h:
  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::insertedInto):

  • html/HTMLScriptElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::insertedInto):

  • html/HTMLSelectElement.h:
  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):

  • html/HTMLSourceElement.h:
  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::insertedInto):
(WebCore::HTMLStyleElement::removedFrom):

  • html/HTMLStyleElement.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::insertedInto):

  • html/HTMLTextFormControlElement.h:
  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::insertedInto):
(WebCore::HTMLTitleElement::removedFrom):

  • html/HTMLTitleElement.h:
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::insertedInto):
(WebCore::HTMLTrackElement::removedFrom):

  • html/HTMLTrackElement.h:
  • mathml/MathMLMathElement.cpp:

(WebCore::MathMLMathElement::insertedInto):

  • mathml/MathMLMathElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::removedFrom):

  • svg/SVGElement.h:
  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::insertedInto):
(WebCore::SVGFEImageElement::removedFrom):

  • svg/SVGFEImageElement.h:
  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::insertedInto):
(WebCore::SVGFontFaceElement::removedFrom):

  • svg/SVGFontFaceElement.h:
  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::insertedInto):

  • svg/SVGFontFaceUriElement.h:
  • svg/SVGGlyphElement.cpp:

(WebCore::SVGGlyphElement::insertedInto):
(WebCore::SVGGlyphElement::removedFrom):

  • svg/SVGGlyphElement.h:
  • svg/SVGHKernElement.cpp:

(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):

  • svg/SVGHKernElement.h:
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::insertedInto):

  • svg/SVGImageElement.h:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):

  • svg/SVGSVGElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::insertedInto):

  • svg/SVGScriptElement.h:
  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::insertedInto):
(WebCore::SVGStyleElement::removedFrom):

  • svg/SVGStyleElement.h:
  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::insertedInto):
(WebCore::SVGStyledElement::removedFrom):

  • svg/SVGStyledElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::insertedInto):
(WebCore::SVGTRefElement::removedFrom):

  • svg/SVGTRefElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::insertedInto):

  • svg/SVGTextPathElement.h:
  • svg/SVGTitleElement.cpp:

(WebCore::SVGTitleElement::insertedInto):
(WebCore::SVGTitleElement::removedFrom):

  • svg/SVGTitleElement.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto):
(WebCore::SVGUseElement::removedFrom):

  • svg/SVGUseElement.h:
  • svg/SVGVKernElement.cpp:

(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):

  • svg/SVGVKernElement.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::insertedInto):
(WebCore::SVGSMILElement::removedFrom):

  • svg/animation/SVGSMILElement.h:

Changed arguments of insertedInto and removedFrom to ContainerNode instead of Node.
Did the same with didNotifyDescendantInsertions, while fixing the typo in its name.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply): Put a typecast toHTMLElement here.
The check for isListElement and isLegacyAppleStyleSpan takes care of the type checking.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Changed this function to take
an HTMLElement instead of a Node, then we can drop use of the toContainerNode function.

  • editing/ReplaceSelectionCommand.h:
  • editing/TextIterator.cpp: Fixed a typo in a comment.
9:47 AM Changeset in webkit [118191] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

9:46 AM Changeset in webkit [118190] by Lucas Forschler
  • 1 copy in tags/Safari-536.13.1

New Tag.

9:46 AM Changeset in webkit [118189] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

9:44 AM Changeset in webkit [118188] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r117539.

9:32 AM Changeset in webkit [118187] by Darin Adler
  • 2 edits in trunk/Source/WTF

Optimize iteration of empty hash tables
https://bugs.webkit.org/show_bug.cgi?id=87215

Reviewed by Geoffrey Garen.

Iteration of empty hash tables was showing up on simple page loading
profiles due to the use of hash tables in the
NodeListsNodeData::invalidateCaches and
NodeListsNodeData::invalidateCachesThatDependOnAttributes functions.
It's worth optimizing the case of an empty table.

  • wtf/HashTable.h:

(WTF::HashTable::begin): Return the known-good end iterator when the
table is empty. This makes iterating an empty table faster because we
avoid skipping empty and deleted buckets.

9:30 AM Changeset in webkit [118186] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

Add crashing expectation for more media/track tests:
track-language-preference.html, track-load-from-element-readyState.html, and
track-webvtt-tc019-cue-size.html - tracked in http://webkit.org/b/87258

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
9:20 AM Changeset in webkit [118185] by eae@chromium.org
  • 2 edits in trunk/LayoutTests

Unskip sub-pixel tests on chromium now that they flag has been turned on (in r 117815).

  • platform/chromium/test_expectations.txt:
9:17 AM Changeset in webkit [118184] by eae@chromium.org
  • 14 edits
    2 adds in trunk/LayoutTests

Add test for subpixel precision in DOM APIs
https://bugs.webkit.org/show_bug.cgi?id=85534

Reviewed by Eric Seidel.

Add test for increased precision due to subpixel support in the
getBoundingClientRect api. Also test that clientWidth returns the pixel
snapped value.

  • fast/sub-pixel/client-rect-has-subpixel-precision-expected.html: Added.
  • fast/sub-pixel/client-rect-has-subpixel-precision.html: Added.
  • platform/efl/Skipped:
  • platform/gtk-wk2/Skipped:
  • platform/mac-lion/Skipped:
  • platform/mac-snowleopard/Skipped:
  • platform/mac-wk2/Skipped:
  • platform/mac/Skipped:
  • platform/qt-4.8/Skipped:
  • platform/qt/Skipped:
  • platform/win-wk2/Skipped:
  • platform/win-xp/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
  • platform/wk2/Skipped:

Mark as skipped on all platforms but chromium for now.

9:07 AM Changeset in webkit [118183] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[GTK] [WebKit2] Add an API to enable and disable composited layer indicators
https://bugs.webkit.org/show_bug.cgi?id=87053

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-23
Reviewed by Carlos Garcia Campos.

Add a WebKitSetting that allows the client to enable and disable debug
borders and repaint counters for accelerated content.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty): Added.
(webKitSettingsGetProperty): Added.
(webkit_settings_class_init): Add the new property.
(webkit_settings_set_draw_compositing_indicators): Added.
(webkit_settings_get_draw_compositing_indicators): Added.

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API points to the

documentation.

  • UIProcess/API/gtk/test/TestWebKitSettings.h: Add a new unit test.
9:02 AM Changeset in webkit [118182] by commit-queue@webkit.org
  • 16 edits in trunk

Web Inspector: filter out debugging stuff from the heap class view
https://bugs.webkit.org/show_bug.cgi?id=86723

Source/WebCore:

We mark objects that are accessible from user roots (e.g. Window)
with pageObject attribute. This fix filters out all non-pageObjects
from the classes view.

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-05-23
Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotNode.prototype.isPageObject):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
(WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
(WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
(WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):

LayoutTests:

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-05-23
Reviewed by Yury Semikhatsky.

  • inspector/profiler/heap-snapshot-comparison-dom-groups-change.html:
  • inspector/profiler/heap-snapshot-comparison-show-all.html:
  • inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html:
  • inspector/profiler/heap-snapshot-containment-show-all.html:
  • inspector/profiler/heap-snapshot-containment-show-next.html:
  • inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html:
  • inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html:
  • inspector/profiler/heap-snapshot-dominators-show-all.html:
  • inspector/profiler/heap-snapshot-dominators-show-next.html:
  • inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html:
  • inspector/profiler/heap-snapshot-dominators-sorting.html:
  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockObject):
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockRaw):
(initialize_HeapSnapshotTest):
(initialize_HeapSnapshotTest.):

  • inspector/profiler/heap-snapshot.html:
8:50 AM Changeset in webkit [118181] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Move myself to reviewers.

  • Scripts/webkitpy/common/config/committers.py:
8:32 AM Changeset in webkit [118180] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

[EFL][DRT] Today's ingredients for a green bot
https://bugs.webkit.org/show_bug.cgi?id=87244

Unreviewed, EFL gardening.

Some rebaselines, and moving out a set of new crashes that
need more investigation.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-23

  • platform/efl/fast/css-generated-content/inline-display-types-expected.png:
  • platform/efl/fast/css-generated-content/inline-display-types-expected.txt:
  • platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.png:
  • platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
  • platform/efl/fast/inline-block/001-expected.png:
  • platform/efl/fast/inline-block/001-expected.txt:
  • platform/efl/test_expectations.txt:
7:29 AM Changeset in webkit [118179] by steveblock@google.com
  • 2 edits in trunk/LayoutTests

Add crashing expectation for media/video-src-invalid-remove.html

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
7:26 AM Changeset in webkit [118178] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[CSSRegions]Implement NamedFlow::name attribute
https://bugs.webkit.org/show_bug.cgi?id=79645

Source/WebCore:

Implementation for the NamedFlow::name attribute per the CSS Regions WD 3-May-2012 recommendation:
http://www.w3.org/TR/2012/WD-css3-regions-20120503/

Patch by Andrei Bucur <abucur@adobe.com> on 2012-05-23
Reviewed by Andreas Kling.

Test: fast/regions/webkit-named-flow-name.html

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::name):
(WebCore):

  • dom/WebKitNamedFlow.h:

(WebKitNamedFlow):

  • dom/WebKitNamedFlow.idl:

LayoutTests:

Test for the NamedFlow::name attribute per the CSS Regions WD 3-May-2012 recommendation:
http://www.w3.org/TR/2012/WD-css3-regions-20120503/

Patch by Andrei Bucur <abucur@adobe.com> on 2012-05-23
Reviewed by Andreas Kling.

  • fast/regions/webkit-named-flow-name-expected.txt: Added.
  • fast/regions/webkit-named-flow-name.html: Added.
7:16 AM Changeset in webkit [118177] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Let the compiler generate FontFamily's copy ctor and assignment operator.

Blindly rubberstamped by the brave Antti Koivisto.

  • platform/graphics/FontFamily.cpp:
  • platform/graphics/FontFamily.h:
7:08 AM Changeset in webkit [118176] by kling@webkit.org
  • 6 edits in trunk/Source/WebCore

CSSParser: Simplify StylePropertySet creation.
<http://webkit.org/b/87259>

Reviewed by Alexis Menard.

Turn CSSParser's filteredProperties() into createStylePropertySet() which filters the parsed
properties and creates a new StylePropertySet, adopting the vector to avoid the Vector copy we
were previously incurring.

Added a StylePropertyVector typedef for Vector<CSSProperty, 4> since we need to pass this type
to the constructor for Vector::swap() to work.

And thus StylePropertySet::create(const Vector<CSSProperty>&, CSSParserMode) became
StylePropertySet::adopt(StylePropertyVector&, CSSParserMode).

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):

  • css/CSSParser.cpp:

(WebCore::CSSParser::createStylePropertySet):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createKeyframe):

  • css/CSSParser.h:
  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::removePropertiesInSet):
(WebCore::StylePropertySet::copyPropertiesInSet):
(SameSizeAsStylePropertySet):

  • css/StylePropertySet.h:

(WebCore::StylePropertySet::adopt):
(StylePropertySet):

7:05 AM Changeset in webkit [118175] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Kill some frivolous null-checking of Element::m_attributeData.
<http://webkit.org/b/87248>

Reviewed by Antti Koivisto.

Replace unnecessary Element::m_attributeData with assertions where it makes sense.
Others are flat out removed because it should be obvious from context that it's non-null.
E.g if an attribute has changed, we're obviously storing it somewhere.

Also added a short-circuit to Element::normalize() if there are no Attr objects
associated with the element.

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::attributeChanged):
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::normalizeAttributes):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::classAttributeChanged):

6:54 AM Changeset in webkit [118174] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Let Element::detachAttribute() handle removal of the attribute.
<http://webkit.org/b/87242>

Reviewed by Antti Koivisto.

All the call sites were removing the attribute after detaching it, so move
that into detachAttribute(). The function name already made it sound like it
removes the attribute anyway.

Also sprinkle some assertions wrt being called with guaranteed presence of
attributeData() and the provided index in the attribute vector.

  • dom/Element.cpp:

(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttributeNode):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):

6:50 AM Changeset in webkit [118173] by kling@webkit.org
  • 4 edits in trunk/Source/WebCore

Streamline Element teardown for the no-Attr-objects case.
<http://webkit.org/b/87228>

Reviewed by Antti Koivisto.

Dodge one function call in ~Element() if the element has no Attr objects
associated (the typical case.)

Renamed detachAttributes to detachAttrObjectsFromElement to reduce ambiguity.

  • dom/Element.cpp:

(WebCore::Element::~Element):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::detachAttrObjectsFromElement):
(WebCore::ElementAttributeData::clearAttributes):

  • dom/ElementAttributeData.h:

(ElementAttributeData):

6:48 AM Changeset in webkit [118172] by g.czajkowski@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r118157.
http://trac.webkit.org/changeset/118157
https://bugs.webkit.org/show_bug.cgi?id=87100

Newly added tests are not connected to 8483 bug.
editing/style directory should be unskiped first.

  • platform/efl/test_expectations.txt:
6:39 AM Changeset in webkit [118171] by commit-queue@webkit.org
  • 166 edits
    1 copy
    19 adds in trunk/LayoutTests

[EFL][DRT] Rebaseline test results for BUG 86355
https://bugs.webkit.org/show_bug.cgi?id=86956

Unreviewed, EFL gardening.

Updated test results for BUG 86355.

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-23

  • platform/efl/compositing/animation/state-at-end-event-transform-layer-expected.png:
  • platform/efl/compositing/animation/state-at-end-event-transform-layer-expected.txt:
  • platform/efl/compositing/bounds-in-flipped-writing-mode-expected.txt: Added.
  • platform/efl/compositing/color-matching/image-color-matching-expected.png:
  • platform/efl/compositing/color-matching/image-color-matching-expected.txt:
  • platform/efl/compositing/color-matching/pdf-image-match-expected.png:
  • platform/efl/compositing/color-matching/pdf-image-match-expected.txt:
  • platform/efl/compositing/compositing-visible-descendant-expected.png:
  • platform/efl/compositing/compositing-visible-descendant-expected.txt:
  • platform/efl/compositing/direct-image-compositing-expected.png:
  • platform/efl/compositing/direct-image-compositing-expected.txt:
  • platform/efl/compositing/generated-content-expected.png:
  • platform/efl/compositing/generated-content-expected.txt:
  • platform/efl/compositing/geometry/abs-position-inside-opacity-expected.png:
  • platform/efl/compositing/geometry/abs-position-inside-opacity-expected.txt:
  • platform/efl/compositing/geometry/clipping-foreground-expected.png:
  • platform/efl/compositing/geometry/clipping-foreground-expected.txt:
  • platform/efl/compositing/geometry/composited-html-size-expected.png:
  • platform/efl/compositing/geometry/composited-html-size-expected.txt:
  • platform/efl/compositing/geometry/fixed-in-composited-expected.png:
  • platform/efl/compositing/geometry/fixed-in-composited-expected.txt:
  • platform/efl/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
  • platform/efl/compositing/geometry/layer-due-to-layer-children-deep-expected.txt:
  • platform/efl/compositing/geometry/layer-due-to-layer-children-expected.png:
  • platform/efl/compositing/geometry/layer-due-to-layer-children-expected.txt:
  • platform/efl/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt:
  • platform/efl/compositing/geometry/outline-change-expected.png:
  • platform/efl/compositing/geometry/outline-change-expected.txt:
  • platform/efl/compositing/geometry/partial-layout-update-expected.png:
  • platform/efl/compositing/geometry/partial-layout-update-expected.txt:
  • platform/efl/compositing/geometry/root-layer-update-expected.png:
  • platform/efl/compositing/geometry/root-layer-update-expected.txt:
  • platform/efl/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png:
  • platform/efl/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt:
  • platform/efl/compositing/geometry/video-fixed-scrolling-expected.png:
  • platform/efl/compositing/geometry/video-fixed-scrolling-expected.txt:
  • platform/efl/compositing/geometry/video-opacity-overlay-expected.png:
  • platform/efl/compositing/geometry/video-opacity-overlay-expected.txt:
  • platform/efl/compositing/iframes/composited-iframe-alignment-expected.png:
  • platform/efl/compositing/iframes/composited-iframe-alignment-expected.txt:
  • platform/efl/compositing/iframes/composited-iframe-scroll-expected.txt: Added.
  • platform/efl/compositing/iframes/iframe-content-flipping-expected.txt: Added.
  • platform/efl/compositing/iframes/iframe-copy-on-scroll-expected.png:
  • platform/efl/compositing/iframes/iframe-copy-on-scroll-expected.txt:
  • platform/efl/compositing/iframes/leave-compositing-iframe-expected.txt: Added.
  • platform/efl/compositing/images/direct-image-background-color-expected.png:
  • platform/efl/compositing/images/direct-image-background-color-expected.txt:
  • platform/efl/compositing/layers-inside-overflow-scroll-expected.png:
  • platform/efl/compositing/layers-inside-overflow-scroll-expected.txt:
  • platform/efl/compositing/masks/direct-image-mask-expected.png:
  • platform/efl/compositing/masks/direct-image-mask-expected.txt:
  • platform/efl/compositing/masks/masked-ancestor-expected.png:
  • platform/efl/compositing/masks/masked-ancestor-expected.txt:
  • platform/efl/compositing/masks/multiple-masks-expected.png:
  • platform/efl/compositing/masks/multiple-masks-expected.txt:
  • platform/efl/compositing/masks/simple-composited-mask-expected.png:
  • platform/efl/compositing/masks/simple-composited-mask-expected.txt:
  • platform/efl/compositing/overflow/ancestor-overflow-expected.png:
  • platform/efl/compositing/overflow/ancestor-overflow-expected.txt:
  • platform/efl/compositing/overflow/fixed-position-ancestor-clip-expected.png:
  • platform/efl/compositing/overflow/fixed-position-ancestor-clip-expected.txt:
  • platform/efl/compositing/overflow/overflow-compositing-descendant-expected.png:
  • platform/efl/compositing/overflow/overflow-compositing-descendant-expected.txt:
  • platform/efl/compositing/overflow/overflow-positioning-expected.png:
  • platform/efl/compositing/overflow/overflow-positioning-expected.txt:
  • platform/efl/compositing/overflow/overflow-scroll-expected.png:
  • platform/efl/compositing/overflow/overflow-scroll-expected.txt:
  • platform/efl/compositing/overflow/parent-overflow-expected.png:
  • platform/efl/compositing/overflow/parent-overflow-expected.txt:
  • platform/efl/compositing/overflow/scroll-ancestor-update-expected.png:
  • platform/efl/compositing/overflow/scroll-ancestor-update-expected.txt:
  • platform/efl/compositing/overflow/scrollbar-painting-expected.png:
  • platform/efl/compositing/overflow/scrollbar-painting-expected.txt:
  • platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.png: Added.
  • platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.txt: Added.
  • platform/efl/compositing/plugins/1x1-composited-plugin-expected.txt: Added.
  • platform/efl/compositing/plugins/composited-plugin-expected.png:
  • platform/efl/compositing/plugins/composited-plugin-expected.txt:
  • platform/efl/compositing/plugins/large-to-small-composited-plugin-expected.txt: Added.
  • platform/efl/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/efl/compositing/reflections/animation-inside-reflection-expected.txt:
  • platform/efl/compositing/reflections/compositing-change-inside-reflection-expected.png:
  • platform/efl/compositing/reflections/compositing-change-inside-reflection-expected.txt:
  • platform/efl/compositing/reflections/deeply-nested-reflections-expected.png:
  • platform/efl/compositing/reflections/deeply-nested-reflections-expected.txt:
  • platform/efl/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/efl/compositing/reflections/load-video-in-reflection-expected.txt:
  • platform/efl/compositing/reflections/masked-reflection-on-composited-expected.png:
  • platform/efl/compositing/reflections/masked-reflection-on-composited-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-anchor-point-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-animated-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-animated-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-mask-change-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-mask-change-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-on-overflow-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-on-overflow-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-opacity-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-opacity-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-size-change-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-size-change-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-transformed-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-transformed-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-transformed2-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-transformed2-expected.txt:
  • platform/efl/compositing/reflections/nested-reflection-transition-expected.png:
  • platform/efl/compositing/reflections/nested-reflection-transition-expected.txt:
  • platform/efl/compositing/reflections/reflection-in-composited-expected.png:
  • platform/efl/compositing/reflections/reflection-in-composited-expected.txt:
  • platform/efl/compositing/reflections/reflection-opacity-expected.png:
  • platform/efl/compositing/reflections/reflection-opacity-expected.txt:
  • platform/efl/compositing/reflections/reflection-ordering-expected.png:
  • platform/efl/compositing/reflections/reflection-ordering-expected.txt:
  • platform/efl/compositing/reflections/reflection-positioning-expected.png:
  • platform/efl/compositing/reflections/reflection-positioning-expected.txt:
  • platform/efl/compositing/reflections/reflection-positioning2-expected.png:
  • platform/efl/compositing/reflections/reflection-positioning2-expected.txt:
  • platform/efl/compositing/reflections/simple-composited-reflections-expected.png:
  • platform/efl/compositing/reflections/simple-composited-reflections-expected.txt:
  • platform/efl/compositing/reflections/transform-inside-reflection-expected.png:
  • platform/efl/compositing/reflections/transform-inside-reflection-expected.txt:
  • platform/efl/compositing/repaint/become-overlay-composited-layer-expected.png:
  • platform/efl/compositing/repaint/become-overlay-composited-layer-expected.txt:
  • platform/efl/compositing/repaint/composited-document-element-expected.png:
  • platform/efl/compositing/repaint/composited-document-element-expected.txt:
  • platform/efl/compositing/repaint/layer-repaint-expected.png:
  • platform/efl/compositing/repaint/layer-repaint-expected.txt:
  • platform/efl/compositing/repaint/layer-repaint-rects-expected.png:
  • platform/efl/compositing/repaint/layer-repaint-rects-expected.txt:
  • platform/efl/compositing/repaint/opacity-between-absolute-expected.png:
  • platform/efl/compositing/repaint/opacity-between-absolute-expected.txt:
  • platform/efl/compositing/repaint/opacity-between-absolute2-expected.png:
  • platform/efl/compositing/repaint/opacity-between-absolute2-expected.txt:
  • platform/efl/compositing/self-painting-layers-expected.png:
  • platform/efl/compositing/self-painting-layers-expected.txt:
  • platform/efl/compositing/shadows/shadow-drawing-expected.png:
  • platform/efl/compositing/shadows/shadow-drawing-expected.txt:
  • platform/efl/compositing/sibling-positioning-expected.png:
  • platform/efl/compositing/sibling-positioning-expected.txt:
  • platform/efl/compositing/text-on-large-layer-expected.png:
  • platform/efl/compositing/text-on-large-layer-expected.txt:
  • platform/efl/compositing/transitions/scale-transition-no-start-expected.png:
  • platform/efl/compositing/transitions/scale-transition-no-start-expected.txt:
  • platform/efl/compositing/transitions/singular-scale-transition-expected.png:
  • platform/efl/compositing/transitions/singular-scale-transition-expected.txt:
  • platform/efl/compositing/video/video-background-color-expected.png:
  • platform/efl/compositing/video/video-background-color-expected.txt:
  • platform/efl/compositing/visibility/visibility-composited-expected.png: Added.
  • platform/efl/compositing/visibility/visibility-composited-expected.txt: Added.
  • platform/efl/compositing/visibility/visibility-composited-transforms-expected.png: Copied from LayoutTests/platform/efl/mathml/presentation/fenced-expected.png.
  • platform/efl/compositing/visibility/visibility-composited-transforms-expected.txt: Added.
  • platform/efl/mathml/presentation/attributes-expected.png:
  • platform/efl/mathml/presentation/attributes-expected.txt:
  • platform/efl/mathml/presentation/fenced-expected.png:
  • platform/efl/mathml/presentation/fenced-expected.txt:
  • platform/efl/mathml/presentation/fenced-mi-expected.png:
  • platform/efl/mathml/presentation/fenced-mi-expected.txt:
  • platform/efl/mathml/presentation/fractions-expected.png:
  • platform/efl/mathml/presentation/fractions-expected.txt:
  • platform/efl/mathml/presentation/fractions-vertical-alignment-expected.png:
  • platform/efl/mathml/presentation/fractions-vertical-alignment-expected.txt:
  • platform/efl/mathml/presentation/mo-stretch-expected.png: Added.
  • platform/efl/mathml/presentation/mo-stretch-expected.txt: Added.
  • platform/efl/mathml/presentation/mroot-pref-width-expected.png: Added.
  • platform/efl/mathml/presentation/mroot-pref-width-expected.txt: Added.
  • platform/efl/mathml/presentation/sub-expected.png:
  • platform/efl/mathml/presentation/sub-expected.txt:
  • platform/efl/mathml/presentation/subsup-expected.png:
  • platform/efl/mathml/presentation/subsup-expected.txt:
  • platform/efl/mathml/presentation/sup-expected.png:
  • platform/efl/mathml/presentation/sup-expected.txt:
  • platform/efl/mathml/presentation/tables-expected.png:
  • platform/efl/mathml/presentation/tables-expected.txt:
  • platform/efl/mathml/presentation/tokenElements-expected.png:
  • platform/efl/mathml/presentation/tokenElements-expected.txt:
  • platform/efl/mathml/presentation/under-expected.png:
  • platform/efl/mathml/presentation/under-expected.txt:
  • platform/efl/mathml/presentation/underover-expected.png:
  • platform/efl/mathml/presentation/underover-expected.txt:
6:37 AM Changeset in webkit [118170] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Implements the registerProtocolHandler method and option.
https://bugs.webkit.org/show_bug.cgi?id=73638

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-23
Reviewed by Andreas Kling.

  • Scripts/webkitperl/FeatureList.pm: Turn on the ENABLE_REGISTER_PROTOCOL_HANDLER option as default on EFL port.
6:31 AM Changeset in webkit [118169] by steveblock@google.com
  • 2 edits in trunk/LayoutTests

Fix crashing expectation for several media/ LayoutTests

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
6:23 AM Changeset in webkit [118168] by steveblock@google.com
  • 2 edits in trunk/LayoutTests

Set crashing expectation for several media/ LayoutTests

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
6:09 AM Changeset in webkit [118167] by jochen@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix incomplete switch statement in CSSParser after r118082
https://bugs.webkit.org/show_bug.cgi?id=87250

Reviewed by Alexis Menard.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

6:05 AM Changeset in webkit [118166] by commit-queue@webkit.org
  • 7 edits
    3 deletes in trunk

Unreviewed, rolling out r118105.
http://trac.webkit.org/changeset/118105
https://bugs.webkit.org/show_bug.cgi?id=87255

New LayoutTest is causing several cookie tests to fail on
numerous bots (Requested by steveblock on #webkit).

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

Source/WebCore:

  • platform/blackberry/CookieJarBlackBerry.cpp:

(WebCore::setCookies):

  • platform/blackberry/CookieManager.cpp:

(WebCore::CookieManager::setCookies):
(WebCore::CookieManager::checkAndTreatCookie):
(WebCore::CookieManager::addCookieToMap):
(WebCore::CookieManager::setPrivateMode):
(WebCore):

  • platform/blackberry/CookieManager.h:
  • platform/blackberry/CookieMap.cpp:

(WebCore::CookieMap::addOrReplaceCookie):
(WebCore::CookieMap::removeCookie):

  • platform/blackberry/CookieMap.h:

(CookieMap):

LayoutTests:

  • http/tests/cookies/js-get-and-set-http-only-cookie-expected.txt: Removed.
  • http/tests/cookies/js-get-and-set-http-only-cookie.php: Removed.
  • http/tests/cookies/script-tests/js-get-and-set-http-only-cookie.js: Removed.
6:04 AM Changeset in webkit [118165] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Small refactoring WebPage::confirmComposition.
https://bugs.webkit.org/show_bug.cgi?id=87243

Patch by Michael Brüning <michael.bruning@nokia.com> on 2012-05-23
Reviewed by Kenneth Rohde Christiansen.

Change nested if into an early return to reduce complexity.

  • WebProcess/WebPage/qt/WebPageQt.cpp:

(WebKit::WebPage::confirmComposition):

6:00 AM Changeset in webkit [118164] by zandobersek@gmail.com
  • 6 edits in trunk

[Gtk] EventSender should properly handle (left|right)(control|shift|alt) after r118001
https://bugs.webkit.org/show_bug.cgi?id=87221

Reviewed by Martin Robinson.

Source/WebCore:

No new tests - covered by fast/events/keydown-leftright-keys.html.

Windows key code for shift, control and alt keys should respect the
left or right position of that key. This way the DOM location code of
a key event is properly determined for these keys.

  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):

Tools:

Convert leftAlt, leftControl, leftShift, rightAlt, rightControl and
rightShift key names into proper GDK key symbols.

  • DumpRenderTree/gtk/EventSender.cpp:

(createKeyPressEvent):

LayoutTests:

Remove failing test expectations for fast/events/keydown-leftright-keys.html,
the test should pass now.

  • platform/gtk/test_expectations.txt:
5:15 AM Changeset in webkit [118163] by ahf@0x90.dk
  • 2 edits
    1 add in trunk/Source/WebKit2

[Qt] Missing tests for the evaluateJavaScript API
https://bugs.webkit.org/show_bug.cgi?id=86351

Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml:
  • UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Added.
5:08 AM Changeset in webkit [118162] by loislo@chromium.org
  • 6 edits in trunk

Web Inspector: eliminate getters from HeapSnapshot.js
https://bugs.webkit.org/show_bug.cgi?id=87241

getters can't be inlined by engine at the moment.
I found that conversion getters into functions gives us about 600 ms

RESULT heap-snapshot: switch-to-containment-view= 1920 ms
vs
RESULT heap-snapshot: switch-to-containment-view= 1367 ms

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotEdge.prototype.hasStringName):
(WebInspector.HeapSnapshotEdge.prototype.isElement):
(WebInspector.HeapSnapshotEdge.prototype.isHidden):
(WebInspector.HeapSnapshotEdge.prototype.isWeak):
(WebInspector.HeapSnapshotEdge.prototype.isInternal):
(WebInspector.HeapSnapshotEdge.prototype.isInvisible):
(WebInspector.HeapSnapshotEdge.prototype.isShortcut):
(WebInspector.HeapSnapshotEdge.prototype.name):
(WebInspector.HeapSnapshotEdge.prototype.node):
(WebInspector.HeapSnapshotEdge.prototype.nodeIndex):
(WebInspector.HeapSnapshotEdge.prototype.rawEdges):
(WebInspector.HeapSnapshotEdge.prototype.toString):
(WebInspector.HeapSnapshotEdge.prototype.type):
(WebInspector.HeapSnapshotEdge.prototype._hasStringName):
(WebInspector.HeapSnapshotEdge.prototype._name):
(WebInspector.HeapSnapshotEdge.prototype._nameOrIndex):
(WebInspector.HeapSnapshotEdgeIterator.prototype.index):
(WebInspector.HeapSnapshotEdgeIterator.prototype.setIndex):
(WebInspector.HeapSnapshotEdgeIterator.prototype.item):
(WebInspector.HeapSnapshotRetainerEdge):
(WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
(WebInspector.HeapSnapshotRetainerEdge.prototype.hasStringName):
(WebInspector.HeapSnapshotRetainerEdge.prototype.isElement):
(WebInspector.HeapSnapshotRetainerEdge.prototype.isHidden):
(WebInspector.HeapSnapshotRetainerEdge.prototype.isInternal):
(WebInspector.HeapSnapshotRetainerEdge.prototype.isInvisible):
(WebInspector.HeapSnapshotRetainerEdge.prototype.isShortcut):
(WebInspector.HeapSnapshotRetainerEdge.prototype.isWeak):
(WebInspector.HeapSnapshotRetainerEdge.prototype.name):
(WebInspector.HeapSnapshotRetainerEdge.prototype.node):
(WebInspector.HeapSnapshotRetainerEdge.prototype.nodeIndex):
(WebInspector.HeapSnapshotRetainerEdge.prototype.retainerIndex):
(WebInspector.HeapSnapshotRetainerEdge.prototype.setRetainerIndex):
(WebInspector.HeapSnapshotRetainerEdge.prototype._node):
(WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
(WebInspector.HeapSnapshotRetainerEdge.prototype.toString):
(WebInspector.HeapSnapshotRetainerEdge.prototype.type):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.first):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.index):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.setIndex):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.item):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.next):
(WebInspector.HeapSnapshotNode.prototype.canBeQueried):
(WebInspector.HeapSnapshotNode.prototype.distanceToWindow):
(WebInspector.HeapSnapshotNode.prototype.className):
(WebInspector.HeapSnapshotNode.prototype.dominatorIndex):
(WebInspector.HeapSnapshotNode.prototype.edges):
(WebInspector.HeapSnapshotNode.prototype.edgesCount):
(WebInspector.HeapSnapshotNode.prototype.flags):
(WebInspector.HeapSnapshotNode.prototype.id):
(WebInspector.HeapSnapshotNode.prototype.isHidden):
(WebInspector.HeapSnapshotNode.prototype.isNative):
(WebInspector.HeapSnapshotNode.prototype.isSynthetic):
(WebInspector.HeapSnapshotNode.prototype.isWindow):
(WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
(WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTree):
(WebInspector.HeapSnapshotNode.prototype.isRoot):
(WebInspector.HeapSnapshotNode.prototype.name):
(WebInspector.HeapSnapshotNode.prototype.rawEdges):
(WebInspector.HeapSnapshotNode.prototype.retainedSize):
(WebInspector.HeapSnapshotNode.prototype.retainers):
(WebInspector.HeapSnapshotNode.prototype.selfSize):
(WebInspector.HeapSnapshotNode.prototype.type):
(WebInspector.HeapSnapshotNode.prototype._name):
(WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
(WebInspector.HeapSnapshotNode.prototype._nextNodeIndex):
(WebInspector.HeapSnapshotNode.prototype._type):
(WebInspector.HeapSnapshotNodeIterator):
(WebInspector.HeapSnapshotNodeIterator.prototype.hasNext):
(WebInspector.HeapSnapshotNodeIterator.prototype.index):
(WebInspector.HeapSnapshotNodeIterator.prototype.setIndex):
(WebInspector.HeapSnapshotNodeIterator.prototype.item):
(WebInspector.HeapSnapshotNodeIterator.prototype.next):
(WebInspector.HeapSnapshot.prototype._allNodes):
(WebInspector.HeapSnapshot.prototype.rootNode):
(WebInspector.HeapSnapshot.prototype.get totalSize):
(WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
(WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
(WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
(WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
(WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
(WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
(WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
(WebInspector.HeapSnapshot.prototype.nodeClassName):
(WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
(WebInspector.HeapSnapshot.prototype.createEdgesProvider):
(WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.item):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
(WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem):
(WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
(WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
(WebInspector.HeapSnapshotNodesProvider):
(WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
(WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem):
(WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField):

  • inspector/front-end/HeapSnapshotGridNodes.js:
  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):

LayoutTests:

  • inspector/profiler/heap-snapshot.html:
5:00 AM Changeset in webkit [118161] by yurys@chromium.org
  • 7 edits in trunk

Web Inspector: Debugger should correctly show catch scope
https://bugs.webkit.org/show_bug.cgi?id=87197

Reviewed by Vsevolod Vlasov.

Source/WebCore:

  • bindings/v8/DebuggerScript.js: In case of Catch scope the scope object

is a synthetic one which means that it contains all standard object properties.
When passing this object further we need to leave only properties available in
the catch block(only variable thar stores the exception in fact).

LayoutTests:

Added test for "catch" block to the debugger test.

  • inspector/debugger/debugger-expand-scope-expected.txt:
  • inspector/debugger/debugger-expand-scope.html:
  • platform/chromium/inspector/debugger/debugger-expand-scope-expected.txt:
4:34 AM Changeset in webkit [118160] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Gardening of failing tests
https://bugs.webkit.org/show_bug.cgi?id=87233

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-23

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
4:19 AM Changeset in webkit [118159] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Source

[Qt] FloatSize Qt Support
https://bugs.webkit.org/show_bug.cgi?id=87237

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-23
Reviewed by Andreas Kling.

Source/WebCore:

No new functionality. No new tests.

  • Target.pri:
  • platform/graphics/FloatSize.h:

(FloatSize):

  • platform/graphics/qt/FloatSizeQt.cpp: Added.

(WebCore::FloatSize::FloatSize):
(WebCore::FloatSize::operator QSizeF):

Source/WebKit2:

Basic cleanup possible to new Qt support in FloatSize.

  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPagePrivate::updateSize):

  • UIProcess/API/qt/qwebkittest.cpp:

(QWebKitTest::layoutSize):

4:03 AM Changeset in webkit [118158] by vestbo@webkit.org
  • 11 edits
    2 adds in trunk

[Qt] Make the web view's url property follow the active url

https://bugs.webkit.org/show_bug.cgi?id=77554

The url property of the webview now reflects the 'active' url of the
page, which maps to either the currently loading url, in the case of
an ongoing load, or the result of a load, even when the load failed.

In practice this means that setting the url though QML, or navigating
to a new url in the page by e.g clicking, will both instantly change
the url-property of the webview to the target url. This differs from
earlier behavior, where we would update the url when the load
committed.

An optional argument is added to loadHtml(), to allow setting
the unreachable url when providing replacement content for failed
loads.

Finally, the location bar in the minibrowser is updated to behave
a bit more like normal browsers in terms of when the url will change
and how active focus is handled.

Reviewed by Simon Hausmann.

3:56 AM Changeset in webkit [118157] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening editing/style tests, missing baselines.
https://bugs.webkit.org/show_bug.cgi?id=87100

Unreviewed EFL gardening.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-05-23

  • platform/efl/test_expectations.txt: added tests regarding 84839 bug, missing baselines.
3:54 AM Changeset in webkit [118156] by Simon Hausmann
  • 3 edits in trunk/Source/WebKit2

[Qt] Race condition in LayerTreeHost/Proxy can cause blank rendering
https://bugs.webkit.org/show_bug.cgi?id=87239

Reviewed by Kenneth Rohde Christiansen.

On the UI process side the WebLayerTreeRenderer/LayerTreeHostProxy pair is
created with m_active = false, which makes it ignore any incoming layer updates.
It remains inactive until the ContentsSGNode is created and setActive(true) is called.

On the web process side the LayerTreeHost is created with m_waitingForUIProcess = false.

Those two variables must be in sync, otherwise a race condition can
happen: The web process sends updates to the ui process before the
ContentsSGNode is created. This can happen for example when re-using an
existing WebProcess to create a QQuickWebView and load a page very fast
from the disk cache. The update arrives on the ui process side, but it
is discarded because setActive(true) hasn't been called yet. As a
result any updates that would for example create and populate the tiles
required for rendering are ignored.

This patch ensures that the variables are initialized with the same values and that calling
setActive(true) will trigger the rendering of the next frame.

  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::setActive):

  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::LayerTreeHostQt::LayerTreeHostQt):

3:50 AM Changeset in webkit [118155] by vestbo@webkit.org
  • 5 edits in trunk

[Qt] Remove references to $$QT_SOURCE_TREE

With a modularized Qt, it's ambigious. What we really want is qtbase,
which qtcore is a proxy for (we assume it will always live in qtbase).

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-05-23
Reviewed by Tor Arne Vestbø.

3:49 AM Changeset in webkit [118154] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Enable HeapSnapshotRealWorker in production mode.
https://bugs.webkit.org/show_bug.cgi?id=87240

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-05-23
Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorker):

3:39 AM Changeset in webkit [118153] by vestbo@webkit.org
  • 2 edits in trunk/Tools

[Qt] Fix qmake conditional for c++-11 compat warnings

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-05-23
Reviewed by Tor Arne Vestbø.

3:08 AM Changeset in webkit [118152] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Not reviewed: inspector's Find is not consuming event as of r117974.

  • inspector/front-end/AdvancedSearchController.js:

(WebInspector.AdvancedSearchController.prototype.handleShortcut):

  • inspector/front-end/SearchController.js:

(WebInspector.SearchController.prototype.handleShortcut):

2:55 AM Changeset in webkit [118151] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: enable drag-an-drop from the navigator panel.
https://bugs.webkit.org/show_bug.cgi?id=87238

Reviewed by Vsevolod Vlasov.

Making tree item draggable.

  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorSourceTreeElement.prototype.onattach):
(WebInspector.NavigatorSourceTreeElement.prototype._onmousedown.callback):
(WebInspector.NavigatorSourceTreeElement.prototype._onmousedown):
(WebInspector.NavigatorSourceTreeElement.prototype._ondragstart):

2:31 AM Changeset in webkit [118150] by apavlov@chromium.org
  • 1 edit in branches/chromium/1132/Source/WebCore/inspector/front-end/inspector.css

Merge 116946 - Web Inspector: [Styles] css properties copied into clipboard contain extra line breaks before color values
https://bugs.webkit.org/show_bug.cgi?id=86372

Reviewed by Vsevolod Vlasov.

The "display: block" property found in the ".swatch-inner" CSS class was causing the issue
(an additional \n was rendered in the plain text value).

  • inspector/front-end/inspector.css:

(.swatch-inner):

TBR=apavlov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10388247

1:50 AM Changeset in webkit [118149] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

WebKit spends ~20% of time in HTMLTextAreaElement::defaultValue() when opening a review page
https://bugs.webkit.org/show_bug.cgi?id=86813

Reviewed by Eric Seidel.

Replace String and calls to String::operator+= by StringBuilder and calls to append respectively.
While there are other optimizations we can implement such as not replacing all nodes in the shadow DOM,
or not serializing the value when detecting whether the value had changed, they require considerable
amount of refactoring and this change alone seems to buy us a lot so let us defer those 'til later time.

Also avoid the redundant call to setValue in childrenChanged when the value is dirty.
This should halve the time we spend in setting the value.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::childrenChanged):
(WebCore::HTMLTextAreaElement::defaultValue):

1:32 AM Changeset in webkit [118148] by vestbo@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt] Make QtWebError return the failing URL as a QString instead of QUrl

We don't want to use QUrl inside QtWebKit (only in the API layer), due
to how QUrl normalizes the url.

Reviewed by Simon Hausmann.

1:25 AM Changeset in webkit [118147] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL][DRT] Webarchives tests gardening
https://bugs.webkit.org/show_bug.cgi?id=87225

Unreviewed. The EFL port has no support for webarchives, so the related testcases should
be put to test_expectations as expected to fail.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-23

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
12:56 AM Changeset in webkit [118146] by Carlos Garcia Campos
  • 14 edits
    8 adds in trunk/Source/WebKit2

[GTK] Add inspector API to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=87113

Reviewed by Martin Robinson.

  • GNUmakefile.list.am: Add new files to compilation.
  • UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: Added.

(WKInspectorSetInspectorClientGtk):

  • UIProcess/API/C/gtk/WKInspectorClientGtk.h: Added.
  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitWebInspector.cpp: Added.

(webkitWebInspectorFinalize):
(webkit_web_inspector_init):
(webkit_web_inspector_class_init):
(openWindow): Emit WebKitWebInspector::open-window singal.
(didClose): Emit WebKitWebInspector::closed signal.
(bringToFront): Emit WebKitWebInspector::bring-to-front singal.
(inspectedURLChanged): Set the inspected URI and emit
GObject::notify signal if it changed.
(attach): Emit WebKitWebInspector::attach signal.
(detach): Emit WebKitWebInspector::detach signal.
(didChangeAttachedHeight): Set the attached height and emit
GObject::notify signal if it changed.
(webkitWebInspectorCreate): Ceate a new WebKitWebInspector object
for the given WKInspector. Also initialize and set the inspector
client.
(webkit_web_inspector_get_web_view): Return the web view used to
render the inspector.
(webkit_web_inspector_get_inspected_uri): Return the URI that is
being inspected.
(webkit_web_inspector_is_attached): Whether the inspector view is
currently attached.
(webkit_web_inspector_attach): Request to attach the inspector.
(webkit_web_inspector_detach): Request to detach the inspector.
(webkit_web_inspector_show): Request to show the inspector.
(webkit_web_inspector_close): Request to close the inspector.
(webkit_web_inspector_get_attached_height): Return the height that
the inspector view should have when attached.

  • UIProcess/API/gtk/WebKitWebInspector.h: Added.
  • UIProcess/API/gtk/WebKitWebInspectorPrivate.h: Added.
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_inspector): Return the WebKitWebInspector
associated to the web view.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for

WebKitWebInspector.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ad new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add

webkit_web_inspector_get_type.

  • UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for the

inspector API.

  • UIProcess/API/gtk/tests/TestInspector.cpp: Added.

(testInspectorDefault):
(testInspectorCustom):
(testInspectorWindowDestroyed):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::showInWindowAndWaitUntilMapped): Add optional
parameter to create a toplevel or popup window.
(WebViewTest::resizeView): Helper function to set the widget
allocation to a given size.

  • UIProcess/API/gtk/tests/WebViewTest.h:
  • UIProcess/API/gtk/webkit2.h: Include WebKitWebInspector.h
  • UIProcess/WebInspectorProxy.h:

(WebKit::WebInspectorProxy::inspectorView): Return the view used
to render the inspector.

  • UIProcess/gtk/WebInspectorClientGtk.cpp: Added.

(WebKit::WebInspectorClientGtk::openWindow):
(WebKit::WebInspectorClientGtk::didClose):
(WebKit::WebInspectorClientGtk::bringToFront):
(WebKit::WebInspectorClientGtk::inspectedURLChanged):
(WebKit::WebInspectorClientGtk::attach):
(WebKit::WebInspectorClientGtk::detach):
(WebKit::WebInspectorClientGtk::didChangeAttachedHeight):

  • UIProcess/gtk/WebInspectorClientGtk.h: Added.
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::inspectorViewDestroyed): Close the inspector page when
the inspector view is destroyed, instead of when the inspector
window is deleted, because the inspector view can now be inside a
window created by the user.
(WebKit::WebInspectorProxy::initializeInspectorClientGtk):
Initialze the inspector client.
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Add a
weak pointer to the inspector view to make sure it's NULL when
destroyed.
(WebKit::WebInspectorProxy::createInspectorWindow): Call
openWindow on the inspector client, and return early if the
callback was handled.
(WebKit::WebInspectorProxy::platformOpen): Connect to destroy
signal of the inspector view to close the page when the view is
destroyed.
(WebKit::WebInspectorProxy::platformDidClose): Call didClose on
the inspector client.
(WebKit::WebInspectorProxy::platformBringToFront): Call
bringToFront on the inspector client, and return early if the
callback was handled.
(WebKit::WebInspectorProxy::platformInspectedURLChanged): Call
inspectedURLChanged on the inspector client.
(WebKit::WebInspectorProxy::platformAttach): Call attach on the
inspector client and return if the callback was handled.
(WebKit::WebInspectorProxy::platformDetach): Call detach on the
inspector client and return if the callback was handled.
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call
didChangeAttachedHeight on the inspector client.

12:55 AM Changeset in webkit [118145] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix ChangeLog entry to indicate that the last commit was merged from the dfgopt branch.

12:53 AM Changeset in webkit [118144] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG should allow inlining in case of certain arity mismatches
https://bugs.webkit.org/show_bug.cgi?id=86059

Reviewed by Geoff Garen.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleInlining):

12:45 AM Changeset in webkit [118143] by aboxhall@chromium.org
  • 5 edits in trunk

AX: Contenteditable tables should always be exposed as data tables
https://bugs.webkit.org/show_bug.cgi?id=87052

Reviewed by Chris Fleizach.

Source/WebCore:

Tested in accessibility/table-detection.html.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable): Return true if the node is contenteditable.

LayoutTests:

  • accessibility/table-detection.html:
12:43 AM Changeset in webkit [118142] by commit-queue@webkit.org
  • 14 edits
    1 add in trunk

[EFL] EFL's DRT does not print didFailProvisionalLoadWithError messages
https://bugs.webkit.org/show_bug.cgi?id=85956

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-23
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Add new "load,provisional,failed" signal on the frame and the view to
complement the "load,provisional" one.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDidFailProvisionalLoad):

  • ewk/ewk_frame.cpp:

(ewk_frame_load_provisional_failed):

  • ewk/ewk_frame.h:
  • ewk/ewk_frame_private.h:
  • ewk/ewk_view.cpp:

(ewk_view_load_provisional_failed):

  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:

Tools:

Catch new "load,provisional,failed" signal and print
didFailProvisionalLoadWithError messages when LayoutTestController's
dumpFrameLoadCallbacks() returns true. Also make sure the
didFailLoadWithError message is not printed in case of provisional
load failure.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(DumpRenderTreeChrome::onFrameCreated):
(DumpRenderTreeChrome::onFrameProvisionalLoadFailed):
(DumpRenderTreeChrome::onFrameLoadError):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

LayoutTests:

Unskip test cases which expect the DumpRenderTree to print
didFailProvisionalLoadWithError messages.
Add EFL expectation for
http/tests/loading/pdf-commit-load-callbacks.html.

  • platform/efl/Skipped:
  • platform/efl/http/tests/loading/pdf-commit-load-callbacks-expected.txt: Added.

Use same expectation as for Qt.

  • platform/efl/test_expectations.txt:
12:40 AM Changeset in webkit [118141] by fpizlo@apple.com
  • 3 edits in branches/dfgopt/Source/JavaScriptCore

DFG CSE should eliminate redundant WeakJSConstants
https://bugs.webkit.org/show_bug.cgi?id=87179

Reviewed by Gavin Barraclough.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::weakConstantCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNode.h:

(JSC::DFG::Node::weakConstant):

12:37 AM Changeset in webkit [118140] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

[EFL] EFL's DRT needs to call Settings::setValidationMessageTimerMagnification(-1)
https://bugs.webkit.org/show_bug.cgi?id=86366

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-23
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add helper function to DumpRenderTreeSupportEfl to set the validation
message timer magnification.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Call Settings::setValidationMessageTimerMagnification(-1) between the tests.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

LayoutTests:

Unskip fast/forms/validation-message-appearance.html and add EFL
expectation.

  • platform/efl/Skipped:
  • platform/efl/fast/forms/validation-message-appearance-expected.png: Added.
  • platform/efl/fast/forms/validation-message-appearance-expected.txt: Added.
12:37 AM Changeset in webkit [118139] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a typo per Darin's comment.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRuns):

12:30 AM Changeset in webkit [118138] by fpizlo@apple.com
  • 12 edits in branches/dfgopt/Source/JavaScriptCore

DFG CSE should do redundant store elimination
https://bugs.webkit.org/show_bug.cgi?id=87161

Reviewed by Oliver Hunt.

This patch adds redundant store elimination. For example, consider this
code:

o.x = 42;
o.x = 84;

If o.x is speculated to be a well-behaved field, the first assignment is
unnecessary, since the second just overwrites it. We would like to
eliminate the first assignment in these cases. The need for this
optimization arises mostly from stores that our runtime requires. For
example:

o = {f:1, g:2, h:3};

This will have four assignments to the structure for the newly created
object - one assignment for the empty structure, one for {f}, one for
{f, g}, and one for {f, g, h}. We would like to only have the last of
those assigments in this case.

Intriguingly, doing so for captured variables breaks the way arguments
simplification used to work. Consider that prior to either arguments
simplification or store elimination we will have IR that looks like:

a: SetLocal(r0, Empty)
b: SetLocal(r1, Empty)
c: GetLocal(r0)
d: CreateArguments(@c)
e: SetLocal(r0, @d)
f: SetLocal(r1, @d)

Then redundant store elimination will eliminate the stores that
initialize the arguments registers to Empty, but then arguments
simplification eliminates the stores that initialize the arguments to
the newly created arguments - and at this point we no longer have any
stores to the arguments register, leading to hilarious crashes. This
patch therefore changes arguments simplification to replace
CreateArguments with JSConstant(Empty) rather than eliminating the
SetLocals. But this revealed bugs where arguments simplification was
being overzealous, so I fixed those bugs.

This is a minor speed-up on V8/early and a handful of other tests.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::uncheckedActivationRegister):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::globalVarStoreElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::uncheckedActivationRegisterFor):
(Graph):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isPhantomArguments):
(Node):
(JSC::DFG::Node::hasConstant):
(JSC::DFG::Node::valueOfJSConstant):
(JSC::DFG::Node::hasStructureTransitionData):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

12:29 AM Changeset in webkit [118137] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening after r118001, r118011 and r118105.

  • platform/gtk/test_expectations.txt:
12:29 AM Changeset in webkit [118136] by fpizlo@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

DFG variable capture analysis should work even if the variables arose through inlining
https://bugs.webkit.org/show_bug.cgi?id=85945

Reviewed by Oliver Hunt.

Merged r116555 from dfgopt.

This just changes how the DFG queries whether a variable is captured. It does not
change any user-visible behavior.

As part of this change, I further solidified the policy that the CFA behaves in an
undefined way for captured locals and queries about their values will not yield
reliable results. This will likely be changed in the future, but for now it makes
sense.

One fun part about this change is that it recognizes that the same variable may
be both captured and not, at the same time, because their live interval spans
inlining boundaries. This only happens in the case of arguments to functions that
capture their arguments, and this change treats them with just the right touch of
conservatism: they will be treated as if captured by the caller as well as the
callee.

Finally, this also adds captured variable reasoning to the InlineCallFrame, which
I thought might be useful for later tooling.

This is perf-neutral, since it does it does not make the DFG take advantage of this
new functionality in any way. In particular, it is still the case that the DFG will
not inline functions that use arguments reflectively or that create activations.

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::needsActivation):
(JSC::CodeBlock::argumentIsCaptured):
(JSC::CodeBlock::localIsCaptured):
(JSC::CodeBlock::isCaptured):

  • bytecode/CodeOrigin.h:

(InlineCallFrame):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::merge):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::newVariableAccessData):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::flushArgument):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::fixVariableAccessPredictions):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCFGSimplificationPhase.cpp:

(CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::nameOfVariableAccessData):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::needsActivation):
(JSC::DFG::Graph::usesArguments):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsCaptured):
(VariableAccessData):
(JSC::DFG::VariableAccessData::isCaptured):

12:13 AM Changeset in webkit [118135] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/Skipped: Unskip a now passing test.
12:11 AM Changeset in webkit [118134] by haraken@chromium.org
  • 28 edits in trunk/Source/WebCore

[V8] Pass Isolate to v8::Null() in custom bindings (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=87209

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to v8::Null() in custom bindings.

No tests. No change in behavior.

  • bindings/v8/custom/V8HTMLElementCustom.cpp:

(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::stateAccessorGetter):

  • bindings/v8/custom/V8IDBAnyCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8IDBKeyCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ImageDataCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Int16ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Int32ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Int8ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8LocationCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8MessageEventCustom.cpp:

(WebCore::V8MessageEvent::dataAccessorGetter):

  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::V8Node::insertBeforeCallback):
(WebCore::V8Node::replaceChildCallback):
(WebCore::V8Node::removeChildCallback):
(WebCore::V8Node::appendChildCallback):
(WebCore::toV8Slow):

  • bindings/v8/custom/V8PopStateEventCustom.cpp:

(WebCore::V8PopStateEvent::stateAccessorGetter):

  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:

(WebCore::V8SQLResultSetRowList::itemCallback):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8SVGElementCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8SVGPathSegCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ScriptProfileCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8TrackEventCustom.cpp:

(WebCore::V8TrackEvent::trackAccessorGetter):

  • bindings/v8/custom/V8Uint16ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Uint32ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Uint8ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::toV8Object):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::toV8):

12:06 AM Changeset in webkit [118133] by haraken@chromium.org
  • 22 edits in trunk/Source/WebCore

[V8] Pass Isolate to v8::Null() in custom bindings (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=87207

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to v8::Null() in custom bindings.

Also this patch makes V8DeviceMotionEventCustom::createAccelerationObject()
and V8DeviceMotionEventCustom::createRotationRateObject() static.

No tests. No change in behavior.

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8CSSRuleCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8CSSStyleSheetCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8CSSValueCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8ClipboardCustom.cpp:

(WebCore::V8Clipboard::typesAccessorGetter):

  • bindings/v8/custom/V8CoordinatesCustom.cpp:

(WebCore::V8Coordinates::altitudeAccessorGetter):
(WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
(WebCore::V8Coordinates::headingAccessorGetter):
(WebCore::V8Coordinates::speedAccessorGetter):

  • bindings/v8/custom/V8DOMStringMapCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DOMTokenListCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::intervalAccessorGetter):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8DocumentLocationCustom.cpp:

(WebCore::V8Document::locationAccessorGetter):

  • bindings/v8/custom/V8EntryCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8EntrySyncCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8EventCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Float32ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8Float64ArrayCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:

(WebCore::V8HTMLCanvasElement::getContextCallback):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::toV8):

May 22, 2012:

11:59 PM Changeset in webkit [118132] by Csaba Osztrogonác
  • 2 edits
    2 adds in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/Skipped: Skip new, but failing tests.
  • platform/qt/printing/iframe-print-expected.png: Added after r118039.
  • platform/qt/printing/iframe-print-expected.txt: Added after r118039.
11:48 PM Changeset in webkit [118131] by morrita@google.com
  • 6 edits in trunk/Source/WebCore

[Refactoring] ElementShadow::m_needsRedistributing should be on ContentDistributor
https://bugs.webkit.org/show_bug.cgi?id=87216

Reviewed by Kentaro Hara.

Moved ElementShadow::m_needsRedistributing to ContentDistributor::m_needsRedistributing

No new tests. No behavior change.

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::recalcStyle):
(WebCore::ElementShadow::needsRedistributing):
(WebCore::ElementShadow::setNeedsRedistributing):

  • dom/ElementShadow.h:

(ElementShadow):

  • dom/ShadowRoot.h: Removed outdated declarations.
  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::ContentDistributor):

  • html/shadow/ContentDistributor.h:

(WebCore::ContentDistributor::needsRedistributing):
(WebCore::ContentDistributor::setNeedsRedistributing):
(WebCore::ContentDistributor::clearNeedsRedistributing):

11:42 PM Changeset in webkit [118130] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a failing test.

  • platform/qt/Skipped:
11:36 PM Changeset in webkit [118129] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Pass Isolate to v8::Null() in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=87202

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to v8::Null() in CodeGeneratorV8.pm.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateFunctionCallback):
(NativeToJSValue):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):

11:21 PM Changeset in webkit [118128] by kling@webkit.org
  • 1 edit in trunk/Source/WebCore/ChangeLog

Restore order to the ChangeLogiverse.

11:17 PM Changeset in webkit [118127] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Short-circuit Element::attrIfExists() when the Element has no Attr list.
<http://webkit.org/b/87214>

Patch by Hayato Ito <hayato@chromium.org> on 2012-05-22
Reviewed by Ryosuke Niwa.

This function was lukewarm on Dromaeo/dom-attr (0.4% of samples.)
Added an early return if !hasAttrList() to avoid the function call overhead of
ElementAttributeData::attrIfExists().

  • dom/Element.cpp:

(WebCore::Element::attrIfExists):

11:07 PM Changeset in webkit [118126] by fpizlo@apple.com
  • 10 edits in branches/dfgopt/Source/JavaScriptCore

Unreviewed, rollout http://trac.webkit.org/changeset/118108
https://bugs.webkit.org/show_bug.cgi?id=87161

The redundant store elimination is overzealous in some cases, because
it fails to catch implicit reads of captured local variables.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):

  • dfg/DFGCSEPhase.cpp:

(CSEPhase):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNode.h:

(Node):
(JSC::DFG::Node::hasConstant):
(JSC::DFG::Node::valueOfJSConstant):
(JSC::DFG::Node::hasStructureTransitionData):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

10:40 PM Changeset in webkit [118125] by hayato@chromium.org
  • 5 edits in trunk

Remove an assertion since an event's target might be a shadow root if a text node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=87072

Reviewed by Dimitri Glazkov.

Source/WebCore:

Tests: fast/dom/shadow/shadow-dom-event-dispatching.html

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):

LayoutTests:

  • fast/dom/shadow/shadow-dom-event-dispatching.html:
10:25 PM Changeset in webkit [118124] by Darin Adler
  • 3 edits in trunk/Tools
  • Scripts/webkitpy/thirdparty/mod_pywebsocket: Added property svn:ignore.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake: Added property svn:ignore.
10:24 PM Changeset in webkit [118123] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

[EFL] Implements the registerProtocolHandler method and option.
https://bugs.webkit.org/show_bug.cgi?id=73638

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-22
Reviewed by Andreas Kling.

The registerProtocolHandler() method allows Web sites to register themselves
as possible handlers for particular schemes.

http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler

.:

  • Source/cmake/OptionsEfl.cmake: Adds the build option.
  • Source/cmakeconfig.h.cmake: Adds the build option.

Source/WebCore:

  • CMakeLists.txt: Add page/NavigatorRegisterProtocolHandler.idl into WebCore_IDL_FILES.

Source/WebKit:

  • PlatformEfl.cmake: Adds the new file into the source list.

Source/WebKit/efl:

  • WebCoreSupport/ChromeClientEfl.cpp: Adds a new function.

(WebCore):
(WebCore::customHandlersDataCreate): Creates and fills the data object.
(WebCore::customHandlersDataDelete): Deletes the data object.
(WebCore::ChromeClientEfl::registerProtocolHandler): Registers a protocol and the handler of it.

  • WebCoreSupport/ChromeClientEfl.h: Adds a prototype.

(ChromeClientEfl):

  • ewk/ewk_custom_handlers.cpp: Added.

(ewk_custom_handlers_register_protocol_handler):

  • ewk/ewk_view.h: Adds Data structure.
  • ewk/ewk_view_private.h: Adds private function.

LayoutTests:

  • platform/efl/fast/dom/register-protocol-handler-expected.txt: Added.
10:20 PM Changeset in webkit [118122] by Stephanie Lewis
  • 1 edit
    2 adds in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=87208
Unreviewed, checking in failing results.

  • platform/mac/http/tests/cookies/js-get-and-set-http-only-cookie-expected.txt: Added.
10:03 PM Changeset in webkit [118121] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebKit/chromium

[chromium] Apply viewport tag initial-scale only once
https://bugs.webkit.org/show_bug.cgi?id=82949

Patch by Alexandre Elias <aelias@google.com> on 2012-05-22
Reviewed by Adam Barth.

First, check that isPageScaleFactorSet return false before setting
initial-scale. We need to call dispatchViewportPropertiesDidChange()
when the viewport width changes, since that's an input to the viewport
tag calculation. When this happens, we shouldn't pop back to initial
scale.

Second, check that isNewNavigation is true when deciding to clear
isPageScaleFactorIsSet in didCommitLoad. We only want to clear it on
the very first commit, otherwise we'll pop back to initial scale if
the user zooms in before the load is complete.

New test WebFrameTest::FixedLayoutInitializeAtMinimumPageScale.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::didCommitLoad):

9:56 PM Changeset in webkit [118120] by haraken@chromium.org
  • 13 edits in trunk/Source/WebCore

[V8][Performance] Pass Isolate to v8::Null() in V8Node::toV8()
https://bugs.webkit.org/show_bug.cgi?id=87193

Reviewed by Adam Barth.

This patch improves the performance of Bindings/undefined-first-child.html by 58.7%,
Bindings/undefined-get-element-by-id.html by 26.8%,
Dromaeo/dom-query.html(getElementById (not in document)) by 9.8%,
and Dromaeo/dom-query.html(getElementsByName (not in document)) by 2.1%.
These benchmarks test the performance of accessing an undefined Node object.

Performance test results in my Linux desktop:

[Bindings/undefined-first-child.html]

  • without my patch RESULT Bindings: undefined-first-child= 481.843775891 runs/s median= 474.934036939 runs/s, stdev= 17.7753278263 runs/s, min= 471.204188482 runs/s, max= 534.629404617 runs/s
  • with my patch RESULT Bindings: undefined-first-child= 764.720531908 runs/s median= 803.515696424 runs/s, stdev= 54.7402312963 runs/s, min= 688.806888069 runs/s, max= 807.061790668 runs/s

[Bindings/undefined-get-element-by-id.html]

  • without my patch RESULT Bindings: undefined-get-element-by-id= 236.642705579 runs/s median= 234.527786832 runs/s, stdev= 5.77090297761 runs/s, min= 231.362467866 runs/s, max= 246.305418719 runs/s
  • with my patch RESULT Bindings: undefined-get-element-by-id= 300.031032067 runs/s median= 303.797468354 runs/s, stdev= 6.99060409266 runs/s, min= 287.581699346 runs/s, max= 304.955527319 runs/s

[Dromaeo/dom-query.html(getElementById (not in document))]

  • without my patch 2855.80runs/s ±0.30%
  • with my patch 3136.20runs/s ±0.22%

[Dromaeo/dom-query.html(getElementsByName (not in document))]

  • without my patch 2198.00runs/s ±0.50%
  • with my patch 2243.40runs/s ±3.39%

Currently v8::Null() looks up Isolate, which is a bottleneck of
V8Node::toV8() for undefined Nodes. This patch removes the Isolate
look-up by passing Isolate to v8::Null(), like v8::Null(isolate).

  • bindings/scripts/CodeGeneratorV8.pm: Modified as described above.

(GenerateHeader):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h: Updated run-bindings-tests results.

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestException.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestInterface.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestObj.h:

(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(WebCore::toV8):

9:32 PM Changeset in webkit [118119] by shawnsingh@chromium.org
  • 2 edits in branches/chromium/1132/Source

Merge 117645 - [chromium] add back-face visibility check for renderSurfaces
https://bugs.webkit.org/show_bug.cgi?id=86870

Reviewed by Adrienne Walker.

Source/WebCore:

Test added CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3dForFlatteningSurface

Chromium was not checking back-face visibility for renderSurfaces
that needed it. This patch adds that check and the appropriate
unit test.

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::layerIsInExisting3DRenderingContext):
(WebCore):
(WebCore::subtreeShouldRenderToSeparateSurface):
(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):
(WebKitTests):

TBR=shawnsingh@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10383299

9:27 PM Changeset in webkit [118118] by morrita@google.com
  • 6 edits in trunk

REGRESSION(r116629) tests for <style scoped> is crashing
https://bugs.webkit.org/show_bug.cgi?id=87191

Source/WebCore:

Reviewed by Kent Tamura.

unregisterWithScopingNode() and registerWithScopingNode() doesn't follow
refactoring around removedFrom(), insertedInto() and willRemove().
This change aligns them to such recent changes.

No new tests. Covered by existing tests.

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::unregisterWithScopingNode)
(WebCore::HTMLStyleElement::insertedInto):

  • Allowed registerWithScopingNode() only for in-document traversal. That is how it originally did.

(WebCore::HTMLStyleElement::removedFrom):

  • Gave ex-parent to unregisterWithScopingNode().
  • html/HTMLStyleElement.h:

(WebCore::HTMLStyleElement::unregisterWithScopingNode):
(HTMLStyleElement):

LayoutTests:

  • Unskipped accidentally skipped test for <style scoped>.
  • Updated outdated expectations.

Reviewed by Kent Tamura.

  • fast/css/style-scoped/style-scoped-in-shadow-expected.txt:
  • platform/chromium/test_expectations.txt:
9:24 PM Changeset in webkit [118117] by shawnsingh@chromium.org
  • 6 edits
    2 copies
    5 moves
    6 adds
    1 delete in trunk

Improve W3C conformance of backface-visibility
https://bugs.webkit.org/show_bug.cgi?id=84195

Reviewed by Adrienne Walker.

Source/WebCore:

Tests: compositing/backface-visibility/backface-visibility-3d.html

compositing/backface-visibility/backface-visibility-hierarchical-transform.html
compositing/backface-visibility/backface-visibility-non3d.html
compositing/backface-visibility/backface-visibility-simple.html

Unit Tests: CCLayerTreeHostCommonTest::verifyBackFaceCullingWithoutPreserves3d

CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3d

Also updated a few other layout and unit tests.

This patch updates chromium to conform to the W3C spec on CSS
transforms, Section 12 about backface visibility. This patch also
updates layout tests to reflect the latest W3C spec. In
particular, rule #1 on section 12, http://dev.w3.org/csswg/css3-transforms/#backface-visibility-property
states which transforms should be used to determine backface-visibility.

Because chromium has an additional quirk of the concept of render
surfaces, unit tests needed to be updated as well.

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::layerIsRootOfNewRenderingContext):
(WebCore):
(WebCore::isLayerBackFaceVisible):
(WebCore::isSurfaceBackFaceVisible):
(WebCore::calculateVisibleLayerRect):
(WebCore::layerShouldBeSkipped):
(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):
(WebKitTests):

LayoutTests:

  • compositing/backface-visibility-hierarchical-transform-expected.png: Removed.
  • compositing/backface-visibility/backface-visibility-3d-expected.png: Added.
  • compositing/backface-visibility/backface-visibility-3d-expected.txt: Copied from LayoutTests/compositing/backface-visibility-expected.txt.
  • compositing/backface-visibility/backface-visibility-3d.html: Added.
  • compositing/backface-visibility/backface-visibility-hierarchical-transform-expected.png: Added.
  • compositing/backface-visibility/backface-visibility-hierarchical-transform-expected.txt: Renamed from LayoutTests/compositing/backface-visibility-hierarchical-transform-expected.txt.
  • compositing/backface-visibility/backface-visibility-hierarchical-transform.html: Renamed from LayoutTests/compositing/backface-visibility-hierarchical-transform.html.
  • compositing/backface-visibility/backface-visibility-non3d-expected.png: Added.
  • compositing/backface-visibility/backface-visibility-non3d-expected.txt: Copied from LayoutTests/compositing/backface-visibility-expected.txt.
  • compositing/backface-visibility/backface-visibility-non3d.html: Added.
  • compositing/backface-visibility/backface-visibility-simple-expected.png: Renamed from LayoutTests/compositing/backface-visibility-expected.png.
  • compositing/backface-visibility/backface-visibility-simple-expected.txt: Renamed from LayoutTests/compositing/backface-visibility-expected.txt.
  • compositing/backface-visibility/backface-visibility-simple.html: Renamed from LayoutTests/compositing/backface-visibility.html.
  • platform/mac/test_expectations.txt:
9:18 PM Changeset in webkit [118116] by commit-queue@webkit.org
  • 12 edits
    6 deletes in trunk

Unreviewed, rolling out r118095.
http://trac.webkit.org/changeset/118095
https://bugs.webkit.org/show_bug.cgi?id=87201

"Causing crashes on Mac in
WebCore::StyleResolver::adjustRenderStyle (Requested by
sundiamonde on #webkit).

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

Source/WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(Settings):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::restoreTo):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:
  • src/WebSettingsImpl.h:

(WebSettingsImpl):

LayoutTests:

  • fast/block/positioning/fixed-position-stacking-context-expected.png: Removed.
  • fast/block/positioning/fixed-position-stacking-context-expected.txt: Removed.
  • fast/block/positioning/fixed-position-stacking-context.html: Removed.
  • fast/block/positioning/fixed-position-stacking-context2-expected.png: Removed.
  • fast/block/positioning/fixed-position-stacking-context2-expected.txt: Removed.
  • fast/block/positioning/fixed-position-stacking-context2.html: Removed.
9:14 PM Changeset in webkit [118115] by wangxianzhu@chromium.org
  • 5 edits
    2 moves
    1 add in trunk

[Chromium-Android] Run DumpRenderTree as an apk (C++ and gyp part)
https://bugs.webkit.org/show_bug.cgi?id=86922

Source/WebKit/chromium:

Reviewed by Kent Tamura.

  • All.gyp: Added DumpRenderTree_apk into dependencies for Android.

Tools:

Because we have new platformInit() in TestShellAndroid.cpp, and
we still need the timeout part in TestShellLinux.cpp, TestShellLinux.cpp
is split into TestShellPosix.cpp and TestShellX11.cpp.

Reviewed by Kent Tamura.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/TestShellAndroid.cpp: Added. Handles command lines to redirect stdin/stdout/stderr.

(platformInit):

  • DumpRenderTree/chromium/TestShellGtk.cpp: Removed. Merged into TestShellX11.cpp
  • DumpRenderTree/chromium/TestShellLinux.cpp: Removed. Split into TestShellPosix.cpp and TestShellX11.cpp.
  • DumpRenderTree/chromium/TestShellPosix.cpp: Split from TestShellLinux.cpp, containing the timeout handling part, compiled when os_posix=1 (excluding mac).

(AlarmHandler):
(TestShell::waitTestFinished):

  • DumpRenderTree/chromium/TestShellX11.cpp: Split from TestShellLinux.cpp, containing the fontconfig part, compiled when use_x11=1

(openStartupDialog): from TestShellGtk.cpp
(checkLayoutTestSystemDependencies): from TestShellGtk.cpp.
(setupFontconfig):
(platformInit):

9:00 PM Changeset in webkit [118114] by leviw@chromium.org
  • 3 edits
    2 adds in trunk

NULL ptr in WebCore::RenderBlock::layoutRunsAndFloatsInRange
https://bugs.webkit.org/show_bug.cgi?id=77786

Reviewed by Ryosuke Niwa.

Source/WebCore:

InlineBidiResolver adds one fake TextRun for isolated inlines in the process of creating the
list of TextRuns to send to the UBA. After the UBA has been run and the TextRuns reordered,
we re-run InlineBidiResolver rooted in the isolate and replace the fake run with those
generated by the subsequent pass by calling the method BidiRunList::replaceRunWithRuns.
This method assumes there are runs to replace the fake run with.

Positioned inline children are ignored when creating TextRuns, so when an isolated inline
has only positioned children we end up with an empty set of runs to pass to replaceRunWithRuns.
Ideally, we'd remove the fake run and not replace it with anything, but BidiRunList keeps
a pointer to the logically last run, which we're unable to easily re-determine after the UBA
has been run. Instead, we leave the fake run in the list and simply avoid calling
replaceRunWithRuns when we don't have any replacement runs.

Test: fast/block/line-layout/crash-in-isolate-with-positioned-child.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRuns):

LayoutTests:

  • fast/block/line-layout/crash-in-isolate-with-positioned-child-expected.txt: Added.
  • fast/block/line-layout/crash-in-isolate-with-positioned-child.html: Added.
8:56 PM Changeset in webkit [118113] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Refactor generation code for non-standard functions
https://bugs.webkit.org/show_bug.cgi?id=87185

Reviewed by Kentaro Hara.

No behavior change. Just a refactoring.

  • bindings/scripts/CodeGeneratorV8.pm:

(IsStandardFunction): Introduce a new function to check if a
function can be in a batch registration.
(GenerateNonStandardFunction): Factor out a code to generate
non-standard functions.
(GenerateImplementation):
Use IsStandardFunction and GenerateNonStandardFunction.

8:48 PM Changeset in webkit [118112] by fpizlo@apple.com
  • 17 edits in trunk/Source/JavaScriptCore

DFG should support op_get_argument_by_val and op_get_arguments_length
https://bugs.webkit.org/show_bug.cgi?id=85911

Reviewed by Oliver Hunt.

Merged r116467 from dfgopt.

This adds a simple and relatively conservative implementation of op_get_argument_by_val
and op_get_arguments_length. We can optimize these later. For now it's great to have
the additional coverage.

This patch appears to be perf-neutral.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::addressFor):
(JSC::DFG::AssemblyHelpers::tagFor):
(JSC::DFG::AssemblyHelpers::payloadFor):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
8:36 PM Changeset in webkit [118111] by hayato@chromium.org
  • 7 edits in trunk

Make ComposedShadowTreeWalker traverse inactive insertion points correctly.
https://bugs.webkit.org/show_bug.cgi?id=86830

Reviewed by Dimitri Glazkov.

Source/WebCore:

Fixed InsertionPoint::isActive() issue, which may return true
wrongly even if the insertion point is not in Shadow DOM subtree.
Now ComposedShadowTreeWalker can traverse inactive insertion
points correctly using InsertionPoint::isActive().

Test: fast/dom/shadow/composed-shadow-tree-walker.html

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseNode):
(WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
(WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::isActive):

  • html/shadow/InsertionPoint.h:

(WebCore::isActiveInsertionPoint):
(WebCore):

LayoutTests:

  • fast/dom/shadow/composed-shadow-tree-walker-expected.txt:
  • fast/dom/shadow/composed-shadow-tree-walker.html:
8:23 PM Changeset in webkit [118110] by pilgrim@chromium.org
  • 8 edits in trunk/Source

[Chromium] Call canAccelerate2dCanvas directly
https://bugs.webkit.org/show_bug.cgi?id=86893

Reviewed by James Robinson.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • chromium/public/Platform.h:

(Platform):
(WebKit::Platform::canAccelerate2dCanvas):

Source/WebCore:

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::shouldAccelerate):

  • platform/chromium/PlatformSupport.h:

Source/WebKit/chromium:

  • public/platform/WebKitPlatformSupport.h:

(WebKitPlatformSupport):

  • src/PlatformSupport.cpp:

(WebCore):

8:23 PM Changeset in webkit [118109] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[Blackberry]Pages contain video or audio tags should be in pageCache
https://bugs.webkit.org/show_bug.cgi?id=87116

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-05-22
Reviewed by George Staikos.

There is not any reason to disable pageCache for video/audio
tags probably. By my testing, Back and Forward are working for
those pages contain video and audio tags.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::canCachePage):

8:19 PM Changeset in webkit [118108] by fpizlo@apple.com
  • 10 edits in branches/dfgopt/Source/JavaScriptCore

DFG CSE should do redundant store elimination
https://bugs.webkit.org/show_bug.cgi?id=87161

Reviewed by Oliver Hunt.

This patch adds redundant store elimination. For example, consider this
code:

o.x = 42;
o.x = 84;

If o.x is speculated to be a well-behaved field, the first assignment is
unnecessary, since the second just overwrites it. We would like to
eliminate the first assignment in these cases. The need for this
optimization arises mostly from stores that our runtime requires. For
example:

o = {f:1, g:2, h:3};

This will have four assignments to the structure for the newly created
object - one assignment for the empty structure, one for {f}, one for
{f, g}, and one for {f, g, h}. We would like to only have the last of
those assigments in this case.

Intriguingly, doing so for captured variables breaks the way arguments
simplification used to work. Consider that prior to either arguments
simplification or store elimination we will have IR that looks like:

a: SetLocal(r0, Empty)
b: SetLocal(r1, Empty)
c: GetLocal(r0)
d: CreateArguments(@c)
e: SetLocal(r0, @d)
f: SetLocal(r1, @d)

Then redundant store elimination will eliminate the stores that
initialize the arguments registers to Empty, but then arguments
simplification eliminates the stores that initialize the arguments to
the newly created arguments - and at this point we no longer have any
stores to the arguments register, leading to hilarious crashes. This
patch therefore changes arguments simplification to replace
CreateArguments with JSConstant(Empty) rather than eliminating the
SetLocals. But this revealed bugs where arguments simplification was
being overzealous, so I fixed those bugs.

This is a minor speed-up on V8/early and a handful of other tests.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::globalVarStoreElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasStructureTransitionData):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

8:07 PM Changeset in webkit [118107] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87199
Unreviewed, add failing test to skipped list.

  • platform/mac/Skipped:
7:58 PM Changeset in webkit [118106] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

Unreviewed, update result missed by http://trac.webkit.org/changeset/117673.

  • platform/mac-wk2/fast/forms/plaintext-mode-2-expected.txt:
7:49 PM Changeset in webkit [118105] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

[BlackBerry] Possible to clobber httponly cookie.
https://bugs.webkit.org/show_bug.cgi?id=86067

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-05-22
Reviewed by Rob Buis.

Source/WebCore:

If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager,
we should reject it. If it has a httpOnly property, we reject it, too.

Test: http/tests/cookies/js-get-and-set-http-only-cookie.php

  • platform/blackberry/CookieJarBlackBerry.cpp:

(WebCore::setCookies):

  • platform/blackberry/CookieManager.cpp:

(WebCore::CookieManager::setCookies):
(WebCore::CookieManager::shouldRejectNotHttpCookie):
(WebCore):

  • platform/blackberry/CookieManager.h:

LayoutTests:

  • http/tests/cookies/js-get-and-set-http-only-cookie-expected.txt: Added.
  • http/tests/cookies/js-get-and-set-http-only-cookie.php: Added.
  • http/tests/cookies/script-tests/js-get-and-set-http-only-cookie.js: Added.
7:48 PM Changeset in webkit [118104] by danakj@chromium.org
  • 4 edits in trunk/Source

[chromium] Don't drop children of a RenderSurface from the renderSurfaceLayerList when then position of the surface in its clipRect is not known
https://bugs.webkit.org/show_bug.cgi?id=87181

Reviewed by Adrienne Walker.

Source/WebCore:

We want to avoid dropping things from the renderSurfaceLayerList on main
thread when they may be in the renderSurfaceLayerList on impl thread due
to animation. A render surface would drop all its children if its
contentRect was clipped to become empty by its parent. But when the
surface is being animated, then we can't be sure how its parent will
clip the surface's content, so we don't clip it at all.

Chromium bug: http://crbug.com/128739

Unit test: CCLayerTreeHostCommonTest.verifyClipRectCullsSurfaceWithoutVisibleContent

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):
(WebKitTests):

7:37 PM Changeset in webkit [118103] by commit-queue@webkit.org
  • 15 edits in trunk

[EFL][DRT] Implement touch event
https://bugs.webkit.org/show_bug.cgi?id=86720

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-22
Reviewed by Hajime Morita.

Currently EFL DRT doesn't support touch event.
Therefore, this patch enabled it and implemented some eventSender function callbacks.

.:

  • Source/cmake/FindEFL.cmake: Add ecore-input to dependency check.
  • Source/cmake/OptionsEfl.cmake: Enable touch event option.

Source/WebCore:

  • platform/PlatformTouchEvent.h:

(PlatformTouchEvent): Implement meta state.

  • platform/efl/PlatformTouchEventEfl.cpp:

(WebCore::PlatformTouchEvent::PlatformTouchEvent): Implement meta state.

Source/WebKit/efl:

  • ewebkit.pc.in:
  • ewk/ewk_frame.cpp:

(ewk_frame_feed_touch_event):

  • ewk/ewk_frame.h:

Tools:

  • DumpRenderTree/efl/EventSender.cpp:

(TouchEventInfo::TouchEventInfo):
(TouchEventInfo):
(touchPointList):
(sendTouchEvent):
(addTouchPointCallback):
(touchStartCallback):
(updateTouchPointCallback):
(touchMoveCallback):
(cancelTouchPointCallback):
(touchCancelCallback):
(releaseTouchPointCallback):
(touchEndCallback):
(clearTouchPointsCallback):
(setTouchModifierCallback):

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/efl/Skipped:
7:34 PM Changeset in webkit [118102] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

DFG should support op_tear_off_arguments
https://bugs.webkit.org/show_bug.cgi?id=85847

Reviewed by Michael Saboff.

Merged r116378 from dfgopt.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

7:30 PM Changeset in webkit [118101] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

See https://bugs.webkit.org/show_bug.cgi?id=87187
<rdar://problem/11511011> acid3 fails on WebKit2 (87187)

Unreviewed, checking in failing results.

  • platform/mac-wk2/http/tests/misc/acid3-expected.txt:
7:19 PM Changeset in webkit [118100] by wangxianzhu@chromium.org
  • 2 edits in trunk/Tools

[Chromium-Android] Fix chromium_android_unittest
https://bugs.webkit.org/show_bug.cgi?id=87196

Not reviewed.
Temporarily disable chromium_android_unittest.

  • Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:

(ChromiumAndroidPortTest):
(ChromiumAndroidDriverTest):

7:11 PM Changeset in webkit [118099] by crogers@google.com
  • 2 edits in trunk/Source/WebCore

AudioNodeOutput::disconnectAllParams() must take care when iterating through its parameter list
https://bugs.webkit.org/show_bug.cgi?id=87190

Reviewed by Kenneth Russell.

No new tests. Covered by existing tests.

  • Modules/webaudio/AudioNodeOutput.cpp:

(WebCore::AudioNodeOutput::disconnectAllParams):

7:03 PM Changeset in webkit [118098] by morrita@google.com
  • 3 edits in trunk/Source/WebCore

<shadow> and <content> should be hidden behind ContextEnabledFeatures
https://bugs.webkit.org/show_bug.cgi?id=87063

This change repalces "runtimeConditional" tag definition property
with new "contextConditional" property, which refers
ContextEnabledFeatures instead of RuntimeEnabledFeatures.

Reviewed by Dimitri Glazkov.

No new tests. DRT cannot test this. No behaviour change on DRT.

  • dom/make_names.pl:

(defaultTagPropertyHash):
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):

  • html/HTMLTagNames.in:
6:58 PM Changeset in webkit [118097] by morrita@google.com
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium][API] Introduce WebPermissionClient::allowWebComponents()
https://bugs.webkit.org/show_bug.cgi?id=87097

Reviewed by Kent Tamura.

  • Added WebPermissionClient::allowWebComponents(), and
  • Implemented FrameLoaderClientImpl::shadowDOMAllowed() using it.
  • public/WebPermissionClient.h:

(WebPermissionClient):
(WebKit::WebPermissionClient::allowWebComponents):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::shadowDOMAllowed):
(WebKit):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

6:53 PM Changeset in webkit [118096] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix a crash in HTMLFormControlElement::disabled().
https://bugs.webkit.org/show_bug.cgi?id=86534

Reviewed by Hajime Morita.

Node::removedFrom() was not called in some cases. This patch fixes it.

No new tests. It's almost impossible to make a reliable test.

  • dom/ContainerNodeAlgorithms.h:

Remove inDocument() check so that Node::removedFrom() is called even if
a parent node in an orphan tree is deleted but a child node remains,

6:41 PM Changeset in webkit [118095] by jamesr@google.com
  • 12 edits
    6 adds in trunk

Add a Setting to make position:fixed form a new stacking context
https://bugs.webkit.org/show_bug.cgi?id=87186

Reviewed by Adam Barth.

Source/WebCore:

position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To
be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility
issues, so we need a runtime setting in order to stage the change carefully.

Tests: fast/block/positioning/fixed-position-stacking-context.html

fast/block/positioning/fixed-position-stacking-context2.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setFixedPositionCreatesStackingContext):
(WebCore::Settings::fixedPositionCreatesStackingContext):
(Settings):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::restoreTo):
(WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
(WebCore):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setFixedPositionCreatesStackingContext):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

LayoutTests:

Adds layout tests that confirm we don't creates stacking contexts for position:fixed by default, but we do when
the fixedPositionCreatesStackingContext Setting is true.

Qt and Blackberry will need different expectations since they set this via an #ifdef

  • fast/block/positioning/fixed-position-stacking-context-expected.png: Added.
  • fast/block/positioning/fixed-position-stacking-context-expected.txt: Added.
  • fast/block/positioning/fixed-position-stacking-context.html: Added.
  • fast/block/positioning/fixed-position-stacking-context2-expected.png: Added.
  • fast/block/positioning/fixed-position-stacking-context2-expected.txt: Added.
  • fast/block/positioning/fixed-position-stacking-context2.html: Added.
6:39 PM Changeset in webkit [118094] by abarth@webkit.org
  • 3 edits
    2 adds in trunk

RenderInline::absoluteRects does some incorrect layout math
https://bugs.webkit.org/show_bug.cgi?id=87036

Reviewed by Eric Seidel.

Source/WebCore:

http://trac.webkit.org/changeset/88297/trunk/Source/WebCore/rendering/RenderInline.cpp
contained a typo. We should accumulate offsets, not add sizes to
offsets.

Test: fast/inline/boundingBox-with-continuation.html

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::absoluteRects):
(WebCore):

LayoutTests:

  • fast/inline/boundingBox-with-continuation-expected.txt: Added.
  • fast/inline/boundingBox-with-continuation.html: Added.
6:28 PM Changeset in webkit [118093] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

CopiedSpace::contains doesn't check for oversize blocks
https://bugs.webkit.org/show_bug.cgi?id=87180

Reviewed by Geoffrey Garen.

When doing a conservative scan we use CopiedSpace::contains to determine if a particular
address points into the CopiedSpace. Currently contains() only checks if the address
points to a block in to-space, which means that pointers to oversize blocks may not get scanned.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::doneCopying):

  • heap/CopiedSpace.h: Refactored CopiedSpace so that all blocks (oversize and to-space) are

in a single hash set and bloom filter for membership testing.
(CopiedSpace):

  • heap/CopiedSpaceInlineMethods.h:

(JSC::CopiedSpace::contains): We check for the normal block first. Since the oversize blocks are
only page aligned, rather than block aligned, we have to re-mask the ptr to check if it's in
CopiedSpace. Also added a helper function of the same name that takes a CopiedBlock* and checks
if it's in CopiedSpace so that check isn't typed out twice.
(JSC):
(JSC::CopiedSpace::startedCopying):
(JSC::CopiedSpace::addNewBlock):

6:13 PM Changeset in webkit [118092] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Do some more clean up on the WK2 Skipped list.

Add bug numbers, remove tests that have been fixed, and consolidate tests that are already
covered elsewhere in the file.

  • platform/wk2/Skipped:
6:12 PM Changeset in webkit [118091] by jberlin@webkit.org
  • 6 edits in trunk

WebKitTestRunner needs an implementation of layoutTestController.setDefersLoading
https://bugs.webkit.org/show_bug.cgi?id=64313

Reviewed by Jon Honeycutt.

Tools:

Add it.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:

Make sure to generate the binding.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::setDefersLoading):
Call WKBundlePageSetDefersLoading.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

LayoutTests:

  • platform/wk2/Skipped:

Remove a test that uses setDefersLoading from the WK2 Skipped list.

6:02 PM Changeset in webkit [118090] by danakj@chromium.org
  • 4 edits in trunk/Source

[chromium] Don't force the visibleLayerRect to be empty for animating layers whose front face is not visible
https://bugs.webkit.org/show_bug.cgi?id=86886

Reviewed by Adrienne Walker.

Source/WebCore:

Previously we would force the visibleLayerRect to be empty for these
animating layers, and then special case the pre-painting code to
paint them if they were within some size limit, to avoid having the
layer steal too much memory.

Instead, just use the visibleLayerRect given to the layer. Since the
transform flips the layer such that its back face is visible, it will
also compute a visibleLayerRect in the front face of the layer, and
its size will be bounded by the viewport. This will cause the
layer to be painted with visible priority instead of prepainted, but
ensures the visible parts of the layer is painted and ready to go when
the animation flips the layer around.

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::calculateVisibleLayerRect):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):

5:41 PM Changeset in webkit [118089] by wangxianzhu@chromium.org
  • 2 edits in trunk/Tools

[Chromium-Android] Run DumpRenderTree as an apk (python part)
https://bugs.webkit.org/show_bug.cgi?id=86923

chromium_android.py is modified to support running DumpRenderTree as
an apk, so that we can run the tests (e.g. video) requiring features
implemented in Java on Android.

Reviewed by Adam Barth.

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.init):
(ChromiumAndroidPort.default_child_processes):
(ChromiumAndroidPort.check_wdiff):
(ChromiumAndroidPort.check_build):
(ChromiumAndroidPort.start_helper):
(ChromiumAndroidPort.skipped_layout_tests):
(ChromiumAndroidPort):
(ChromiumAndroidPort._path_to_driver):
(ChromiumAndroidPort._get_crash_log):
(ChromiumAndroidPort._push_executable):
(ChromiumAndroidPort._run_adb_command):
(ChromiumAndroidPort._get_last_stacktrace):
(ChromiumAndroidPort._get_logcat):
(ChromiumAndroidPort._setup_performance):
(ChromiumAndroidDriver):
(ChromiumAndroidDriver.init):
(ChromiumAndroidDriver._command_wrapper):
(ChromiumAndroidDriver.cmd_line):
(ChromiumAndroidDriver._file_exists_on_device):
(ChromiumAndroidDriver._deadlock_detector):
(ChromiumAndroidDriver._start):
(ChromiumAndroidDriver.run_test):
(ChromiumAndroidDriver.stop):
(ChromiumAndroidDriver._write_command_and_read_line):
(ChromiumAndroidDriver._output_image):
(ChromiumAndroidDriver._get_stderr):

5:38 PM Changeset in webkit [118088] by jsbell@chromium.org
  • 6 edits in trunk/Tools

[Chromium] Reverting r118084 - webkit_tests failing on chromium mac.

Unreviewed gardening.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.driver_name):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._path_to_driver):

  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:

(ChromiumPortTest.test_overrides_and_builder_names):

  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort._path_to_driver):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

5:23 PM Changeset in webkit [118087] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r98359): Video does not render on http://panic.com/dietcoda/
https://bugs.webkit.org/show_bug.cgi?id=87171

Reviewed by Maciej Stachowiak.

No new tests; behavior is very timing specific and only occurs on a subset of all platforms.

Instead of calling prepareForRendering() from metadataLoaded(), which may fail and cause subsequent
calls to prepareForRendering() to short circuit, call createVideoLayer() directly, which achieves
the original goals of the fix for http://webkit.org/b/70448, but without breaking subsequent calls
to prepareForRendering() if called at the wrong time.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):

5:21 PM Changeset in webkit [118086] by timothy_horton@apple.com
  • 7 edits in trunk/Source

Add a quirk for applications that depend on the relative ordering of progressCompleted/didFinishLoad
https://bugs.webkit.org/show_bug.cgi?id=87178
<rdar://problem/11468434>

Reviewed by Maciej Stachowiak.

Some applications depend on the relative ordering of progressCompleted/didFinishLoad, which was changed
to be more correct in http://trac.webkit.org/changeset/94105. For applications built before 94105, we can
provide the old behavior. For the time being, this will only apply to Mail.app.

No new tests, will not affect behavior for any application except Mail.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setNeedsDidFinishLoadOrderQuirk):
(WebCore::Settings::needsDidFinishLoadOrderQuirk):

Add plumbing for the quirk to flip the relative ordering of progressCompleted/didFinishLoad back
to the behavior before http://trac.webkit.org/changeset/94105. Make it apply to any Mail.app linked
against WebKit before that revision.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _needsDidFinishLoadOrderQuirk]):
(-[WebView _preferencesChanged:]):

5:21 PM Changeset in webkit [118085] by wangxianzhu@chromium.org
  • 3 edits in trunk/Tools

[Chromium] Move conditions in DumpRenderTree.gypi into DumpRenderTree.gyp
https://bugs.webkit.org/show_bug.cgi?id=87176

Reviewed by Tony Chang.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • DumpRenderTree/DumpRenderTree.gypi:
5:09 PM Changeset in webkit [118084] by jochen@chromium.org
  • 6 edits in trunk/Tools

[chromium] add --driver-name option to run_webkit_tests.py to allow for selecting alternative DRT binaries
https://bugs.webkit.org/show_bug.cgi?id=87128

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.driver_name):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._path_to_driver):

  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:

(ChromiumPortTest.test_driver_name_option):

  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort._path_to_driver):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

4:59 PM Changeset in webkit [118083] by ggaren@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

CopiedBlock and MarkedBlock should have proper value semantics (i.e., destructors)
https://bugs.webkit.org/show_bug.cgi?id=87172

Reviewed by Oliver Hunt and Phil Pizlo.

This enables MarkedBlock to own non-trivial sub-objects that require
destruction. It also fixes a FIXME about casting a CopiedBlock to a
MarkedBlock at destroy time.

CopiedBlock and MarkedBlock now accept an allocation chunk at create
time and return it at destroy time. Their client is expected to
allocate, recycle, and destroy these chunks.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::releaseFreeBlocks):
(JSC::BlockAllocator::blockFreeingThreadMain): Don't call MarkedBlock::destroy
because we expect that to be called before a block is put on our free
list now. Do manually deallocate our allocation chunk because that's
our job now.

  • heap/BlockAllocator.h:

(BlockAllocator):
(JSC::BlockAllocator::allocate): Allocate never fails now. This is a
cleaner abstraction because only one object does all the VM allocation
and deallocation. Caching is an implementation detail.

(JSC::BlockAllocator::deallocate): We take an allocation chunk argument
instead of a block because we now expect the block to have been destroyed
before we recycle its memory. For convenience, we still use the HeapBlock
class as our linked list node. This is OK because HeapBlock is a POD type.

  • heap/CopiedBlock.h:

(CopiedBlock):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::CopiedBlock): Added proper create and destroy functions,
to match MarkedBlock.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):
(JSC::CopiedSpace::doneCopying):
(JSC::CopiedSpace::getFreshBlock):
(JSC::CopiedSpace::freeAllBlocks):

  • heap/CopiedSpaceInlineMethods.h:

(JSC::CopiedSpace::recycleBlock): Make sure to call destroy before
returning a block to the BlockAllocator. Otherwise, our destructors
won't run. (If we get this wrong now, we'll get a compile error.)

  • heap/HeapBlock.h:

(JSC::HeapBlock::HeapBlock): const!

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateBlock): No need to distinguish between
create and recycle -- MarkedBlock always accepts memory allocated by
its client now.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create): Don't allocate memory -- we assume that we're
passed already-allocated memory, to clarify the responsibility for VM
recycling.

(JSC::MarkedBlock::destroy): Do run our destructor before giving back
our VM -- that is the whole point of this patch.

(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:

(MarkedBlock):

  • heap/MarkedSpace.cpp: const!

(JSC::MarkedSpace::freeBlocks): Make sure to call destroy before
returning a block to the BlockAllocator. Otherwise, our destructors
won't run. (If we get this wrong now, we'll get a compile error.)

4:59 PM Changeset in webkit [118082] by alexis.menard@openbossa.org
  • 2 edits in trunk/Source/WebCore

Move some CSS regions properties to CSSParser::isValidKeywordPropertyAndValue.
https://bugs.webkit.org/show_bug.cgi?id=87169

Reviewed by Tony Chang.

Move some CSS regions properties to the fast path implemented by
CSSParser::isValidKeywordPropertyAndValue.

No new tests : Existing tests should cover.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

4:56 PM Changeset in webkit [118081] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac WK2] platform/mac-wk2/plugins/mouse-events-scaled.html failing
https://bugs.webkit.org/show_bug.cgi?id=87182

Add expected (failing?) results to get the bots green.

  • platform/mac-wk2/plugins/mouse-events-scaled-expected.txt:
4:41 PM Changeset in webkit [118080] by pilgrim@chromium.org
  • 9 edits
    2 copies in trunk/Source

[Chromium] Move cookieJar to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=86755

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::cookieJar):

  • chromium/public/WebCookie.h: Added.

(WebKit):
(WebKit::WebCookie::WebCookie):
(WebCookie):

  • chromium/public/WebCookieJar.h: Added.

(WebKit):
(WebCookieJar):
(WebKit::WebCookieJar::setCookie):
(WebKit::WebCookieJar::cookies):
(WebKit::WebCookieJar::cookieRequestHeaderFieldValue):
(WebKit::WebCookieJar::rawCookies):
(WebKit::WebCookieJar::deleteCookie):
(WebKit::WebCookieJar::cookiesEnabled):
(WebKit::WebCookieJar::~WebCookieJar):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebCookie.h:
  • public/platform/WebCookieJar.h:
  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKit::WebKitPlatformSupport::themeEngine):

  • src/PlatformSupport.cpp:

(WebCore::getCookieJar):

4:28 PM Changeset in webkit [118079] by Lucas Forschler
  • 4 edits in branches/safari-536-branch/Source

Versioning.

4:25 PM Changeset in webkit [118078] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

WebKitTestRunner needs layoutTestController.setPrinting
https://bugs.webkit.org/show_bug.cgi?id=42693

Add printing/iframe-print.html to the WK2 Skipped list.

  • platform/wk2/Skipped:
4:18 PM Changeset in webkit [118077] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening; skip test added in r118001.

Skip it while the necessary mechanisms are not implemented by the
port.

  • platform/efl/test_expectations.txt:
4:05 PM Changeset in webkit [118076] by eae@chromium.org
  • 13 edits
    2 adds in trunk/Source/WebCore

Represents margins as box and simplify writing mode logic
https://bugs.webkit.org/show_bug.cgi?id=86952

Reviewed by Eric Seidel.

Add a new class, FractionalLayoutBox, that represents the four sides of a
box and change RenderBox to use it to represent margins.

The new box class is intended to be used to represent things like
margins, paddings and borders where the current rect class isn't a good
fit. It also encapsulated a lot of the horizontal/vertical writing mode
and bidi logic allowing it to be reused.

No new tests, no change in functionality.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FractionalLayoutBoxExtent.cpp: Added.
  • platform/graphics/FractionalLayoutBoxExtent.h: Added.
  • rendering/LayoutTypes.h:
  • rendering/RenderBlock.cpp:
  • rendering/RenderBox.cpp:
  • rendering/RenderBox.h:
  • rendering/RenderScrollbarPart.cpp:
  • rendering/RenderScrollbarPart.h:
3:58 PM Changeset in webkit [118075] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] Replace 'throwTypeError(); return Undefined();' with 'return throwTypeError();'
https://bugs.webkit.org/show_bug.cgi?id=87106

Reviewed by Adam Barth.

This patch replaces

throwTypeError();
return v8::Undefined();

with

return throwTypeError();

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateOverloadedFunctionCallback):
(GenerateParametersCheck):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::overloadedMethodCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):

3:52 PM Changeset in webkit [118074] by mitz@apple.com
  • 3 edits
    6 adds in trunk

REGRESSION (r105513): CSS max-width is not applied to SVG element
https://bugs.webkit.org/show_bug.cgi?id=87050

Reviewed by Darin Adler.

Source/WebCore:

Tests: svg/css/max-height.html

svg/css/max-width.html

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Changed to also call into the base
class implementation of this function if max-width was specified.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Changed to call into the bas class
implementation of this function if either height or max-height were specified.

LayoutTests:

  • svg/css/max-height-expected.png: Added.
  • svg/css/max-height-expected.txt: Added.
  • svg/css/max-height.html: Added.
  • svg/css/max-width-expected.png: Added.
  • svg/css/max-width-expected.txt: Added.
  • svg/css/max-width.html: Added.
3:49 PM Changeset in webkit [118073] by Lucas Forschler
  • 1 copy in tags/Safari-536.13

New Tag.

3:48 PM Changeset in webkit [118072] by Lucas Forschler
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r116492.

3:47 PM Changeset in webkit [118071] by haraken@chromium.org
  • 22 edits in trunk/Source/WebCore

[V8] Pass Isolate to throwTypeError()
https://bugs.webkit.org/show_bug.cgi?id=87111

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to throwTypeError() in custom bindings.

No tests. No change in behavior.

  • bindings/v8/custom/V8ArrayBufferCustom.cpp:

(WebCore::V8ArrayBuffer::constructorCallback):

  • bindings/v8/custom/V8ArrayBufferViewCustom.h:

(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::constructWebGLArray):

  • bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:

(WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

  • bindings/v8/custom/V8ClipboardCustom.cpp:

(WebCore::V8Clipboard::setDragImageCallback):

  • bindings/v8/custom/V8DOMFormDataCustom.cpp:

(WebCore::V8DOMFormData::constructorCallback):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::constructorCallback):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::openCallback):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorCallback):

  • bindings/v8/custom/V8HTMLInputElementCustom.cpp:

(WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
(WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
(WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
(WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
(WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
(WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
(WebCore::V8HTMLInputElement::setSelectionRangeCallback):

  • bindings/v8/custom/V8HTMLMediaElementCustom.cpp:

(WebCore::V8HTMLMediaElement::controllerAccessorSetter):

  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:

(WebCore::V8InjectedScriptHost::inspectedObjectCallback):

  • bindings/v8/custom/V8IntentConstructor.cpp:

(WebCore::V8Intent::constructorCallback):

  • bindings/v8/custom/V8MessageChannelConstructor.cpp:

(WebCore::V8MessageChannel::constructorCallback):

  • bindings/v8/custom/V8NotificationCenterCustom.cpp:

(WebCore::V8NotificationCenter::requestPermissionCallback):

  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:

(WebCore::V8SQLResultSetRowList::itemCallback):

  • bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:

(WebCore::V8WebKitMutationObserver::constructorCallback):

  • bindings/v8/custom/V8WebKitPointConstructor.cpp:

(WebCore::V8WebKitPoint::constructorCallback):

  • bindings/v8/custom/V8WebSocketCustom.cpp:

(WebCore::V8WebSocket::constructorCallback):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

3:44 PM Changeset in webkit [118070] by eae@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test_expectations update, added bug number for a couple of skipped tests.

  • platform/chromium/test_expectations.txt:
3:41 PM Changeset in webkit [118069] by Lucas Forschler
  • 1 delete in tags/Safari-536.13

Remove Tag.

3:39 PM Changeset in webkit [118068] by Lucas Forschler
  • 1 copy in tags/Safari-536.13

New Tag.

3:36 PM Changeset in webkit [118067] by jochen@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
3:27 PM Changeset in webkit [118066] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Functions dispatched by dispatchAfterEnsuringUpdatedScrollPosition can be called after drawing area has been destroyed
https://bugs.webkit.org/show_bug.cgi?id=87173
<rdar://problem/11474087>

Reviewed by Beth Dakin.

Don't try to call forceRepaint if the drawing area has already been destroyed.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):

3:26 PM Changeset in webkit [118065] by jsbell@chromium.org
  • 1 edit
    7 adds in trunk/LayoutTests

[Chromium] Add missing baselines for r118039.

Unreviewed gardening.

  • platform/chromium-linux/printing/iframe-print-expected.png: Added.
  • platform/chromium-mac-leopard/printing/iframe-print-expected.png: Added.
  • platform/chromium-mac-snowleopard/printing/iframe-print-expected.png: Added.
  • platform/chromium-mac/printing/iframe-print-expected.png: Added.
  • platform/chromium-mac/printing/iframe-print-expected.txt: Added.
  • platform/chromium-win/printing/iframe-print-expected.png: Added.
  • platform/chromium-win/printing/iframe-print-expected.txt: Added.
3:23 PM Changeset in webkit [118064] by jberlin@webkit.org
  • 2 edits in trunk/Tools

WTR fix after r118001.

Rubber-stamped by Alexey Proskuryakov.

Update the WTR implementation of keyDown to match the DRT one changed in r118001.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::keyDown):

3:22 PM Changeset in webkit [118063] by haraken@chromium.org
  • 11 edits in trunk/Source/WebCore

[V8] Replace 'setDOMException(); return Undefined();' with 'return setDOMException();'
https://bugs.webkit.org/show_bug.cgi?id=87102

Reviewed by Adam Barth.

This patch replaces

setDOMException();
return v8::Undefined();

with

return setDOMException();

In addition, just in case, this patch replaces

if (...)

setDOMException();

return v8::Undefined();

with

if (...)

return setDOMException();

return v8::Undefined();

because people might insert some code just above
'return v8::Undefined()' in the future.

No tests. No change in behavior.

  • bindings/v8/custom/V8ArrayBufferViewCustom.h:

(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::setWebGLArrayHelper):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::WindowSetTimeoutImpl):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):

  • bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:

(WebCore::V8DirectoryEntrySync::getDirectoryCallback):
(WebCore::V8DirectoryEntrySync::getFileCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::addCallback):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::V8Node::insertBeforeCallback):
(WebCore::V8Node::replaceChildCallback):
(WebCore::V8Node::removeChildCallback):
(WebCore::V8Node::appendChildCallback):

  • bindings/v8/custom/V8SVGLengthCustom.cpp:

(WebCore::V8SVGLength::valueAccessorGetter):
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformHelperi):
(WebCore::uniformMatrixHelper):

  • bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:

(WebCore::V8WebKitMutationObserver::observeCallback):

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

(WebCore::V8XMLHttpRequest::responseAccessorGetter):

3:11 PM Changeset in webkit [118062] by commit-queue@webkit.org
  • 10 edits in trunk

[Chromium] Use overloaded printBegin() webkit API to support auto fit to page functionality.
https://bugs.webkit.org/show_bug.cgi?id=86684

Patch by Kausalya Madhusudhanan <kmadhusu@chromium.org> on 2012-05-22
Reviewed by Darin Fisher.

Source/WebKit/chromium:

  • public/WebFrame.h:

(WebFrame):

  • public/WebPlugin.h:

(WebPlugin):

  • public/WebPrintParams.h:

(WebKit::WebPrintParams::WebPrintParams):
(WebPrintParams):

  • src/WebFrameImpl.cpp:

(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::printBegin):

Tools:

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::numberOfPages):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::printPage):

3:08 PM Changeset in webkit [118061] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

[TextureMapper] [Cairo] Implement repaint counters
https://bugs.webkit.org/show_bug.cgi?id=87062

Reviewed by Gustavo Noronha Silva.

No new tests. This just adds a debugging feature that shouldn't
affect the normal drawing of a page.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::updateBackingStore): Now, if repaint counters are
enabled, increment the repaint count and call drawRepaintCounter.
(WebCore::TextureMapperLayer::drawRepaintCounter): Added.

  • platform/graphics/texmap/TextureMapperLayer.h:

(TextureMapperLayer): Added declaration for drawRepaintCounter.

2:56 PM Changeset in webkit [118060] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Crash when a plug-in view outlives its containing WebPage
https://bugs.webkit.org/show_bug.cgi?id=87163
<rdar://problem/10849258>

Reviewed by Dan Bernstein.

In rare cases, when a plug-in is kept alive for some reason it can outlive its WebPage. When that happens,
the PluginView destructor will try to access the (deleted) web page and we'll crash.

Fix this by making the WebPage destructor iterate over all the registered plug-ins and null out the m_webPage pointer.
Don't try to access the WebPage object if it's null.

Also, remove PLATFORM(MAC) ifdefs around the HashSet of known plug-in views as well as the member functions that access the set;
we want this to be cross platform now.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView):
(WebKit::PluginView::~PluginView):
(WebKit::PluginView::webPageDestroyed):
(WebKit):

  • WebProcess/Plugins/PluginView.h:

(PluginView):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::~WebPage):
(WebKit::WebPage::scalePage):
(WebKit):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

2:55 PM Changeset in webkit [118059] by abarth@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Expose setMediaPlaybackRequiresUserGesture via WebSettings
https://bugs.webkit.org/show_bug.cgi?id=87164

Reviewed by Eric Seidel.

This is used by the Chromium Android port.

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setMediaPlaybackRequiresUserGesture):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

2:50 PM LayoutUnit edited by eae@chromium.org
(diff)
2:50 PM Changeset in webkit [118058] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

WK2 Skipped list should be updated to reflect that
https://bugs.webkit.org/show_bug.cgi?id=57515 has been fixed.
https://bugs.webkit.org/show_bug.cgi?id=87170.

Reviewed by Brady Eidson.

Remove the tests from the Skipped list that now pass, separate out the test that crashes with
its own entry, and correctly cover the shadow dom tests.

  • platform/wk2/Skipped:
2:29 PM Changeset in webkit [118057] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116357
BUG=124530
Review URL: https://chromiumcodereview.appspot.com/10413058

2:27 PM Changeset in webkit [118056] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 116357
BUG=124530
Review URL: https://chromiumcodereview.appspot.com/10413057

2:24 PM Changeset in webkit [118055] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 117224
BUG=125730
Review URL: https://chromiumcodereview.appspot.com/10411078

2:22 PM Changeset in webkit [118054] by shawnsingh@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Add unit testing for WebTransformationMatrix::blend()
https://bugs.webkit.org/show_bug.cgi?id=87066

Reviewed by Adrienne Walker.

8 more unit tests added:
WebTransformationMatrixTest.verifyBlendForTranslation
WebTransformationMatrixTest.verifyBlendForScale
WebTransformationMatrixTest.verifyBlendForSkewX
WebTransformationMatrixTest.verifyBlendForSkewY
WebTransformationMatrixTest.verifyBlendForRotationAboutX
WebTransformationMatrixTest.verifyBlendForRotationAboutY
WebTransformationMatrixTest.verifyBlendForRotationAboutZ
WebTransformationMatrixTest.verifyBlendForCompositeTransform

  • tests/WebTransformationMatrixTest.cpp:

(WebKit::TEST):
(WebKit):
(WebKit::printTransform):

2:21 PM Changeset in webkit [118053] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 117224
BUG=125730
Review URL: https://chromiumcodereview.appspot.com/10408073

2:17 PM Changeset in webkit [118052] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Use the same animation begin time while updating compositing layers
https://bugs.webkit.org/show_bug.cgi?id=87080

Reviewed by Dean Jackson.

Tidied up some beginAnimationUpdate/endAnimationUpdate logic,
but further cleaning is required. We currently bracket some calls
to recaclcStyle() with begin/endAnimationUpdate, but not all.
We don't bracket layout, or compositing updates. This patch
adds bracketing around compositing updates, in order to be
able to add some assertions in a later patch that rely on
RenderLayer::currentTransform() giving consistent results,
since currentTransform() depends on the animation begin time.

Made AnimationController::beginAnimationUpdate() and
AnimationController::endAnimationUpdate() nestable by adding
a counter.

Added a stack-based class, AnimationUpdateBlock, which
calls begin/endAnimationUpdate.

Replaced calls to begin/endAnimationUpdate in Document::updateStyleIfNeeded()
and Document::styleResolverChanged() with AnimationUpdateBlock. Filed a bug
to cover other calls to recalcStyle which might need this (87159).

Removed a call to beginAnimationUpdate() in Document::implicitOpen(),
which was added in r42415. I believe that r57390 makes this unnecessary,
and was not able to reproduce the original bug after removing it. It
was the only unpaired beginAnimationUpdate call.

Made AnimationControllerPrivate::getAnimatedStyleForRenderer() not
use a new beginTime each time it was called, so its beginTime now
depends on some earlier beginAnimationUpdate.

Fixed CSSComputedStyleDeclaration::getPropertyCSSValue() to use
an AnimationUpdateBlock so that calls to computed style do
use the current time to compute an animating value (as before).

Not testable.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • dom/Document.cpp:

(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::implicitOpen):
(WebCore::Document::styleResolverChanged):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::beginAnimationUpdate):
(WebCore::AnimationController::endAnimationUpdate):

  • page/animation/AnimationController.h:

(AnimationController):
(WebCore):
(AnimationUpdateBlock):
(WebCore::AnimationUpdateBlock::AnimationUpdateBlock):
(WebCore::AnimationUpdateBlock::~AnimationUpdateBlock):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):

2:02 PM Changeset in webkit [118051] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1132

Merge 116683
BUG=126723
Review URL: https://chromiumcodereview.appspot.com/10409080

2:01 PM Changeset in webkit [118050] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1084

Merge 116683
BUG=126723
Review URL: https://chromiumcodereview.appspot.com/10332302

1:57 PM Changeset in webkit [118049] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

WTR needs an implementation of setAutomaticLinkDetectionEnabled
https://bugs.webkit.org/show_bug.cgi?id=87162

Add editing/inserting/typing-space-to-trigger-smart-link.html to the WK2 Skipped list.

  • platform/wk2/Skipped:
1:55 PM Changeset in webkit [118048] by Lucas Forschler
  • 2 edits in tags/Safari-536.12.1/Source/WebKit2

Merged r116492.

1:54 PM Changeset in webkit [118047] by abarth@webkit.org
  • 4 edits in trunk/LayoutTests

echo-inspan.pl is missing a semicolon on line 14, freaks out Apache on multiple regression tests
https://bugs.webkit.org/show_bug.cgi?id=86023

Reviewed by Eric Seidel.

This typo was causing a syntax error, making us lose test coverage.

  • http/tests/security/xssAuditor/open-iframe-src-expected.txt: Rebased result.
  • http/tests/security/xssAuditor/open-script-src-expected.txt: Ditto.
  • http/tests/security/xssAuditor/resources/echo-inspan.pl:
1:53 PM Changeset in webkit [118046] by Lucas Forschler
  • 4 edits in tags/Safari-536.12.1/Source

Versioning.

1:51 PM Changeset in webkit [118045] by Lucas Forschler
  • 1 copy in tags/Safari-536.12.1

New Tag.

1:50 PM Changeset in webkit [118044] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r117613): Dromaeo/jslib-style-prototype regressed by 20%
https://bugs.webkit.org/show_bug.cgi?id=87142

Reviewed by Alexis Menard.

Move CSSPropertyDisplay back into isValidKeywordPropertyAndValue.
Pass in the parser context so we can check whether we're grid or not.

No new tests. Covered by Dromaeo/jslib-style-prototype perf test.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::parseKeywordValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFont):

1:48 PM Changeset in webkit [118043] by imasaki@chromium.org
  • 12 edits
    2 copies in branches/chromium/1132

Merge 116900 - Volume slider needs to be displayed below the mute button
https://bugs.webkit.org/show_bug.cgi?id=85990

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-05-13
Reviewed by Dimitri Glazkov.

Source/WebCore:

Added back code for rendering offset, but used only when the volume slider
needs to be displayed below the controls.

Test: media/media-volume-slider-rendered-below.html

  • css/mediaControlsChromium.css:

(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
Changed positioning of the slider to absolute, otherwise it is not possible to position it from the layout() method.

  • css/mediaControlsQuickTime.css:

Added back the double mute-button and changed the z-index of the original button. When the slider is displayed
the second mute button is actually there.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
Added copy.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::makeTransparent): Disabled the possible of hiding controls. WebVTT rendering
in the place of controls when these are visible is not possible with the current code.
(RenderMediaVolumeSliderContainer):
(WebCore):
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
Checked if the absolute coordinates of the corner of the slider would be rendered outside the page. This part of the
code is faulty if display:none is toggled on the controls.
(WebCore::MediaControlVolumeSliderContainerElement::createRenderer):

  • html/shadow/MediaControlElements.h:

(MediaControlVolumeSliderContainerElement):

  • html/shadow/MediaControlRootElement.cpp:

(WebCore::MediaControlRootElement::create):

LayoutTests:

Updated tests expectation and marked failing tests accordingly.

  • media/media-volume-slider-rendered-below.html: Added.
  • media/media-volume-slider-rendered-expected.txt: Added.
  • platform/chromium/test_expectations.txt: Updated.
  • platform/mac/media/audio-controls-rendering-expected.txt: Updated (z-index change).
  • platform/mac/media/controls-after-reload-expected.txt: Same.
  • platform/mac/media/controls-strict-expected.txt: Same.
  • platform/mac/media/video-controls-rendering-expected.txt: Same.
  • platform/mac/media/video-display-toggle-expected.txt: Same.
  • platform/mac/media/video-playing-and-pause-expected.txt: Same.
  • platform/mac/test_expectations.txt: Updated.

TBR=commit-queue@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10412040

1:37 PM Changeset in webkit [118042] by jsbell@chromium.org
  • 4 edits in branches/chromium/1132/Source/WebCore/Modules/indexeddb

Merge 116562 - IndexedDB: call abort handler when there are problems committing
https://bugs.webkit.org/show_bug.cgi?id=85841

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-09
Reviewed by Ojan Vafai.

No new tests. Every existing test that calls commit() is testing
the success side of this, and this only throws when there are
LevelDB errors, which is exactly what we're trying to diagnose
with this patch.

  • Modules/indexeddb/IDBBackingStore.h:

(Transaction):

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore::IDBLevelDBBackingStore::deleteDatabase):
(WebCore::IDBLevelDBBackingStore::Transaction::commit):

  • Modules/indexeddb/IDBLevelDBBackingStore.h:

(Transaction):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::commit):

TBR=commit-queue@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10422005

1:37 PM Changeset in webkit [118041] by Simon Fraser
  • 8 edits
    8 copies in trunk

.: == Rolled over to ChangeLog-2012-05-22 ==

Source/JavaScriptCore: == Rolled over to ChangeLog-2012-05-22 ==

Source/WebCore: == Rolled over to ChangeLog-2012-05-22 ==

Source/WebKit/chromium: == Rolled over to ChangeLog-2012-05-22 ==

Source/WebKit/gtk: == Rolled over to ChangeLog-2012-05-22 ==

Source/WebKit2: == Rolled over to ChangeLog-2012-05-22 ==

Tools: == Rolled over to ChangeLog-2012-05-22 ==

LayoutTests: == Rolled over to ChangeLog-2012-05-22 ==

1:30 PM Changeset in webkit [118040] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] platform/chromium/.../visibility-simple-*-layer.html fails intermittently on Windows bots.

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
1:26 PM Changeset in webkit [118039] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Source/WebCore: Fix iframe printing.
https://bugs.webkit.org/show_bug.cgi?id=85118

Patch by Vitaly Buka <vitalybuka@chromium.org> on 2012-05-22
Reviewed by Darin Adler, Eric Seidel.

Patch fixed two issues by disabling special handling of subframes for printing.

  1. Regression. Division by zero when forceLayoutForPagination called for subframes

and page sizes set to zero.

  1. Old issue. RendererView adjusted layout of subframes for printing and set invalid

dimensions. Sometimes it caused missing iframe when printed.

Test: printing/iframe-print.html

  • page/Frame.cpp:

(WebCore::Frame::setPrinting): Calls forceLayoutForPagination for root frames only.
(WebCore::Frame::resizePageRectsKeepingRatio): Added ASSERTs to catch division by zero.

  • rendering/RenderView.cpp: Replaced printing() with shouldUsePrintingLayout() for most calls.

(WebCore::RenderView::computeLogicalHeight):
(WebCore::RenderView::computeLogicalWidth):
(WebCore::RenderView::layout):
(WebCore::RenderView::shouldUsePrintingLayout): Returns true only if printing enabled and it's a root frame.
(WebCore::RenderView::viewRect):
(WebCore::RenderView::viewHeight):
(WebCore::RenderView::viewWidth):

  • rendering/RenderView.h:

LayoutTests: LayoutTest for iframe printing.
https://bugs.webkit.org/show_bug.cgi?id=85118

Patch by Vitaly Buka <vitalybuka@chromium.org> on 2012-05-22
Reviewed by Darin Adler, Eric Seidel.

  • printing/iframe-print-expected.txt: Added.
  • printing/iframe-print.html: Added.
  • printing/resources/iframe-subframe-vertical-rl.html: Added.
  • printing/resources/iframe-subframe.html: Added.
1:23 PM Changeset in webkit [118038] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[BlackBerry] getPlatformThreadRegisters() should fetch target thread's registers
https://bugs.webkit.org/show_bug.cgi?id=87148

Patch by Yong Li <yoli@rim.com> on 2012-05-22
Reviewed by George Staikos.

Our previous implementation of getPlatformThreadRegisters() read registers in current
thread's context but it is supposed to read the target thread's registers.

  • heap/MachineStackMarker.cpp:

(JSC::getPlatformThreadRegisters):

1:21 PM Changeset in webkit [118037] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116551
BUG=125563
Review URL: https://chromiumcodereview.appspot.com/10412039

1:20 PM Changeset in webkit [118036] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 116551
BUG=125563
Review URL: https://chromiumcodereview.appspot.com/10411077

1:20 PM Changeset in webkit [118035] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

2012-05-22 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • wtf/RAMSize.cpp: (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then cast back to size_t. Since it's coneivable that a 32bit process would run on a system with more than 4GB RAM, I added a paranoid check for that condition.
1:17 PM Changeset in webkit [118034] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Fix tests being flaky when multiple draws occur in between commits
https://bugs.webkit.org/show_bug.cgi?id=83935

Tests that are verifying events in a commit/draw lock-step pattern, should use
sourceFrameNumber() not frameNumber() on the impl side.
Otherwise they will fail if the same frame is drawn more than once in
between commits (which is perfectly legal and could happen for example
because we draw without a new commit because we are still in BEGIN_FRAME
or updating resources).

Patch by Daniel Sievers <sievers@chromium.org> on 2012-05-22
Reviewed by Adrienne Walker.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestScrollSimple::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestStartPageScaleAnimation::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommit::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommit::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestFractionalScroll::drawLayersOnCCThread):

1:15 PM Changeset in webkit [118033] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116864
BUG=126040
Review URL: https://chromiumcodereview.appspot.com/10411076

1:14 PM Changeset in webkit [118032] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 116864
BUG=126040
Review URL: https://chromiumcodereview.appspot.com/10414055

1:03 PM Changeset in webkit [118031] by jberlin@webkit.org
  • 2 edits in trunk/Source/WTF

Build fix.

  • wtf/RAMSize.cpp:

(WTF::computeRAMSize):
If you say you are going to return a size_t, actually return a size_t.

1:02 PM Changeset in webkit [118030] by fpizlo@apple.com
  • 20 edits in trunk/Source/JavaScriptCore

DFG should support reflective arguments access
https://bugs.webkit.org/show_bug.cgi?id=85721

Reviewed by Oliver Hunt.

Merged r116345 from dfgopt.

This adds support for op_create_arguments to the DFG. No other arguments-related
opcodes are added by this change, though it does add a lot of the scaffolding
necessary for the other ops.

This also adds GetByVal/PutByVal optimizations for Arguments.

Finally, this rationalizes slowPathCall with no return. Previously, that would
work via callOperation() overloads that took InvalidGPRReg as the return GPR.
But that creates awful ambiguity, since we had template functions that were
polymorphic over all parameters except the second, which was a GPRReg, and a
bunch of non-template overloads that also potentially had GPRReg as the second
argument. I finally started to hit this ambiguity and was getting absolutely
bizarre compiler errors, that made me feel like I was programming in SML. So,
I changed the no-argument overloads to take NoResultTag instead, which made
everything sensible again by eliminating the overload ambiguity.

This is a ~7% speed-up on V8/earley and neutral elsewhere.

  • bytecode/PredictedType.h:

(JSC::isArgumentsPrediction):
(JSC):
(JSC::isActionableMutableArrayPrediction):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::unmodifiedArgumentsRegister):
(Node):
(JSC::DFG::Node::shouldSpeculateArguments):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(DFG):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::silentSpillAllRegistersImpl):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::pickCanTrample):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • runtime/Arguments.h:

(ArgumentsData):
(Arguments):
(JSC::Arguments::offsetOfData):

12:54 PM Changeset in webkit [118029] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116325
BUG=126406
Review URL: https://chromiumcodereview.appspot.com/10399133

12:53 PM Changeset in webkit [118028] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 116325
BUG=126406
Review URL: https://chromiumcodereview.appspot.com/10416046

12:39 PM Changeset in webkit [118027] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116545
BUG=127366
Review URL: https://chromiumcodereview.appspot.com/10407103

12:37 PM Changeset in webkit [118026] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 116545
BUG=127366
Review URL: https://chromiumcodereview.appspot.com/10408066

12:34 PM Changeset in webkit [118025] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 116669
BUG=127367
Review URL: https://chromiumcodereview.appspot.com/10422003

12:33 PM Changeset in webkit [118024] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 116669
BUG=127367
Review URL: https://chromiumcodereview.appspot.com/10414053

12:30 PM Changeset in webkit [118023] by cevans@google.com
  • 3 edits
    10 copies in branches/chromium/1132

Merge 117012
BUG=124625
Review URL: https://chromiumcodereview.appspot.com/10388233

12:28 PM Changeset in webkit [118022] by cevans@google.com
  • 3 edits
    10 copies in branches/chromium/1084

Merge 117012
BUG=124625
Review URL: https://chromiumcodereview.appspot.com/10408065

12:26 PM Changeset in webkit [118021] by fpizlo@apple.com
  • 15 edits in branches/dfgopt/Source/JavaScriptCore

DFG ConvertThis should just be a CheckStructure if the structure is known
https://bugs.webkit.org/show_bug.cgi?id=87057

Reviewed by Gavin Barraclough.

This gives ValueProfile the ability to track singleton values - i.e. profiling
sites that always see the same value.

That is then used to profile the structure in op_convert_this.

This is then used to optimize op_convert_this into a CheckStructure if the
structure is always the same.

That then results in better CSE in inlined code that uses 'this', since
previously we couldn't CSE accesses on 'this' from different inline call frames.

Also fixed a bug where we were unnecessarily flushing 'this'.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):
(JSC::CodeBlock::stronglyVisitStrongReferences):

  • bytecode/LazyOperandValueProfile.cpp:

(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):

  • bytecode/LazyOperandValueProfile.h:

(CompressedLazyOperandValueProfileHolder):

  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::ValueProfileBase):
(JSC::ValueProfileBase::dump):
(JSC::ValueProfileBase::computeUpdatedPrediction):
(ValueProfileBase):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::parseBlock):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_convert_this):
(JSC::JIT::emitSlow_op_convert_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_convert_this):
(JSC::JIT::emitSlow_op_convert_this):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSValue.h:

(JSValue):

  • runtime/Structure.h:

(JSC::JSValue::structureOrUndefined):
(JSC):

12:23 PM Changeset in webkit [118020] by rafael.lobo@openbossa.org
  • 4 edits in trunk

[Qt] canvas/philip/tests/2d.path.stroke.overlap.html fails with Qt-4.6.2 or higher
https://bugs.webkit.org/show_bug.cgi?id=40362

Reviewed by Noam Rosenthal.

Source/WebCore:

Before drawing the stroke from a certain path, it should make the union of the stroke areas.
The previous implementation didn't consider that so the intersection was painted twice.
By using QPainterPathStroker, we create a QPainterPath on top of the platform path, and
then we fill it with the expected brush. This way we avoid repainting areas.

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::fillPathStroke):
(WebCore):
(WebCore::GraphicsContext::strokePath):

LayoutTests:

  • platform/qt/Skipped: Unskip test after fix.
12:17 PM Changeset in webkit [118019] by ggaren@apple.com
  • 14 edits
    2 adds in trunk/Source

GC allocation trigger should be tuned to system RAM
https://bugs.webkit.org/show_bug.cgi?id=87039

Reviewed by Darin Adler.

../JavaScriptCore:

This helps avoid OOM crashes on small platforms, and helps avoid "too much GC"
performance issues on big platforms.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::collect):

  • heap/Heap.h:

(Heap): GC balances between a fixed minimum and a proportional multiplier,
which are limited based on system RAM.

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::createContextGroup):
(JSC::JSGlobalData::create):
(JSC::JSGlobalData::createLeaked):

  • runtime/JSGlobalData.h:

(JSGlobalData): Renamed HeapSize to HeapType because the exact size is
influenced by the heap type, but not determined by it.

../WTF:

Added a helper function for measuring system RAM.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/AmountOfRAM.cpp: Added.

(WTF):
(WTF::computeAmountOfRAM):
(WTF::amountOfRAM):

  • wtf/AmountOfRAM.h: Added.

(WTF):

  • wtf/CMakeLists.txt:
  • wtf/StdLibExtras.h:

(WTF):

12:10 PM Changeset in webkit [118018] by barraclough@apple.com
  • 23 edits in trunk

Disable private names by default in WebCore
https://bugs.webkit.org/show_bug.cgi?id=87088

Reviewed by Geoff Garen.

r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
These are probably not yet ready to be web-facing, so disabling by default in WebCore.
Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.

Source/JavaScriptCore:

  • jsc.cpp:

(GlobalObject):
(GlobalObject::javaScriptExperimentsEnabled):

  • Implemented new trap to opt-in to private names support.
  • runtime/JSGlobalObject.cpp:

(JSC):
(JSC::JSGlobalObject::reset):

  • Only add the Name property to the global object if experiments are enabled.
  • runtime/JSGlobalObject.h:

(GlobalObjectMethodTable):

  • Added new trap to enabled experiments.

(JSGlobalObject):
(JSC::JSGlobalObject::finishCreation):

  • Set the global object's m_experimentsEnabled state on construction.

(JSC::JSGlobalObject::javaScriptExperimentsEnabled):

  • Defaults to off.

Source/WebCore:

  • WebCore.exp.in:
    • Added export.
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled):

  • Override default from JSC, enable based on corresponding Setting.
  • bindings/js/JSDOMWindowBase.h:

(JSDOMWindowBase):

  • Added declaration for javaScriptExperimentsEnabled.
  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setJavaScriptExperimentsEnabled):
(WebCore):

  • page/Settings.h:

(Settings):
(WebCore::Settings::javaScriptExperimentsEnabled):

  • Added Setting, reflecting WebPreference.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]):
(-[WebPreferences javaScriptExperimentsEnabled]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

  • Added JavaScriptExperimentsEnabled to WebPreferences.

Source/WebKit2:

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetJavaScriptExperimentsEnabled):
(WKPreferencesGetJavaScriptExperimentsEnabled):

  • UIProcess/API/C/WKPreferences.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • Added JavaScriptExperimentsEnabled to WebPreferences.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues):

  • Enable private name support in DRT.
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • Enable private name support in WKTR.
12:09 PM Changeset in webkit [118017] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1132

Merge 117304
BUG=128336
Review URL: https://chromiumcodereview.appspot.com/10409072

12:08 PM Changeset in webkit [118016] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 117304
BUG=128336
Review URL: https://chromiumcodereview.appspot.com/10412038

12:02 PM Changeset in webkit [118015] by cevans@google.com
  • 1 edit in branches/chromium/1132/Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp

Merge 116717
BUG=124992
Review URL: https://chromiumcodereview.appspot.com/10421016

12:00 PM Changeset in webkit [118014] by cevans@google.com
  • 1 edit in branches/chromium/1084/Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp

Merge 116717
BUG=124992
Review URL: https://chromiumcodereview.appspot.com/10412037

12:00 PM Changeset in webkit [118013] by eae@chromium.org
  • 5 edits in trunk/LayoutTests

REGRESSION (r117815) fast/css/zoom-in-length-round-trip.html fails on Mac bots
https://bugs.webkit.org/show_bug.cgi?id=87145

Reviewed by Levi Weintraub.

Fix zoom-in-length-round-trip to support subpixel support turned on or off.

  • fast/css/zoom-in-length-round-trip.html:
11:50 AM Changeset in webkit [118012] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

!HAVE(ACCESSIBILITY) depends on AccessibilityObject::actionVerb in the Chromium Android build
https://bugs.webkit.org/show_bug.cgi?id=87141

Reviewed by Eric Seidel.

In the Chromium Android build there is still one remaining dependency
on object files in the accessibility directory:
AccessibilityObject::actionVerb. I missed this function in my previous
patch, but this patch changes it to be an inline stub.

  • accessibility/AccessibilityObject.cpp:

(WebCore):

  • accessibility/AccessibilityObject.h:

(WebCore):
(WebCore::actionVerb):
(WebCore::AccessibilityObject::lineForPosition):
(WebCore::AccessibilityObject::updateBackingStore):

11:46 AM Changeset in webkit [118011] by jsbell@chromium.org
  • 12 edits
    3 adds in trunk

IndexedDB: Support Array-type key paths
https://bugs.webkit.org/show_bug.cgi?id=84207

Reviewed by Tony Chang.

Source/WebCore:

Implement IDB spec behavior that key paths can be arrays of strings; when
evaluated, these yield arrays of keys, providing compound key support. Also
changes exception types to match the spec.

Test: storage/indexeddb/keypath-arrays.html
Test: storage/indexeddb/keypath-basics.html

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore): Look for both string and array in option dict,
throw exceptions for forbidden combinations of key generator and key paths.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex): Handle special cases (accepted and forbidden).
(WebCore):

  • Modules/indexeddb/IDBObjectStore.h:

(IDBObjectStore):
(WebCore::IDBObjectStore::createIndex): Overloads to satisfy IDL overloads and optional dicts.

  • Modules/indexeddb/IDBObjectStore.idl: Add DOMString array overload.
  • bindings/v8/IDBBindingUtilities.cpp: Implement spec logic for evaluating array key paths.

(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
(WebCore):

LayoutTests:

  • storage/indexeddb/keypath-arrays-expected.txt: Added.
  • storage/indexeddb/keypath-arrays.html: Added.
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:

(cleanDatabase):

  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/resources/keypath-arrays.js: Added.

(test.request.onsuccess):
(test):
(openSuccess.request.onsuccess):
(openSuccess):
(testKeyPaths.checkStore.request.onsuccess):
(testKeyPaths.checkStore):
(testKeyPaths.checkIndex.request.onsuccess):
(testKeyPaths.checkIndex):
(testKeyPaths):

  • storage/indexeddb/resources/keypath-basics.js:
11:37 AM Changeset in webkit [118010] by Martin Robinson
  • 6 edits in trunk/Source

[GTK] REGRESSION(r116135): Keys that confirm composition trigger a default action
https://bugs.webkit.org/show_bug.cgi?id=86925

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

No new tests. Creating tests for GTK+ input methods is quite difficult, as they
can differ from machine to machine. It's also hard to simulate composition
sequences.

  • platform/gtk/CompositionResults.h: Instead of holding composition results, just

keep a flag describing whether or not this event had results.
(CompositionResults):

Source/WebKit/gtk:

Instead of sending composition results with a keydown event, simply send whether
or not the event had results. Activate the results after processing the event. This
allows for input methods to modify the DOM after the keydown event and to still
prevent the default action during handleInputMethodKeydown.

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::respondToChangedSelection): This patch removes the m_updatingComposition
so we no longer have to check it here.
(WebKit::EditorClient::keyboardEventHadCompositionResults): Added.
(WebKit::EditorClient::handleInputMethodKeydown): Now prevent the default action when
the keyboard event had composition results.
(WebKit::EditorClient::EditorClient):

  • WebCoreSupport/EditorClientGtk.h: Remove the m_updatingComposition member, as it's no

longer used.

  • WebCoreSupport/WebViewInputMethodFilter.cpp:

(WebKit::WebViewInputMethodFilter::sendKeyEventWithCompositionResults): Now send the
composition results after the key event.

11:34 AM Changeset in webkit [118009] by Martin Robinson
  • 2 edits in trunk/Tools

Fix a small syntax error in the GTK+ API test runner.

Reviewed by Gustavo Noronha Silva.

  • gtk/run-api-tests:

(TestRunner._setup_testing_environment): When reporting the error use
the correct Python format string syntax.

11:30 AM Changeset in webkit [118008] by cevans@google.com
  • 14 edits
    2 copies in branches/chromium/1084

Merge 116174
BUG=124617
Review URL: https://chromiumcodereview.appspot.com/10383285

11:18 AM Changeset in webkit [118007] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][DRT] Wrong cache model is taken in LayoutTestController's setCacheModel()
https://bugs.webkit.org/show_bug.cgi?id=86962

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-22
Reviewed by Gustavo Noronha Silva.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setCacheModel): Sets WEBKIT_CACHE_MODEL_WEB_BROWSER if argument is 2.

11:11 AM Changeset in webkit [118006] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][DRT] Key modifier bit flags have enum type.
https://bugs.webkit.org/show_bug.cgi?id=86838

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-22
Reviewed by Antonio Gomes.

Refactoring. Key modifier flags are unsigned int.
Key modifier bit flags used have enum type. It caused problems as a key can have several modifiers
at the same time and the union of modifiers (i.e. EvasKeyModifierControl | EvasKeyModifierShift)
would have been out of EvasKeyModifier enum.

  • DumpRenderTree/efl/EventSender.cpp:

(KeyEventInfo::KeyEventInfo):
(KeyEventInfo):
(MouseEventInfo::MouseEventInfo):
(MouseEventInfo):
(setEvasModifiers):
(modifiersFromJSValue):
(mouseDownCallback):
(mouseUpCallback):
(keyPadNameFromJSValue):
(keyNameFromJSValue):
(createKeyEventInfo):
(sendKeyDown):

11:11 AM Changeset in webkit [118005] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Assertion failure (toRenderBox() called on a RenderInline) beneath RenderBlock::blockBeforeWithinSelectionRoot()
https://bugs.webkit.org/show_bug.cgi?id=86500

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/block/line-layout/selection-highlight-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Demoted the object local variable to
RenderObject, changed use of parentBox() to parent(), and added toRenderBlock() in two places.

LayoutTests:

  • fast/block/line-layout/selection-highlight-crash-expected.txt: Added.
  • fast/block/line-layout/selection-highlight-crash.html: Added.
10:58 AM Changeset in webkit [118004] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] jquery/attributes.html SLOW -> TIMEOUT

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
10:53 AM Changeset in webkit [118003] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=87145
REGRESSION (r117815) fast/css/zoom-in-length-round-trip.html fails on Mac bots

  • platform/mac/Skipped: Skipping until Levi Weintraub can explore the regression.
10:51 AM Changeset in webkit [118002] by rwlbuis@webkit.org
  • 4 edits
    2 adds in trunk

ASSERTs in RenderInline::layout()
https://bugs.webkit.org/show_bug.cgi?id=63365

Patch by Rob Buis <rbuis@rim.com> on 2012-05-22
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Do not allow creation of renderers for text content children in elements by default.
Subclasses like SVGTextElement override this behavior.
This also fixes the <a><textPath</a> case because the <a> parent decides to allow <textPath> or not:
http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environment

Test: svg/custom/disallowed-text-content-rendering.svg

  • svg/SVGElement.cpp:

(WebCore::SVGElement::childShouldCreateRenderer):

  • svg/SVGElement.h:

(SVGElement):

LayoutTests:

Test text content element children inside elements.

  • svg/custom/disallowed-text-content-rendering-expected.txt: Added.
  • svg/custom/disallowed-text-content-rendering.svg: Added.
10:45 AM Changeset in webkit [118001] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

Implement DOM_KEY_LOCATION_LEFT and RIGHT of KeyboardEvent's location property
https://bugs.webkit.org/show_bug.cgi?id=86694

Source/WebCore:

As KeyboardEvent for left/right location key, e.g. left-control,
right-control, provides DOM_KEY_LOCATION_STANDARD as keyLocation property,
modified KeyCodeConversion to make PlatformKeyboardEvent
provide virtual keycodes with location information, e.g. VK_LCONTROL or
VK_RCONTROL, and modified KeyboardEvent to generate location information
from the virtual keycodes, e.g. genrating DOM_KEY_LOCATION_LEFT for
VK_LCONTROL. KeyboardEvent also removes location information from
the virtual keycodes, e.g. genrating VK_CONTROL for VK_LCONTROL.
The location property is defined in the W3C DOM3 specification:
http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents

Patch by Takashi Sakamoto <tasak@google.com> on 2012-05-22
Reviewed by Alexey Proskuryakov.

Test: fast/events/keydown-leftright-keys.html

  • dom/KeyboardEvent.cpp:

(WebCore::windowsVirtualKeyCodeWithoutLocation):
Added a function which removes location information from a given
keycode. For example, when VK_LCONTROL is given, returns VK_CONTROL.
(WebCore::keyLocationCode):
Added a function which provides location information from a given
keycode. For example, when VK_LCONTROL is given,
returns DOM_KEY_LOCATION_LEFT.
(WebCore::KeyboardEvent::KeyboardEvent):
Initialized m_keyLocation by using the above keyLocationCode.
(WebCore::KeyboardEvent::keyCode):
Modified to use the above two functions to initialize keycode property
and keylocation property.

  • platform/chromium/KeyCodeConversionAndroid.cpp:

(WebCore::windowsKeyCodeForKeyEvent):

  • platform/chromium/KeyCodeConversionGtk.cpp:

(WebCore::windowsKeyCodeForKeyEvent):

  • platform/cocoa/KeyEventCocoa.mm:

(WebCore::windowsKeyCodeForKeyCode):
Modified these keycode conversions to return keycodes with location
information, e.g. modified keycode conversions returns VK_LCONTROL
for left control.

Tools:

Modify keyDown to create left- and right- control, shift, and alt
keyevent for a test to check that keyLocation property can have
DOM_KEY_LOCATION_LEFT for left-control, shift, and alt, and
DOM_KEY_LOCATION_RIGHT for right-control, shift, and alt.

Patch by Takashi Sakamoto <tasak@google.com> on 2012-05-22
Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/chromium/EventSender.cpp:

(EventSender::keyDown):

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController keyDown:withModifiers:withLocation:]):

LayoutTests:

Patch by Takashi Sakamoto <tasak@google.com> on 2012-05-22
Reviewed by Alexey Proskuryakov.

  • fast/events/keydown-leftright-keys-expected.txt: Added.
  • fast/events/keydown-leftright-keys.html: Added.
10:42 AM Changeset in webkit [118000] by commit-queue@webkit.org
  • 10 edits in trunk

[EFL] EFL's DRT needs to print information about received Web Intents
https://bugs.webkit.org/show_bug.cgi?id=86864

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-22
Reviewed by Adam Barth.

.:

Enable Web Intents by default on EFL port.

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit/efl:

  • ewk/ewk_intent.cpp:

(ewk_intent_suggestions_get): Add function to retrieve suggested
service URLs for an intent.
(ewk_intent_extra_names_get): Add function to retrieve names of
extra metadata for an intent.
(ewk_intent_new): Correctly initialize Ewk_Intent members to avoid
crashes.
(ewk_intent_free): Unref shared strings.

  • ewk/ewk_intent.h:

Tools:

Catch "intent,new" signal in EFL's DumpRenderTree and dump information
about the intent. This output is expected by several webintents test
cases.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(DumpRenderTreeChrome::onFrameCreated):
(DumpRenderTreeChrome::onFrameIntentNew):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

LayoutTests:

Unskip a few Web Intents tests that are passing now that the
functionality is enabled by default on EFL port.

  • platform/efl/test_expectations.txt:
10:41 AM Changeset in webkit [117999] by pfeldman@chromium.org
  • 15 edits in trunk/Source/WebCore

Web Inspector: provide content-related actions on the sources panel.
https://bugs.webkit.org/show_bug.cgi?id=87144

Reviewed by Vsevolod Vlasov.

Now that the authoring focus moved to the Source panel, context menu actions should follow:

  • refactored context menu actions to be provider-based
  • edited call sites to add applicable actions.
  • English.lproj/localizedStrings.js:
  • inspector/front-end/ContextMenu.js:

(WebInspector.ContextMenu.prototype.appendApplicableItems):

  • inspector/front-end/HandlerRegistry.js:

(WebInspector.HandlerRegistry.prototype.unregisterHandler):
(WebInspector.HandlerRegistry.prototype.appendApplicableItems.doSave):
(WebInspector.HandlerRegistry.prototype.appendApplicableItems.save):
(WebInspector.HandlerRegistry.prototype.appendApplicableItems):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):

  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorView.prototype.handleContextMenu):
(WebInspector.BaseNavigatorTreeElement.prototype.onattach):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype.searchCanceled):
(WebInspector.NetworkPanel.prototype.appendApplicableItems.reveal):
(WebInspector.NetworkPanel.prototype.appendApplicableItems):

  • inspector/front-end/ResourceView.js:

(WebInspector.ResourceSourceFrame.prototype._contentChanged):
(WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.appendApplicableItems):

  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):

  • inspector/front-end/TextViewer.js:

(WebInspector.TextViewer.prototype._contextMenu):

  • inspector/front-end/UIUtils.js:
  • inspector/front-end/externs.js:
  • inspector/front-end/inspector.js:

(WebInspector._doLoadedDoneWithCapabilities.get if):

10:38 AM Changeset in webkit [117998] by zmo@google.com
  • 1 edit in branches/chromium/1132/Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp

Merge 117814 - Restore WebGL's framebuffer binding after DrawingBuffer's prepareBackBuffer()
https://bugs.webkit.org/show_bug.cgi?id=87032

Reviewed by James Robinson.

  • platform/graphics/chromium/DrawingBufferChromium.cpp:

(WebCore::DrawingBuffer::prepareBackBuffer): restore the user's framebuffer binding if there is one.

TBR=zmo@google.com

10:37 AM Changeset in webkit [117997] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening of flaky media tests
https://bugs.webkit.org/show_bug.cgi?id=87138

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-22

  • platform/efl/test_expectations.txt:
10:33 AM Changeset in webkit [117996] by gavinp@chromium.org
  • 2 edits in trunk/Source/Platform

[Chromium] Remove old staging enum value WebURLRequest::TargetType::TargetIsPrerender
https://bugs.webkit.org/show_bug.cgi?id=85021

Reviewed by Adam Barth.

  • chromium/public/WebURLRequest.h:
10:32 AM Changeset in webkit [117995] by thakis@chromium.org
  • 3 edits in trunk/Source/WebCore

Give FileInputType a setFiles() method, let Drag-n-Drop call it.
https://bugs.webkit.org/show_bug.cgi?id=87139

Reviewed by Ojan Vafai.

filesChosen(), the FileChooserClient callback, used to modify
m_fileList directly. Instead, convert the FileChooserClient
data to a FileList and pass that to a factored-out setFiles()
method. This is in preparation to making the files property
writable.

Pure refactoring, no functionality change.

  • html/FileInputType.cpp:

(WebCore::FileInputType::toFileList):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::filesChosen):
(WebCore):

  • html/FileInputType.h:

(FileInputType):

10:25 AM Changeset in webkit [117994] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Intent::create() throws is service is "url://a url"
https://bugs.webkit.org/show_bug.cgi?id=86873

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-22
Reviewed by Adam Barth.

Remove checks in webintents/web-intents-obj-constructor.html which are
valid for Google URL but fail with KURL.

  • webintents/web-intents-obj-constructor-expected.txt:
  • webintents/web-intents-obj-constructor.html:
10:18 AM Changeset in webkit [117993] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Truncating multiplication on integers should not OSR exit every time
https://bugs.webkit.org/show_bug.cgi?id=85752

Reviewed by Gavin Barraclough.

Merge r116264 from dfgopt.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::mulShouldSpeculateInteger):
(Graph):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithMul):

10:13 AM Changeset in webkit [117992] by vsevik@chromium.org
  • 8 edits in trunk

Web Inspector: JavaScriptSourceFrame should be based on JavaScriptSource not UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=87135

Reviewed by Pavel Feldman.

Source/WebCore:

Renamed _uiSourceCode to _javaScriptSource in JavaScriptSourceFrame.
Removed unused uiSourceCode getter from JavaScriptSourceFrame.

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
(WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
(WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
(WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._continueToLine):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._createSourceFrame):

LayoutTests:

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • inspector/debugger/script-formatter-breakpoints.html:
  • inspector/debugger/script-formatter-console.html:
  • inspector/debugger/source-frame-count.html:
10:04 AM Changeset in webkit [117991] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

add OVERRIDE annotations to classes derived from CCAnimationCurve
https://bugs.webkit.org/show_bug.cgi?id=87073

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-22
Reviewed by James Robinson.

No new tests required.

  • platform/graphics/chromium/cc/CCAnimationCurve.h:
9:58 AM Changeset in webkit [117990] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

add OVERRIDE annotations to CCThreadTask
https://bugs.webkit.org/show_bug.cgi?id=87074

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-22
Reviewed by James Robinson.

No new tests required.

  • platform/graphics/chromium/cc/CCThreadTask.h:
9:47 AM Changeset in webkit [117989] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Move asserts in CCLayerTreeHostTest::dispatch*
https://bugs.webkit.org/show_bug.cgi?id=87134

Patch by Ian Vollick <vollick@chromium.org> on 2012-05-22
Reviewed by Adrienne Walker.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTest::dispatchSetNeedsAnimate):
(WTF::CCLayerTreeHostTest::dispatchAddInstantAnimation):
(WTF::CCLayerTreeHostTest::dispatchAddAnimation):
(WTF::CCLayerTreeHostTest::dispatchSetNeedsAnimateAndCommit):
(WTF::CCLayerTreeHostTest::dispatchSetNeedsCommit):
(WTF::CCLayerTreeHostTest::dispatchAcquireLayerTextures):
(WTF::CCLayerTreeHostTest::dispatchSetNeedsRedraw):
(WTF::CCLayerTreeHostTest::dispatchSetVisible):
(WTF::CCLayerTreeHostTest::dispatchSetInvisible):

9:43 AM Changeset in webkit [117988] by jchaffraix@webkit.org
  • 8 edits
    6 adds in trunk

Centralize and clean-up table column iteration
https://bugs.webkit.org/show_bug.cgi?id=87051

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/table/caption-between-column-and-column-group.html

fast/table/caption-between-column-group-and-column.html
fast/table/caption-between-columns.html

The existing code had duplications between different classes and some
of the iterating functions could use a better place. That's what this
change solves, along with several renamings.

  • rendering/RenderTableCol.h:

(WebCore::RenderTableCol::isTableColumnGroupWithColumnChildren):
Renamed isTableColGroup to this to better reflect what it checks.
Also added a new function: nextColumn.

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray):
Updated after isTableColGroup renaming.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::firstColumn):
Added this new function to get the first column (or column group).

(WebCore::RenderTable::colElement):
Cleaned up this function: switched the loop to a 'for' now that the
helper functions make it easy. Cleaned up the ordering and the naming.

  • rendering/RenderTable.h:

Added firstColumn.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::styleOrColLogicalWidth):
Updated to use nextColumn().

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::nextColumn):
Added this new helper function to centralize the code to iterate over columns.

LayoutTests:

Those tests just validate and enforce what we were already doing that were
not covered by any existing tests.

  • fast/table/caption-between-column-and-column-group-expected.html: Added.
  • fast/table/caption-between-column-and-column-group.html: Added.
  • fast/table/caption-between-column-group-and-column-expected.html: Added.
  • fast/table/caption-between-column-group-and-column.html: Added.
  • fast/table/caption-between-columns-expected.html: Added.
  • fast/table/caption-between-columns.html: Added.
9:41 AM Changeset in webkit [117987] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Make color of spelling check marker cross-platform.
https://bugs.webkit.org/show_bug.cgi?id=87095

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-05-22
Reviewed by Adam Barth.

Pixel layout is RGBA on Android, while it is BGRA on other platforms.

No new tests. To run tests on Android.

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForDocumentMarker):

9:41 AM Changeset in webkit [117986] by commit-queue@webkit.org
  • 7 edits in trunk

[EFL] Add support to enable/disable DOM paste
https://bugs.webkit.org/show_bug.cgi?id=85040

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-22
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Add support to enable/disable DOM paste setting so that document.execCommand()
allows paste command when this setting is enabled. Also, update documentation
for scripts_can_access_clipboard setting in ewk_view.

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):
(ewk_view_setting_scripts_can_access_clipboard_set):

  • ewk/ewk_view.h:

Tools:

Enable JavascriptCanAccessClipboard setting on each test startup so
that test cases which rely on clipboard can be unskipped.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

LayoutTests:

Unskip a few clipboard related tests which are now passing.

  • platform/efl/test_expectations.txt:
9:32 AM Changeset in webkit [117985] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove unused/unimplemented methods from InspectorClientBlackberry
https://bugs.webkit.org/show_bug.cgi?id=87125

Patch by Konrad Piascik <kpaiscik@rim.com> on 2012-05-22
Reviewed by Rob Buis.

Removed unimplemented methods that are no longer part of InspectorClient and added
a new stub for InspectorStateClient::updateInspectorStateCookie

  • WebCoreSupport/InspectorClientBlackBerry.cpp:

(WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):
(WebCore):

  • WebCoreSupport/InspectorClientBlackBerry.h:

(InspectorClientBlackBerry):

9:22 AM Changeset in webkit [117984] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Skip asserting test in win debug following subpixel layout changes.
https://bugs.webkit.org/show_bug.cgi?id=87137

Unreviewed gardening.

  • platform/chromium/test_expectations.txt:
9:17 AM Changeset in webkit [117983] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

[Gtk][LayoutTests] Repaint the complete WebKitWebView before dumping pixel results
https://bugs.webkit.org/show_bug.cgi?id=86284

Unreviewed, removing test expectations for tests that should pass now
that the web view is repainted before dumping pixel results.

  • platform/gtk/test_expectations.txt:
9:10 AM Changeset in webkit [117982] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=87136
REGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing on Mac bots.

  • platform/mac/Skipped: Skipping tests until Kenneth Russel can take a look.
9:10 AM Changeset in webkit [117981] by danakj@chromium.org
  • 4 edits in trunk/Source

[chromium] Expand damage from the background-blurred layer to ensure readback is only including pixels below that layer
https://bugs.webkit.org/show_bug.cgi?id=86884

Reviewed by Adrienne Walker.

Source/WebCore:

Consider layers in back-to-front order A, B, and C, where layer B has
a blur background filter applied, and C exactly covers A. When B does
its readback to perform its blur, it should include the pixels of A
not C. With partial swap, if B is damaged, that damaged area will read
pixels from outside of the damage rect. Those pixels should use the
contents of A, not C, so we must expand the damage to ensure we redraw
all pixels that are going to be included in the blur for the current
frame.

Also, when a layer below B has damage outside the contentBounds of B
but within its blur radius, then that damage will be blurred inside B,
so expand all damage within B's blurred contentBounds.

Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild

  • platform/graphics/chromium/cc/CCDamageTracker.cpp:

(WebCore::expandRectWithFilters):
(WebCore::expandDamageRectInsideRectWithFilters):
(WebCore::CCDamageTracker::updateDamageTrackingState):
(WebCore::CCDamageTracker::extendDamageForRenderSurface):

Source/WebKit/chromium:

  • tests/CCDamageTrackerTest.cpp:

(WebKitTests::TEST_F):

9:07 AM Changeset in webkit [117980] by mihnea@adobe.com
  • 12 edits
    2 adds in trunk

[CSSRegions] Add region styling support for color property
https://bugs.webkit.org/show_bug.cgi?id=85633

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/region-style-color.html

This patch extends the region styling support. In addition to background-color, it adds
the possibility of styling color in regions.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::removeFlowChildInfo):
(WebCore::RenderFlowThread::addRegionToThread):
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
(WebCore::RenderFlowThread::setRegionRangeForBox):
(WebCore):
(WebCore::RenderFlowThread::checkRegionsWithStyling):

  • rendering/RenderFlowThread.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::updateAlwaysCreateLineBoxes):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::paintReplaced):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::setRegionObjectsRegionStyle):
(WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
(WebCore::RenderRegion::computeStyleInRegion):
(WebCore):
(WebCore::RenderRegion::computeChildrenStyleInRegion):
(WebCore::RenderRegion::setObjectStyleInRegion):
(WebCore::RenderRegion::clearObjectStyleInRegion):

  • rendering/RenderRegion.h:

(RenderRegion):
(ObjectRegionStyleInfo):

LayoutTests:

Added region-style-color.html and its associated ref test for testing the color in region style rules.
Modified region-style-image-background-color/region-style-inline-background-color since background color
can be styled for inline/replaced elements.

  • fast/regions/region-style-color-expected.html: Added.
  • fast/regions/region-style-color.html: Added.
  • fast/regions/region-style-image-background-color.html:
  • fast/regions/region-style-inline-background-color-expected.html:
  • fast/regions/region-style-inline-background-color.html:
8:57 AM Changeset in webkit [117979] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove GenerateSetDOMException() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=87114

Reviewed by Nate Chapin.

GenerateSetDOMException() is used by only one place. This patch removes it.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):

8:55 AM Changeset in webkit [117978] by dgrogan@chromium.org
  • 8 edits
    1 copy
    1 add in trunk/Source

IndexedDB: Fire error when there are problems opening a DB
https://bugs.webkit.org/show_bug.cgi?id=85579

Source/WebCore:

We used to either fire success or get into an infinite loop.

Reviewed by Tony Chang.

New unit test in
Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::openConnection):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(WebCore::IDBDatabaseBackendImpl::create):
(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::IDBFactoryBackendImpl::deleteDatabase):
(WebCore::IDBFactoryBackendImpl::openInternal):

  • Modules/indexeddb/IDBFactoryBackendImpl.h:

(IDBFactoryBackendImpl):

  • Modules/indexeddb/IDBLevelDBBackingStore.h:

(IDBLevelDBBackingStore):

Source/WebKit/chromium:

Reviewed by Tony Chang.

  • WebKit.gypi:
  • tests/IDBAbortOnCorruptTest.cpp: Added.

(WebCore):
(MockIDBCallbacks):
(WebCore::MockIDBCallbacks::MockIDBCallbacks):
(WebCore::MockIDBCallbacks::~MockIDBCallbacks):
(WebCore::MockIDBCallbacks::onError):
(WebCore::MockIDBCallbacks::onSuccess):
(WebCore::MockIDBCallbacks::onSuccessWithContinuation):
(WebCore::MockIDBCallbacks::onSuccessWithPrefetch):
(WebCore::MockIDBCallbacks::onBlocked):
(FailingBackingStore):
(WebCore::FailingBackingStore::~FailingBackingStore):
(WebCore::FailingBackingStore::open):
(WebCore::FailingBackingStore::createIDBDatabaseMetaData):
(FailingIDBFactoryBackendImpl):
(WebCore::FailingIDBFactoryBackendImpl::~FailingIDBFactoryBackendImpl):
(WebCore::FailingIDBFactoryBackendImpl::create):
(WebCore::FailingIDBFactoryBackendImpl::removeIDBDatabaseBackend):
(WebCore::FailingIDBFactoryBackendImpl::openBackingStore):
(WebCore::TEST):

  • tests/IDBFakeBackingStore.h: Copied from Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.h.

(WebCore):
(IDBFakeBackingStore):

8:41 AM Changeset in webkit [117977] by Nikolas Zimmermann
  • 2 edits in trunk/Source/WebCore

2012-05-22 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed.

Follow-up patch after r117975, as the strict approach fires assertions.

CSS generated content can violate the ASSERT(child->isSVGInline()
child->isSVGInlineText()) logic.
  • rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::subtreeChildWasAdded): (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
8:24 AM Changeset in webkit [117976] by dmazzoni@google.com
  • 3 edits
    2 adds in trunk

Chromium AX: Crash when menulist adds selected option via document.write
https://bugs.webkit.org/show_bug.cgi?id=87028

Reviewed by Chris Fleizach.

Source/WebCore:

Test: platform/chromium/accessibility/add-to-menu-list-crashes.html

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::addChild):

LayoutTests:

  • platform/chromium/accessibility/add-to-menu-list-crashes-expected.txt: Added.
  • platform/chromium/accessibility/add-to-menu-list-crashes.html: Added.
8:21 AM Changeset in webkit [117975] by Nikolas Zimmermann
  • 5 edits
    2 adds in trunk

Crash in WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap
https://bugs.webkit.org/show_bug.cgi?id=86781

Reviewed by Rob Buis.

Source/WebCore:

Always invalidate the text positioning element cache if the <text> render subtree mutates.
Currently only RenderSVGInlineText renderers are tracked correctly, RenderSVGInline
renderers like RenderSVGTSpan didn't cause text positioning element cache mutations
so far. Fix that.

Test: svg/custom/bug86781.html

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::removeChild):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::subtreeChildWasAdded):
(WebCore::RenderSVGText::subtreeChildWillBeRemoved):
(WebCore::RenderSVGText::removeChild):

  • rendering/svg/RenderSVGText.h:

(RenderSVGText):

LayoutTests:

  • svg/custom/bug86781-expected.txt: Added.
  • svg/custom/bug86781.html: Added.
8:04 AM Changeset in webkit [117974] by pfeldman@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: make "Go to source" shortcut accessible from all panels.
https://bugs.webkit.org/show_bug.cgi?id=87132

Reviewed by Vsevolod Vlasov.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/AdvancedSearchController.js:

(WebInspector.AdvancedSearchController.prototype.handleShortcut):

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.OpenResourceDialog.filterOutEmptyURLs):
(WebInspector.OpenResourceDialog.compareFunction):
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.prototype.itemTitleAt):
(WebInspector.OpenResourceDialog.prototype.itemKeyAt):
(WebInspector.OpenResourceDialog.prototype.itemsCount):
(WebInspector.OpenResourceDialog.prototype.requestItems):
(WebInspector.OpenResourceDialog.prototype.selectItem):
(WebInspector.OpenResourceDialog.show):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.appendApplicableItems):
(WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):

  • inspector/front-end/SearchController.js:

(WebInspector.SearchController.prototype.handleShortcut):

  • inspector/front-end/inspector.js:

(WebInspector._registerShortcuts):
(WebInspector.documentKeyDown):

7:48 AM Changeset in webkit [117973] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: HeapSnapshot: speedUp buildAggregates.
https://bugs.webkit.org/show_bug.cgi?id=87131

Engine can't inline getters and use fast-case if the function has for(i in object) loops.

Reviewed by Yury Semikhatsky.

No logic changes.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotNode.prototype.classIndex):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):

7:44 AM Changeset in webkit [117972] by Nikolas Zimmermann
  • 1 edit
    3 adds in trunk/LayoutTests

2012-05-22 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Re-add expected results for three tests that were missing.

  • platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.txt: Added.
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Added.
7:42 AM Changeset in webkit [117971] by Nikolas Zimmermann
  • 15 edits
    4 adds
    2 deletes in trunk

Crash in WebCore::RenderSVGContainer::paint
https://bugs.webkit.org/show_bug.cgi?id=86392

Reviewed by Rob Buis.

Source/WebCore:

Modernize the <marker> code, switch to the same design pattern used for handling zero-length subpaths.
Decouple the generation of the marker start/mid/end positions from the actual usage of these information.
Only generate those marker positions if the underlying Path changes, and never else.

When figuring out the bounds for a shape, access to current set of RenderSVGResourceMarker start/mid/end resources
and ask the marker resources for their bounds using the previously figured out marker positions on the Path.
Drawing markers is handled in the same way.

Remove SVGMarkerLayoutInfo alltogether which stored raw pointers to the RenderSVGResourceMarkers.
We assumed that those objects would stay alive from layout() to paint(), but that assumption is wrong.

Tests: svg/custom/bug86392.html

svg/custom/marker-zero-length-linecaps-expected.svg
svg/custom/marker-zero-length-linecaps.svg

  • CMakeLists.txt: Remove SVGMarkerLayoutInfo.*.
  • GNUmakefile.list.am: Ditto.
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.order: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/svg/RenderSVGAllInOne.cpp: Ditto.
  • rendering/svg/RenderSVGShape.cpp: Handle markers just like the existing zero leng subpath code, which is superior.

(WebCore::RenderSVGShape::createShape):
(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::paint):
(WebCore::markerForType):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
(WebCore::RenderSVGShape::drawMarkers):
(WebCore::RenderSVGShape::processMarkerPositions):

  • rendering/svg/RenderSVGShape.h:

(RenderSVGShape):

  • rendering/svg/SVGMarkerData.h:

(WebCore::MarkerPosition::MarkerPosition):
(MarkerPosition):
(WebCore::SVGMarkerData::SVGMarkerData):
(WebCore::SVGMarkerData::updateFromPathElement):
(WebCore::SVGMarkerData::pathIsDone):
(SVGMarkerData):
(WebCore::SVGMarkerData::currentAngle):

  • rendering/svg/SVGMarkerLayoutInfo.cpp: Removed.
  • rendering/svg/SVGMarkerLayoutInfo.h: Removed.
  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::resourcesCacheFromRenderObject):
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject):

  • rendering/svg/SVGResourcesCache.h:

(SVGResourcesCache):

LayoutTests:

  • svg/custom/bug86392-expected.txt: Added.
  • svg/custom/bug86392.html: Added.
  • svg/custom/marker-zero-length-linecaps-expected.svg: Added.
  • svg/custom/marker-zero-length-linecaps.svg: Added.
7:32 AM Changeset in webkit [117970] by apavlov@chromium.org
  • 8 edits in trunk/Source

[Chromium] Implement the ContextMenuItem SubMenu type
https://bugs.webkit.org/show_bug.cgi?id=86625

Reviewed by Pavel Feldman.

Source/WebCore:

This change is the WebKit part of a two-sided patch that adds subMenuItems to ContextMenuItem
and introduces code needed to handle it properly.

  • platform/ContextMenuItem.h:

(PlatformMenuItemDescription): Add a Vector for subMenuItems.

  • platform/PlatformMenuDescription.h:

(WebCore): Introduce a meaningful typedef for PlatformMenuDescription in Chromium.

  • platform/chromium/ContextMenuChromium.cpp:

(WebCore::ContextMenu::itemWithAction): Search submenus when looking up a requested action id.
(WebCore::ContextMenu::platformDescription): Return a real PlatformMenuDescription rather than 0.

  • platform/chromium/ContextMenuItemChromium.cpp:

(WebCore::ContextMenuItem::ContextMenuItem): Set submenu if one has been passed in.
(WebCore::ContextMenuItem::platformSubMenu): Return real subMenuItems instead of an empty PlatformMenuDescription.
(WebCore::ContextMenuItem::setSubMenu): Implemented.
(WebCore):

Source/WebKit/chromium:

  • public/WebMenuItemInfo.h:

(WebMenuItemInfo): Add the SubMenu type and a vector of subMenuItems.

  • src/ContextMenuClientImpl.cpp:

(WebKit::populateSubMenuItems): A recursive implementation that populates submenu items as well as other item types.
(WebKit):
(WebKit::ContextMenuClientImpl::populateCustomMenuItems): Consider submenus when populating WebMenuItemInfos.

7:06 AM Changeset in webkit [117969] by caseq@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: use canvas to render timeline category strips in overview pane
https://bugs.webkit.org/show_bug.cgi?id=87109

Reviewed by Pavel Feldman.

  • use canvas, not DOM to represent timeline category strips in the default overview mode
  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._setVerticalOverview): propagate to TimelineCategoryStrips;
(WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): force update of category strips;
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
(WebInspector.TimelineCategoryStrips):
(WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): process one record;
(WebInspector.TimelineCategoryStrips.prototype.update): re-draw everything;
(WebInspector.TimelineCategoryStrips.prototype.setShowShortEvents):
(WebInspector.TimelineCategoryStrips.prototype._renderBar): render single bar;
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype._renderBar):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.categories):
(WebInspector.TimelinePresentationModel.createFillStyle): utility methods to create gradients for category bars;
(WebInspector.TimelinePresentationModel.createFillStyleForCategory):
(WebInspector.TimelineCategory):

7:04 AM Changeset in webkit [117968] by kenneth@webkit.org
  • 4 edits in trunk/Source/WebKit2

[Qt] Clean up internal viewport animation API
https://bugs.webkit.org/show_bug.cgi?id=87130

Reviewed by Simon Hausmann.

const'ify classes which should be const.

There is now only one method which can animate, animateItemRectVisible
which is used for also animating the contents back into valid bounds.
The valid bounds are computed using a separate method. It is now more
clear when an animation is used or not and asserts are added for
ensuring no concurrent animations as well as proper update deferring.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewFlickablePrivate::didChangeViewportProperties):

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::cssScaleFromItem):
(WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
(WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
(WebKit::QtViewportInteractionEngine::itemRectFromCSS):
(WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
(WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::animateItemRectVisible):
(WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
(WebKit::QtViewportInteractionEngine::nearestValidBounds):
(WebKit::QtViewportInteractionEngine::currentCSSScale):
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
(WebKit::QtViewportInteractionEngine::pinchGestureEnded):
(WebKit::QtViewportInteractionEngine::itemSizeChanged):

  • UIProcess/qt/QtViewportInteractionEngine.h:

(QtViewportInteractionEngine):

7:02 AM Changeset in webkit [117967] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening of failing tests and new passes
https://bugs.webkit.org/show_bug.cgi?id=87122

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-22

  • platform/efl/test_expectations.txt:
6:55 AM Changeset in webkit [117966] by pfeldman@chromium.org
  • 6 edits
    2 adds in trunk

Web Inspector: [regression] dynamically created script tab is bound to the document resource.
https://bugs.webkit.org/show_bug.cgi?id=87119

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: inspector/debugger/dynamic-script-tag.html

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel.prototype.rawLocationToUILocation):

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping.prototype.addScript):
(WebInspector.ResourceScriptMapping.prototype._shouldBindScriptToContentProvider):

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.rawLocationToUILocation):
(WebInspector.Script.Location.prototype.update):

LayoutTests:

  • inspector/debugger/dynamic-script-tag-expected.txt: Added.
  • inspector/debugger/dynamic-script-tag.html: Added.
6:50 AM Changeset in webkit [117965] by vsevik@chromium.org
  • 4 edits</